orca.transform.spectrum_v2 ========================== .. py:module:: orca.transform.spectrum_v2 .. autoapi-nested-parse:: Improved dynamic spectrum helpers (version 2). Enhanced dynamic spectrum extraction with: * Read-only measurement set access * Proper MS FLAG column handling * Support for bcal=None (no calibration) * 4x frequency averaging (192 → 48 channels) Attributes ---------- .. autoapisummary:: orca.transform.spectrum_v2.logger orca.transform.spectrum_v2.N_CHAN_OUT orca.transform.spectrum_v2.REDIS_URL orca.transform.spectrum_v2.REDIS_EXPIRE_S orca.transform.spectrum_v2.REDIS_KEY_PREFIX orca.transform.spectrum_v2.ROW_NUMS Functions --------- .. autoapisummary:: orca.transform.spectrum_v2.dynspec_map_v2 orca.transform.spectrum_v2.dynspec_reduce_v2 Module Contents --------------- .. py:data:: logger .. py:data:: N_CHAN_OUT :value: 48 .. py:data:: REDIS_URL .. py:data:: REDIS_EXPIRE_S :value: 36000 .. py:data:: REDIS_KEY_PREFIX :value: 'spec-v2-' .. py:data:: ROW_NUMS :value: [('LWA-128&LWA-160', 54282), ('LWA-048&LWA-051', 33335), ('LWA-018&LWA-237', 30360),... .. py:function:: dynspec_map_v2(self, subband_no: int, scan_no: int, ms: str, *, bcal: str = None, use_ms_flags: bool = True) Produce incoherent-sum + selected-baseline spectra from a **single** MS. * Uses FLAG column to mask samples (→ NaN). * If `bcal` is None ⇒ unity gains. .. py:function:: dynspec_reduce_v2(spectra: Iterable[List[_SnapshotSpectrumV2]], start_ts: datetime.datetime, out_dir: str) -> None Assemble per-scan lists from `dynspec_map_v2` into 768-freq FITS cubes. Safe against missing Redis keys / malformed blobs.