Jump to content

VisualizeBCI2000: Difference between revisions

From BCI2000 Wiki
Created page with "A Python toolkit to powerfully visualize BCI2000 data in real-time. The incoming data can be pre-processed in BCI2000's pipeline, or not, then sent to python through BCI2000's SignalSharing feature. The data can also be visualized in 3D if combined with a [https://github.com/neurotechcenter/VERA VERA structure (electrode localization tool)]. It is designed based on BCI2000's standard of modularity, therefore any of these components can be..."
 
No edit summary
Line 1: Line 1:
[[Image:CCEP gif.gif |900px|right|thumb|frame| An example video showing the CCEP filter with VisualizeBCI2000.]]
=Introduction=
A Python toolkit to powerfully visualize BCI2000 data in real-time. The incoming data can be pre-processed in BCI2000's pipeline, or not, then sent to python through BCI2000's [[User Reference:SignalSharing|SignalSharing]] feature. The data can also be visualized in 3D if combined with a [https://github.com/neurotechcenter/VERA VERA structure (electrode localization tool)]. It is designed based on BCI2000's standard of modularity, therefore any of these components can be swapped out without changing the rest of the pipeline.
A Python toolkit to powerfully visualize BCI2000 data in real-time. The incoming data can be pre-processed in BCI2000's pipeline, or not, then sent to python through BCI2000's [[User Reference:SignalSharing|SignalSharing]] feature. The data can also be visualized in 3D if combined with a [https://github.com/neurotechcenter/VERA VERA structure (electrode localization tool)]. It is designed based on BCI2000's standard of modularity, therefore any of these components can be swapped out without changing the rest of the pipeline.
=Installation=
#Python 3.7+ needs to be installed. [https://www.python.org/downloads/| You can download the lastest version here].
#A couple additional packages are used in this visualization. Run the following segments using <code>pip</code> in the command line.
#*Numpy: <code>pip install numpy</code>
#*PyQt5: <code>pip install PyQt5</code>
#*PyQtGraph 0.13.3+: <code>pip install pyqtgraph</code>
#*SciPy: <code>pip install scipy</code> (only the stats package is required)
=Settings=
These Settings are available to configure in the toolbar
* '''Choose BCI2000 Location''': Choose the directory in which your BCI2000 resides. The folder chosen should be the main, root folder. This is mainly used to access the BCI2000Remote files, which are assumed to be located in the ''prog'' folder of the root directory.
* '''Filters''': The BCI2000 Signal Processing filter which sends the incoming data. Each filter requires a custom Python implementation. Currently, the only 2 filters that are available are:
** '''''[[Contributions:CCEPFilter|CCEPFilter]]'''''
** '''''DataIOFilter''''': This streams the raw data from BCI2000 and continually updates a grid of plots. This is less of a useful visualization, and more of an example for a basic visualization.
* '''Data Streams''': Defaults to BCI2000. If other data streams are desired, these must be implemented.

Revision as of 20:34, 24 April 2025

An example video showing the CCEP filter with VisualizeBCI2000.

Introduction

A Python toolkit to powerfully visualize BCI2000 data in real-time. The incoming data can be pre-processed in BCI2000's pipeline, or not, then sent to python through BCI2000's SignalSharing feature. The data can also be visualized in 3D if combined with a VERA structure (electrode localization tool). It is designed based on BCI2000's standard of modularity, therefore any of these components can be swapped out without changing the rest of the pipeline.

Installation

  1. Python 3.7+ needs to be installed. You can download the lastest version here.
  2. A couple additional packages are used in this visualization. Run the following segments using pip in the command line.
    • Numpy: pip install numpy
    • PyQt5: pip install PyQt5
    • PyQtGraph 0.13.3+: pip install pyqtgraph
    • SciPy: pip install scipy (only the stats package is required)

Settings

These Settings are available to configure in the toolbar

  • Choose BCI2000 Location: Choose the directory in which your BCI2000 resides. The folder chosen should be the main, root folder. This is mainly used to access the BCI2000Remote files, which are assumed to be located in the prog folder of the root directory.
  • Filters: The BCI2000 Signal Processing filter which sends the incoming data. Each filter requires a custom Python implementation. Currently, the only 2 filters that are available are:
    • CCEPFilter
    • DataIOFilter: This streams the raw data from BCI2000 and continually updates a grid of plots. This is less of a useful visualization, and more of an example for a basic visualization.
  • Data Streams: Defaults to BCI2000. If other data streams are desired, these must be implemented.