added GPR

This commit is contained in:
Ayzen
2026-03-19 19:29:08 +03:00
parent bdefe3f581
commit 9581730e41
39 changed files with 3830 additions and 201 deletions
+27
View File
@@ -95,6 +95,32 @@ class PreprocessModel:
reference_bundle_path: str = ""
@dataclass(slots=True)
class GprTxGeometryModel:
"""One transmitter geometry record keyed by output switch position."""
output_pos: int = 0
x_m: float = 0.0
@dataclass(slots=True)
class GprRxGeometryModel:
"""One receiver geometry record keyed by input switch position."""
input_pos: int = 0
x_m: float = 0.0
@dataclass(slots=True)
class GprModel:
"""Stable GPR configuration saved in run_config.json."""
mode: str = "point"
relative_permittivity: float = 1.0
tx_geometry: list[GprTxGeometryModel] = field(default_factory=list)
rx_geometry: list[GprRxGeometryModel] = field(default_factory=list)
@dataclass(slots=True)
class RunConfigModel:
"""Top-level runtime config model consumed by C++ processes and GUI."""
@@ -105,6 +131,7 @@ class RunConfigModel:
rings: RingsModel = field(default_factory=RingsModel)
runtime: RuntimeModel = field(default_factory=RuntimeModel)
preprocess: PreprocessModel = field(default_factory=PreprocessModel)
gpr: GprModel = field(default_factory=GprModel)
combos: list[ComboModel] = field(default_factory=list)
@staticmethod