8 BCI Software Apps you Can’t Live Without

A few months ago David Ibañez published a post with the top 3 applications for BCI. Today I intend to expand that list and review other software packages for BCI and offer you some other alternatives. This time we won’t only focus on packages ready to work out-of-the-box, so we’ll also include libraries and frameworks ready to be adopted within your developed applications. As usual, we’d love you to contribute to this post, by sharing your experience and opinions regarding the packages we review, as well as letting us know about other packages we haven’t yet learnt about.

  • BCI2000 – The classic application already reviewed by David Ibañez, it offers an extensive list of features, as well as compatibility with most of the known EEG amplifiers as its main characteristics.
  • OpenVIBE – Another well-know platform, also reviewed by David Ibañez, it has an atractive GUI interface that makes developing a BCI application very quick an intuitive as its main strength.
  • TOBI common implementation platform – This platform is the result of a large European research project. It offers a wide set of already developed tools that cover the acquisition of raw signals from EEG devices to the further processing of such signals. Several demos and applications are presented on its webpage as a showcase of its possibilities.
  • BCILab – This matlab plugin for EEGLab expands the existing features to offer a framework for the design of BCI applications and prototypes. Very convenient if you are already familiar with EEGLab or if you are fluent in Matlab.
  • BCI++ – This is a framework focused on the fast development of prototypes for BCI applications. It consists in two subsystems: a module in charge of signal acquisition, storage and visualization, and a graphical module in charge of interaction of the user and the implementation of the experimental protocol. Available through an open registration, it appears to be available only for MS-Windows platforms.
  • xBCI – A library with several modules for signal acquisition, signal processing, statistical analysis, visualization and experimental control. It offers a GUI-based editor, and is available on multiple platforms.
  • BF++ – Having a slightly different approach, this package is described as: “BF++ Toys are a set of software tools that are able to handle the information relative to the HCI entities (…) that can help to develop and optimize BCI systems and have been developed in C++ making use of classes from the BF++ Framework”. However, I couldn’t find any link to the package. If any of the readers knows how to get it, please let us know 🙂
  • Pyff – Another framework offering BCI capabilities, this one is developed in Python. It intends to develop a powerful framework usable in real-time scenarios like the ones developed in C++ with the friendliness of the Matlab environment.
Photo credits: Saad Faruque

Again, I encourage you to let us know your opinions and insights. We are delighted to incorporate contributions from you, so please don’t hesitate to drop us a line!