Braindecode 1.5.0.dev176208946__tar.gz → 1.5.0.dev179040812__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {braindecode-1.5.0.dev176208946/braindecode.egg-info → braindecode-1.5.0.dev179040812}/PKG-INFO +1 -1
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/__init__.py +2 -10
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/attentionbasenet.py +2 -3
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/biot.py +1 -61
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/config.py +4 -5
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/labram.py +266 -208
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/reve.py +1 -1
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/signal_jepa.py +38 -463
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/summary.csv +0 -4
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/syncnet.py +13 -17
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/tsinception.py +1 -1
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/util.py +19 -91
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/modules/__init__.py +0 -2
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/modules/attention.py +16 -45
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/preprocessing/eegprep_preprocess.py +6 -51
- braindecode-1.5.0.dev179040812/braindecode/version.py +1 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812/braindecode.egg-info}/PKG-INFO +1 -1
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode.egg-info/SOURCES.txt +0 -3
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/api.rst +0 -8
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/whats_new.rst +1 -59
- braindecode-1.5.0.dev176208946/braindecode/models/codebrain.py +0 -977
- braindecode-1.5.0.dev176208946/braindecode/models/interpolated.py +0 -182
- braindecode-1.5.0.dev176208946/braindecode/modules/interpolation.py +0 -201
- braindecode-1.5.0.dev176208946/braindecode/version.py +0 -1
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/LICENSE.txt +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/MANIFEST.in +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/NOTICE.txt +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/README.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/__init__.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/augmentation/__init__.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/augmentation/base.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/augmentation/functional.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/augmentation/transforms.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/classifier.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/__init__.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/base.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/bbci.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/bcicomp.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/bids/__init__.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/bids/datasets.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/bids/format.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/bids/hub.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/bids/hub_format.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/bids/hub_io.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/bids/hub_validation.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/bids/iterable.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/chb_mit.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/mne.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/moabb.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/nmt.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/registry.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/siena.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/sleep_physio_challe_18.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/sleep_physionet.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/tuh.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/utils.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datasets/xy.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datautil/__init__.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datautil/channel_utils.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datautil/hub_formats.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datautil/serialization.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/datautil/util.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/eegneuralnet.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/functional/__init__.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/functional/functions.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/functional/initialization.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/atcnet.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/attn_sleep.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/base.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/bendr.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/brainmodule.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/cbramod.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/contrawr.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/ctnet.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/deep4.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/deepsleepnet.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/dgcnn.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/eegconformer.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/eeginception_erp.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/eeginception_mi.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/eegitnet.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/eegminer.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/eegnet.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/eegnex.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/eegpt.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/eegsimpleconv.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/eegsym.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/eegtcnet.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/fbcnet.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/fblightconvnet.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/fbmsnet.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/hybrid.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/ifnet.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/luna.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/medformer.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/msvtnet.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/patchedtransformer.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/sccnet.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/shallow_fbcsp.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/sinc_shallow.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/sleep_stager_blanco_2020.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/sleep_stager_chambon_2018.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/sparcnet.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/sstdpn.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/tcn.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/tidnet.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/usleep.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/modules/activation.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/modules/blocks.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/modules/convolution.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/modules/filter.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/modules/layers.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/modules/linear.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/modules/parametrization.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/modules/stats.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/modules/util.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/modules/wrapper.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/preprocessing/__init__.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/preprocessing/mne_preprocess.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/preprocessing/preprocess.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/preprocessing/util.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/preprocessing/windowers.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/regressor.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/samplers/__init__.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/samplers/base.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/samplers/ssl.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/training/__init__.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/training/callbacks.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/training/losses.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/training/scoring.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/util.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/visualization/__init__.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/visualization/confusion_matrices.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/visualization/gradients.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode.egg-info/dependency_links.txt +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode.egg-info/requires.txt +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode.egg-info/top_level.txt +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/Makefile +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/_templates/autosummary/class.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/_templates/autosummary/class_in_subdir.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/_templates/autosummary/function.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/_templates/autosummary/function_in_subdir.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/cite.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/conf.py +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/help.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/index.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/install/install.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/install/install_pip.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/install/install_source.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/models/categorization/attention.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/models/categorization/channel.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/models/categorization/convolution.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/models/categorization/filterbank.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/models/categorization/gnn.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/models/categorization/interpretable.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/models/categorization/lbm.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/models/categorization/recurrent.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/models/categorization/spd.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/models/models.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/models/models_categorization.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/models/models_table.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/models/models_visualization.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/docs/sg_execution_times.rst +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/pyproject.toml +0 -0
- {braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/setup.cfg +0 -0
{braindecode-1.5.0.dev176208946/braindecode.egg-info → braindecode-1.5.0.dev179040812}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: braindecode
|
|
3
|
-
Version: 1.5.0.
|
|
3
|
+
Version: 1.5.0.dev179040812
|
|
4
4
|
Summary: Deep learning software to decode EEG, ECG or MEG signals
|
|
5
5
|
Author-email: Robin Tibor Schirrmeister <robintibor@gmail.com>, Bruno Aristimunha Pinto <b.aristimunha@gmail.com>, Alexandre Gramfort <agramfort@meta.com>
|
|
6
6
|
Maintainer-email: Alexandre Gramfort <agramfort@meta.com>, Bruno Aristimunha Pinto <b.aristimunha@gmail.com>, Robin Tibor Schirrmeister <robintibor@gmail.com>
|
{braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/__init__.py
RENAMED
|
@@ -5,10 +5,9 @@ from .attentionbasenet import AttentionBaseNet
|
|
|
5
5
|
from .attn_sleep import AttnSleep
|
|
6
6
|
from .base import EEGModuleMixin
|
|
7
7
|
from .bendr import BENDR
|
|
8
|
-
from .biot import BIOT
|
|
8
|
+
from .biot import BIOT
|
|
9
9
|
from .brainmodule import BrainModule
|
|
10
10
|
from .cbramod import CBraMod
|
|
11
|
-
from .codebrain import CodeBrain
|
|
12
11
|
from .contrawr import ContraWR
|
|
13
12
|
from .ctnet import CTNet
|
|
14
13
|
from .deep4 import Deep4Net
|
|
@@ -30,8 +29,7 @@ from .fblightconvnet import FBLightConvNet
|
|
|
30
29
|
from .fbmsnet import FBMSNet
|
|
31
30
|
from .hybrid import HybridNet
|
|
32
31
|
from .ifnet import IFNet
|
|
33
|
-
from .
|
|
34
|
-
from .labram import InterpolatedLaBraM, Labram
|
|
32
|
+
from .labram import Labram
|
|
35
33
|
from .luna import LUNA
|
|
36
34
|
from .medformer import MEDFormer
|
|
37
35
|
from .msvtnet import MSVTNet
|
|
@@ -40,7 +38,6 @@ from .reve import REVE
|
|
|
40
38
|
from .sccnet import SCCNet
|
|
41
39
|
from .shallow_fbcsp import ShallowFBCSPNet
|
|
42
40
|
from .signal_jepa import (
|
|
43
|
-
InterpolatedSignalJEPA,
|
|
44
41
|
SignalJEPA,
|
|
45
42
|
SignalJEPA_Contextual,
|
|
46
43
|
SignalJEPA_PostLocal,
|
|
@@ -75,7 +72,6 @@ __all__ = [
|
|
|
75
72
|
"BIOT",
|
|
76
73
|
"BENDR",
|
|
77
74
|
"CBraMod",
|
|
78
|
-
"CodeBrain",
|
|
79
75
|
"ContraWR",
|
|
80
76
|
"CTNet",
|
|
81
77
|
"Deep4Net",
|
|
@@ -99,10 +95,6 @@ __all__ = [
|
|
|
99
95
|
"FBMSNet",
|
|
100
96
|
"HybridNet",
|
|
101
97
|
"IFNet",
|
|
102
|
-
"InterpolatedBIOT",
|
|
103
|
-
"InterpolatedLaBraM",
|
|
104
|
-
"InterpolatedModel",
|
|
105
|
-
"InterpolatedSignalJEPA",
|
|
106
98
|
"Labram",
|
|
107
99
|
"LUNA",
|
|
108
100
|
"extract_channel_locations_from_chs_info",
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
# Authors: Sarthak Tayal <sarthaktayal2@gmail.com>
|
|
4
|
-
#
|
|
5
|
-
# License: BSD (3-clause)
|
|
6
3
|
import math
|
|
7
4
|
|
|
8
5
|
from einops.layers.torch import Rearrange
|
|
@@ -278,6 +275,8 @@ class AttentionBaseNet(EEGModuleMixin, nn.Module):
|
|
|
278
275
|
activation: type[nn.Module] = nn.ELU,
|
|
279
276
|
extra_params: bool = False,
|
|
280
277
|
):
|
|
278
|
+
super(AttentionBaseNet, self).__init__()
|
|
279
|
+
|
|
281
280
|
super().__init__(
|
|
282
281
|
n_outputs=n_outputs,
|
|
283
282
|
n_chans=n_chans,
|
{braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/biot.py
RENAMED
|
@@ -1,57 +1,12 @@
|
|
|
1
1
|
import math
|
|
2
2
|
from warnings import warn
|
|
3
3
|
|
|
4
|
-
import numpy as np
|
|
5
4
|
import torch
|
|
6
5
|
import torch.nn as nn
|
|
7
6
|
from linear_attention_transformer import LinearAttentionTransformer
|
|
8
7
|
|
|
9
8
|
from braindecode.models.base import EEGModuleMixin
|
|
10
9
|
|
|
11
|
-
# -----------------------------------------------------------------------------
|
|
12
|
-
# Canonical channel order for InterpolatedBIOT — the 18-channel TCP bipolar
|
|
13
|
-
# montage used by BIOT's shhs-prest and six-datasets pretrained checkpoints.
|
|
14
|
-
# Source: https://github.com/ycq091044/BIOT (README + datasets/TUAB/process.py
|
|
15
|
-
# + datasets/SHHS/process.py). Indices 0-15 are the TCP 16-channel bipolar
|
|
16
|
-
# derivations; indices 16-17 are SHHS differential channels.
|
|
17
|
-
#
|
|
18
|
-
# The `loc` values are only used to build an MNE interpolation matrix for
|
|
19
|
-
# InterpolatedBIOT. All entries are bipolar / differential derivations.
|
|
20
|
-
# TODO: positions are stored as the midpoint of the two constituent
|
|
21
|
-
# electrodes. This is a simplification — a bipolar signal V(A)-V(B) cannot
|
|
22
|
-
# be faithfully recovered by spatial interpolation at the midpoint. Revisit
|
|
23
|
-
# in a follow-up PR (e.g. a dedicated BipolarDerivationLayer).
|
|
24
|
-
# -----------------------------------------------------------------------------
|
|
25
|
-
|
|
26
|
-
# fmt: off
|
|
27
|
-
_BIOT_TARGET_CHS_TUPLES: list[tuple[str, tuple[float, float, float]]] = [
|
|
28
|
-
("FP1-F7", (-0.04984980, 0.06319570, -0.00920500)),
|
|
29
|
-
("F7-T7", (-0.07721200, 0.01322780, -0.01038300)),
|
|
30
|
-
("T7-P7", (-0.07829770, -0.04473570, -0.00591650)),
|
|
31
|
-
("P7-O1", (-0.05092385, -0.09295085, 0.00317600)),
|
|
32
|
-
("FP2-F8", (0.05145770, 0.06465880, -0.00954000)),
|
|
33
|
-
("F8-T8", (0.07906150, 0.01470070, -0.01074500)),
|
|
34
|
-
("T8-P8", (0.07906780, -0.04404430, -0.00601500)),
|
|
35
|
-
("P8-O2", (0.05144915, -0.09261215, 0.00313000)),
|
|
36
|
-
("FP1-F3", (-0.03984025, 0.06851415, 0.01760100)),
|
|
37
|
-
("F3-C3", (-0.05780095, 0.02073975, 0.05327500)),
|
|
38
|
-
("C3-P3", (-0.05918270, -0.04520975, 0.06014900)),
|
|
39
|
-
("P3-O1", (-0.04121035, -0.09561840, 0.03238950)),
|
|
40
|
-
("FP2-F4", (0.04085425, 0.06960035, 0.01686700)),
|
|
41
|
-
("F4-C4", (0.05947705, 0.02170225, 0.05219700)),
|
|
42
|
-
("C4-P4", (0.06139230, -0.04473025, 0.06007050)),
|
|
43
|
-
("P4-O2", (0.04275465, -0.09535810, 0.03268050)),
|
|
44
|
-
("C3-A2", (0.01021790, -0.01832050, -0.00183650)),
|
|
45
|
-
("C4-A1", (-0.00947910, -0.01794500, -0.00220300)),
|
|
46
|
-
]
|
|
47
|
-
# fmt: on
|
|
48
|
-
|
|
49
|
-
_BIOT_TARGET_CHS_INFO = [
|
|
50
|
-
{"ch_name": ch, "kind": "eeg", "loc": np.asarray(loc, dtype=float)}
|
|
51
|
-
for ch, loc in _BIOT_TARGET_CHS_TUPLES
|
|
52
|
-
]
|
|
53
|
-
BIOT_CHANNEL_ORDER = [ch for ch, _ in _BIOT_TARGET_CHS_TUPLES]
|
|
54
|
-
|
|
55
10
|
|
|
56
11
|
class BIOT(EEGModuleMixin, nn.Module):
|
|
57
12
|
r"""BIOT from Yang et al (2023) [Yang2023]_
|
|
@@ -484,9 +439,7 @@ class _BIOTEncoder(nn.Module):
|
|
|
484
439
|
self.channel_tokens = nn.Embedding(
|
|
485
440
|
num_embeddings=n_chans, embedding_dim=emb_size
|
|
486
441
|
)
|
|
487
|
-
self.
|
|
488
|
-
"index", torch.arange(n_chans, dtype=torch.long), persistent=False
|
|
489
|
-
)
|
|
442
|
+
self.index = nn.Parameter(torch.LongTensor(range(n_chans)), requires_grad=False)
|
|
490
443
|
|
|
491
444
|
def stft(self, sample):
|
|
492
445
|
"""
|
|
@@ -600,16 +553,3 @@ class _BIOTEncoder(nn.Module):
|
|
|
600
553
|
# (batch_size, emb)
|
|
601
554
|
emb = self.transformer(emb).mean(dim=1)
|
|
602
555
|
return emb
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
# -----------------------------------------------------------------------------
|
|
606
|
-
# InterpolatedBIOT — experimental channel-interpolation variant of BIOT
|
|
607
|
-
# -----------------------------------------------------------------------------
|
|
608
|
-
# Wraps :class:`BIOT` with an MNE-backed channel-interpolation layer that
|
|
609
|
-
# projects arbitrary user ``chs_info`` to the canonical 18-channel BIOT
|
|
610
|
-
# montage (:data:`_BIOT_TARGET_CHS_INFO`). Frozen by default; set
|
|
611
|
-
# ``trainable=True`` to fine-tune the projection matrix.
|
|
612
|
-
|
|
613
|
-
from braindecode.models.interpolated import InterpolatedModel # noqa: E402
|
|
614
|
-
|
|
615
|
-
InterpolatedBIOT = InterpolatedModel(BIOT, _BIOT_TARGET_CHS_INFO)
|
{braindecode-1.5.0.dev176208946 → braindecode-1.5.0.dev179040812}/braindecode/models/config.py
RENAMED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
# Authors: Sarthak Tayal <sarthaktayal2@gmail.com>
|
|
2
1
|
from collections.abc import Callable
|
|
3
2
|
from inspect import signature
|
|
4
3
|
from types import UnionType
|
|
@@ -18,10 +17,10 @@ from braindecode.models.util import (
|
|
|
18
17
|
|
|
19
18
|
try:
|
|
20
19
|
from numpydantic import NDArray, Shape
|
|
21
|
-
|
|
22
|
-
_loc_type = NDArray[Shape["12"], np.float64]
|
|
23
20
|
except ImportError:
|
|
24
|
-
|
|
21
|
+
# we can't use soft import for numpydantic because numpydantic does not define its version in __init__
|
|
22
|
+
NDArray = Any # type: ignore
|
|
23
|
+
Shape = Any # type: ignore
|
|
25
24
|
|
|
26
25
|
|
|
27
26
|
class ChsInfoType(TypedDict, total=False, closed=True): # type: ignore[call-arg]
|
|
@@ -30,7 +29,7 @@ class ChsInfoType(TypedDict, total=False, closed=True): # type: ignore[call-arg
|
|
|
30
29
|
coil_type: int
|
|
31
30
|
coord_frame: int
|
|
32
31
|
kind: str
|
|
33
|
-
loc:
|
|
32
|
+
loc: NDArray[Shape["12"], np.float64] # type: ignore[misc]
|
|
34
33
|
logno: int
|
|
35
34
|
range: float
|
|
36
35
|
scanno: int
|