torcheeg
torcheeg copied to clipboard
[Roadmap] Support for MoABB datasets in TorchEEG
There are four key concepts within the MOABB: the datasets, the paradigm, the evaluation, and the pipelines. We are planning to fully support the datasets and paradigms in MOABB with TorchEEG version 1.1.0, in order to provide users with a wider selection of baseline datasets. Specifically:
-
A dataset manages and abstracts the low-level data access. The dataset will read locally stored data in the downloaded format and convert them into an MNE raw object. There are options to pool all different recording sessions per subject or to evaluate them separately.
-
A paradigm defines how the raw data will be converted into trials that are ready for processing by a decoding algorithm. This is a function of the paradigm used, e.g., in motor imagery one can have two-class, multi-class, or continuous paradigms; similarly, different preprocessing is necessary for ERP vs ERD paradigms.
We have planned the following tasks to be completed:
- [x] torcheeg.datasets.MoABBDataset for obtaining datasets (windows as samples) based on base.BaseDataset and base.BaseParadigms
- [x] torcheeg.datasets.FakeMoABBDataset for obtaining datasets based on fake.FakeDataset and FakeParadigms, and completing relevant unit tests
- [x] The wrap and unit tests for AlexMI()
- [x] BNCI2014001()
- [x] BNCI2014002()
- [x] BNCI2014004()
- [x] BNCI2015001()
- [x] BNCI2015004()
- [ ] Cho2017()
- [ ] Lee2019_MI()
- [ ] MunichMI()
- [ ] Schirrmeister2017()
- [ ] Shin2017A()
- [ ] Ofner2017()
- [ ] Shin2017B()
- [ ] Weibo2014()
- [ ] Zhou2016()
- [x] PhysionetMI().
Currently, I found that the Motor Imagery Paradigms are not comprehensively compared to relevant works. For instance, MOABB does not provide a four-class option for PhysionetMI at present. We might consider providing corresponding parameter settings and implementations in TorchEEG. I believe that BaseParadigms could even be eliminated as a parameter and directly reconstructed in TorchEEG in the epoch-to-window module.
Furthermore, TorchEEG provides pipelines (known as Trainers based on the best practices of PyTorch Lightning) and evaluations (known as model_selection and metrics based on the best practices of TorchMetric) oriented towards deep learning and PyTorch. Due to the paradigms oriented towards deep learning, including self-supervised learning, generative models, and cross-domain transfer learning are not suitable for sklearn's pipelines, we do not plan to make these compatible.
[Note] This is merely a proposal and relevant matters will be discussed and updated within this issue.