26a34f7436
The 2790-line module becomes sras_viewer/: common.py (constants + layout helpers), canvases.py (RoiQuad, ImageCanvas, WaveformCanvas, ManualAlignOverlayCanvas), dialogs.py (FftOptionsDialog, ManualAlignmentDialog), main_window.py (SrasViewerWindow + main), with __init__ re-exporting the public names and __main__ keeping `python -m sras_viewer` working. pyproject gains a `sras-viewer` console script. Code moved verbatim; only import headers are new (pyflakes-clean). tests/test_gui.py patch targets follow the classes to their new modules. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
25 lines
1.1 KiB
Python
25 lines
1.1 KiB
Python
"""
|
|
SRAS Scan File Viewer
|
|
PyQt6 application for visualizing channel data from .sras binary scan files.
|
|
|
|
Channel semantics (fixed by sc3_aui_app.py acquisition settings):
|
|
CH1 — RF Acoustic Packet (AC-coupled, 100 mV/div): FFT → peak frequency
|
|
CH3 — Bias A (DC-coupled, 50 mV/div): waveform mean
|
|
CH4 — Bias B (DC-coupled, 50 mV/div): waveform mean
|
|
|
|
RF images are masked: pixels where CH4_dc < dc_threshold show 0.
|
|
|
|
File parsing lives in sras_format, image/alignment math in sras_compute, and
|
|
background workers in sras_workers — none of which import Qt or matplotlib,
|
|
so multiprocessing children can load them cheaply.
|
|
"""
|
|
|
|
import faulthandler
|
|
|
|
faulthandler.enable() # print a native stack trace on SIGSEGV/SIGABRT/etc.
|
|
|
|
from .canvases import ImageCanvas, RoiQuad, WaveformCanvas # noqa: E402,F401
|
|
from .common import CH_LABELS, CMAPS, VELOCITY_MODE_IDX # noqa: E402,F401
|
|
from .dialogs import FftOptionsDialog, ManualAlignmentDialog # noqa: E402,F401
|
|
from .main_window import SrasViewerWindow, main # noqa: E402,F401
|