Skip to content

Commit

Permalink
V1.1.0 (#608)
Browse files Browse the repository at this point in the history
* MNT changing the version

* MNT changing the version

* MNT changing the version in the citation

* MNT removing the changelog

* MNT changing the whats_new file

* MNT updating citation

* Fix including version notation

* Including none into whats_new.rst

* Increase version

* Increase version

* Adding kobler

* Updating the whats_new file

* Update moabb/datasets/alphawaves.py

* Update CITATION.cff

* fix: change to 1.0.1

* fix: add versionadded in doc string

* fix: revert to 1.1.0

* Update README.md

Co-authored-by: PierreGtch <[email protected]>

---------

Co-authored-by: Sylvain Chevallier <[email protected]>
Co-authored-by: PierreGtch <[email protected]>
  • Loading branch information
3 people authored Jun 5, 2024
1 parent 2d82da0 commit 07d3830
Show file tree
Hide file tree
Showing 14 changed files with 102 additions and 34 deletions.
1 change: 0 additions & 1 deletion CHANGELOG.md

This file was deleted.

7 changes: 5 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ authors:
- family-names: "Schirrmeister"
given-names: "Robin Tibor"
orcid: "https://orcid.org/0000-0002-5518-7445"
- family-names: "Kobler"
given-names: "Reinmar"
orcid: "https://orcid.org/0000-0003-4007-279X"
- family-names: "Kalunga"
given-names: "Emmanuel"
orcid: "https://orcid.org/0000-0001-7522-5253"
Expand Down Expand Up @@ -67,7 +70,7 @@ authors:
given-names: "Sylvain"
orcid: "https://orcid.org/0000-0003-3027-8241"
title: "Mother of all BCI Benchmarks"
version: 1.0.0
version: 1.1.0
doi: 10.5281/zenodo.10034223
date-released: 2023-10-12
date-released: 2024-05-30
url: "https://github.com/NeuroTechX/moabb"
27 changes: 14 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -290,20 +290,21 @@ analyze(results)
If you use MOABB in your experiments, please cite this library when
publishing a paper to increase the visibility of open science initiatives:

> Aristimunha, B., Carrara, I., Guetschel, P., Sedlar, S., Rodrigues, P., Sosulski, J., Narayanan, D., Bjareholt, E., Quentin, B., Schirrmeister, R. T.,Kalunga, E., Darmet, L., Gregoire, C., Abdul Hussain, A., Gatti, R., Goncharenko, V., Thielen, J., Moreau, T., Roy, Y., Jayaram, V., Barachant,A., & Chevallier, S.
> Mother of all BCI Benchmarks (MOABB), 2023. DOI: 10.5281/zenodo.10034223.
```
Aristimunha, B., Carrara, I., Guetschel, P., Sedlar, S., Rodrigues, P., Sosulski, J., Narayanan, D., Bjareholt, E., Quentin, B., Schirrmeister, R. T.,Kalunga, E., Darmet, L., Gregoire, C., Abdul Hussain, A., Gatti, R., Goncharenko, V., Thielen, J., Moreau, T., Roy, Y., Jayaram, V., Barachant,A., & Chevallier, S.
Mother of all BCI Benchmarks (MOABB), 2023. DOI: 10.5281/zenodo.10034223.
```
and here is the Bibtex version:

> @software{Aristimunha_Mother_of_all_2023,
> author = {Aristimunha, Bruno and Carrara, Igor and Guetschel, Pierre and Sedlar, Sara and Rodrigues, Pedro and Sosulski, Jan and Narayanan, Divyesh and Bjareholt, Erik and Quentin, Barthelemy and Schirrmeister, Robin Tibor and Kalunga, Emmanuel and Darmet, Ludovic and Gregoire, Cattan and Abdul Hussain, Ali and Gatti, Ramiro and Goncharenko, Vladislav and Thielen, Jordy and Moreau, Thomas and Roy, Yannick and Jayaram, Vinay and Barachant, Alexandre and Chevallier, Sylvain},
> doi = {10.5281/zenodo.10034223},
> title = {{Mother of all BCI Benchmarks}},
> url = {https://github.com/NeuroTechX/moabb},
> version = {1.0.0},
> year = {2023}
> }
```bibtex
@software{Aristimunha_Mother_of_all_2023,
author = {Aristimunha, Bruno and Carrara, Igor and Guetschel, Pierre and Sedlar, Sara and Rodrigues, Pedro and Sosulski, Jan and Narayanan, Divyesh and Bjareholt, Erik and Quentin, Barthelemy and Schirrmeister, Robin Tibor and Kalunga, Emmanuel and Darmet, Ludovic and Gregoire, Cattan and Abdul Hussain, Ali and Gatti, Ramiro and Goncharenko, Vladislav and Thielen, Jordy and Moreau, Thomas and Roy, Yannick and Jayaram, Vinay and Barachant, Alexandre and Chevallier, Sylvain},
doi = {10.5281/zenodo.10034223},
title = {{Mother of all BCI Benchmarks}},
url = {https://github.com/NeuroTechX/moabb},
version = {1.1.0},
year = {2023}
}
```
If you want to cite the scientific contributions of MOABB, you could use the following paper:

> Sylvain Chevallier, Igor Carrara, Bruno Aristimunha, Pierre Guetschel, Sara Sedlar, Bruna Junqueira Lopes, Sébastien Velut, Salim Khazem, Thomas Moreau
Expand Down
30 changes: 23 additions & 7 deletions docs/source/whats_new.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,29 @@ Develop branch

Enhancements
~~~~~~~~~~~~
- None

Bugs
~~~~
- None

API changes
~~~~~~~~~~~
- None

- Adding cache option to the evaluation (:gh:`517` by `Bruno Aristimunha`_)
Version - 1.1.0 (Stable - PyPi)
---------------------------------


Enhancements
~~~~~~~~~~~~

- Add cache option to the evaluation (:gh:`518` by `Bruno Aristimunha`_)
- Option to interpolate channel in paradigms' `match_all` method (:gh:`480` by `Gregoire Cattan`_)
- Adding leave k-Subjects out evaluations (:gh:`470` by `Bruno Aristimunha`_)
- Add leave k-Subjects out evaluations (:gh:`470` by `Bruno Aristimunha`_)
- Update Braindecode dependency to 0.8 (:gh:`542` by `Pierre Guetschel`_)
- Improve transform function of AugmentedDataset (:gh:`541` by `Quentin Barthelemy`_)
- Adding new paper results website (:gh:`556` by `Bruno Aristimunha`_)
- Add new paper results website (:gh:`556` by `Bruno Aristimunha`_)
- Move cVEP common functions to :mod:`moabb.datasets.utils` (:gh:`564` :gh:`557` by `Pierre Guetschel`_)
- Normalize c-VEP description tables (:gh:`562` :gh:`566` by `Pierre Guetschel`_ and `Bruno Aristimunha`_)
- Update citation in README (:gh:`573` by `Igor Carrara`_)
Expand All @@ -33,9 +49,9 @@ Enhancements
- Updating the braindecode pipelines for the new braindecode version 0.8.1 (:gh:`589` by `Bruno Aristimunha`_)
- Add SSVEP and ERP paradigms to DL pipelines (:gh:`590` by `Pierre Guetschel`_)
- Allow to pass a single pipeline file to ``benchmark`` (:gh:`591` by `Pierre Guetschel`_)
- Adding new dataset :class:`moabb.datasets.Stieger2021` (:gh:`604` by `Reinmar Kobler`_ and `Bruno Aristimunha`_)
- Add new dataset :class:`moabb.datasets.Stieger2021` (:gh:`604` by `Reinmar Kobler`_ and `Bruno Aristimunha`_)
- Exposing the `drop_rate` for all the deep learning parameters (:gh:`592` by `Bruno Aristimunha`_)
- Add Alphawes dataset (:gh:`602` by `Gregoire Cattan`_ and `Pedro L. C. Rodrigues`_)
- Add new dataset :class:`moabb.datasets.Rodrigues2017` dataset (:gh:`602` by `Gregoire Cattan`_ and `Pedro L. C. Rodrigues`_)

Bugs
~~~~
Expand All @@ -61,8 +77,8 @@ API changes
- None


Version - 1.0.0 (Stable - PyPi)
---------------------------------
Version - 1.0.0
----------------

Enhancements
~~~~~~~~~~~~
Expand Down
2 changes: 1 addition & 1 deletion moabb/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# flake8: noqa
__version__ = "1.0.0"
__version__ = "1.1.0"

from .benchmark import benchmark
from .utils import make_process_pipelines, set_download_dir, set_log_level, setup_seed
2 changes: 1 addition & 1 deletion moabb/datasets/alphawaves.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ class Rodrigues2017(BaseDataset):
Notes
-----
.. versionadded:: 1.0.1
.. versionadded:: 1.1.0
"""

Expand Down
4 changes: 4 additions & 0 deletions moabb/datasets/stieger2021.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,10 @@ class Stieger2021(BaseDataset):
Continuous sensorimotor rhythm based brain computer interface
learning in a large population. Scientific Data, 8(1), 98.
https://doi.org/10.1038/s41597-021-00883-1
Notes
-----
.. versionadded:: 1.1.0
"""

def __init__(self, interval=[0, 3], sessions=None):
Expand Down
8 changes: 8 additions & 0 deletions moabb/datasets/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,10 @@ def add_stim_channel_trial(raw, onsets, labels, offset=200, ch_name="stim_trial"
-------
mne.Raw
The raw object with the added stimulus channel.
Notes
-----
.. versionadded:: 1.1.0
"""
stim_chan = np.zeros((1, len(raw)))
for onset, label in zip(onsets, labels):
Expand Down Expand Up @@ -244,6 +248,10 @@ def add_stim_channel_epoch(
-------
mne.Raw
The raw object with the added stimulus channel.
Notes
-----
.. versionadded:: 1.1.0
"""
if presentation_rate is None:
presentation_rate = raw.info["sfreq"]
Expand Down
12 changes: 12 additions & 0 deletions moabb/evaluations/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,18 @@ class BaseEvaluation(ABC):
use MNE raw to train pipelines.
mne_labels: bool, default=False
if returning MNE epoch, use original dataset label if True
n_splits: int, default=None
Number of splits for cross-validation. If None, the number of splits
is equal to the number of subjects.
save_model: bool, default=False
Save model after training, for each fold of cross-validation if needed
cache_config: bool, default=None
Configuration for caching of datasets. See :class:`moabb.datasets.base.CacheConfig` for details.
Notes
-----
.. versionadded:: 1.1.0
n_splits, save_model, cache_config parameters.
"""

def __init__(
Expand Down
18 changes: 18 additions & 0 deletions moabb/evaluations/evaluations.py
Original file line number Diff line number Diff line change
Expand Up @@ -467,6 +467,15 @@ class CrossSessionEvaluation(BaseEvaluation):
use MNE raw to train pipelines.
mne_labels: bool, default=False
if returning MNE epoch, use original dataset label if True
save_model: bool, default=False
Save model after training, for each fold of cross-validation if needed
cache_config: bool, default=None
Configuration for caching of datasets. See :class:`moabb.datasets.base.CacheConfig` for details.
Notes
-----
.. versionadded:: 1.1.0
Add save_model and cache_config parameters.
"""

# flake8: noqa: C901
Expand Down Expand Up @@ -631,9 +640,18 @@ class CrossSubjectEvaluation(BaseEvaluation):
use MNE raw to train pipelines.
mne_labels: bool, default=False
if returning MNE epoch, use original dataset label if True
save_model: bool, default=False
Save model after training, for each fold of cross-validation if needed
cache_config: bool, default=None
Configuration for caching of datasets. See :class:`moabb.datasets.base.CacheConfig` for details.
n_splits: int, default=None
Number of splits for cross-validation. If None, the number of splits
is equal to the number of subjects.
Notes
-----
.. versionadded:: 1.1.0
Add save_model, cache_config and n_splits parameters
"""

# flake8: noqa: C901
Expand Down
2 changes: 1 addition & 1 deletion moabb/evaluations/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ def _check_if_is_keras_steps(model):


def save_model_cv(model: object, save_path: str | Path, cv_index: str | int):
"""Save a model fitted to a folder.
"""Save a model fitted to a given fold from cross-validation.
Parameters
----------
Expand Down
9 changes: 2 additions & 7 deletions moabb/paradigms/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,35 +35,30 @@ class BaseProcessing(metaclass=abc.ABCMeta):
Parameters
----------
filters: list of list (defaults [[7, 35]])
bank of bandpass filter to apply.
tmin: float (default 0.0)
Start time (in second) of the epoch, relative to the dataset specific
task interval e.g. tmin = 1 would mean the epoch will start 1 second
after the beginning of the task as defined by the dataset.
tmax: float | None, (default None)
End time (in second) of the epoch, relative to the beginning of the
dataset specific task interval. tmax = 5 would mean the epoch will end
5 second after the beginning of the task as defined in the dataset. If
None, use the dataset value.
baseline: None | tuple of length 2
The time interval to consider as “baseline” when applying baseline
correction. If None, do not apply baseline correction.
If a tuple (a, b), the interval is between a and b (in seconds),
including the endpoints.
Correction is applied by computing the mean of the baseline period
and subtracting it from the data (see mne.Epochs)
channels: list of str | None (default None)
list of channel to select. If None, use all EEG channels available in
the dataset.
resample: float | None (default None)
If not None, resample the eeg data with the sampling rate provided."""
If not None, resample the eeg data with the sampling rate provided.
"""

def __init__(
self,
Expand Down
12 changes: 12 additions & 0 deletions moabb/paradigms/cvep.py
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,12 @@ class CVEP(BaseCVEP):
resample: float | None (default None)
If not None, resample the eeg data with the sampling rate provided.
Notes
-----
.. versionadded:: 1.0.0
"""

def __init__(self, fmin=1.0, fmax=45.0, **kwargs):
Expand Down Expand Up @@ -264,6 +270,12 @@ class FilterBankCVEP(BaseCVEP):
the dataset.
resample: float | None (default None)
If not None, resample the eeg data with the sampling rate provided.
Notes
-----
.. versionadded:: 1.0.0
"""

def __init__(self, filters=((1.0, 45.0), (12.0, 45.0), (30.0, 45.0)), **kwargs):
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "moabb"
version = "1.0.0"
version = "1.1.0"
description = "Mother of All BCI Benchmarks"
authors = ["Alexandre Barachant", "Vinay Jayaram"]
maintainers = ["Sylvain Chevallier <[email protected]>"]
Expand Down

0 comments on commit 07d3830

Please sign in to comment.