Port the SAR3D background gate, CLEAN and object boxes from Multi_depthnorm_clean

- BG_GATE_ENABLE: frame peak over its median background (sar3d_background); the
  GUI scales the frame with bg_gate_gain and its cloud threshold.
- SAR_CLEAN_ENABLE: CLEAN of a one-frame aperture on a 4x10x4 cm search grid over
  the whole scene; objects in their own scale (sar3d_objects).
- SAR_MARK_ENABLE: boxes by class around object groups (sar3d_marks), with the
  legend under the views.
- SAR_VOXEL_M as three steps X/Y/Z with the notebook defaults 0.025/0.02/0.02.
- GPU backend: image/download/load/project API, per-plane block reduction for the
  maximum, depth gate without FMA; sar3d host code built with -ffp-contract=off.
- References regenerated from notebook cells 1 and 5, with new CLEAN scenes and a
  synthetic box-rule case; docs updated.
This commit is contained in:
Ayzen
2026-10-16 12:08:57 +03:00
parent 9a9b8ce5c7
commit b88d704126
26 changed files with 1895 additions and 407 deletions
+22 -8
View File
@@ -287,16 +287,30 @@ GUI публикует настройки через `processing_live.json`; ф
действуют в обоих режимах: среднее предыдущих коллекций вычитается до IFFT.
Плоскость coherent GPR — земля с высотой `gpr_bp_ground_depth_m` и наклоном
`gpr_look_angle_deg`. SAR использует `sar3d_frame_radius` предыдущих кадров и
текущий. Размеры сцены: `sar3d_x_size_m`, `sar3d_z_size_m` (0 — автоматически),
текущий; шаги вокселя по X, Y и Z — `sar3d_voxel_x_m`, `sar3d_voxel_y_m`, `sar3d_voxel_z_m`. Размеры сцены: `sar3d_x_size_m`, `sar3d_z_size_m` (0 — автоматически),
`sar3d_y_min_m`, `sar3d_y_max_m` — наземные координаты, независимо от depth gate.
`sar3d_bg_gate_enabled` (BG_GATE_ENABLE) и `sar3d_clean_enabled` (SAR_CLEAN_ENABLE),
boolean, по умолчанию true: отношение максимума кадра к его фону и CLEAN апертуры
из одного кадра.
SAR публикует `sar3d_target_width` как TableF32 с тремя колонками [X,Y,Z]:
ширины непрерывного отклика на половине максимума по осевым сечениям через
совместный максимум сглаженного объёма (метры, не меньше одного вокселя).
`sar3d_peak` по-прежнему содержит [уровень,X,Y,Z]. GUI использует ширины для
квадратного контура цели. Зум и `SAR_CLOUD_THRESHOLD` — настройки отображения
desktop/веба; в live-файл не входят, ревизию и расчёт не меняют. RSL3 не меняется:
новая таблица использует существующий тип payload.
SAR публикует `sar3d_peak` как TableF32 [уровень нормировки,X,Y,Z] отмеченного
максимума и, если объектов CLEAN нет, `sar3d_target_width` с тремя колонками [X,Y,Z]:
ширины непрерывного отклика на половине максимума по осевым сечениям через этот
максимум сглаженного объёма (метры, не меньше одного вокселя). GUI использует ширины
для квадратного контура цели. Без сигнала (статус 1) этих таблиц нет. Остальные
таблицы TableF32:
- `sar3d_background` — [максимум/фон, BG_GATE_3D_SHOW, BG_GATE_3D_FULL], только при
`sar3d_bg_gate_enabled` и сигнале; множитель шкалы считает GUI с порогом облака.
- `sar3d_objects` — объекты CLEAN, сильнейший первым, строки [X,Y,Z,уровень в фонах].
Если они есть, проекции — остаток в долях максимума кадра с каждым объектом в своей
шкале 0–1, а `sar3d_peak` указывает на первый объект.
- `sar3d_marks` — рамки групп объектов, строки [класс,X0,X1,Y0,Y1,Z0,Z1]; класс 0 —
очень низкий, 1 — на земле, 2 — выше земли, 3 — у границы сцены.
Зум, `SAR_CLOUD_THRESHOLD` и `SAR_MARK_ENABLE` — настройки отображения desktop/веба;
в live-файл не входят, ревизию и расчёт не меняют. RSL3 не меняется: таблицы
используют существующий тип payload.
## 7. Почему поле мощности читается, но не используется