feat(parse): carry per-channel ZC freq onto PeakValues (report + dict paths)
This commit is contained in:
@@ -270,6 +270,19 @@ def apply_report_to_event(event: Event, report: BwAsciiReport) -> None:
|
||||
if report.mic.pspl_dbl is not None and report.mic.pspl_dbl > 0:
|
||||
pv.micl = _dbl_to_psi(report.mic.pspl_dbl)
|
||||
|
||||
if (t := ch.get("Tran")):
|
||||
pv.tran_zc_freq = t.zc_freq_hz
|
||||
pv.tran_zc_above_range = bool(getattr(t, "zc_freq_above_range", False))
|
||||
if (v := ch.get("Vert")):
|
||||
pv.vert_zc_freq = v.zc_freq_hz
|
||||
pv.vert_zc_above_range = bool(getattr(v, "zc_freq_above_range", False))
|
||||
if (l := ch.get("Long")):
|
||||
pv.long_zc_freq = l.zc_freq_hz
|
||||
pv.long_zc_above_range = bool(getattr(l, "zc_freq_above_range", False))
|
||||
if report.mic is not None:
|
||||
pv.mic_zc_freq = report.mic.zc_freq_hz
|
||||
pv.mic_zc_above_range = bool(getattr(report.mic, "zc_freq_above_range", False))
|
||||
|
||||
if event.project_info is None:
|
||||
event.project_info = ProjectInfo()
|
||||
pi = event.project_info
|
||||
@@ -329,6 +342,17 @@ def apply_bw_report_dict_to_event(event: Event, bw_report: dict) -> None:
|
||||
if pspl is not None and pspl > 0:
|
||||
pv.micl = _dbl_to_psi(pspl)
|
||||
|
||||
for axis, freq_attr, above_attr in (
|
||||
("tran", "tran_zc_freq", "tran_zc_above_range"),
|
||||
("vert", "vert_zc_freq", "vert_zc_above_range"),
|
||||
("long", "long_zc_freq", "long_zc_above_range"),
|
||||
):
|
||||
chd = peaks.get(axis) or {}
|
||||
setattr(pv, freq_attr, chd.get("zc_freq_hz"))
|
||||
setattr(pv, above_attr, bool(chd.get("zc_freq_above_range", False)))
|
||||
pv.mic_zc_freq = mic.get("zc_freq_hz")
|
||||
pv.mic_zc_above_range = bool(mic.get("zc_freq_above_range", False))
|
||||
|
||||
rec = bw_report.get("recording") or {}
|
||||
sr = rec.get("sample_rate_sps")
|
||||
if sr:
|
||||
|
||||
@@ -352,6 +352,14 @@ class PeakValues:
|
||||
long: Optional[float] = None # Longitudinal PPV (in/s) ✅
|
||||
micl: Optional[float] = None # Air overpressure (psi) 🔶 (units uncertain)
|
||||
peak_vector_sum: Optional[float] = None # Scalar geo PVS (in/s) ✅
|
||||
tran_zc_freq: Optional[float] = None
|
||||
vert_zc_freq: Optional[float] = None
|
||||
long_zc_freq: Optional[float] = None
|
||||
mic_zc_freq: Optional[float] = None
|
||||
tran_zc_above_range: bool = False
|
||||
vert_zc_above_range: bool = False
|
||||
long_zc_above_range: bool = False
|
||||
mic_zc_above_range: bool = False
|
||||
|
||||
|
||||
# ── Project / operator metadata ───────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user