|
|
b8d263e494
|
测试修改
|
2026-06-23 14:39:54 +08:00 |
|
|
|
d6c003a211
|
fix: Step7 UI坍塌修复+EventBus打通 + DRY抽离spxy/ks + GridSearchCV→RandomizedSearchCV + smoke test死链修复
|
2026-06-18 11:18:27 +08:00 |
|
|
|
3ee4e90b31
|
fix: step_default_outputs 支持列表候选文件名,解决动态命名导致 OutputUpdated 断链
|
2026-06-18 10:36:52 +08:00 |
|
|
|
3f217e95b0
|
fix: 修复下游面板自动填充断裂的三处根因 + 清理过时 pipeline→panel 映射
|
2026-06-18 10:28:14 +08:00 |
|
|
|
2261b4b30e
|
feat: Step1~Step14 面板单步按钮 EventBus 解耦 + Handler 补全(Step8~Step14)+ 旧上帝类删除
- 9 个面板(step1~step6/step8_ml_train/step8_qaa/step9_ml_predict/step10)单步执行按钮从 parent 链上溯改为 global_event_bus.publish('RequestRunSingleStep')
- PipelineExecutor 新增 _on_request_run_single_step 订阅
- 新增 Handler: step8_ml_train / step9_ml_predict / step10_qaa_inversion / step11_concentration / step12_kriging / step13_visualization / step14_report
- 删除旧 water_quality_inversion_pipeline_GUI.py(上帝类已肢解完毕)
|
2026-06-18 09:19:51 +08:00 |
|
|
|
f1cc339d4a
|
feat: Step2~Step7 Handler 批量生成 + WorkerThread 接入新调度器
- 新增 6 个 Handler:Step2GlintDetection / Step3GlintRemoval / Step4Sampling / Step5ProcessCsv / Step6ExtractSpectra / Step7CalcIndices
- 新增 register_handlers.py:register_all_handlers() 一键注册 Step1~Step7
- 更新 __init__.py:导出全部 7 个 Handler
- 重构 worker_thread.py:移除旧 WaterQualityInversionPipeline 导入,改用 PipelineScheduler + register_all_handlers
- run_single_step 改为 scheduler.run_step() 调用,保留外部模型透传逻辑
|
2026-06-17 18:02:31 +08:00 |
|
|
|
f6455b71ba
|
fix: PanelFactory 信号风暴修复 + 后端上帝类肢解(BaseStepHandler/调度器/Step1打样)
|
2026-06-17 17:48:40 +08:00 |
|
|
|
bb5c2a50f8
|
refactor: 引入 EventBus 事件总线,实现各步骤面板间的去中心化自动参数传导,完成最终解耦
|
2026-06-17 16:27:26 +08:00 |
|
|
|
1949711cda
|
refactor: 提取 WorkspaceManager,将文件扫描与路径业务逻辑从主 GUI 解耦
|
2026-06-17 15:35:02 +08:00 |
|
|
|
91881d564a
|
fix: 修复 Step8 模型生成路径错误及特征分离未过滤坐标列导致的 0 模型 Bug
- view 层 Step8View.update_work_directory 不再生成 <work_dir>/indices/<basename>_indices.csv,改为生成标准的 <work_dir>/8_Modeling/ 模型存放目录;FileSelectWidget 标签与文件过滤器同步调整为目录语义(输出模型目录 / All Files (*.*)),消除'保存目录被存成 csv 文件'导致的 train_models 跳过判定。
|
2026-06-17 14:15:34 +08:00 |
|
|
|
5084f7d049
|
Step10 Kriging 输出路径强制 14_visualization + Step11 掩膜自动填入
|
2026-06-16 14:12:10 +08:00 |
|
|
|
0238aa66ab
|
路径归一化:统一 14 个子目录 helper 接口 + 修复 getattr 张冠李戴
新增 _step_path_resolver.py(STEP_DATA_SOURCE 映射表 + _FALLBACK_DIR_TABLE 40+ keys + resolve_subdir / get_step_output_path / resolve_step_widget 三层 API),与 pipeline.get_step_output_dir 互为表里、互不依赖。
pipeline 新增 get_step_output_dir(step_name) 唯一权威接口(class-level _STEP_OUTPUT_DIR_MAP 延迟构造 + 未知 key 回退 work_dir + 调试日志)。
全量重构 src/gui/panels/step*.py(17 个文件)
* 消除全部 os.path.join(wp, "X_subdir") 硬编码(14 个预定义子目录)
* 8 处 getattr(main_window.stepXX_panel, ...) 张冠李戴死代码全部修复(错位属性名 → 通过 STEP_DATA_SOURCE 映射到正确的 main_window 长名属性)
* 删除 step12_viz_panel.py 中 self.step11_ml_panel / step11_panel / step12_panel 死代码块
* 提示文字/标签字典/日志保留原文,仅替换实际路径计算
Smoke test:39 fallback key + 14 路径映射 + 14 step 数字 key + 17/17 panel AST 解析 + 17/17 import 全部就位。
|
2026-06-16 12:54:18 +08:00 |
|
|
|
03c788a16c
|
Step6 波长读取:spectral 解析失败时增加 .hdr 文本暴力解析兜底,消灭 band_1 fallback
|
2026-06-16 11:07:30 +08:00 |
|
|
|
0a0ede2e02
|
Step3 插值:多进程内存雪崩二次补丁(mask copy + workers 上限 6)
|
2026-06-15 17:10:36 +08:00 |
|
|
|
60a9d7d922
|
Step3 插值算法 OOM 修复 + 多进程加速 + 全链路累积改动(14 文件)
|
2026-06-15 16:49:17 +08:00 |
|
|
|
82e0b92af6
|
Mega-1.1 全链路路径归一化收尾(18 文件)
|
2026-06-15 15:20:50 +08:00 |
|
|
|
f73a7d8999
|
添加公式方法
|
2026-06-12 16:48:20 +08:00 |
|
|
|
4c9ca2aa03
|
全链路路径对齐:注册表重写为字符串格式,10_sampling→4_sampling,water_quality_indices→training_spectra_indices
|
2026-06-12 09:59:35 +08:00 |
|
|
|
d3262ae80d
|
Rename pipeline method names to match step numbers (Step4)
|
2026-06-11 14:58:39 +08:00 |
|
|
|
3c4d4081a4
|
refactor(gui): 重命名面板序号 step4-11,采样点布设移至 step4,ML 建模移至 step9
|
2026-06-11 11:13:16 +08:00 |
|
|
|
016c895803
|
feat(qaa): 新增 QAA 算法模块 src/core/algorithms/qaa/
|
2026-06-10 17:14:08 +08:00 |
|
|
|
320f2f18f2
|
feat(step8): 新增水色指数反演模块 waterindex_inversion + CSV 公式驱动架构
|
2026-06-10 17:13:25 +08:00 |
|
|
|
cfe4c50c31
|
feat(step8→step9): 源头透传坐标元数据,打通空间坐标全程流
|
2026-06-10 09:55:28 +08:00 |
|
|
|
7571762e63
|
fix(step9): 保留原始坐标列至 final_concentrations.csv,防止 Step14 崩溃
|
2026-06-10 09:54:00 +08:00 |
|
|
|
c3cc2ef77e
|
feat(step9): 新增浓度反演模块及 GUI 面板
|
2026-06-09 17:55:25 +08:00 |
|
|
|
4ca90b0e79
|
fix: get_spectral.py CSV列索引错误 - 跳过测量点ID列正确读取纬度(41.66°)和经度(124.22°)
input.csv列顺序: 时间,测量点,纬度,经度,水质参数...
原代码错误地将测量点ID(col0)当作纬度,纬度(col1)当作经度
修复后: lat=col1(纬度), lon=col2(经度)
修复前导致所有14815个采样点坐标转换后超出影像范围,光谱提取为0
修复后: 14815个采样点全部成功提取有效光谱(314~717)
|
2026-06-09 15:02:28 +08:00 |
|
|
|
2872788cc3
|
fix(pipeline): 移除STEP_MAP中step8→step11_ml的错误映射,避免resolve_step_id('step8')返回step11_ml
|
2026-06-09 13:30:52 +08:00 |
|
|
|
90ba5a5fe2
|
fix(pipeline): 移除未使用的WaterQualityIndexCalculator导入和实例化
|
2026-06-09 13:30:36 +08:00 |
|
|
|
47cbb4a013
|
refactor(pipeline): step8 输出文件命名统一为 training_spectra_indices.csv,produces 增加 trad_indices_dir
|
2026-06-09 13:18:15 +08:00 |
|
|
|
28394f2eda
|
feat(gui): 全流程面板合并 + 一键式运行 GUI 入口集成
|
2026-06-09 11:30:42 +08:00 |
|
|
|
aefc9d5aac
|
feat(pipeline): 一键式运行 - 调度引擎核心 + 预检/免检系统 + 线程桥接
|
2026-06-09 11:29:11 +08:00 |
|
|
|
371e7a2745
|
fix(PipelineRunner): 接力棒断链修复 + 依赖级联自动唤醒引擎
|
2026-06-09 09:07:59 +08:00 |
|
|
|
d22414bf7d
|
feat(sampling): add adaptive sampling toggle + interactive sampling point viewer
|
2026-06-08 15:39:43 +08:00 |
|
|
|
e3debbcb15
|
fix(step8): 修复外部模型字典透传断链 + 规范化 loaded_model_data 防 Ridge subscriptable 崩溃
|
2026-06-08 11:36:36 +08:00 |
|
|
|
2b76d7908f
|
feat(step8): 外部模型从单文件升级为母文件夹多模型字典扫描
|
2026-06-08 09:56:02 +08:00 |
|
|
|
2139715829
|
fix(runner): step5 严格依赖 step4 产物 + 拒绝静默跳过
- step5.requires 加入 processed_csv_path(step4 产物) 并显式 parameter_map 到 csv_path 形参;step5.skip_when_missing=False 配合 Facade **kwargs 兜底
- parameter_map 双向映射规避 L2 顺序注入冲突: processed_csv_path→csv_path(主), csv_path→_raw_csv_ignored(占位, 落 **kwargs)
- PipelineRunner.run() skip_when_missing 块新增 _notify 通知, 让 GUI 知道具体缺了什么(拒绝静默跳过)
|
2026-06-04 10:38:33 +08:00 |
|
|
|
64aa5b8f40
|
fix(runner): 14 Facade kwargs 兜底 + 4 spec parameter_map 修正 + step6_75 路由切到 indices
- 14 个 stepX_... Facade 形参表末尾加 **kwargs,杜绝 Runner 注入未声明 key 时的 TypeError(典型:step3 收到 glint_mask_path)
- runner._invoke user_overrides 合并加 v is not None and v != '' 过滤,避免 GUI 面板空值覆盖 ctx 中已写入的有效路径
- PIPELINE_STEPS 加 4 个 parameter_map 修正 ctx 字段名→形参名错位:step6_5/6_75: training_csv_path→csv_path;step8_5: models_dir→non_empirical_models_dir;step8_75: models_dir→custom_regression_dir
- step6_75 路由从 training_csv_path 切到 indices_path(requires + parameter_map 同步);配合 skip_when_missing,未跑 step5_5 时自动 skip
- worker_thread.py: mode='full' 切到 PipelineRunner + PipelineContext 调度
|
2026-06-04 09:15:04 +08:00 |
|
|
|
343e316799
|
refactor(pipeline): 路径直接传输 — 统一 ctx 字段名/panel key/step 形参名
|
2026-06-03 17:29:41 +08:00 |
|
|
|
517bb28611
|
snapshot: 路线 B 重构前原状(pipeline 包首次入 git)
|
2026-06-03 16:31:45 +08:00 |
|
|
|
170d347e21
|
内容部分修改
|
2026-05-11 17:38:29 +08:00 |
|
|
|
9ba39a7bff
|
fix(step7): 消除UnboundLocalError — 将Path/os导入上移至函数第一行,避免与后续局部赋值冲突
|
2026-05-10 16:45:07 +08:00 |
|
|
|
d15a7a1e2b
|
fix(step7): 去除耀斑路径智能回溯 — .dat占位符自动拦截改为glob搜索3_deglint真实.bsq产物
|
2026-05-10 16:34:04 +08:00 |
|
|
|
6d4d802ffe
|
fix(step5/step5.5): 掩膜.shp智能替身为.dat、band_math.eval注入np.nan/np.inf命名空间
|
2026-05-10 16:20:51 +08:00 |
|
|
|
abac272b31
|
fix(step3/step7): 路径断层闭环 — _safe_rename换用os.rename、generate_sampling_points入口强制.bsq后缀校验
|
2026-05-10 16:04:26 +08:00 |
|
|
|
8c7c995985
|
修复步骤3去耀斑路径断层 + UI默认路径标准化
|
2026-05-10 15:11:01 +08:00 |
|
|
|
f96c55f361
|
refactor(step6): 步骤6机器学习建模UI汉化 + 默认全不选 + 底层反向映射清洗
|
2026-05-10 14:58:57 +08:00 |
|
|
|
14278739bf
|
refactor(step4): 剥离 Steps 层 - step4~step9 业务逻辑下沉到独立模块
|
2026-05-09 17:55:58 +08:00 |
|
|
|
d0eb458392
|
refactor(step4): 剥离 Steps 层 - step1~step3 业务逻辑下沉到独立模块
|
2026-05-09 17:30:49 +08:00 |
|
|
|
dcbcc043e4
|
refactor: 渐进式模块化重构 — 剥离可视化层、工具层、算法层到独立模块
|
2026-05-09 17:18:34 +08:00 |
|
|
|
9d39e61161
|
fix: 自动格式转换 .shp→.dat 水域掩膜,解决插值函数报错
|
2026-05-09 14:35:58 +08:00 |
|