Difference between revisions of "Programming Reference:VisualizationDemo Signal Processing"
(→Function) |
(→Implementation) |
||
Line 12: | Line 12: | ||
==Implementation== | ==Implementation== | ||
− | Each visualization window is implemented as a ''VisualizationObject'' that contains a | + | Each visualization window is implemented as a ''VisualizationObject'' that contains a ''BitmapVisualization'' object, a ''WorkerThread'' object, and a ''Computation'' object. Whenever a new block of data arrives, computation is done for the individual window's pair of channels in the main thread. Then, visualization bitmap data are produced and sent to the operator module inside the worker thread, to avoid blocking the main thread. Inside the worker thread, the ''BitmapVisualization's'' <tt>SendDifferenceFrame()</tt> function is called to update the visualization display in the operator module. |
==Parameters== | ==Parameters== |
Revision as of 14:41, 21 January 2019
Contents
Location
src/contrib/SignalProcessing/VisualizationDemo
Synopsis
The VisualizationDemo signal processing module demonstrates how to send visualizations with arbitrary pixel content to the operator module. Two rendering methods are provided: Native Qt QPainter-based rendering, and BCI2000's own GraphDisplay based rendering.
Inheritance
The VisualizationDemoFilter signal processing filter derives from GenericFilter.
Function
The VisualizationDemoFilter computes pairwise determination coefficients (squared correlation, values) between its input channels. Determination coefficients are visualized in form of pie charts, and pie charts are sent to the operator module as bitmap visualization data.
Implementation
Each visualization window is implemented as a VisualizationObject that contains a BitmapVisualization object, a WorkerThread object, and a Computation object. Whenever a new block of data arrives, computation is done for the individual window's pair of channels in the main thread. Then, visualization bitmap data are produced and sent to the operator module inside the worker thread, to avoid blocking the main thread. Inside the worker thread, the BitmapVisualization's SendDifferenceFrame() function is called to update the visualization display in the operator module.
Parameters
VisImageWidth
Native image width in pixels.
VisImageHeight
Native image height in pixels.
VisImageBackground
The images' background color, in hexadecimal notation.
VisImageDecimation
A positive integer that indicates how often images are refreshed. 1 means every refresh on every signal packet.
VisMaxWindows
The maximum number of visualization windows created, or 0 for any number of windows.
See also
Programming Reference:GraphDisplay Class, Programming Reference:GenericVisualization Class