NeuroDecKit is a modular and extensible MATLAB toolbox for Motor Imagery Electroencephalography (MI-EEG) decoding, featuring comprehensive algorithm integration and flexible pipeline construction capabilities.
NeuroDecKit systematically integrates algorithms across nine functional components:
| Module | Methods Count | Representative Algorithms |
|---|---|---|
| Spectral Filtering | 2 | Butterworth, Chebyshev |
| Channel Selection | 3 | Correlation-based, CSP weights, Riemannian distance |
| Spatial Filtering | 3 | CSP, RSF, Laplace |
| Data Alignment | 4 | EA, RA, RPA, None |
| Feature Extraction | 8 | CSP, CSSP, RCSP, DSP, MDM, FgMDM, TSM, CTSSP |
| Feature Selection | 6 | ANOVA, MIC, PCA, LASSO, RFE, None |
| Feature Alignment | 5 | Z-score, MMD, MEKT, MEFA, None |
| Classification | 7 | LDA, SVM, LR, KNN, DTC, GNB, MLP |
| End-to-End Models | 5 | SBLEST, RKNN, RKSVM, TRCA, DCPM |
| Deep Learning | 11 | sCNN, dCNN, FBCNet, EEGNet, Tensor-CSPNet, Graph-CSPNet, LMDA-Net, EEGConformer, LightConvNet, IFNet, MSVTNet |
| Ensemble Learning | 3 | Voting, Boosting, Stacking |
NeuroDecKit features a sophisticated transfer learning system with:
- 6,000+ configurable transfer learning pipelines
- Multi-level domain adaptation: Data-level and feature-level alignment
- Comprehensive transfer scenarios: Cross-session, Cross-subject & Cross-dataset
- 300+ non-transfer learning pipeline configurations
- Modular design for easy algorithm combination
- Extensible architecture for custom method integration
NeuroDecKit supports multiple experimental paradigms to evaluate algorithm generalization:
- Training: All data from first experimental session
- Testing: All data from second experimental session
- Objective: Evaluate temporal stability and session-to-session transfer
- Training: All subjects except one (source domain)
- Testing: Left-out subject (target domain)
- Objective: Evaluate intersubject generalization and domain adaptation
- Training: All data from one dataset (source domain)
- Testing: All data from another dataset (target domain)
- Objective: Evaluate cross-dataset generalization and domain adaptation
Detailed results available in:
We express our gratitude to the open-source community, which facilitates the broader dissemination of research by other researchers and ourselves. The coding style in this repository is relatively rough. We welcome anyone to refactor it to make it more efficient. Our model codebase is largely based on the following repositories:
-
A widely used machine learning library in Python that provides simple and efficient tools for data mining and data analysis.
-
An open science project aimed at establishing a comprehensive benchmark for BCI algorithms using widely available EEG datasets.
-
An open-source non-invasive brain-computer interface platform.
-
A Python library focused on Riemannian geometry methods for EEG signal classification. pyRiemann provides a suite of tools for processing and classifying EEG signals in Riemannian space.
-
Contains several deep learning models such as EEGNet, ShallowConvNet (sCNN), and DeepConvNet (dCNN), designed specifically for EEG signal classification. Braindecode aims to provide an easy-to-use deep learning toolbox.
-
provides several deep learning models such as EEGConformer, LightConvNet, and MSVTNet for EEG signal classification.
This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.