This commit is contained in:
Ayzen
2026-06-11 19:51:30 +03:00
parent 9661504e51
commit f0d095de80
16 changed files with 1786 additions and 72 deletions
+37
View File
@@ -288,6 +288,36 @@ def gui_profile_from_dict(payload: dict[str, Any]) -> GuiProfileModel:
gui.processing.gpr.score_mode,
"gui.processing.gpr",
),
motion_mode=_optional_string(
gpr_object,
"motion_mode",
gui.processing.gpr.motion_mode,
"gui.processing.gpr",
),
look_angle_deg=_optional_float(
gpr_object,
"look_angle_deg",
gui.processing.gpr.look_angle_deg,
"gui.processing.gpr",
),
direction_sign=_optional_float(
gpr_object,
"direction_sign",
gui.processing.gpr.direction_sign,
"gui.processing.gpr",
),
speed_m_s=_optional_float(
gpr_object,
"speed_m_s",
gui.processing.gpr.speed_m_s,
"gui.processing.gpr",
),
ignore_socket_speed_enabled=_optional_bool(
gpr_object,
"ignore_socket_speed_enabled",
gui.processing.gpr.ignore_socket_speed_enabled,
"gui.processing.gpr",
),
max_detected_objects_to_draw=_optional_int(
gpr_object,
"max_detected_objects_to_draw",
@@ -425,6 +455,8 @@ def gui_profile_from_dict(payload: dict[str, Any]) -> GuiProfileModel:
raise ValueError("gui.processing.gpr.render_mode must be one of: heatmap, objects_only")
if gui.processing.gpr.score_mode not in {"peak", "combined"}:
raise ValueError("gui.processing.gpr.score_mode must be one of: peak, combined")
if gui.processing.gpr.motion_mode not in {"int_minus", "int_focus"}:
raise ValueError("gui.processing.gpr.motion_mode must be one of: int_minus, int_focus")
if gui.processing.legacy_gpr.mode not in {"point", "extended"}:
raise ValueError("gui.processing.legacy_gpr.mode must be one of: point, extended")
if gui.processing.legacy_gpr.render_mode not in {"heatmap", "objects_only"}:
@@ -550,6 +582,11 @@ def gui_profile_to_dict(model: GuiProfileModel) -> dict[str, Any]:
"range_comp_power": gui.processing.gpr.range_comp_power,
"angle_comp_power": gui.processing.gpr.angle_comp_power,
"score_mode": gui.processing.gpr.score_mode,
"motion_mode": gui.processing.gpr.motion_mode,
"look_angle_deg": gui.processing.gpr.look_angle_deg,
"direction_sign": gui.processing.gpr.direction_sign,
"speed_m_s": gui.processing.gpr.speed_m_s,
"ignore_socket_speed_enabled": gui.processing.gpr.ignore_socket_speed_enabled,
"max_detected_objects_to_draw": gui.processing.gpr.max_detected_objects_to_draw,
"draw_top_m_objects": gui.processing.gpr.draw_top_m_objects,
"start_freq_mhz": gui.processing.gpr.start_freq_mhz,
+10 -2
View File
@@ -58,9 +58,17 @@ class GuiGprStateModel:
output_positions: str = ""
min_depth_m: float = 2.0
max_depth_m: float = 14.0
range_comp_power: float = 0.28
angle_comp_power: float = 0.10
range_comp_power: float = 0.1
angle_comp_power: float = 0.0
score_mode: str = "combined"
motion_mode: str = "int_minus"
# Intra-sweep motion-correction inputs. Sweep time is derived from acquisition
# metadata; speed comes from the socket unless `ignore_socket_speed_enabled`,
# in which case `speed_m_s` from here is used.
look_angle_deg: float = 0.0
direction_sign: float = 1.0
speed_m_s: float = 0.0
ignore_socket_speed_enabled: bool = False
max_detected_objects_to_draw: int = 5
draw_top_m_objects: int = 2
start_freq_mhz: float = 3000.0