Stream monitor
Stream monitoring: multi-tab data/image/command/message monitoring and single-stream panels.
Overview
quatm/GUI/streammonitor/ provides the stream monitor: MainWindow uses tabs to hold
monitors for data streams (Data), image streams (Image), commands (Command), message logs
(Message) and history (History), among others; each monitor tab is a StreamMonitor that
subscribes to a single data stream and displays it in real time.
Components
| Component | Description |
|---|---|
MainWindow | Monitoring main window: multi-tab container + menu |
StreamMonitor | Single-stream monitoring panel: subscribes to one data stream and displays it in real time |
MessageTableModel | Message log table model (timestamp/source/level/content, colored by level) |
ImageTableModel | Image stream metadata table (fixed time/source columns + dynamic key columns) |
AutoSortProxyModel | Auto-sorting proxy model ordered by descending timestamp |
Monitoring types
| Tab | Content |
|---|---|
| Data | Real-time curves/tables of numeric data streams |
| Image | Scientific image streams and their metadata |
| Command | Command / instruction streams |
| Message | Message log (timestamp/source/level/content) |
| History | Historical records |
Usage
from quatm.GUI.streammonitor import MainWindow, StreamMonitor
win = MainWindow(parent=parent) # multi-tab monitoring main window
panel = StreamMonitor(name="PMT", stream_type="Data", parent=parent) # single-stream panel
This monitoring interface is normally started as a standalone process; the single-stream
StreamMonitor panel can also be embedded in other windows.