Bcpy2000
BCPy2000 is a software project for rapid and flexible development of brain-computer interface systems. It is based on the BCI2000 project and uses Python v3.6.8 for the 32-bit version and v3.8.6 for the 64-bit version. It leverages high-level packages such as Psychopy for stimulus presentation and NumPy and SciPy for signal processing and classification. The full wikipage of the project can be found here.
BCpy2000 is a framework that interacts with the original BCI2000 program written in C++. The benefits of using BCIpy2000 for running experiments are:
- Easy to use with multiple EEG headsets, along with other systems such as eye trackers
- PsychoPy has great timing precision and uses OpenGL and hardware accelerated graphics. Additionally, it has a GUI to create the stimulus without coding.
- Configuration parameters can be saved to a file
- BCI2000 is the standard of many BCI labs
The drawbacks of the tool are:
- The tool has to be manually downloaded from GitHub and added to the Python packages folders
- Because the tool lives in its own package folder, it is not easy to install new or updated libraries
- The tool requires to build BCI2000, and then added to system variables
- It can be difficult to create complex stimuli using the PsychoPy library (e.g., a complex Unity game).
Conclusion
BCpy2000, seems like a good option for creating simple experiments that could be shared with other labs. The Python layer just seems to add a level of complexity to the tool. If one can code in C++, I think that the normal BCI2000 program should suffice. I don’t think that it would be the best resource for complex applications (e.g., Boccia, BCI-games).