docs: govern and archive superseded notes

- add documentation governance and cleanup audit documents

- update README and docs index to distinguish current vs historical sources

- move superseded planning, SBAS, Gamma, and experiment notes into docs/archive

- fix remaining archive text garbling in two documents
This commit is contained in:
2026-04-27 08:06:09 +08:00
parent 5a0623fd9b
commit d108b33f80
26 changed files with 487 additions and 27 deletions
@@ -0,0 +1,308 @@
# PyINT LT-1 DEM 几何链定位实验
**日期**: 2026-04-20
**状态**: 实验设计
**目标问题**: 验证 LT-1 在 PyINT/Gamma 中 `coreg/init_offsetm` 失败,是否由 DEM 本体问题引起,还是由 DEM 参与的几何映射链条引起
## 1. 结论先行
这轮实验不再直接回答“轨道是不是问题”,而是专门回答下面这个问题:
> `init_offsetm` 报错里的大量 `zero values in MLI1 image patch`,究竟是 DEM 文件本身有问题,还是 `DEM -> rdc_trans -> geocode -> mli0` 这一条几何映射链条有问题。
当前更值得优先验证的是:
1. `HGTSIM` 是否本身就存在异常空洞或覆盖错误
2. `lt0` 是否把参考图映射到了错误位置
3. `mli0` 的中心 `512 x 512` patch 是否天然就是大面积 0
4. `mli0``Samp` 的有效重叠区是否根本不在图像中心
## 2. 已知事实
当前 `coreg_gamma.py` 的关键顺序是:
- `rdc_trans`
- `geocode`
- `create_diff_par`
- `init_offsetm mli0 Samp diff0 1 1`
也就是说,`init_offsetm` 当前比较的是:
- `MLI1 = mli0`
- `MLI2 = Samp`
而不是直接比较 DEM。
已完成的 A/C/D 轨道实验说明:
1. 只改 state vector`init_offsetm` 的 zero-count 会下降
2. 但下降后仍然失败
3. `ORB_filt_spline.py` 已经基本认可重写后的轨道
这说明:
- 轨道确实影响几何
- 但当前失败不太像“只有轨道问题”
- DEM 相关的几何映射链条值得单独定位
## 3. 三类假设
### H1: DEM 本体问题
DEM 文件本身有问题,例如:
- 覆盖范围不对
- 裁剪窗口不对
- sidecar / 投影信息不对
- 高程值大面积异常或空洞
若 H1 成立,则更换 DEM 源后应显著改变 `HGTSIM``mli0` 的空洞模式。
### H2: DEM 几何链问题
DEM 文件本身可用,但 LT-1 导入几何、轨道或 `generate_rdc_dem` 中间步骤有问题,导致:
- `rdc_trans` 查找表偏移
- `geocode` 后的 `mli0` 被映射到错误位置
- `mli0` 中心 patch 与 `Samp` 根本不重叠
若 H2 成立,则即使更换 DEM,本质失败形态也可能不变;但改变轨道或几何参数时,`mli0` 的零值分布会跟着变化。
### H3: patch 选取问题
`mli0``Samp` 不是完全不重叠,而是图像中心不是有效重叠区。
若 H3 成立,则:
- 全图并非都坏
-`rpos/azpos` 后,`init_offsetm` 可能在其他 patch 上能工作
## 4. 实验原则
这轮实验尽量不跑整条生产链,只盯 `init_offsetm` 之前的中间产物。
固定不变:
- 同一批 3 景 LT-1 数据
- 同一个 master: `20230726`
- 同一套 looks 参数
- 同一份 PyINT/Gamma 环境
允许变化:
- DEM 来源
- 是否启用精轨重写
- `init_offsetm` 的 patch 位置
优先观测对象:
- `HGTSIM`
- `lt0`
- `mli0`
- `Samp`
- `diff0`
## 5. 分层实验设计
### Layer 1: 不改 DEM,先看中间产物
目的: 判断当前 DEM 链条到底在哪一步开始“空掉”。
#### 组 L1-A: 基线组
使用当前已经失败的 case,导出并统计:
- `HGTSIM`
- `lt0`
- `mli0`
- `Samp`
对每个文件都做:
1. 全图零值比例
2. 中心 `512 x 512` patch 零值比例
3. 中心 patch 的最小值、最大值、均值
4. 快速可视化图
判定意义:
- 如果 `HGTSIM` 自身就明显异常,优先怀疑 DEM 或 `generate_rdc_dem`
- 如果 `HGTSIM` 正常而 `mli0` 异常,优先怀疑 `lt0/geocode`
- 如果 `mli0` 正常但中心 patch 不在有效重叠区,优先怀疑 patch 选取
#### 组 L1-B: 精轨重写对照组
复用已经跑过的精轨重写 case,只比较:
- `HGTSIM`
- `mli0`
- `Samp`
判定意义:
- 如果只改轨道,`mli0` 的零值分布就跟着变,说明问题不在 DEM 文件本体
- 如果 `HGTSIM` 也明显变化,说明 DEM 映射结果强依赖 `.slc.par` 几何
### Layer 2: 改 DEM 源,固定几何
目的: 判断 DEM 文件本身是否是主因。
#### 组 L2-A: 当前 DEM
使用当前 `prepared_dem_source`,作为基线。
#### 组 L2-B: 替代 DEM
推荐优先选一个同区域、同分辨率级别、不同来源的 DEM,例如:
- 已有的另一份系统 DEM
- 或成功 ENVI/IDL 任务中使用过的 DEM
要求:
- 不改 `.slc.par`
- 不改轨道
- 只重跑 `makedem_pyint -> generate_rdc_dem`
判定意义:
- 如果换 DEM 后 `HGTSIM/mli0` 明显改善,DEM 本体有嫌疑
- 如果几乎不变,DEM 本体不是主因
#### 组 L2-C: 合成平坦 DEM
用一个覆盖相同区域、常数高程的测试 DEM。
这组不是为了出正确结果,而是为了测试:
- 失败是否强依赖真实地形起伏
- 还是只要进入几何映射链就已经错位
判定意义:
- 如果平坦 DEM 仍在同一位置失败,说明不是高程细节导致
- 如果平坦 DEM 反而明显改善,则真实 DEM 参与的映射可能存在投影或裁剪问题
### Layer 3: 不改 DEM,扫描 patch 位置
目的: 判断中心 patch 是否只是选错了地方。
方法:
- 保持 `mli0``Samp``diff0` 不变
- 只改变 `init_offsetm` 的:
- `rpos`
- `azpos`
- 在图像中心周围做稀疏网格扫描
推荐:
- 先做 `5 x 5``7 x 7` 网格
- patch 大小仍保持默认 `512`
每个点记录:
- 是否报 zero-patch 错误
- zero-count
- 是否能进入下一步
判定意义:
- 如果某些位置能通过,说明不是整幅图都坏,而是中心 patch 选取不对
- 如果所有位置都报大面积 0,更像几何链整体错位
## 6. 关键观测指标
### DEM 相关
1. `HGTSIM` 是否生成成功
2. `HGTSIM` 的全图与中心 patch 零值比例
3. `HGTSIM` 是否存在明显空洞、条带或边界错切
### 几何映射相关
1. `lt0` 是否可用
2. `mli0` 的全图与中心 patch 零值比例
3. `mli0``Samp` 的有效像元重叠比例
4. `mli0``Samp` 是否在中心 patch 上具有相似纹理
### `init_offsetm` 相关
1. 是否仍失败在同一位置
2. zero-count 是否显著下降
3. 换 patch 位置后是否存在可工作区域
## 7. 推荐输出物
每轮实验至少产出:
- 中间产物清单
- 每个文件的统计 JSON
- 快速可视化 PNG/TIF
- 一张对照表
推荐的统计字段:
```json
{
"case": "L1-A_baseline",
"file": "mli0",
"width": 0,
"lines": 0,
"global_zero_ratio": 0.0,
"center_patch_zero_ratio": 0.0,
"center_patch_size": 512,
"nonzero_overlap_with_samp": 0.0
}
```
## 8. 判定标准
### 支持“DEM 本体问题”的证据
1. 更换 DEM 后,`HGTSIM``mli0` 的空洞模式大幅变化
2. 同一套几何下,只有某一份 DEM 会触发大面积零值
3. 合成平坦 DEM 能显著改善中心 patch
### 支持“DEM 几何链问题”的证据
1. `HGTSIM` 看起来基本正常,但 `mli0` 大面积为 0
2. 只改轨道或 `.slc.par``mli0` 零值分布就发生变化
3. 换 DEM 后失败模式基本不变
### 支持“patch 选取问题”的证据
1. 中心 patch 失败,但偏移后的 patch 可以工作
2. `mli0``Samp` 在全图上存在局部重叠区,只是中心不对
## 9. 推荐的最小闭环
不建议一上来就换很多 DEM。最小闭环应按这个顺序:
1. 先做 Layer 1
- 对现有基线 case 和精轨重写 case 提取 `HGTSIM/lt0/mli0/Samp` 统计和快视图
2. 再做 Layer 3
- 扫描 `init_offsetm``rpos/azpos`
3. 只有在 Layer 1/3 仍无法判断时,再做 Layer 2 换 DEM
原因:
- 这能先区分“DEM 文件坏了”与“中心 patch 选错了”
- 也能避免过早把问题全部甩给 DEM
## 10. 推荐下一步
推荐直接执行两个子实验:
1. 中间产物审计实验
- 把 A 组和 C 组的 `HGTSIM/lt0/mli0/Samp` 取出来做零值统计和快视图
2. `init_offsetm` patch 扫描实验
- 在同一 case 上只扫描 `rpos/azpos`
如果这两步做完后发现:
- `mli0` 全图都坏,再优先查 `generate_rdc_dem` 和 LT-1 导入几何
- 只有中心 patch 坏,再优先查 patch 选取
- 换 DEM 才有明显改善,再回到 DEM 本体问题
这轮实验的目的不是立刻修好 `coreg`,而是把“DEM 文件问题”和“DEM 几何链问题”从概念判断变成可测的证据链。