DavidBCI is an open-source platform for non-invasive brain computer interface. The project of DavidBCI is led by Dr. Arya Banerjee from Amity University,Newtown, INDIA. DavidBCI 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 DBCI experiment paradigms design module.
This is the first release of DavidBCI, our team will continue to maintain the repository. If you need the handbook of this repository, please contact us by sending email to [email protected] 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.
- DBCI 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 DBCI experiments especially for the online ones.
If someone new to the DBCI 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 DBCI experiments.
The David-DBCI 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 David-DBCI is to make researchers focus on improving their own DBCI algorithms and performing their experiments without wasting too much time on preliminary preparations.
-
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 david of data
- other small changes
-
Supported Datasets
- MI Datasets
- AlexMI
- BNCI2014001, BNCI2014004
- PhysionetMI, PhysionetME
- Cho2017
- MunichMI
- Schirrmeister2017
- Weibo2014
- Zhou2016
- SSVEP Datasets
- Nakanishi2015
- Wang2016
- BETA
- MI Datasets
-
Implemented DBCI 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
- Decomposition Methods
- Clone the repo
git clone https://github.com/david0154/David-BCI.git
- Change to the project directory
cd David-BCI - Install all requirements
pip install -r requirements.txt
- Install brainda package with the editable mode
pip install -e .
The DavidBCI project is carried out by researchers from
- Academy of Medical Engineering and Translational Medicine, Amity University,Newtown, India
- Amity Brain Center, India
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.
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 DBCI algorithms.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the GNU General Public License v2.0 License. See LICENSE for more information.
Email: [email protected]