From BCI2000 Wiki
Revision as of 00:41, 30 September 2008 by Jhill (talk | contribs) (Synopsis)
Jump to: navigation, search


BCPy2000 takes the C++ out of BCI2000 programming. It is aimed at developers of new applications and new signal processing methods, providing a platform for rapid, flexible development of experimental Brain-Computer Interface systems in Python. It takes advantage of various high-level Python packages: VisionEgg[1] for stimulus presentation, NumPy[2] and SciPy[3] for signal processing and classification, and IPython[4] for interactive debugging.

You can program a python-based application module, signal processing module, or even a signal source module for generating custom test signals and playing back data files. You can slow the system right down or even step through packet-by-packet, while interactively debugging your python code with pdb.

BCPy2000 implements a lot of infrastructure that allows you to get an application module running quickly. It also contains a set of optional tools, which are still a work in progress, but which are rapidly turning into a kind of "standard library" of Pythonic signal-processing algorithms and stimulus widgets.

The source code is available under the terms of the GNU General Public License v3.




Thomas Schreiner, Jeremy Hill, Christian Puzicha, Jason Farquhar

Version History

no changes recorded yet.

Source Code Revisions

(TODO: In this section, indicate the BCI2000 source code revisions (changesets) that you used when developing your contribution, and information about testing/compilation. Adapt the list to your own needs. Hint: You obtain the revision of a source code repository by right-clicking its top level directory, and choosing "show log" from the TortoiseSVN submenu.)

  • Initial development: XXXX
  • Tested under: YYYY
  • Known to compile under: ZZZZ
  • Broken since: UUUU

Functional Description

See the documentation chapter of my thesis.


See the documentation chapter of my thesis.


See the documentation chapter of my thesis.