sar3d: fixed default scene window X [-2,2], Y [-0.5,2], Z [0,8] m
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>
This commit is contained in:
@@ -82,11 +82,15 @@ class ProcessingLiveConfig:
|
||||
sar3d_pitch_deg: float = 17.5
|
||||
# Height of the lower antenna row above the ground (scene Y=0 = ground).
|
||||
sar3d_ground_depth_m: float = 1.25
|
||||
# Full-region grid: X spans the antennas +- margin, Y is height above the
|
||||
# ground, Z covers the radar depth gate over the Y range.
|
||||
sar3d_x_margin_m: float = 2.0
|
||||
# Scene grid bounds (metres): X across, Y height above the ground, Z along
|
||||
# the ground away from the radar. Voxels outside the radar depth gate are
|
||||
# zeroed by the mask regardless of the Z window.
|
||||
sar3d_x_min_m: float = -2.0
|
||||
sar3d_x_max_m: float = 2.0
|
||||
sar3d_y_min_m: float = -0.5
|
||||
sar3d_y_max_m: float = 2.0
|
||||
sar3d_z_min_m: float = 0.0
|
||||
sar3d_z_max_m: float = 8.0
|
||||
sar3d_voxel_x_m: float = 0.025
|
||||
sar3d_voxel_y_m: float = 0.02
|
||||
sar3d_voxel_z_m: float = 0.02
|
||||
@@ -171,9 +175,12 @@ class ProcessingLiveConfig:
|
||||
"sar3d_pitch_override_enabled": bool(self.sar3d_pitch_override_enabled),
|
||||
"sar3d_pitch_deg": float(self.sar3d_pitch_deg),
|
||||
"sar3d_ground_depth_m": float(self.sar3d_ground_depth_m),
|
||||
"sar3d_x_margin_m": float(self.sar3d_x_margin_m),
|
||||
"sar3d_x_min_m": float(self.sar3d_x_min_m),
|
||||
"sar3d_x_max_m": float(self.sar3d_x_max_m),
|
||||
"sar3d_y_min_m": float(self.sar3d_y_min_m),
|
||||
"sar3d_y_max_m": float(self.sar3d_y_max_m),
|
||||
"sar3d_z_min_m": float(self.sar3d_z_min_m),
|
||||
"sar3d_z_max_m": float(self.sar3d_z_max_m),
|
||||
"sar3d_voxel_x_m": float(self.sar3d_voxel_x_m),
|
||||
"sar3d_voxel_y_m": float(self.sar3d_voxel_y_m),
|
||||
"sar3d_voxel_z_m": float(self.sar3d_voxel_z_m),
|
||||
|
||||
Reference in New Issue
Block a user