Skip to main content

A Library of Datasets, Algorithms, and Experiments workflow for Brain-Computer Interface

Project description

MetaBCI

Welcome!

MetaBCI is an open-source platform for non-invasive brain computer interface. The project of MetaBCI is led by Prof. Minpeng Xu from Tianjin University, China. MetaBCI has 3 main parts:

  • brainda: for importing dataset, pre-processing EEG data and implementing EEG decoding algorithms.
  • brainflow: a high speed EEG online data processing framework.
  • brainstim: a simple and efficient BCI experiment paradigms design module.

This is the first release of MetaBCI, our team will continue to maintain the repository. If you need the handbook of this repository, please contact us by sending email to TBC_TJU_2022@163.com with the following information:

  • Name of your teamleader
  • Name of your university(or organization)

We will send you a copy of the handbook as soon as we receive your information.

Paper

If you find MetaBCI useful in your research, please cite:

Mei, J., Luo, R., Xu, L., Zhao, W., Wen, S., Wang, K., ... & Ming, D. (2023). MetaBCI: An open-source platform for brain-computer interfaces. Computers in Biology and Medicine, 107806.

And this open access paper can be found here: MetaBCI

Content

What are we doing?

The problem

  • BCI datasets come in different formats and standards
  • It's tedious to figure out the details of the data
  • Lack of python implementations of modern decoding algorithms
  • It's not an easy thing to perform BCI experiments especially for the online ones.

If someone new to the BCI wants to do some interesting research, most of their time would be spent on preprocessing the data, reproducing the algorithm in the paper, and also find it difficult to bring the algorithms into BCI experiments.

The solution

The Meta-BCI will:

  • Allow users to load the data easily without knowing the details
  • Provide flexible hook functions to control the preprocessing flow
  • Provide the latest decoding algorithms
  • Provide the experiment UI for different paradigms (e.g. MI, P300 and SSVEP)
  • Provide the online data acquiring pipeline.
  • Allow users to bring their pre-trained models to the online decoding pipeline.

The goal of the Meta-BCI is to make researchers focus on improving their own BCI algorithms and performing their experiments without wasting too much time on preliminary preparations.

Features

  • Improvements to MOABB APIs

    • add hook functions to control the preprocessing flow more easily
    • use joblib to accelerate the data loading
    • add proxy options for network connection issues
    • add more information in the meta of data
    • other small changes
  • Supported Datasets

    • MI Datasets
      • AlexMI
      • BNCI2014001, BNCI2014004
      • PhysionetMI, PhysionetME
      • Cho2017
      • MunichMI
      • Schirrmeister2017
      • Weibo2014
      • Zhou2016
    • SSVEP Datasets
      • Nakanishi2015
      • Wang2016
      • BETA
  • Implemented BCI algorithms

    • Decomposition Methods
      • SPoC, CSP, MultiCSP and FBCSP
      • CCA, itCCA, MsCCA, ExtendCCA, ttCCA, MsetCCA, MsetCCA-R, TRCA, TRCA-R, SSCOR and TDCA
      • DSP
    • Manifold Learning
      • Basic Riemannian Geometry operations
      • Alignment methods
      • Riemann Procustes Analysis
    • Deep Learning
      • ShallowConvNet
      • EEGNet
      • ConvCA
      • GuneyNet
      • Cross dataset transfer learning based on pre-training
    • Transfer Learning
      • MEKT
      • LST

Installation

Quick Install (Recommended)

Install MetaBCI with all features:

pip install metabci[all]

Modular Installation

MetaBCI supports modular installation - install only what you need:

# Core only (minimal, for custom setups)
pip install metabci

# brainda: datasets, algorithms, deep learning
pip install metabci[brainda]

# brainflow: signal acquisition (lightweight)
pip install metabci[brainflow]

# brainstim: stimulus presentation
pip install metabci[brainstim]

# Combine modules as needed
pip install metabci[brainda,brainflow]

Development Installation

  1. Clone the repo

    git clone https://github.com/TBC-TJU/MetaBCI.git
    cd MetaBCI
    
  2. Install in development mode with all dependencies

    pip install -e .[all,dev,docs]
    

    Or using requirements files:

    pip install -r requirements-dev.txt
    pip install -e .
    

Conda Installation

For conda users, an environment file is provided:

conda env create -f environment.yml
conda activate metabci

Using uv (Fast Alternative)

uv is a fast Python package installer:

uv pip install metabci[all]

Who are we?

The MetaBCI project is carried out by researchers from

  • Academy of Medical Engineering and Translational Medicine, Tianjin University, China
  • Tianjin Brain Center, China

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.

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated. Especially welcome to submit BCI algorithms.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the GNU General Public License v2.0 License. See LICENSE for more information.

Contact

Email: TBC_TJU_2022@163.com

Acknowledgements

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

metabci-0.2.0.tar.gz (265.9 kB view details)

Uploaded Source

Built Distribution

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

metabci-0.2.0-py3-none-any.whl (306.6 kB view details)

Uploaded Python 3

File details

Details for the file metabci-0.2.0.tar.gz.

File metadata

  • Download URL: metabci-0.2.0.tar.gz
  • Upload date:
  • Size: 265.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for metabci-0.2.0.tar.gz
Algorithm Hash digest
SHA256 717be12986b8c21f7a5a772b36968c5dd751db50878e3b33f2c8e2595d5a17be
MD5 3aa2246457dfd672aa095d2f84e1b6fe
BLAKE2b-256 feeb96db21c89637dd86d707812ad5c4febf0f48ce139a1f8f69fd128e2902f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for metabci-0.2.0.tar.gz:

Publisher: release.yml on TBC-TJU/MetaBCI

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file metabci-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: metabci-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 306.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for metabci-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0812f4124113e6ce06b2a7cc3dc0ea3eb341ca9a6383c17a036213a287007a74
MD5 35219d1f38c3860ab800b543094bf778
BLAKE2b-256 2039aeb7b5dc9229c3d25b1f357177ad11cc33a0a3030d05351a2b741c000cd9

See more details on using hashes here.

Provenance

The following attestation bundles were made for metabci-0.2.0-py3-none-any.whl:

Publisher: release.yml on TBC-TJU/MetaBCI

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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