Skip to main content

A suite of Python tools for working with BCI2000 data files, processing chains, and live sessions

Project description

This toolbox is part of BCI2000, a platform for real-time biosignal acquisition, analysis and feedback for brain-computer interfacing and related neurotechnologies. These files provide a mixed collection of tools for reading BCI2000 .dat files, for performing simple analyses of biosignal data, and for interacting with a running BCI2000 session.

BCI2000Tools’ relationship with your BCI2000 distribution

Some of BCI2000Tools’ functionality (reading .dat files, rudimentary signal analysis, computing spatial filters, plotting, …) is self-contained. For this reason, we decided to release BCI2000Tools as a self-contained package on PyPI, to take its place in the Python-centric ecosystem.

By contrast, some of the toolbox’s functionality relies on BCI2000 binaries that are not included in the PyPI release: for example, the BCI2000Tools.Chain submodule is designed as a Python wrapper around the C++-compiled binaries found in the tools/cmdline subdirectory of a full BCI2000 distribution; BCI2000Tools.Remote is a wrapper around BCI2000’s prog/BCI2000Remote.py, which in turn wraps a dynamic library from, and sends messages to the binaries in, the prog directory. For this reason, the canonical way to install and manage BCI2000Tools is not via PyPI at all, but via the bci2000.org subversion repository:

# (1) register for a free username on bci2000.org;
# (2) install an svn client; then:
svn checkout https://bci2000.org/svn/trunk  bci2000-svn
cd bci2000-svn/tools/python  # BCI2000Tools and its setup.py both live here
python -m pip install -e .   # install in-place ("editable")

and if you do it that way, and leave BCI2000Tools in that location, BCI2000Tools will automatically find the corresponding tools/cmdline/* and prog/* elements (provided you have built them).

If you install another way (e.g. from PyPI via a standard non-editable install, python -m pip install BCI2000Tools), you would need to specify the root directory of your BCI2000 distribution explicitly—certainly before you import BCI2000Tools.Remote and ideally also before you import BCI2000Tools.Chain. Here is how to do that:

from BCI2000Tools import bci2000root
bci2000root('/PATH/TO/BCI2000/DISTRO/WITH/BINARIES')

from BCI2000Tools.Remote import BCI2000
from BCI2000Tools.Chain import bci2000chain

If you do from BCI2000Tools.AllTools import * Python will attempt to import all the submodules, and you will see a message telling you which imports did and did not succeed, along with any reasons for failure.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bci2000tools-1.2.0-py2.py3-none-any.whl (140.5 kB view details)

Uploaded Python 2Python 3

File details

Details for the file bci2000tools-1.2.0-py2.py3-none-any.whl.

File metadata

  • Download URL: bci2000tools-1.2.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 140.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for bci2000tools-1.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 aa04761d571a0c75608b18702632a9323f90695b49e1e5da47dc9afdf2feb398
MD5 be6d1154cdf4b1b309cb9ce1b471ab99
BLAKE2b-256 75cd199eaceacad139f31e4b4af68d8b6d919689dfa176db48c16d6355dfd929

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page