StreamViewer is a Python package for real-time data visualization. It comprises data-source and visualization modules, as well as some useful widgets to connect and configure those modules. It is intended for integration into applications for real-time monitoring and visualization of streaming data, especially data from lab streaming layer (LSL) streams.
Additionally, StreamViewer comes with several pre-made applications, including a well-featured GUI for monitoring LSL streams and visualizing data. After installing the stream_viewer python package with pip install stream_viewer
, this visualization application can be launched from console with lsl_viewer
.
To install the latest version from source:
pip install git+https://github.com/intheon/stream_viewer.git
Requirements:
- pandas
- numpy
- PyOpenGL
- qtpy
- PySide2
- vispy
- visbrain
- pylsl
- pyqtgraph
To install these with pip, run:
pip install -r requirements
Or, if using miniconda, create an environment with:
conda env create -f conda-requirements.yml
Applications in the applications
module can be run with
python -m stream_viewer.applications.{application_name}
Additionally, several of the more useful applications have entry points and can be run directly from the console:
lsl_viewer
lsl_status
lsl_switching
lsl_viewer_custom
lsl_viewer
and lsl_switching_viewer
make use of an .ini file. The default ini file is expected at ~/.stream_viewer/{application_name}.ini, but the path can also be provided as a command-line argument.
lsl_viewer_custom
also makes use of command-line arguments to specify stream predicates and renderer name.
Start at the outline/overview.
StreamViewer is developed by Intheon and was funded in part by the Army Research Laboratory under Cooperative Agreement Number W911NF-10-2-0022 as part of the Lab Streaming Layer project.