WIP on normaliser: 2e6ad24 ad to gitignore

This commit is contained in:
2026-02-20 20:32:02 +03:00
7 changed files with 116 additions and 23 deletions

View File

@ -34,7 +34,7 @@ def format_status(data: Mapping[str, Any]) -> str:
return f"{fv:.3g}"
return f"{fv:.3f}".rstrip("0").rstrip(".")
parts = [f"{k}:{_fmt(v)}" for k, v in data.items()]
parts = [f"{k}:{_fmt(v)}" for k, v in data.items() if k != "pre_exp_sweep"]
return " ".join(parts)
@ -46,6 +46,9 @@ class AppState:
"""
def __init__(self, norm_type: str = "projector"):
self.current_sweep_pre_exp: Optional[np.ndarray] = None
self.current_sweep_post_exp: Optional[np.ndarray] = None
self.current_sweep_processed: Optional[np.ndarray] = None
self.current_sweep_raw: Optional[np.ndarray] = None
self.current_sweep_norm: Optional[np.ndarray] = None
self.last_calib_sweep: Optional[np.ndarray] = None
@ -154,6 +157,9 @@ class AppState:
self.current_sweep_norm = None
else:
self.current_sweep_norm = None
self.current_sweep_processed = (
self.current_sweep_norm if self.current_sweep_norm is not None else self.current_sweep_raw
)
def drain_queue(self, q: "Queue[SweepPacket]", ring: RingBuffer) -> int:
"""Вытащить все ожидающие свипы из очереди, обновить state и ring.
@ -168,7 +174,10 @@ class AppState:
break
drained += 1
self.current_sweep_raw = s
self.current_sweep_post_exp = s
self.current_info = info
pre_exp = info.get("pre_exp_sweep") if isinstance(info, dict) else None
self.current_sweep_pre_exp = pre_exp if isinstance(pre_exp, np.ndarray) else None
ch = 0
try:
@ -204,6 +213,7 @@ class AppState:
self.current_sweep_norm = sweep_for_ring
self._last_sweep_for_ring = sweep_for_ring
self.current_sweep_processed = sweep_for_ring
ring.ensure_init(s.size)
ring.push(sweep_for_ring)
return drained