191d1b8946
Lets a user export the current ROI as one CSV with a column per selected angle's value (RF peak freq, Bias A, Bias B, or velocity), once angles share a common (x, y) grid -- either via a live Fusion alignment result or because the open file is itself a previous Alignment Wizard export whose angles already share one grid on disk. Never triggers a background compute; angles without cached/stored data for the chosen value type are simply unavailable in the picker. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
30 lines
1.3 KiB
Python
30 lines
1.3 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 .align_wizard import AlignmentWizard # noqa: E402,F401
|
|
from .canvases import ( # noqa: E402,F401
|
|
AlignOverlayCanvas, ImageCanvas, RoiQuad, WaveformCanvas,
|
|
)
|
|
from .common import CH_LABELS, CMAPS, VELOCITY_MODE_IDX # noqa: E402,F401
|
|
from .dialogs import ( # noqa: E402,F401
|
|
FftOptionsDialog, FusedRoiExportDialog, RowAverageFftOptionsDialog,
|
|
)
|
|
from .main_window import SrasViewerWindow, main # noqa: E402,F401
|