test new version

This commit is contained in:
awe
2026-09-16 13:22:21 +03:00
parent b3339d101c
commit 16ccafff69
17 changed files with 213 additions and 37 deletions
+30
View File
@@ -0,0 +1,30 @@
"""Shared mapping for the sar3d bottom-view projection choices.
The bottom plot of the sar3d mode projects the imaged volume along a
horizontal direction rotated around the vertical Y axis: 0° = front view
(X horizontal), 90° = side view (Z horizontal). One shared mapping keeps the
combo box, the live-config build, the profile persistence and the plot labels
consistent.
"""
from __future__ import annotations
SAR3D_BOTTOM_VIEW_CHOICES: tuple[tuple[str, float], ...] = (
("front (0°)", 0.0),
("30°", 30.0),
("60°", 60.0),
("side (90°)", 90.0),
)
def sar3d_bottom_view_deg_from_label(label: str) -> float:
"""Map a bottom-view combo label to its projection angle in degrees."""
for choice_label, degrees in SAR3D_BOTTOM_VIEW_CHOICES:
if choice_label == label:
return degrees
return 0.0
def sar3d_bottom_view_label_from_deg(degrees: float) -> str:
"""Map a projection angle to the nearest bottom-view combo label."""
return min(SAR3D_BOTTOM_VIEW_CHOICES, key=lambda choice: abs(choice[1] - float(degrees)))[0]