Mother of All BCI Benchmarks
This new stable version of MOABB brings several new features (details below) and this is a new major version as the integration of BIDS compatibility was the opportunity to normalize dataset names, including a more regular naming scheme for sessions and runs. New addition includes support for new datasets, including cVEP ones.
API changes
Enhancements
Adding extra thank you section in the documentation (#390 by Bruno Aristimunha)
Adding new script to get the meta information of the datasets (#389 by Bruno Aristimunha)
Fixing the dataset description based on the meta information (#389 and 398 by Bruno Aristimunha and Sara Sedlar)
Adding second deployment of the documentation (#374 by Bruno Aristimunha)
Adding Parallel evaluation for moabb.evaluations.WithinSessionEvaluation() , moabb.evaluations.CrossSessionEvaluation() (#364 by Bruno Aristimunha)
Add example with VirtualReality BrainInvaders dataset (#393 by Gregoire Cattan and Pedro L. C. Rodrigues)
Adding saving option for the models (#401 by Bruno Aristimunha and Igor Carrara)
Adding example to load different type of models (#401 by Bruno Aristimunha and Igor Carrara)
Add resting state paradigm with dataset and example (#400 by Gregoire Cattan and Pedro L. C. Rodrigues)
Speeding the augmentation method by 400% with NumPy vectorization (#419 by Bruno Aristimunha)
Add possibility to convert datasets to BIDS, plus example (PR #408, PR #391 by Pierre Guetschel and Bruno Aristimunha)
Allow caching intermediate processing steps on disk, plus example (PR #408, issue #385 by Pierre Guetschel)
Restructure the paradigms and datasets to move all preprocessing steps to moabb.datasets.preprocessing and as sklearn pipelines (PR #408 by Pierre Guetschel)
Add moabb.paradigms.FixedIntervalWindowsProcessing() and moabb.paradigms.FilterBankFixedIntervalWindowsProcessing(), plus example (PR #408, issue #424 by Pierre Guetschel)
Define moabb.paradigms.base.BaseProcessing(), common parent to moabb.paradigms.base.BaseParadigm() and moabb.paradigms.BaseFixedIntervalWindowsProcessing() (PR #408 by Pierre Guetschel)
Allow passing a fixed processing pipeline to moabb.paradigms.base.BaseProcessing.get_data() and cache its result on disk (PR #408, issue #367 by Pierre Guetschel)
Update moabb.datasets.fake.FakeDataset()’s code to be unique for each parameter combination (PR #408 by Pierre Guetschel)
Systematically set the annotations when loading data, eventually using the stim channel (PR #408 by Pierre Guetschel)
Allow moabb.datasets.utils.dataset_search() to search across paradigms paradigm=None (PR #408 by Pierre Guetschel)
Improving the review processing with more pre-commit bots (#435 by Bruno Aristimunha)
Add methods make_processing_pipelines and make_labels_pipeline to moabb.paradigms.base.BaseProcessing (#447 by Pierre Guetschel)
Pipelines’ digests are now computed from the whole processing+classification pipeline (#447 by Pierre Guetschel)
Update all dataset codes to remove white spaces and underscores (#448 by Pierre Guetschel)
Add moabb.utils.depreciated_alias() decorator (#455 by Pierre Guetschel)
Rename many dataset class names to standardize and deprecate old names (#455 by Pierre Guetschel)
Change many dataset codes to match the class names (#455 by Pierre Guetschel)
Add moabb.datasets.compound_dataset.utils.compound_dataset_list (#455 by Pierre Guetschel)
Add c-VEP paradigm and Thielen2021 c-VEP dataset (#463 by Jordy Thielen)
Add option to plot scores vertically. (#417 by Sara Sedlar)
Change naming scheme for runs and sessions to align to BIDS standard (#471 by Pierre Guetschel)
Increase the python version to 3.11 (#470 by Bruno Aristimunha)
Add match_all method in paradigm to support CompoundDataset evaluation with MNE epochs (#473 by Gregoire Cattan)
Automate setting of event_id in compound dataset and add data_origin information to the data (#475 by Gregoire Cattan)
Add possibility of not saving the model (#489 by Igor Carrara)
Bugs
Restore 3 subject from Cho2017 (#392 by Igor Carrara and Sylvain Chevallier)
Correct downloading with VirtualReality BrainInvaders dataset (#393 by Gregoire Cattan)
Rename event subtraction in moabb.datasets.Shin2017B() (#397 by Pierre Guetschel)
Save parameters of moabb.datasets.PhysionetMI() (#403 by Pierre Guetschel)
Fixing issue with parallel evaluation (#401 by Bruno Aristimunha and Igor Carrara)
Fixing SSLError from BCI competition IV (#404 by Bruno Aristimunha)
Fixing moabb.datasets.bnci.MNEBNCI.data_path() that returned the data itself instead of paths (#412 by Pierre Guetschel)
Adding moabb.datasets.fake() in the init file to use in braindecode object (#414 by Bruno Aristimunha)
Fixing the parallel download issue when the dataset have the same directory (#421 by Sara Sedlar)
Fixing fixes the problem with the annotation loading for the P300 datasets Sosulski2019, Huebner2017 and Huebner2018 (#396 by Sara Sedlar)
Removing the print in the dataset list (#423 by Bruno Aristimunha)
Fixing bug in moabb.pipeline.utils_pytorch.BraindecodeDatasetLoader() where incorrect y was used in transform calls (#426 by Gabriel Schwartz)
Fixing one test in moabb.pipeline.utils_pytorch.BraindecodeDatasetLoader() (#426 by Bruno Aristimunha)
Fix moabb.benchmark() overwriting include_datasets list (#408 by Pierre Guetschel)
Fix moabb.paradigms.base.BaseParadigm() using attributes before defining them (PR #408, issue #425 by Pierre Guetschel)
Fix moabb.paradigms.FakeImageryParadigm(), moabb.paradigms.FakeP300Paradigm() and moabb.paradigms.FakeSSVEPParadigm() is_valid methods to only accept the correct datasets (PR #408 by Pierre Guetschel)
Fix dataset_list construction, which could be empty due to bad import order (PR #449 by Thomas Moreau).
Fixing dataset downloader from servers with non-http (PR #433 by Sara Sedlar)
Fix dataset_list to include deprecated datasets (PR #464 by Bruno Aristimunha)
Fixed bug in moabb.analysis.results.get_string_rep() to handle addresses such as 0x__0A as well (PR #468 by Anton Andreev
_)
Moving the moabb.evualation.grid_search() to inside the base evaluation (#487 by Bruno Aristimunha)
Removing joblib Parallel (#488 by Igor Carrara)
Fix case when events specified via raw.annotations but no events (#491 by Pierre Guetschel)
Fix bug in downloading Shin2017A dataset (#493 by Igor Carrara)
Fix the cropped option in the dataset preprocessing (#502 by Bruno Aristimunha)
This is the latest stable version of MOABB, 0.4.6, that is available on PyPi. See What's new section of the documentation for more information.
Full Changelog: https://github.com/NeuroTechX/moabb/compare/v0.4.5...v0.5
This is the latest stable version of MOABB, 0.4.6, that is available on PyPi. See What's new section of the documentation for more information.
This is the new stable version of MOABB, 0.4.5, that is available on PyPi. See What's new section of the documentation for more information.
We've added poetry
based dependency management, added style checks via pre-commit
also tested against all versions of Python starting from 3.6
.
Now moabb
could be installed like any other package via pip install moabb
Checkout https://pypi.org/project/moabb/
Updated code after adding P300, SSVEP, and various fixes and improvements. There are likely to be necessary hotfixes but since the userbase is rather small I'm releasing anyway
This describes the state of the code for the arXiv preprint at https://arxiv.org/abs/1805.06427, including the implemented TRCSP within moabb.pipelines.csp