Skip to main content

Mother of All BCI Benchmarks

Project description

MOABB logo

Mother of all BCI Benchmarks (MOABB)

Build a comprehensive benchmark of popular Brain-Computer Interface (BCI) algorithms applied on an extensive list of freely available EEG datasets.

DocsInstallExamplesBenchmarkDatasets

DOI Build Status PyPI Version Python versions Downloads

Quickstart

pip install moabb
import moabb
from moabb.datasets import BNCI2014_001
from moabb.evaluations import CrossSessionEvaluation
from moabb.paradigms import LeftRightImagery
from moabb.pipelines.features import LogVariance

from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA
from sklearn.pipeline import make_pipeline

moabb.set_log_level("info")

pipelines = {"LogVar+LDA": make_pipeline(LogVariance(), LDA())}

dataset = BNCI2014_001()
dataset.subject_list = dataset.subject_list[:2]

paradigm = LeftRightImagery(fmin=8, fmax=35)
evaluation = CrossSessionEvaluation(paradigm=paradigm, datasets=[dataset])
results = evaluation.process(pipelines)

print(results.head())

For full installation options and troubleshooting, see the docs: https://neurotechx.github.io/moabb/install/install.html

Disclaimer

This is an open science project that may evolve depending on the need of the community.

The problem

Brain-Computer Interfaces allow to interact with a computer using brain signals. In this project, we focus mostly on electroencephalographic signals (EEG), that is a very active research domain, with worldwide scientific contributions. Still:

  • Reproducible Research in BCI has a long way to go.
  • While many BCI datasets are made freely available, researchers do not publish code, and reproducing results required to benchmark new algorithms turns out to be trickier than it should be.
  • Performances can be significantly impacted by parameters of the preprocessing steps, toolboxes used and implementation “tricks” that are almost never reported in the literature.

As a result, there is no comprehensive benchmark of BCI algorithms, and newcomers are spending a tremendous amount of time browsing literature to find out what algorithm works best and on which dataset.

The solution

The Mother of all BCI Benchmarks allows to:

  • Build a comprehensive benchmark of popular BCI algorithms applied on an extensive list of freely available EEG datasets.
  • The code is available on GitHub, serving as a reference point for the future algorithmic developments.
  • Algorithms can be ranked and promoted on a website, providing a clear picture of the different solutions available in the field.

This project will be successful when we read in an abstract “ … the proposed method obtained a score of 89% on the MOABB (Mother of All BCI Benchmarks), outperforming the state of the art by 5% ...”.

Core Team

This project is under the umbrella of NeuroTechX, the international community for NeuroTech enthusiasts.

The Mother of all BCI Benchmarks was founded by Alexander Barachant and Vinay Jayaram.

It is currently maintained by:

Contributors

The MOABB is a community project, and we are always thankful to all the contributors!

Acknowledgements

MOABB has benefited from the support of the following organizations:

DATAIA

What do we need?

You! In whatever way you can help.

We need expertise in programming, user experience, software sustainability, documentation and technical writing and project management.

We'd love your feedback along the way.

Our primary goal is to build a comprehensive benchmark of popular BCI algorithms applied on an extensive list of freely available EEG datasets, and we're excited to support the professional development of any and all of our contributors. If you're looking to learn to code, try out working collaboratively, or translate your skills to the digital domain, we're here to help.

Cite MOABB

If you use MOABB in your experiments, please cite MOABB and the related publications:

Citation (APA + BibTeX)

APA

Aristimunha, B., Carrara, I., Guetschel, P., Sedlar, S., Rodrigues, P., Sosulski, J., Narayanan, D., Bjareholt, E., Barthelemy, Q., Schirrmeister, R. T., Kobler, R., Kalunga, E., Darmet, L., Gregoire, C., Abdul Hussain, A., Gatti, R., Goncharenko, V., Andreev, A., Thielen, J., Moreau, T., Roy, Y., Jayaram, V., Barachant, A., & Chevallier, S. (2025).
Mother of all BCI Benchmarks (MOABB) (Version 1.4.3). Zenodo. https://doi.org/10.5281/zenodo.10034223

BibTeX

@software{Aristimunha_Mother_of_all,
  author       = {Aristimunha, Bruno and
                  Carrara, Igor and
                  Guetschel, Pierre and
                  Sedlar, Sara and
                  Rodrigues, Pedro and
                  Sosulski, Jan and
                  Narayanan, Divyesh and
                  Bjareholt, Erik and
                  Barthelemy, Quentin and
                  Schirrmeister, Robin Tibor and
                  Kobler, Reinmar and
                  Kalunga, Emmanuel and
                  Darmet, Ludovic and
                  Gregoire, Cattan and
                  Abdul Hussain, Ali and
                  Gatti, Ramiro and
                  Goncharenko, Vladislav and
                  Andreev, Anton and
                  Thielen, Jordy and
                  Moreau, Thomas and
                  Roy, Yannick and
                  Jayaram, Vinay and
                  Barachant, Alexandre and
                  Chevallier, Sylvain},
  title        = {Mother of all BCI Benchmarks},
  year         = 2025,
  publisher    = {Zenodo},
  version      = {1.4.3},
  url          = {https://github.com/NeuroTechX/moabb},
  doi          = {10.5281/zenodo.10034223},
}

If you want to cite the scientific contributions of MOABB, you could use the following papers:

Sylvain Chevallier, Igor Carrara, Bruno Aristimunha, Pierre Guetschel, Sara Sedlar, Bruna Junqueira Lopes, Sébastien Velut, Salim Khazem, Thomas Moreau
“The largest EEG-based BCI reproducibility study for open science: the MOABB benchmark”
HAL: hal-04537061.

Vinay Jayaram and Alexandre Barachant.
“MOABB: trustworthy algorithm benchmarking for BCIs.”
Journal of neural engineering 15.6 (2018): 066011.
DOI

If you publish a paper using MOABB, please contact us on Github and open an issue! We would love to hear about your work and help you promote it.

Contact us

If you want to report a problem or suggest an enhancement, we'd love for you to open an issue at this GitHub repository because then we can get right on it.

Project details


Download files

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

Source Distribution

moabb-1.4.3.tar.gz (413.3 kB view details)

Uploaded Source

Built Distribution

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

moabb-1.4.3-py3-none-any.whl (279.1 kB view details)

Uploaded Python 3

File details

Details for the file moabb-1.4.3.tar.gz.

File metadata

  • Download URL: moabb-1.4.3.tar.gz
  • Upload date:
  • Size: 413.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for moabb-1.4.3.tar.gz
Algorithm Hash digest
SHA256 b741d73b0270bf052922feb40b916e2fe9cb5a9ce03dbf59adcb2a80e3e538d8
MD5 cb42ace3391ca388996c0055c050e840
BLAKE2b-256 2f9d2748f00084601de65db0f50c4892859cbba5092718ea1d5643c577b72ecb

See more details on using hashes here.

File details

Details for the file moabb-1.4.3-py3-none-any.whl.

File metadata

  • Download URL: moabb-1.4.3-py3-none-any.whl
  • Upload date:
  • Size: 279.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for moabb-1.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a837e7cc50b923f3f02790947f970fd939b210ef63a5983429d470ada91ac61c
MD5 3bc4f7ede6fd0dfa1b24b2c45d0643b7
BLAKE2b-256 99e96d2ba039a6508a5b8c9c90a92ae4a4a62eb66acaa17c75a5710659b16926

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