multi config calibration added

This commit is contained in:
Ayzen
2026-04-09 00:48:23 +03:00
parent 1d7d0a756e
commit 61685d7a4d
10 changed files with 738 additions and 26 deletions
@@ -274,6 +274,8 @@ class AppWindowConfigProfileIOMixin:
self._selected_preprocess_sets = selected_preprocess_sets
self._selected_preprocess_radar_key = self._radar_key(config)
self._preprocess_set_name = str(gui_state.preprocess_dialog.set_name)
self._preprocess_radar_config_dir = str(gui_state.preprocess_dialog.radar_config_dir)
self._preprocess_use_all_radar_configs = bool(gui_state.preprocess_dialog.use_all_radar_configs)
self._apply_history_limit_from_config(config)
self._gpr_geometry_signature = None
self._gpr_selected_geometry = None
@@ -283,12 +285,18 @@ class AppWindowConfigProfileIOMixin:
if self._preprocess_dialog is not None:
with ExitStack() as dialog_blockers:
dialog_blockers.enter_context(QSignalBlocker(self._preprocess_dialog._set_name_input))
dialog_blockers.enter_context(QSignalBlocker(self._preprocess_dialog._radar_config_dir_input))
dialog_blockers.enter_context(QSignalBlocker(self._preprocess_dialog._use_all_radar_configs_checkbox))
for combo in self._preprocess_dialog._set_combos.values():
dialog_blockers.enter_context(QSignalBlocker(combo))
self._preprocess_dialog.set_set_name(self._preprocess_set_name)
self._preprocess_dialog.set_radar_config_dir(self._preprocess_radar_config_dir)
self._preprocess_dialog.set_use_all_radar_configs(self._preprocess_use_all_radar_configs)
self._preprocess_dialog.set_selected_sets(self._selected_preprocess_sets, emit_signal=False)
self._apply_initial_radar_limits()
if self._preprocess_dialog is not None:
self._refresh_sets()
self._reload_locator_service_from_config()
self._on_processing_mode_changed(gui_state.processing.selected_mode)
self._update_history_indicator()
@@ -185,7 +185,11 @@ class AppWindowConfigStateBuildersMixin:
save_path=str(self._project_root / "python_app/data/snapshots"),
save_name="snapshot_manual",
),
preprocess_dialog=GuiPreprocessDialogStateModel(set_name="set_001"),
preprocess_dialog=GuiPreprocessDialogStateModel(
set_name="set_001",
radar_config_dir="",
use_all_radar_configs=False,
),
)
def _current_preprocess_set_name(self) -> str:
@@ -194,6 +198,18 @@ class AppWindowConfigStateBuildersMixin:
self._preprocess_set_name = self._preprocess_dialog.set_name()
return self._preprocess_set_name
def _current_preprocess_radar_config_dir(self) -> str:
"""Return current preprocess dialog radar-config directory path."""
if self._preprocess_dialog is not None:
self._preprocess_radar_config_dir = self._preprocess_dialog.radar_config_dir()
return self._preprocess_radar_config_dir
def _current_preprocess_use_all_radar_configs(self) -> bool:
"""Return whether multi-radar preprocessing is enabled in the dialog."""
if self._preprocess_dialog is not None:
self._preprocess_use_all_radar_configs = self._preprocess_dialog.use_all_radar_configs()
return bool(self._preprocess_use_all_radar_configs)
def _build_gui_state(self) -> GuiStateModel:
"""Build GUI-only persistent state from current widget values."""
return GuiStateModel(
@@ -249,6 +265,8 @@ class AppWindowConfigStateBuildersMixin:
),
preprocess_dialog=GuiPreprocessDialogStateModel(
set_name=self._current_preprocess_set_name(),
radar_config_dir=self._current_preprocess_radar_config_dir(),
use_all_radar_configs=self._current_preprocess_use_all_radar_configs(),
),
)