Data stream subscription management
Main scrolling data-view window: ScrollPlot subscribes to data streams and scrolls them; PlotDataEditor selects the data source.
Overview
quatm/GUI/entries/scrollwindow.py provides data stream subscription management (ScrollWindow): a multi-channel scrolling data-view main window that lays out ScrollPlot subplots by count (two per row) and uniformly distributes data blocks to the corresponding subplots and refreshes them; PlotDataEditor provides drop-down selection of data/image streams.
Components
| Component | Description |
|---|---|
ScrollWindow | Main window: creates subplots by count, distributes data and refreshes |
ScrollPlot | Scrolling subplot: subscribes to data streams, ring buffer + periodic refresh |
PlotDataEditor | Data-source selection panel: drop-down candidates written back to the property ydata |
Key methods
| Method | Description |
|---|---|
initPlots / feedData / updatePlot (ScrollWindow) | Create subplots / feed data / batch refresh |
setnewData (ScrollPlot) | Periodically pulls data and refreshes the curve |
dataSelectDialog / subscribe_window / configureWindow (ScrollPlot) | Select channels / change subscription / configure this plot |
updateDatachannel (PlotDataEditor) | Writes the selected stream into the property ydata when the drop-down changes |
Usage
from quatm.GUI.entries.scrollwindow import ScrollWindow
win = ScrollWindow(name="PMT scroll monitor", parent=parent, n_plots=2)
Data-stream subscription, channel selection and configuration are performed on each subplot through its context menu; for a more complete description see Scrolling waveform window.