- 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.
The sar3d processor is rewritten as a checked port of Multi_antenna_3D_clean_v1.ipynb:
NVRTC kernels, timing from the trace stamps, notebook parameter names and one cubic
SAR_VOXEL_M. It adds front, side, top and 3D views, drops gpr_cpp and the parity tools,
and the GUI speed now applies only while the socket speed is ignored.
The grid bounds are now explicit config (sar3d_x/y/z_min/max_m) instead of
being derived from the antenna span and the depth gate. The depth mask
still zeroes voxels outside [min_depth, max_depth], so the wider Z window
just shows the masked wedge. The bound fields are double: the parity tool
recomputes the notebook-derived bounds (notebook_grid_bounds) and passes
them through the live config, and a float roundtrip shifted the axes by
~1e-7 m, flipping depth-mask knife-edge voxels against the reference npz.
Parity on frames 0034-0036 unchanged (1.3e-6, axes bit-match).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- replay_raw_producer carries the RECORDED per-trace capture windows
from each snapshot's meta.json (re-anchored by the same shift as the
frame time) instead of one synthetic window for all traces — without
this the segmented timing model degenerates in replay;
- GUI/profile/orchestration swap the removed window knobs
(center_depth, half_width_*, grid_n*) for the notebook parameters
(ground depth, pitch override, voxel pitch, Y range, X margin, norm
edge margin, smooth sigma, comp power, tx per segment).
Headless replay smoke on the 20260922_mine_fast_true dataset passes:
51 sar3d result collections, transparent preprocessor.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>