|
|
7921e21750
|
fix: step4 采样点过密 — 提高自适应下限 + 默认关闭自适应模式
问题: min_interval=10 导致每个水面产生数千个密集采样点 (8242点)
修复:
1. sampling.py: min_interval 默认值 10→50 (提高 5×)
两个入口函数同步修改 (chunked + full)
2. step4_sampling_panel.py: 自适应采样复选框默认 False
用户设置的固定间隔 (interval=100px) 真正生效
|
2026-07-08 16:03:42 +08:00 |
|
|
|
2b5c77131e
|
fix: BIP 格式兼容 — 鲁棒 HDR 查找 + find_band_number GDAL 回退
问题: 用户导入 3ref.bip 文件,step2 报 FileNotFoundError: 3ref.hdr 不存在。
根本原因: get_hdr_file_path() 只用 os.path.splitext()[0]+.hdr,
对于 3ref.bip 只查找 3ref.hdr,不兼容 3ref.bip.hdr 等其他命名规范。
修复内容:
**util.py (核心):**
- get_hdr_file_path(): 改为多候选路径查找(按优先级):
3ref.hdr → 3ref.bip.hdr → 3ref.HDR → 3ref.bip.HDR
- find_band_number(): 三级回退 —
1) ENVI .hdr 文件 → spectral 解析
2) GDAL 元数据域 (ENVI/wavelength, WAVELENGTH_1..N)
3) 线性估算 (假设 400-1000nm 或 400-2500nm)
- 新增 _read_wavelengths_from_gdal() 辅助函数
**同模式修复 (4 处):**
- get_spectral.py: get_hdr_file_path() 多候选
- get_spectral-test.py: 同上
- waterindex_inversion/__init__.py: 两处 hdr 构造均改为多候选
- sampling.py: 波长读取的 hdr 查找改为多候选
|
2026-07-07 10:32:02 +08:00 |
|
|
|
826f110894
|
fix: 防御性编程重构 — 栅格空间对齐 + NoData 处理 + 高危代码加固
**核心修复 (preview_generator.py):**
- 废弃 _align_mask_to_image() (numpy crop/pad 在地理空间上错误)
- 新增 _warp_mask_to_image(): 使用 gdal.Warp 将掩膜重采样到与底图
完全一致的像素网格,处理旋转/偏移/投影差异
- 新增 _normalize_mask(nodata_value): 正确的掩膜值域自劢归一间 (0/1 vs 0/255)
- 修复 alpha = mask_data/255.0 → mask_data (掩膜是二值 0/1, 不是 0/255)
- 面积计算 valid_pixels 使用 warp 前数据排除 nodata 背景
**新增防御工具模块:**
- spatial_validator.py: SpatialAlignmentError 自定义异常 +
validate_two_rasters() / validate_spatial_alignment() 强制空间一致性检查 +
has_rotation() / get_pixel_resolution() 诊断工具
- nodata_handler.py: read_band_safe() / read_bands_safe() 自动 NoData→nan +
read_band_masked() 返回 MaskedArray + create_valid_mask()
**P0 高危代码集成 (3处):**
- sampling.py: 耀斑掩膜与水体掩膜 bool 运算前验证 numpy shape 一致
- find_severe_glint_area.py: 栅格 mask 读取后验证 dims+GT+projection 对齐
- waterindex_inversion/__init__.py: mask 与 BSQ 维度验证, 不一致时优雅降级
**旋转影像兼容性修复:**
- extract_water_area.py: pixel_size = sqrt(gt[1]^2+gt[2]^2) 使用勾股定理
正确计算旋转影像的像素分辨率
|
2026-07-07 09:10:40 +08:00 |
|
|
|
8de73db80e
|
格式统一
|
2026-07-01 11:32:32 +08:00 |
|
|
|
a3c20d3e49
|
格式统一
|
2026-07-01 09:57:27 +08:00 |
|
|
|
c793ea2204
|
格式统一
|
2026-06-30 14:12:12 +08:00 |
|
|
|
9e433395f4
|
feat: 波长偏移修正 + 项目架构文档
- BandMathCalculator 支持 wavelength_offset 参数,公式波长统一加减偏移后匹配传感器波段
- WaterQualityIndexCalculator 全链传递偏移量 (band_math → calculate_one → calculate_many)
- WaterIndexCsvProcessor / Step7Handler / DataPreparationStep 传播偏移参数
- Step7/Step10 面板新增 QDoubleSpinBox 波长偏移控件 (±200nm, 默认0)
- 偏移控件去除单位后缀,避免编辑时需手动移动光标
- 新增 ARCHITECTURE.md 完整项目架构文档
|
2026-06-30 13:13:38 +08:00 |
|
|
|
43f50ec07b
|
测试修改
|
2026-06-25 15:50:02 +08:00 |
|
|
|
82e0b92af6
|
Mega-1.1 全链路路径归一化收尾(18 文件)
|
2026-06-15 15:20:50 +08:00 |
|
|
|
4c9ca2aa03
|
全链路路径对齐:注册表重写为字符串格式,10_sampling→4_sampling,water_quality_indices→training_spectra_indices
|
2026-06-12 09:59:35 +08:00 |
|
|
|
320f2f18f2
|
feat(step8): 新增水色指数反演模块 waterindex_inversion + CSV 公式驱动架构
|
2026-06-10 17:13:25 +08:00 |
|
|
|
624a5bdcd4
|
refactor(water_index): 用 waterindex.csv 驱动公式计算,移除 45 个硬编码方法
|
2026-06-09 11:24:15 +08:00 |
|
|
|
170d347e21
|
内容部分修改
|
2026-05-11 17:38:29 +08:00 |
|
|
|
6d4d802ffe
|
fix(step5/step5.5): 掩膜.shp智能替身为.dat、band_math.eval注入np.nan/np.inf命名空间
|
2026-05-10 16:20:51 +08:00 |
|
|
|
d7b5c45dd4
|
修复Step7采样点布设路径读取问题:GDAL环境变量保护+路径归一化+FileNotFoundError检查+水域掩膜备选路径扫描
|
2026-05-08 18:05:11 +08:00 |
|
|
|
0f36da742f
|
修复多步运行时参数传递及文件读取问题
|
2026-05-08 09:27:07 +08:00 |
|
|
|
9b7bcfadd1
|
fix: 修复工作目录与步骤名不对应、回归预测虚数报错、模型加载及预处理名称转换问题,重构可视化并修正勾选联动
|
2026-04-14 17:41:38 +08:00 |
|
|
|
91e36407ae
|
Initial commit of WQ_GUI
|
2026-04-08 15:25:08 +08:00 |
|