Wyrm is a Brain Computer Interface (BCI) toolbox written in Python. Wyrm is suitable for running on-line BCI experiments as well as off-line analysis of EEG data.
Online documentation is available here.
Use distutils to install Wyrm into your PYTHONPATH
:
$ git clone http://github.com/venthur/wyrm
$ cd wyrm
$ python setyp.py install --user
this will always give you the latest development version of Wyrm.
Wyrm is also available on the Python Package Index (PyPI) and can be easily installed via:
$ pip install wyrm
In the examples
directory, you'll find, among others, examples for various BCI
tasks using publicly available BCI datasets from the BCI Competition.
-
An example for classification of motor imagery in ECoG recordings. For that example the BCI Competition3, Data Set 1 was used.
-
An example for classification with a P300 Matrix Speller in EEG recordings. The BCI Competition 3, Data Set 2 was used for that example.
You can follow those examples by downloading the data and copying the files to the appropriate places.
Wyrm is mainly developed under Python 2.7, however since people will eventually move on to Python 3 we try to be forward compatible. There is also a Python 3 branch where we try to keep the unit tests happy. The differences between this and the main branch are minimal. Although we can't recommend using the Python 3 branch as is in production, it should be relatively painless to fix the remaining bits and make Wyrm completely Python 3 compatible.
For a complete BCI system written in Python use Wyrm together with Mushu and Pyff. Mushu is a BCI signal acquisition and Pyff a BCI feedback and -stimulus framework.