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

ComponentDescription
ScrollWindowMain window: creates subplots by count, distributes data and refreshes
ScrollPlotScrolling subplot: subscribes to data streams, ring buffer + periodic refresh
PlotDataEditorData-source selection panel: drop-down candidates written back to the property ydata

Key methods

MethodDescription
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.