move to new version
This commit is contained in:
@@ -64,6 +64,10 @@ _WEB_LIVE_SCHEMA = [
|
||||
("gpr_start_freq_mhz", "Geometry & depth", _GPR_LIKE_MODES, _dual("_gpr_start_freq_mhz", {"legacy_gpr": "_legacy_gpr_start_freq_mhz", "sar3d": "_sar3d_start_freq_mhz"})),
|
||||
("gpr_stop_freq_mhz", "Geometry & depth", _GPR_LIKE_MODES, _dual("_gpr_stop_freq_mhz", {"legacy_gpr": "_legacy_gpr_stop_freq_mhz", "sar3d": "_sar3d_stop_freq_mhz"})),
|
||||
("gpr_imaging_plane_y_m", "Geometry & depth", ("gpr",), _attr("_gpr_imaging_plane_y_m")),
|
||||
("gpr_plane_mode", "Geometry & depth", ("gpr",), _attr("_gpr_plane_mode")),
|
||||
("gpr_ground_depth_m", "Geometry & depth", ("gpr",), _attr("_gpr_ground_depth_m")),
|
||||
("gpr_ground_pitch_override_enabled", "Geometry & depth", ("gpr",), _attr("_gpr_ground_pitch_override_enabled")),
|
||||
("gpr_ground_pitch_deg", "Geometry & depth", ("gpr",), _attr("_gpr_ground_pitch_deg")),
|
||||
("gpr_range_comp_power", "Imaging", ("gpr",), _attr("_gpr_range_comp_power")),
|
||||
("gpr_score_mode", "Imaging", ("gpr",), _attr("_gpr_score_mode")),
|
||||
("gpr_background_subtract_enabled", "Imaging", _GPR_MODES, _dual("_gpr_background_subtract_enabled", {"legacy_gpr": "_legacy_gpr_background_subtract_enabled"})),
|
||||
@@ -82,6 +86,8 @@ _WEB_LIVE_SCHEMA = [
|
||||
("gpr_visible_z_min_m", "Visible window", _GPR_MODES, _dual("_gpr_visible_z_min_m", {"legacy_gpr": "_legacy_gpr_visible_z_min_m"})),
|
||||
("gpr_visible_z_max_m", "Visible window", _GPR_MODES, _dual("_gpr_visible_z_max_m", {"legacy_gpr": "_legacy_gpr_visible_z_max_m"})),
|
||||
("gpr_motion_mode", "Motion", ("gpr",), _attr("_gpr_motion_mode")),
|
||||
("gpr_timing_mode", "Motion", ("gpr",), _attr("_gpr_timing_mode")),
|
||||
("gpr_tx_per_segment", "Motion", ("gpr",), _attr("_gpr_tx_per_segment")),
|
||||
("gpr_look_angle_deg", "Motion", _GPR_LIKE_MODES, _dual("_gpr_look_angle_deg", {"legacy_gpr": "_legacy_gpr_look_angle_deg", "sar3d": "_sar3d_look_angle_deg"})),
|
||||
("gpr_direction_sign", "Motion", ("gpr", "sar3d"), _dual("_gpr_direction_sign", {"sar3d": "_sar3d_direction_sign"})),
|
||||
("gpr_apply_freq_phase_correction", "Motion", ("legacy_gpr", "sar3d"), _dual("_legacy_gpr_apply_freq_phase_correction", {"sar3d": "_sar3d_apply_freq_phase_correction"})),
|
||||
|
||||
@@ -309,6 +309,12 @@ class AppWindowConfigProfileIOMixin:
|
||||
self._gpr_background_mean_count,
|
||||
self._gpr_remove_sidelobe_objects_enabled,
|
||||
self._gpr_imaging_plane_y_m,
|
||||
self._gpr_timing_mode,
|
||||
self._gpr_tx_per_segment,
|
||||
self._gpr_plane_mode,
|
||||
self._gpr_ground_depth_m,
|
||||
self._gpr_ground_pitch_override_enabled,
|
||||
self._gpr_ground_pitch_deg,
|
||||
self._gpr_render_mode,
|
||||
self._gpr_visible_x_min_m,
|
||||
self._gpr_visible_x_max_m,
|
||||
@@ -507,6 +513,16 @@ class AppWindowConfigProfileIOMixin:
|
||||
bool(gui_state.processing.gpr.remove_sidelobe_objects_enabled)
|
||||
)
|
||||
self._gpr_imaging_plane_y_m.setValue(float(gui_state.processing.gpr.imaging_plane_y_m))
|
||||
self._set_combo_current_text(self._gpr_timing_mode, gui_state.processing.gpr.timing_mode)
|
||||
self._gpr_tx_per_segment.setValue(int(gui_state.processing.gpr.tx_per_segment))
|
||||
self._set_combo_current_text(self._gpr_plane_mode, gui_state.processing.gpr.plane_mode)
|
||||
self._gpr_ground_depth_m.setValue(float(gui_state.processing.gpr.ground_depth_m))
|
||||
ground_pitch_override_enabled = bool(
|
||||
gui_state.processing.gpr.ground_pitch_override_enabled
|
||||
)
|
||||
self._gpr_ground_pitch_override_enabled.setChecked(ground_pitch_override_enabled)
|
||||
self._gpr_ground_pitch_deg.setValue(float(gui_state.processing.gpr.ground_pitch_deg))
|
||||
self._gpr_ground_pitch_deg.setEnabled(ground_pitch_override_enabled)
|
||||
self._set_combo_current_text(self._gpr_render_mode, gui_state.processing.gpr.render_mode)
|
||||
self._gpr_visible_x_min_m.setValue(float(gui_state.processing.gpr.visible_x_min_m))
|
||||
self._gpr_visible_x_max_m.setValue(float(gui_state.processing.gpr.visible_x_max_m))
|
||||
|
||||
@@ -391,6 +391,12 @@ class AppWindowConfigStateBuildersMixin:
|
||||
background_mean_count=int(self._gpr_background_mean_count.value()),
|
||||
remove_sidelobe_objects_enabled=bool(self._gpr_remove_sidelobe_objects_enabled.isChecked()),
|
||||
imaging_plane_y_m=float(self._gpr_imaging_plane_y_m.value()),
|
||||
timing_mode=self._gpr_timing_mode.currentText(),
|
||||
tx_per_segment=int(self._gpr_tx_per_segment.value()),
|
||||
plane_mode=self._gpr_plane_mode.currentText(),
|
||||
ground_depth_m=float(self._gpr_ground_depth_m.value()),
|
||||
ground_pitch_override_enabled=bool(self._gpr_ground_pitch_override_enabled.isChecked()),
|
||||
ground_pitch_deg=float(self._gpr_ground_pitch_deg.value()),
|
||||
render_mode=self._gpr_render_mode.currentText(),
|
||||
visible_x_min_m=float(self._gpr_visible_x_min_m.value()),
|
||||
visible_x_max_m=float(self._gpr_visible_x_max_m.value()),
|
||||
|
||||
@@ -376,9 +376,58 @@ def build_processing_group(owner) -> QGroupBox:
|
||||
owner._gpr_imaging_plane_y_m.setSingleStep(0.05)
|
||||
owner._gpr_imaging_plane_y_m.setValue(float(gpr_live_defaults.imaging_plane_y_m))
|
||||
owner._gpr_imaging_plane_y_m.setToolTip(
|
||||
"Y coordinate of the BP imaging slice (m). Use 0 for legacy 1D antenna layouts."
|
||||
"Y coordinate of the BP imaging slice (m) in 'const' plane mode. "
|
||||
"Use 0 for legacy 1D antenna layouts."
|
||||
)
|
||||
|
||||
owner._gpr_timing_mode = QComboBox()
|
||||
owner._gpr_timing_mode.addItems(["segmented_interleaved", "interleaved"])
|
||||
owner._set_combo_current_text(owner._gpr_timing_mode, gpr_live_defaults.timing_mode)
|
||||
owner._gpr_timing_mode.setToolTip(
|
||||
"Acquisition timing model for motion correction: 'segmented_interleaved' — Tx run "
|
||||
"in sequential segments (real hardware), 'interleaved' — legacy whole-frame model."
|
||||
)
|
||||
|
||||
owner._gpr_tx_per_segment = QSpinBox()
|
||||
owner._gpr_tx_per_segment.setRange(1, 64)
|
||||
owner._gpr_tx_per_segment.setValue(int(gpr_live_defaults.tx_per_segment))
|
||||
owner._gpr_tx_per_segment.setToolTip(
|
||||
"Fallback Tx count per segment when per-trace capture timestamps are absent; "
|
||||
"timestamp grouping wins when available."
|
||||
)
|
||||
|
||||
owner._gpr_plane_mode = QComboBox()
|
||||
owner._gpr_plane_mode.addItems(["ground", "const"])
|
||||
owner._set_combo_current_text(owner._gpr_plane_mode, gpr_live_defaults.plane_mode)
|
||||
owner._gpr_plane_mode.setToolTip(
|
||||
"BP imaging plane: 'ground' follows the ground given the frame pitch "
|
||||
"(needed with vertically spread antennas), 'const' is the legacy fixed Y."
|
||||
)
|
||||
|
||||
owner._gpr_ground_depth_m = QDoubleSpinBox()
|
||||
owner._gpr_ground_depth_m.setDecimals(3)
|
||||
owner._gpr_ground_depth_m.setRange(0.0, 50.0)
|
||||
owner._gpr_ground_depth_m.setSingleStep(0.05)
|
||||
owner._gpr_ground_depth_m.setValue(float(gpr_live_defaults.ground_depth_m))
|
||||
owner._gpr_ground_depth_m.setToolTip(
|
||||
"Height of the lower antenna row above the ground (m); structural constant."
|
||||
)
|
||||
|
||||
owner._gpr_ground_pitch_override_enabled = QCheckBox("Override ground pitch")
|
||||
owner._gpr_ground_pitch_override_enabled.setChecked(
|
||||
bool(gpr_live_defaults.ground_pitch_override_enabled)
|
||||
)
|
||||
owner._gpr_ground_pitch_override_enabled.setToolTip(
|
||||
"Unchecked: the ground plane uses 'Look angle deg' as the frame pitch."
|
||||
)
|
||||
|
||||
owner._gpr_ground_pitch_deg = QDoubleSpinBox()
|
||||
owner._gpr_ground_pitch_deg.setDecimals(2)
|
||||
owner._gpr_ground_pitch_deg.setRange(-90.0, 90.0)
|
||||
owner._gpr_ground_pitch_deg.setSingleStep(0.1)
|
||||
owner._gpr_ground_pitch_deg.setValue(float(gpr_live_defaults.ground_pitch_deg))
|
||||
owner._gpr_ground_pitch_deg.setEnabled(bool(gpr_live_defaults.ground_pitch_override_enabled))
|
||||
|
||||
gpr_page = _build_processing_mode_page(
|
||||
owner._processing_mode_pages,
|
||||
[
|
||||
@@ -400,6 +449,12 @@ def build_processing_group(owner) -> QGroupBox:
|
||||
("Approach min frames", owner._gpr_object_approach_min_frames),
|
||||
("Start MHz", owner._gpr_start_freq_mhz),
|
||||
("Stop MHz", owner._gpr_stop_freq_mhz),
|
||||
("Timing mode", owner._gpr_timing_mode),
|
||||
("Tx per segment", owner._gpr_tx_per_segment),
|
||||
("Plane mode", owner._gpr_plane_mode),
|
||||
("Ground depth m", owner._gpr_ground_depth_m),
|
||||
owner._gpr_ground_pitch_override_enabled,
|
||||
("Ground pitch deg", owner._gpr_ground_pitch_deg),
|
||||
("Imaging plane Y m", owner._gpr_imaging_plane_y_m),
|
||||
("Visible X min m", owner._gpr_visible_x_min_m),
|
||||
("Visible X max m", owner._gpr_visible_x_max_m),
|
||||
@@ -793,6 +848,13 @@ def build_processing_group(owner) -> QGroupBox:
|
||||
owner._gpr_background_mean_count.valueChanged.connect(owner._on_processing_live_settings_changed)
|
||||
owner._gpr_remove_sidelobe_objects_enabled.toggled.connect(owner._on_processing_live_settings_changed)
|
||||
owner._gpr_imaging_plane_y_m.valueChanged.connect(owner._on_processing_live_settings_changed)
|
||||
owner._gpr_timing_mode.currentTextChanged.connect(owner._on_processing_live_settings_changed)
|
||||
owner._gpr_tx_per_segment.valueChanged.connect(owner._on_processing_live_settings_changed)
|
||||
owner._gpr_plane_mode.currentTextChanged.connect(owner._on_processing_live_settings_changed)
|
||||
owner._gpr_ground_depth_m.valueChanged.connect(owner._on_processing_live_settings_changed)
|
||||
owner._gpr_ground_pitch_override_enabled.toggled.connect(owner._gpr_ground_pitch_deg.setEnabled)
|
||||
owner._gpr_ground_pitch_override_enabled.toggled.connect(owner._on_processing_live_settings_changed)
|
||||
owner._gpr_ground_pitch_deg.valueChanged.connect(owner._on_processing_live_settings_changed)
|
||||
owner._gpr_render_mode.currentTextChanged.connect(owner._on_gpr_visual_settings_changed)
|
||||
owner._gpr_max_detected_objects_to_draw.valueChanged.connect(owner._on_gpr_locator_threshold_changed)
|
||||
owner._gpr_draw_top_m_objects.valueChanged.connect(owner._on_gpr_locator_threshold_changed)
|
||||
|
||||
Reference in New Issue
Block a user