Braindecode 1.5.0__tar.gz → 1.5.0.dev902__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 → braindecode-1.5.0.dev902}/NOTICE.txt +0 -5
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/PKG-INFO +2 -6
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/base.py +1 -119
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/sleep_physionet.py +1 -15
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/__init__.py +3 -16
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/base.py +4 -16
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/bendr.py +28 -92
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/biot.py +1 -61
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/config.py +4 -5
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/labram.py +266 -208
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/reve.py +1 -1
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/signal_jepa.py +38 -463
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/summary.csv +0 -7
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/util.py +20 -151
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/modules/__init__.py +0 -2
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/preprocessing/eegprep_preprocess.py +6 -51
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/preprocessing/preprocess.py +17 -38
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/preprocessing/windowers.py +4 -13
- braindecode-1.5.0.dev902/braindecode/version.py +1 -0
- braindecode-1.5.0.dev902/braindecode/visualization/__init__.py +8 -0
- braindecode-1.5.0.dev902/braindecode/visualization/gradients.py +62 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode.egg-info/PKG-INFO +2 -6
- braindecode-1.5.0.dev902/braindecode.egg-info/SOURCES.txt +160 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode.egg-info/requires.txt +1 -6
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/api.rst +4 -106
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/cite.rst +2 -2
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/conf.py +2 -34
- braindecode-1.5.0.dev902/docs/index.rst +48 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/whats_new.rst +11 -146
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/pyproject.toml +1 -4
- braindecode-1.5.0/.circleci/artifact_path +0 -1
- braindecode-1.5.0/.circleci/config.yml +0 -56
- braindecode-1.5.0/.codacy.yaml +0 -26
- braindecode-1.5.0/.github/scripts/convert_to_notebook.py +0 -88
- braindecode-1.5.0/.github/workflows/docs.yml +0 -99
- braindecode-1.5.0/.github/workflows/link-check.yml +0 -93
- braindecode-1.5.0/.github/workflows/link-to-doc.yaml +0 -14
- braindecode-1.5.0/.github/workflows/pre-commit.yaml +0 -14
- braindecode-1.5.0/.github/workflows/push-artifact-to-circleci.yml +0 -52
- braindecode-1.5.0/.github/workflows/release.yml +0 -74
- braindecode-1.5.0/.github/workflows/tests.yml +0 -66
- braindecode-1.5.0/.github/workflows/whats-new.yml +0 -16
- braindecode-1.5.0/.gitignore +0 -74
- braindecode-1.5.0/.pre-commit-config.yaml +0 -146
- braindecode-1.5.0/CITATION.cff +0 -97
- braindecode-1.5.0/CONTRIBUTING.md +0 -480
- braindecode-1.5.0/bandit.yml +0 -1
- braindecode-1.5.0/braindecode/models/codebrain.py +0 -977
- braindecode-1.5.0/braindecode/models/emg2qwerty.py +0 -714
- braindecode-1.5.0/braindecode/models/interpolated.py +0 -182
- braindecode-1.5.0/braindecode/models/meta_neuromotor.py +0 -1774
- braindecode-1.5.0/braindecode/modules/interpolation.py +0 -201
- braindecode-1.5.0/braindecode/version.py +0 -1
- braindecode-1.5.0/braindecode/visualization/__init__.py +0 -45
- braindecode-1.5.0/braindecode/visualization/attribution.py +0 -152
- braindecode-1.5.0/braindecode/visualization/frequency.py +0 -89
- braindecode-1.5.0/braindecode/visualization/metrics.py +0 -414
- braindecode-1.5.0/braindecode/visualization/sanity.py +0 -117
- braindecode-1.5.0/braindecode/visualization/topology.py +0 -64
- braindecode-1.5.0/braindecode.egg-info/SOURCES.txt +0 -767
- braindecode-1.5.0/codecov.yml +0 -14
- braindecode-1.5.0/docs/_build/html/_downloads/090305d06248840b75133975e5121f41/plot_sleep_staging_chambon2018.ipynb +0 -302
- braindecode-1.5.0/docs/_build/html/_downloads/0ada35f18bb95235ba2842270483081f/plot_finetune_foundation_model.ipynb +0 -219
- braindecode-1.5.0/docs/_build/html/_downloads/0f2bf063e08b7d05b80e0004fcbbb6f9/benchmark_lazy_eager_loading.ipynb +0 -183
- braindecode-1.5.0/docs/_build/html/_downloads/137d0b161de96c88644fd65258fc20b5/tutorial_create_fixed_window_length.ipynb +0 -190
- braindecode-1.5.0/docs/_build/html/_downloads/1c6590d134fa0befda654e89aa55b2ac/plot_benchmark_preprocessing.ipynb +0 -104
- braindecode-1.5.0/docs/_build/html/_downloads/1d879df548fa18be8c23d9ca0dc008d4/plot_data_augmentation.ipynb +0 -259
- braindecode-1.5.0/docs/_build/html/_downloads/2466f8ec5c733d0bd65e187b45d875cc/plot_data_augmentation_search.ipynb +0 -302
- braindecode-1.5.0/docs/_build/html/_downloads/263464a28477cf8decb861ae6e2e9be7/plot_how_train_test_and_tune.ipynb +0 -375
- braindecode-1.5.0/docs/_build/html/_downloads/3862cafd7f0d815e434319ffe525afc8/plot_bcic_iv_2a_moabb_cropped.ipynb +0 -244
- braindecode-1.5.0/docs/_build/html/_downloads/408ca4ffd0ea1f76faa9ef602734ac94/plot_tuh_eeg_corpus.ipynb +0 -187
- braindecode-1.5.0/docs/_build/html/_downloads/64c99f99abefd72dcd2a3f5e7ddebfce/plot_channel_interpolation.ipynb +0 -222
- braindecode-1.5.0/docs/_build/html/_downloads/66ea18b3b9cf0802bbd32bb903ab554e/plot_temporal_generalization.ipynb +0 -226
- braindecode-1.5.0/docs/_build/html/_downloads/71f6b29d340c0ff57ee55b0da637518b/plot_interpretability.ipynb +0 -266
- braindecode-1.5.0/docs/_build/html/_downloads/75a73c7d94f3a671fd3dec28f4031ead/plot_regression.ipynb +0 -212
- braindecode-1.5.0/docs/_build/html/_downloads/84fbcd59a346e5e56758285122dc69e2/plot_sleep_staging_eldele2021.ipynb +0 -302
- braindecode-1.5.0/docs/_build/html/_downloads/8616a7f968141825e56ab3e3d59be449/plot_tuh_discrete_multitarget.ipynb +0 -169
- braindecode-1.5.0/docs/_build/html/_downloads/8b5ba06718764b959e8dea1dd0bb97df/plot_sleep_staging_usleep.ipynb +0 -266
- braindecode-1.5.0/docs/_build/html/_downloads/91651c9d4fde110b4a53f5775a91acc5/plot_mne_dataset_example.ipynb +0 -104
- braindecode-1.5.0/docs/_build/html/_downloads/93fdea8cbadaf0e3afa2eb2be3ebc483/bcic_iv_4_ecog_trial.ipynb +0 -376
- braindecode-1.5.0/docs/_build/html/_downloads/9a4447462c3b255ba7e5ca212bbadd52/plot_bcic_iv_2a_moabb_trial.ipynb +0 -282
- braindecode-1.5.0/docs/_build/html/_downloads/9ecad1eb1db853df0ba20dbb97303c02/plot_exca_config.ipynb +0 -439
- braindecode-1.5.0/docs/_build/html/_downloads/a2f12129facb042643a99d4b9de1886d/bcic_iv_4_ecog_cropped.ipynb +0 -363
- braindecode-1.5.0/docs/_build/html/_downloads/a39e4245738e55e0eb7084c545ed05bc/plot_hyperparameter_tuning_with_scikit-learn.ipynb +0 -257
- braindecode-1.5.0/docs/_build/html/_downloads/a6249715d3c30cb41c4af85938cca008/plot_moabb_dataset_example.ipynb +0 -140
- braindecode-1.5.0/docs/_build/html/_downloads/a868f9d41de95f5f6defc26e291cf4aa/plot_preprocessing_classes.ipynb +0 -194
- braindecode-1.5.0/docs/_build/html/_downloads/a86d0c5f3a882a069df1683a708d3e25/plot_train_in_pure_pytorch_and_pytorch_lightning.ipynb +0 -250
- braindecode-1.5.0/docs/_build/html/_downloads/aa8426d97090e7b3062c4e4732c3214a/plot_relative_positioning.ipynb +0 -266
- braindecode-1.5.0/docs/_build/html/_downloads/b7179beb2f9c065d6149a3b430876706/bids_dataset_example.ipynb +0 -97
- braindecode-1.5.0/docs/_build/html/_downloads/b9d19304ecd233ea7a79d4365316ea49/plot_load_save_datasets.ipynb +0 -176
- braindecode-1.5.0/docs/_build/html/_downloads/cb62940d13f700ed2b9e813705e9d437/plot_moabb_benchmark.ipynb +0 -122
- braindecode-1.5.0/docs/_build/html/_downloads/cd24c95e5e6c988ebb6ece50ac672ab5/plot_bcic_iv_2a_eegprep_cleaning.ipynb +0 -271
- braindecode-1.5.0/docs/_build/html/_downloads/f158ead3e4720f6f4685ff1d3f48dc15/plot_hub_integration.ipynb +0 -201
- braindecode-1.5.0/docs/_build/html/_downloads/f3c89d39e947a121c7920b4d415413a2/plot_split_dataset.ipynb +0 -180
- braindecode-1.5.0/docs/_build/html/_downloads/f7b38cac92c078838442753121efc297/plot_custom_dataset_example.ipynb +0 -140
- braindecode-1.5.0/docs/_build/html/_downloads/fa7c2c982eb044a92a764e44b7365fd6/plot_load_pretrained_models.ipynb +0 -222
- braindecode-1.5.0/docs/_build/html/_downloads/fff46913db5173d3ae22c1113acffb45/plot_basic_training_epochs.ipynb +0 -237
- braindecode-1.5.0/docs/_extra/robots.txt +0 -6
- braindecode-1.5.0/docs/_static/brain_only.png +0 -0
- braindecode-1.5.0/docs/_static/braindecode.png +0 -0
- braindecode-1.5.0/docs/_static/braindecode.svg +0 -1289
- braindecode-1.5.0/docs/_static/braindecode_install.png +0 -0
- braindecode-1.5.0/docs/_static/braindecode_long.png +0 -0
- braindecode-1.5.0/docs/_static/braindecode_long.svg +0 -1289
- braindecode-1.5.0/docs/_static/braindecode_small.svg +0 -1303
- braindecode-1.5.0/docs/_static/braindecode_symbol.png +0 -0
- braindecode-1.5.0/docs/_static/cropped_explanation.png +0 -0
- braindecode-1.5.0/docs/_static/hf-logo-with-title.png +0 -0
- braindecode-1.5.0/docs/_static/institution_logos/donders.png +0 -0
- braindecode-1.5.0/docs/_static/institution_logos/donders.svg +0 -98
- braindecode-1.5.0/docs/_static/institution_logos/inria.png +0 -0
- braindecode-1.5.0/docs/_static/institution_logos/ucsd.png +0 -0
- braindecode-1.5.0/docs/_static/institution_logos/unifreiburg.png +0 -0
- braindecode-1.5.0/docs/_static/landing.css +0 -2164
- braindecode-1.5.0/docs/_static/landing.js +0 -276
- braindecode-1.5.0/docs/_static/model/DGCNN.gif +0 -0
- braindecode-1.5.0/docs/_static/model/SleepStagerChambon2018.jpg +0 -0
- braindecode-1.5.0/docs/_static/model/SyncNet.png +0 -0
- braindecode-1.5.0/docs/_static/model/biot.jpg +0 -0
- braindecode-1.5.0/docs/_static/model/criss-cross-attention.png +0 -0
- braindecode-1.5.0/docs/_static/model/eeginceptionerp.jpg +0 -0
- braindecode-1.5.0/docs/_static/model/eegitnet.jpg +0 -0
- braindecode-1.5.0/docs/_static/model/eegnex.jpg +0 -0
- braindecode-1.5.0/docs/_static/model/eegsym.png +0 -0
- braindecode-1.5.0/docs/_static/model/eegtcnet.jpg +0 -0
- braindecode-1.5.0/docs/_static/model/simpleconv.png +0 -0
- braindecode-1.5.0/docs/_static/model/sjepa_contextual.jpg +0 -0
- braindecode-1.5.0/docs/_static/model/sjepa_post-local.jpg +0 -0
- braindecode-1.5.0/docs/_static/model/sjepa_pre-local.jpg +0 -0
- braindecode-1.5.0/docs/_static/model_cat/attention.png +0 -0
- braindecode-1.5.0/docs/_static/model_cat/channel.png +0 -0
- braindecode-1.5.0/docs/_static/model_cat/convolution.png +0 -0
- braindecode-1.5.0/docs/_static/model_cat/filterbank.png +0 -0
- braindecode-1.5.0/docs/_static/model_cat/gnn.png +0 -0
- braindecode-1.5.0/docs/_static/model_cat/interpre.png +0 -0
- braindecode-1.5.0/docs/_static/model_cat/lbm.png +0 -0
- braindecode-1.5.0/docs/_static/model_cat/rnn.png +0 -0
- braindecode-1.5.0/docs/_static/model_cat/spd.png +0 -0
- braindecode-1.5.0/docs/_static/model_connection/litmap_attention.png +0 -0
- braindecode-1.5.0/docs/_static/model_connection/litmap_braindecode.png +0 -0
- braindecode-1.5.0/docs/_static/model_connection/litmap_channel.png +0 -0
- braindecode-1.5.0/docs/_static/model_connection/litmap_convolution.png +0 -0
- braindecode-1.5.0/docs/_static/model_connection/litmap_filterbank.png +0 -0
- braindecode-1.5.0/docs/_static/model_connection/litmap_interpretable.png +0 -0
- braindecode-1.5.0/docs/_static/model_connection/litmap_lbm.png +0 -0
- braindecode-1.5.0/docs/_static/model_connection/litmap_recurrent.png +0 -0
- braindecode-1.5.0/docs/_static/model_connection/litmap_spd_learn.png +0 -0
- braindecode-1.5.0/docs/_static/preprocess/downsample.png +0 -0
- braindecode-1.5.0/docs/_static/preprocess/highpass.png +0 -0
- braindecode-1.5.0/docs/_static/preprocess/sph_spline_interp.png +0 -0
- braindecode-1.5.0/docs/_static/style.css +0 -380
- braindecode-1.5.0/docs/_static/trialwise_explanation.png +0 -0
- braindecode-1.5.0/docs/_static/versions.json +0 -47
- braindecode-1.5.0/docs/_templates/copyright.html +0 -1
- braindecode-1.5.0/docs/_templates/homepage.html +0 -75
- braindecode-1.5.0/docs/_templates/layout.html +0 -79
- braindecode-1.5.0/docs/_templates/sections/announcement.html +0 -21
- braindecode-1.5.0/docs/_templates/sg_launcher_links.html +0 -29
- braindecode-1.5.0/docs/_templates/sidebar-quicklinks.html +0 -12
- braindecode-1.5.0/docs/auto_examples/advanced_training/bcic_iv_4_ecog_cropped.ipynb +0 -363
- braindecode-1.5.0/docs/auto_examples/advanced_training/bcic_iv_4_ecog_cropped.rst +0 -656
- braindecode-1.5.0/docs/auto_examples/advanced_training/index.rst +0 -191
- braindecode-1.5.0/docs/auto_examples/advanced_training/plot_data_augmentation.ipynb +0 -259
- braindecode-1.5.0/docs/auto_examples/advanced_training/plot_data_augmentation.rst +0 -2000
- braindecode-1.5.0/docs/auto_examples/advanced_training/plot_data_augmentation_search.ipynb +0 -302
- braindecode-1.5.0/docs/auto_examples/advanced_training/plot_data_augmentation_search.rst +0 -870
- braindecode-1.5.0/docs/auto_examples/advanced_training/plot_exca_config.ipynb +0 -439
- braindecode-1.5.0/docs/auto_examples/advanced_training/plot_exca_config.rst +0 -1005
- braindecode-1.5.0/docs/auto_examples/advanced_training/plot_finetune_foundation_model.ipynb +0 -219
- braindecode-1.5.0/docs/auto_examples/advanced_training/plot_finetune_foundation_model.rst +0 -576
- braindecode-1.5.0/docs/auto_examples/advanced_training/plot_interpretability.ipynb +0 -266
- braindecode-1.5.0/docs/auto_examples/advanced_training/plot_interpretability.rst +0 -1266
- braindecode-1.5.0/docs/auto_examples/advanced_training/plot_moabb_benchmark.ipynb +0 -122
- braindecode-1.5.0/docs/auto_examples/advanced_training/plot_moabb_benchmark.rst +0 -326
- braindecode-1.5.0/docs/auto_examples/advanced_training/plot_relative_positioning.ipynb +0 -266
- braindecode-1.5.0/docs/auto_examples/advanced_training/plot_relative_positioning.rst +0 -902
- braindecode-1.5.0/docs/auto_examples/advanced_training/plot_temporal_generalization.ipynb +0 -226
- braindecode-1.5.0/docs/auto_examples/advanced_training/plot_temporal_generalization.rst +0 -648
- braindecode-1.5.0/docs/auto_examples/advanced_training/sg_execution_times.rst +0 -61
- braindecode-1.5.0/docs/auto_examples/applied_examples/bcic_iv_4_ecog_trial.ipynb +0 -376
- braindecode-1.5.0/docs/auto_examples/applied_examples/bcic_iv_4_ecog_trial.rst +0 -603
- braindecode-1.5.0/docs/auto_examples/applied_examples/index.rst +0 -137
- braindecode-1.5.0/docs/auto_examples/applied_examples/plot_sleep_staging_chambon2018.ipynb +0 -302
- braindecode-1.5.0/docs/auto_examples/applied_examples/plot_sleep_staging_chambon2018.rst +0 -2238
- braindecode-1.5.0/docs/auto_examples/applied_examples/plot_sleep_staging_eldele2021.ipynb +0 -302
- braindecode-1.5.0/docs/auto_examples/applied_examples/plot_sleep_staging_eldele2021.rst +0 -2476
- braindecode-1.5.0/docs/auto_examples/applied_examples/plot_sleep_staging_usleep.ipynb +0 -266
- braindecode-1.5.0/docs/auto_examples/applied_examples/plot_sleep_staging_usleep.rst +0 -2229
- braindecode-1.5.0/docs/auto_examples/applied_examples/plot_tuh_eeg_corpus.ipynb +0 -187
- braindecode-1.5.0/docs/auto_examples/applied_examples/plot_tuh_eeg_corpus.rst +0 -499
- braindecode-1.5.0/docs/auto_examples/applied_examples/sg_execution_times.rst +0 -52
- braindecode-1.5.0/docs/auto_examples/applied_examples/tutorial_create_fixed_window_length.ipynb +0 -190
- braindecode-1.5.0/docs/auto_examples/applied_examples/tutorial_create_fixed_window_length.rst +0 -365
- braindecode-1.5.0/docs/auto_examples/datasets_io/benchmark_lazy_eager_loading.ipynb +0 -183
- braindecode-1.5.0/docs/auto_examples/datasets_io/benchmark_lazy_eager_loading.rst +0 -504
- braindecode-1.5.0/docs/auto_examples/datasets_io/bids_dataset_example.ipynb +0 -97
- braindecode-1.5.0/docs/auto_examples/datasets_io/bids_dataset_example.rst +0 -110
- braindecode-1.5.0/docs/auto_examples/datasets_io/index.rst +0 -209
- braindecode-1.5.0/docs/auto_examples/datasets_io/plot_benchmark_preprocessing.ipynb +0 -104
- braindecode-1.5.0/docs/auto_examples/datasets_io/plot_benchmark_preprocessing.rst +0 -291
- braindecode-1.5.0/docs/auto_examples/datasets_io/plot_custom_dataset_example.ipynb +0 -140
- braindecode-1.5.0/docs/auto_examples/datasets_io/plot_custom_dataset_example.rst +0 -271
- braindecode-1.5.0/docs/auto_examples/datasets_io/plot_hub_integration.ipynb +0 -201
- braindecode-1.5.0/docs/auto_examples/datasets_io/plot_hub_integration.rst +0 -646
- braindecode-1.5.0/docs/auto_examples/datasets_io/plot_load_save_datasets.ipynb +0 -176
- braindecode-1.5.0/docs/auto_examples/datasets_io/plot_load_save_datasets.rst +0 -357
- braindecode-1.5.0/docs/auto_examples/datasets_io/plot_mne_dataset_example.ipynb +0 -104
- braindecode-1.5.0/docs/auto_examples/datasets_io/plot_mne_dataset_example.rst +0 -218
- braindecode-1.5.0/docs/auto_examples/datasets_io/plot_moabb_dataset_example.ipynb +0 -140
- braindecode-1.5.0/docs/auto_examples/datasets_io/plot_moabb_dataset_example.rst +0 -320
- braindecode-1.5.0/docs/auto_examples/datasets_io/plot_split_dataset.ipynb +0 -180
- braindecode-1.5.0/docs/auto_examples/datasets_io/plot_split_dataset.rst +0 -835
- braindecode-1.5.0/docs/auto_examples/datasets_io/plot_tuh_discrete_multitarget.ipynb +0 -169
- braindecode-1.5.0/docs/auto_examples/datasets_io/plot_tuh_discrete_multitarget.rst +0 -379
- braindecode-1.5.0/docs/auto_examples/datasets_io/sg_execution_times.rst +0 -64
- braindecode-1.5.0/docs/auto_examples/index.rst +0 -748
- braindecode-1.5.0/docs/auto_examples/model_building/index.rst +0 -227
- braindecode-1.5.0/docs/auto_examples/model_building/plot_basic_training_epochs.ipynb +0 -237
- braindecode-1.5.0/docs/auto_examples/model_building/plot_basic_training_epochs.rst +0 -1936
- braindecode-1.5.0/docs/auto_examples/model_building/plot_bcic_iv_2a_eegprep_cleaning.ipynb +0 -271
- braindecode-1.5.0/docs/auto_examples/model_building/plot_bcic_iv_2a_eegprep_cleaning.rst +0 -2276
- braindecode-1.5.0/docs/auto_examples/model_building/plot_bcic_iv_2a_moabb_cropped.ipynb +0 -244
- braindecode-1.5.0/docs/auto_examples/model_building/plot_bcic_iv_2a_moabb_cropped.rst +0 -2206
- braindecode-1.5.0/docs/auto_examples/model_building/plot_bcic_iv_2a_moabb_trial.ipynb +0 -282
- braindecode-1.5.0/docs/auto_examples/model_building/plot_bcic_iv_2a_moabb_trial.rst +0 -2206
- braindecode-1.5.0/docs/auto_examples/model_building/plot_channel_interpolation.ipynb +0 -222
- braindecode-1.5.0/docs/auto_examples/model_building/plot_channel_interpolation.rst +0 -576
- braindecode-1.5.0/docs/auto_examples/model_building/plot_how_train_test_and_tune.ipynb +0 -375
- braindecode-1.5.0/docs/auto_examples/model_building/plot_how_train_test_and_tune.rst +0 -1092
- braindecode-1.5.0/docs/auto_examples/model_building/plot_hyperparameter_tuning_with_scikit-learn.ipynb +0 -257
- braindecode-1.5.0/docs/auto_examples/model_building/plot_hyperparameter_tuning_with_scikit-learn.rst +0 -647
- braindecode-1.5.0/docs/auto_examples/model_building/plot_load_pretrained_models.ipynb +0 -222
- braindecode-1.5.0/docs/auto_examples/model_building/plot_load_pretrained_models.rst +0 -935
- braindecode-1.5.0/docs/auto_examples/model_building/plot_preprocessing_classes.ipynb +0 -194
- braindecode-1.5.0/docs/auto_examples/model_building/plot_preprocessing_classes.rst +0 -438
- braindecode-1.5.0/docs/auto_examples/model_building/plot_regression.ipynb +0 -212
- braindecode-1.5.0/docs/auto_examples/model_building/plot_regression.rst +0 -482
- braindecode-1.5.0/docs/auto_examples/model_building/plot_train_in_pure_pytorch_and_pytorch_lightning.ipynb +0 -250
- braindecode-1.5.0/docs/auto_examples/model_building/plot_train_in_pure_pytorch_and_pytorch_lightning.rst +0 -697
- braindecode-1.5.0/docs/auto_examples/model_building/sg_execution_times.rst +0 -67
- braindecode-1.5.0/docs/auto_examples/sg_execution_times.rst +0 -37
- braindecode-1.5.0/docs/download_mne_references.py +0 -91
- braindecode-1.5.0/docs/generated/activation/braindecode.modules.LogActivation.rst +0 -130
- braindecode-1.5.0/docs/generated/activation/braindecode.modules.SafeLog.rst +0 -135
- braindecode-1.5.0/docs/generated/attention/braindecode.modules.CAT.rst +0 -130
- braindecode-1.5.0/docs/generated/attention/braindecode.modules.CATLite.rst +0 -130
- braindecode-1.5.0/docs/generated/attention/braindecode.modules.CBAM.rst +0 -130
- braindecode-1.5.0/docs/generated/attention/braindecode.modules.ECA.rst +0 -130
- braindecode-1.5.0/docs/generated/attention/braindecode.modules.EncNet.rst +0 -130
- braindecode-1.5.0/docs/generated/attention/braindecode.modules.FCA.rst +0 -137
- braindecode-1.5.0/docs/generated/attention/braindecode.modules.GCT.rst +0 -130
- braindecode-1.5.0/docs/generated/attention/braindecode.modules.GSoP.rst +0 -130
- braindecode-1.5.0/docs/generated/attention/braindecode.modules.GatherExcite.rst +0 -130
- braindecode-1.5.0/docs/generated/attention/braindecode.modules.MultiHeadAttention.rst +0 -130
- braindecode-1.5.0/docs/generated/attention/braindecode.modules.SRM.rst +0 -130
- braindecode-1.5.0/docs/generated/attention/braindecode.modules.SqueezeAndExcitation.rst +0 -130
- braindecode-1.5.0/docs/generated/blocks/braindecode.modules.FeedForwardBlock.rst +0 -127
- braindecode-1.5.0/docs/generated/blocks/braindecode.modules.InceptionBlock.rst +0 -130
- braindecode-1.5.0/docs/generated/blocks/braindecode.modules.MLP.rst +0 -127
- braindecode-1.5.0/docs/generated/braindecode.augmentation.AmplitudeScale.rst +0 -139
- braindecode-1.5.0/docs/generated/braindecode.augmentation.AugmentedDataLoader.rst +0 -21
- braindecode-1.5.0/docs/generated/braindecode.augmentation.BandstopFilter.rst +0 -139
- braindecode-1.5.0/docs/generated/braindecode.augmentation.ChannelsDropout.rst +0 -139
- braindecode-1.5.0/docs/generated/braindecode.augmentation.ChannelsReref.rst +0 -139
- braindecode-1.5.0/docs/generated/braindecode.augmentation.ChannelsShuffle.rst +0 -139
- braindecode-1.5.0/docs/generated/braindecode.augmentation.ChannelsSymmetry.rst +0 -139
- braindecode-1.5.0/docs/generated/braindecode.augmentation.Compose.rst +0 -132
- braindecode-1.5.0/docs/generated/braindecode.augmentation.FTSurrogate.rst +0 -139
- braindecode-1.5.0/docs/generated/braindecode.augmentation.FrequencyShift.rst +0 -139
- braindecode-1.5.0/docs/generated/braindecode.augmentation.GaussianNoise.rst +0 -139
- braindecode-1.5.0/docs/generated/braindecode.augmentation.IdentityTransform.rst +0 -134
- braindecode-1.5.0/docs/generated/braindecode.augmentation.MaskEncoding.rst +0 -139
- braindecode-1.5.0/docs/generated/braindecode.augmentation.Mixup.rst +0 -139
- braindecode-1.5.0/docs/generated/braindecode.augmentation.SegmentationReconstruction.rst +0 -139
- braindecode-1.5.0/docs/generated/braindecode.augmentation.SensorsRotation.rst +0 -139
- braindecode-1.5.0/docs/generated/braindecode.augmentation.SensorsXRotation.rst +0 -123
- braindecode-1.5.0/docs/generated/braindecode.augmentation.SensorsYRotation.rst +0 -123
- braindecode-1.5.0/docs/generated/braindecode.augmentation.SensorsZRotation.rst +0 -123
- braindecode-1.5.0/docs/generated/braindecode.augmentation.SignFlip.rst +0 -134
- braindecode-1.5.0/docs/generated/braindecode.augmentation.SmoothTimeMask.rst +0 -139
- braindecode-1.5.0/docs/generated/braindecode.augmentation.TimeReverse.rst +0 -134
- braindecode-1.5.0/docs/generated/braindecode.augmentation.Transform.rst +0 -137
- braindecode-1.5.0/docs/generated/braindecode.augmentation.functional.amplitude_scale.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.augmentation.functional.bandstop_filter.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.augmentation.functional.channels_dropout.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.augmentation.functional.channels_permute.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.augmentation.functional.channels_rereference.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.augmentation.functional.channels_shuffle.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.augmentation.functional.frequency_shift.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.augmentation.functional.ft_surrogate.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.augmentation.functional.gaussian_noise.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.augmentation.functional.identity.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.augmentation.functional.mask_encoding.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.augmentation.functional.mixup.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.augmentation.functional.segmentation_reconstruction.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.augmentation.functional.sensors_rotation.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.augmentation.functional.sign_flip.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.augmentation.functional.smooth_time_mask.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.augmentation.functional.time_reverse.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.classifier.EEGClassifier.rst +0 -166
- braindecode-1.5.0/docs/generated/braindecode.datasets.BCICompetitionIVDataset4.rst +0 -48
- braindecode-1.5.0/docs/generated/braindecode.datasets.BNCI2014_001.rst +0 -35
- braindecode-1.5.0/docs/generated/braindecode.datasets.BaseConcatDataset.rst +0 -66
- braindecode-1.5.0/docs/generated/braindecode.datasets.CHBMIT.rst +0 -35
- braindecode-1.5.0/docs/generated/braindecode.datasets.HGD.rst +0 -35
- braindecode-1.5.0/docs/generated/braindecode.datasets.MOABBDataset.rst +0 -35
- braindecode-1.5.0/docs/generated/braindecode.datasets.NMT.rst +0 -35
- braindecode-1.5.0/docs/generated/braindecode.datasets.RawDataset.rst +0 -21
- braindecode-1.5.0/docs/generated/braindecode.datasets.RecordDataset.rst +0 -32
- braindecode-1.5.0/docs/generated/braindecode.datasets.SIENA.rst +0 -35
- braindecode-1.5.0/docs/generated/braindecode.datasets.SleepPhysionet.rst +0 -35
- braindecode-1.5.0/docs/generated/braindecode.datasets.SleepPhysionetChallenge2018.rst +0 -35
- braindecode-1.5.0/docs/generated/braindecode.datasets.TUH.rst +0 -35
- braindecode-1.5.0/docs/generated/braindecode.datasets.TUHAbnormal.rst +0 -35
- braindecode-1.5.0/docs/generated/braindecode.datasets.TUHEvents.rst +0 -35
- braindecode-1.5.0/docs/generated/braindecode.datasets.WindowsDataset.rst +0 -21
- braindecode-1.5.0/docs/generated/braindecode.datasets.bids.BIDSDataset.rst +0 -35
- braindecode-1.5.0/docs/generated/braindecode.datasets.bids.BIDSEpochsDataset.rst +0 -35
- braindecode-1.5.0/docs/generated/braindecode.datasets.bids.BIDSIterableDataset.rst +0 -19
- braindecode-1.5.0/docs/generated/braindecode.datasets.bids.HubDatasetMixin.rst +0 -39
- braindecode-1.5.0/docs/generated/braindecode.datasets.create_from_X_y.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.datasets.create_from_mne_epochs.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.datasets.create_from_mne_raw.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.datautil.infer_signal_properties.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.datautil.load_concat_dataset.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.datautil.save_concat_dataset.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.functional.drop_path.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.functional.glorot_weight_zero_bias.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.functional.hilbert_freq.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.functional.identity.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.functional.plv_time.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.functional.rescale_parameter.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.functional.safe_log.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.functional.square.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.models.ATCNet.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.AttentionBaseNet.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.AttnSleep.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.BDTCN.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.BENDR.rst +0 -155
- braindecode-1.5.0/docs/generated/braindecode.models.BIOT.rst +0 -155
- braindecode-1.5.0/docs/generated/braindecode.models.BrainModule.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.CBraMod.rst +0 -155
- braindecode-1.5.0/docs/generated/braindecode.models.CTNet.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.CodeBrain.rst +0 -155
- braindecode-1.5.0/docs/generated/braindecode.models.ContraWR.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.DGCNN.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.Deep4Net.rst +0 -147
- braindecode-1.5.0/docs/generated/braindecode.models.DeepSleepNet.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.EEGConformer.rst +0 -157
- braindecode-1.5.0/docs/generated/braindecode.models.EEGITNet.rst +0 -147
- braindecode-1.5.0/docs/generated/braindecode.models.EEGInceptionERP.rst +0 -147
- braindecode-1.5.0/docs/generated/braindecode.models.EEGInceptionMI.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.EEGMiner.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.EEGModuleMixin.rst +0 -82
- braindecode-1.5.0/docs/generated/braindecode.models.EEGNeX.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.EEGNet.rst +0 -147
- braindecode-1.5.0/docs/generated/braindecode.models.EEGPT.rst +0 -162
- braindecode-1.5.0/docs/generated/braindecode.models.EEGSimpleConv.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.EEGSym.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.EEGTCNet.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.EMG2QwertyNet.rst +0 -167
- braindecode-1.5.0/docs/generated/braindecode.models.FBCNet.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.FBLightConvNet.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.FBMSNet.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.IFNet.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.InterpolatedBENDR.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.InterpolatedBIOT.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.InterpolatedLaBraM.rst +0 -160
- braindecode-1.5.0/docs/generated/braindecode.models.InterpolatedModel.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.models.InterpolatedSignalJEPA.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.LUNA.rst +0 -185
- braindecode-1.5.0/docs/generated/braindecode.models.Labram.rst +0 -190
- braindecode-1.5.0/docs/generated/braindecode.models.MEDFormer.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.MSVTNet.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.MetaNeuromotorHand.rst +0 -167
- braindecode-1.5.0/docs/generated/braindecode.models.PBT.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.REVE.rst +0 -162
- braindecode-1.5.0/docs/generated/braindecode.models.SCCNet.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.SPARCNet.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.SSTDPN.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.ShallowFBCSPNet.rst +0 -147
- braindecode-1.5.0/docs/generated/braindecode.models.SignalJEPA.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.SignalJEPA_Contextual.rst +0 -160
- braindecode-1.5.0/docs/generated/braindecode.models.SignalJEPA_PostLocal.rst +0 -160
- braindecode-1.5.0/docs/generated/braindecode.models.SignalJEPA_PreLocal.rst +0 -160
- braindecode-1.5.0/docs/generated/braindecode.models.SincShallowNet.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.SleepStagerBlanco2020.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.SleepStagerChambon2018.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.SyncNet.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.TIDNet.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.TSception.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.models.USleep.rst +0 -150
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.AddChannels.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.AddEvents.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.AddProj.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.AddReferenceChannels.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.AnnotateAmplitude.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.AnnotateBreak.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.AnnotateMovement.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.AnnotateMuscleZscore.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.AnnotateNan.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.Anonymize.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.ApplyGradientCompensation.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.ApplyHilbert.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.ApplyProj.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.CombineChannels.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.ComputeBridgedElectrodes.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.ComputeCurrentSourceDensity.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.Crop.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.CropByAnnotations.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.DelProj.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.DropChannels.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.EEGPrep.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.EqualizeBads.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.EqualizeChannels.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.Filter.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.FilterData.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.FindBadChannelsLof.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.FixMagCoilTypes.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.FixStimArtifact.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.InterpolateBads.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.InterpolateBridgedElectrodes.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.InterpolateTo.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.MaxwellFilter.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.NotchFilter.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.OversampledTemporalProjection.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.Pick.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.PickChannels.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.PickTypes.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.Preprocessor.rst +0 -46
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.RealignRaw.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.RegressArtifact.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.ReinterpolateRemovedChannels.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.RemoveBadChannels.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.RemoveBadChannelsNoLocs.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.RemoveBadWindows.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.RemoveBursts.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.RemoveCommonAverageReference.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.RemoveDCOffset.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.RemoveDrifts.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.RemoveFlatChannels.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.RenameChannels.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.ReorderChannels.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.Resample.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.Resampling.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.Rescale.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.SavgolFilter.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.SetAnnotations.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.SetBipolarReference.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.SetChannelTypes.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.SetEEGReference.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.SetMeasDate.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.SetMontage.rst +0 -25
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.create_fixed_length_windows.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.create_windows_from_events.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.create_windows_from_target_channels.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.exponential_moving_demean.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.exponential_moving_standardize.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.filterbank.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.preprocessing.preprocess.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.regressor.EEGRegressor.rst +0 -161
- braindecode-1.5.0/docs/generated/braindecode.samplers.BalancedSequenceSampler.rst +0 -36
- braindecode-1.5.0/docs/generated/braindecode.samplers.DistributedRecordingSampler.rst +0 -41
- braindecode-1.5.0/docs/generated/braindecode.samplers.DistributedRelativePositioningSampler.rst +0 -38
- braindecode-1.5.0/docs/generated/braindecode.samplers.RecordingSampler.rst +0 -39
- braindecode-1.5.0/docs/generated/braindecode.samplers.RelativePositioningSampler.rst +0 -36
- braindecode-1.5.0/docs/generated/braindecode.samplers.SequenceSampler.rst +0 -23
- braindecode-1.5.0/docs/generated/braindecode.training.CroppedLoss.rst +0 -130
- braindecode-1.5.0/docs/generated/braindecode.training.CroppedTimeSeriesEpochScoring.rst +0 -52
- braindecode-1.5.0/docs/generated/braindecode.training.CroppedTrialEpochScoring.rst +0 -57
- braindecode-1.5.0/docs/generated/braindecode.training.PostEpochTrainScoring.rst +0 -52
- braindecode-1.5.0/docs/generated/braindecode.training.TimeSeriesLoss.rst +0 -130
- braindecode-1.5.0/docs/generated/braindecode.training.mixup_criterion.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.training.predict_trials.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.training.trial_preds_from_window_preds.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.util.set_random_seeds.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.visualization.METRIC_NAMES.rst +0 -6
- braindecode-1.5.0/docs/generated/braindecode.visualization.SSIM_METRIC_NAMES.rst +0 -6
- braindecode-1.5.0/docs/generated/braindecode.visualization.amplitude_gradients.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.visualization.amplitude_gradients_per_trial.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.visualization.cascading_layer_reset.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.visualization.compute_metrics.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.visualization.compute_ssim_metrics.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.visualization.deconvolution.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.visualization.deep_lift.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.visualization.guided_backprop.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.visualization.input_x_gradient.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.visualization.integrated_gradients.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.visualization.layer_grad_cam.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.visualization.lrp.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.visualization.plot_confusion_matrix.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.visualization.project_to_topomap.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.visualization.random_target.rst +0 -12
- braindecode-1.5.0/docs/generated/braindecode.visualization.saliency.rst +0 -12
- braindecode-1.5.0/docs/generated/convolution/braindecode.modules.AvgPool2dWithConv.rst +0 -130
- braindecode-1.5.0/docs/generated/convolution/braindecode.modules.CausalConv1d.rst +0 -132
- braindecode-1.5.0/docs/generated/convolution/braindecode.modules.CombinedConv.rst +0 -130
- braindecode-1.5.0/docs/generated/convolution/braindecode.modules.Conv2dWithConstraint.rst +0 -121
- braindecode-1.5.0/docs/generated/convolution/braindecode.modules.DepthwiseConv2d.rst +0 -121
- braindecode-1.5.0/docs/generated/filter/braindecode.modules.ChannelInterpolationLayer.rst +0 -130
- braindecode-1.5.0/docs/generated/filter/braindecode.modules.FilterBankLayer.rst +0 -130
- braindecode-1.5.0/docs/generated/filter/braindecode.modules.GeneralizedGaussianFilter.rst +0 -144
- braindecode-1.5.0/docs/generated/layers/braindecode.modules.Chomp1d.rst +0 -135
- braindecode-1.5.0/docs/generated/layers/braindecode.modules.DropPath.rst +0 -135
- braindecode-1.5.0/docs/generated/layers/braindecode.modules.Ensure4d.rst +0 -130
- braindecode-1.5.0/docs/generated/layers/braindecode.modules.SubjectLayers.rst +0 -130
- braindecode-1.5.0/docs/generated/layers/braindecode.modules.TimeDistributed.rst +0 -130
- braindecode-1.5.0/docs/generated/linear/braindecode.modules.LinearWithConstraint.rst +0 -121
- braindecode-1.5.0/docs/generated/linear/braindecode.modules.MaxNormLinear.rst +0 -121
- braindecode-1.5.0/docs/generated/stats/braindecode.modules.LogPowerLayer.rst +0 -6
- braindecode-1.5.0/docs/generated/stats/braindecode.modules.LogVarLayer.rst +0 -6
- braindecode-1.5.0/docs/generated/stats/braindecode.modules.MaxLayer.rst +0 -6
- braindecode-1.5.0/docs/generated/stats/braindecode.modules.MeanLayer.rst +0 -6
- braindecode-1.5.0/docs/generated/stats/braindecode.modules.StatLayer.rst +0 -130
- braindecode-1.5.0/docs/generated/stats/braindecode.modules.StdLayer.rst +0 -6
- braindecode-1.5.0/docs/generated/stats/braindecode.modules.VarLayer.rst +0 -6
- braindecode-1.5.0/docs/generated/util/braindecode.modules.aggregate_probas.rst +0 -12
- braindecode-1.5.0/docs/generated/wrapper/braindecode.modules.Expression.rst +0 -130
- braindecode-1.5.0/docs/generated/wrapper/braindecode.modules.IntermediateOutputWrapper.rst +0 -130
- braindecode-1.5.0/docs/index.rst +0 -749
- braindecode-1.5.0/docs/links.inc +0 -69
- braindecode-1.5.0/docs/models/filterbank.bib +0 -37
- braindecode-1.5.0/docs/models/small_attention.bib +0 -60
- braindecode-1.5.0/docs/prepare_summary_tables.py +0 -306
- braindecode-1.5.0/docs/references.bib +0 -2874
- braindecode-1.5.0/docs/sphinxext/gh_substitutions.py +0 -29
- braindecode-1.5.0/docs/sphinxext/zoo_data_gen.py +0 -199
- braindecode-1.5.0/examples/README.rst +0 -9
- braindecode-1.5.0/examples/advanced_training/README.txt +0 -5
- braindecode-1.5.0/examples/advanced_training/bcic_iv_4_ecog_cropped.py +0 -486
- braindecode-1.5.0/examples/advanced_training/plot_data_augmentation.py +0 -285
- braindecode-1.5.0/examples/advanced_training/plot_data_augmentation_search.py +0 -592
- braindecode-1.5.0/examples/advanced_training/plot_exca_config.py +0 -490
- braindecode-1.5.0/examples/advanced_training/plot_finetune_foundation_model.py +0 -277
- braindecode-1.5.0/examples/advanced_training/plot_interpretability.py +0 -975
- braindecode-1.5.0/examples/advanced_training/plot_moabb_benchmark.py +0 -150
- braindecode-1.5.0/examples/advanced_training/plot_relative_positioning.py +0 -553
- braindecode-1.5.0/examples/advanced_training/plot_temporal_generalization.py +0 -431
- braindecode-1.5.0/examples/applied_examples/README.txt +0 -5
- braindecode-1.5.0/examples/applied_examples/bcic_iv_4_ecog_trial.py +0 -446
- braindecode-1.5.0/examples/applied_examples/plot_sleep_staging_chambon2018.py +0 -396
- braindecode-1.5.0/examples/applied_examples/plot_sleep_staging_eldele2021.py +0 -429
- braindecode-1.5.0/examples/applied_examples/plot_sleep_staging_usleep.py +0 -357
- braindecode-1.5.0/examples/applied_examples/plot_tuh_eeg_corpus.py +0 -330
- braindecode-1.5.0/examples/applied_examples/tutorial_create_fixed_window_length.py +0 -265
- braindecode-1.5.0/examples/datasets_io/README.txt +0 -5
- braindecode-1.5.0/examples/datasets_io/benchmark_lazy_eager_loading.py +0 -401
- braindecode-1.5.0/examples/datasets_io/bids_dataset_example.py +0 -38
- braindecode-1.5.0/examples/datasets_io/plot_benchmark_preprocessing.py +0 -183
- braindecode-1.5.0/examples/datasets_io/plot_custom_dataset_example.py +0 -75
- braindecode-1.5.0/examples/datasets_io/plot_hub_integration.py +0 -350
- braindecode-1.5.0/examples/datasets_io/plot_load_save_datasets.py +0 -100
- braindecode-1.5.0/examples/datasets_io/plot_mne_dataset_example.py +0 -61
- braindecode-1.5.0/examples/datasets_io/plot_moabb_dataset_example.py +0 -68
- braindecode-1.5.0/examples/datasets_io/plot_split_dataset.py +0 -120
- braindecode-1.5.0/examples/datasets_io/plot_tuh_discrete_multitarget.py +0 -133
- braindecode-1.5.0/examples/model_building/README.txt +0 -5
- braindecode-1.5.0/examples/model_building/plot_basic_training_epochs.py +0 -197
- braindecode-1.5.0/examples/model_building/plot_bcic_iv_2a_eegprep_cleaning.py +0 -449
- braindecode-1.5.0/examples/model_building/plot_bcic_iv_2a_moabb_cropped.py +0 -425
- braindecode-1.5.0/examples/model_building/plot_bcic_iv_2a_moabb_trial.py +0 -393
- braindecode-1.5.0/examples/model_building/plot_channel_interpolation.py +0 -352
- braindecode-1.5.0/examples/model_building/plot_how_train_test_and_tune.py +0 -698
- braindecode-1.5.0/examples/model_building/plot_hyperparameter_tuning_with_scikit-learn.py +0 -388
- braindecode-1.5.0/examples/model_building/plot_load_pretrained_models.py +0 -663
- braindecode-1.5.0/examples/model_building/plot_preprocessing_classes.py +0 -215
- braindecode-1.5.0/examples/model_building/plot_regression.py +0 -276
- braindecode-1.5.0/examples/model_building/plot_train_in_pure_pytorch_and_pytorch_lightning.py +0 -423
- braindecode-1.5.0/scripts/check_codebrain_weights.py +0 -60
- braindecode-1.5.0/scripts/release_script.py +0 -132
- braindecode-1.5.0/test/__init__.py +0 -0
- braindecode-1.5.0/test/acceptance_tests/__init__.py +0 -0
- braindecode-1.5.0/test/acceptance_tests/test_cropped_decoding.py +0 -150
- braindecode-1.5.0/test/acceptance_tests/test_eeg_classifier.py +0 -272
- braindecode-1.5.0/test/acceptance_tests/test_model_architectures.py +0 -182
- braindecode-1.5.0/test/acceptance_tests/test_trialwise_decoding.py +0 -177
- braindecode-1.5.0/test/acceptance_tests/test_variable_length_trials_decoding.py +0 -113
- braindecode-1.5.0/test/dataset.py +0 -49
- braindecode-1.5.0/test/integration_tests/test_pretrained_hub_models.py +0 -348
- braindecode-1.5.0/test/unit_tests/__init__.py +0 -0
- braindecode-1.5.0/test/unit_tests/augmentation/__init__.py +0 -0
- braindecode-1.5.0/test/unit_tests/augmentation/conftest.py +0 -55
- braindecode-1.5.0/test/unit_tests/augmentation/test_base.py +0 -200
- braindecode-1.5.0/test/unit_tests/augmentation/test_functional.py +0 -126
- braindecode-1.5.0/test/unit_tests/augmentation/test_transforms.py +0 -791
- braindecode-1.5.0/test/unit_tests/datasets/__init__.py +0 -0
- braindecode-1.5.0/test/unit_tests/datasets/test_bbci.py +0 -22
- braindecode-1.5.0/test/unit_tests/datasets/test_bcicomp.py +0 -131
- braindecode-1.5.0/test/unit_tests/datasets/test_bids.py +0 -58
- braindecode-1.5.0/test/unit_tests/datasets/test_bids_validation.py +0 -247
- braindecode-1.5.0/test/unit_tests/datasets/test_dataset.py +0 -1008
- braindecode-1.5.0/test/unit_tests/datasets/test_hub_integration.py +0 -1194
- braindecode-1.5.0/test/unit_tests/datasets/test_mne.py +0 -226
- braindecode-1.5.0/test/unit_tests/datasets/test_moabb.py +0 -78
- braindecode-1.5.0/test/unit_tests/datasets/test_nmt.py +0 -234
- braindecode-1.5.0/test/unit_tests/datasets/test_sleep_physionet.py +0 -66
- braindecode-1.5.0/test/unit_tests/datasets/test_tuh.py +0 -259
- braindecode-1.5.0/test/unit_tests/datasets/test_xy.py +0 -35
- braindecode-1.5.0/test/unit_tests/datasets/test_zarr_to_memmap_concurrency.py +0 -221
- braindecode-1.5.0/test/unit_tests/datautil/__init__.py +0 -0
- braindecode-1.5.0/test/unit_tests/datautil/test_channel_utils.py +0 -97
- braindecode-1.5.0/test/unit_tests/datautil/test_hub_formats.py +0 -263
- braindecode-1.5.0/test/unit_tests/datautil/test_init.py +0 -25
- braindecode-1.5.0/test/unit_tests/datautil/test_serialization.py +0 -418
- braindecode-1.5.0/test/unit_tests/datautil/test_util.py +0 -37
- braindecode-1.5.0/test/unit_tests/models/__init__.py +0 -0
- braindecode-1.5.0/test/unit_tests/models/test_base.py +0 -534
- braindecode-1.5.0/test/unit_tests/models/test_config.py +0 -125
- braindecode-1.5.0/test/unit_tests/models/test_config_numpydantic_fallback.py +0 -27
- braindecode-1.5.0/test/unit_tests/models/test_correctness.py +0 -151
- braindecode-1.5.0/test/unit_tests/models/test_foundation_models.py +0 -1010
- braindecode-1.5.0/test/unit_tests/models/test_functional.py +0 -67
- braindecode-1.5.0/test/unit_tests/models/test_huggingface.py +0 -352
- braindecode-1.5.0/test/unit_tests/models/test_integration.py +0 -636
- braindecode-1.5.0/test/unit_tests/models/test_interpolated.py +0 -272
- braindecode-1.5.0/test/unit_tests/models/test_interpolation.py +0 -204
- braindecode-1.5.0/test/unit_tests/models/test_model_categorization.py +0 -123
- braindecode-1.5.0/test/unit_tests/models/test_models.py +0 -3521
- braindecode-1.5.0/test/unit_tests/models/test_modules.py +0 -1304
- braindecode-1.5.0/test/unit_tests/models/test_return_features.py +0 -183
- braindecode-1.5.0/test/unit_tests/models/test_signal_jepa.py +0 -521
- braindecode-1.5.0/test/unit_tests/models/test_util.py +0 -97
- braindecode-1.5.0/test/unit_tests/preprocessing/__init__.py +0 -0
- braindecode-1.5.0/test/unit_tests/preprocessing/test_eegprep_preprocessor.py +0 -936
- braindecode-1.5.0/test/unit_tests/preprocessing/test_mne_preprocessor.py +0 -631
- braindecode-1.5.0/test/unit_tests/preprocessing/test_preprocess.py +0 -782
- braindecode-1.5.0/test/unit_tests/preprocessing/test_util.py +0 -465
- braindecode-1.5.0/test/unit_tests/preprocessing/test_windowers.py +0 -1604
- braindecode-1.5.0/test/unit_tests/samplers/__init__.py +0 -0
- braindecode-1.5.0/test/unit_tests/samplers/test_samplers.py +0 -480
- braindecode-1.5.0/test/unit_tests/test_eegneuralnet.py +0 -545
- braindecode-1.5.0/test/unit_tests/test_util.py +0 -375
- braindecode-1.5.0/test/unit_tests/training/__init__.py +0 -0
- braindecode-1.5.0/test/unit_tests/training/test_losses.py +0 -69
- braindecode-1.5.0/test/unit_tests/training/test_scoring.py +0 -532
- braindecode-1.5.0/test/unit_tests/training/test_seed_reproducibility.py +0 -49
- braindecode-1.5.0/test/unit_tests/visualization/__init__.py +0 -0
- braindecode-1.5.0/test/unit_tests/visualization/conftest.py +0 -18
- braindecode-1.5.0/test/unit_tests/visualization/test_attribution.py +0 -106
- braindecode-1.5.0/test/unit_tests/visualization/test_gradients.py +0 -38
- braindecode-1.5.0/test/unit_tests/visualization/test_metrics.py +0 -166
- braindecode-1.5.0/test/unit_tests/visualization/test_topology.py +0 -67
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/LICENSE.txt +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/MANIFEST.in +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/README.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/__init__.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/augmentation/__init__.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/augmentation/base.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/augmentation/functional.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/augmentation/transforms.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/classifier.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/__init__.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/bbci.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/bcicomp.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/bids/__init__.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/bids/datasets.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/bids/format.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/bids/hub.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/bids/hub_format.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/bids/hub_io.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/bids/hub_validation.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/bids/iterable.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/chb_mit.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/mne.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/moabb.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/nmt.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/registry.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/siena.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/sleep_physio_challe_18.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/tuh.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/utils.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datasets/xy.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datautil/__init__.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datautil/channel_utils.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datautil/hub_formats.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datautil/serialization.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/datautil/util.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/eegneuralnet.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/functional/__init__.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/functional/functions.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/functional/initialization.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/atcnet.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/attentionbasenet.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/attn_sleep.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/brainmodule.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/cbramod.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/contrawr.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/ctnet.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/deep4.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/deepsleepnet.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/dgcnn.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/eegconformer.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/eeginception_erp.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/eeginception_mi.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/eegitnet.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/eegminer.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/eegnet.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/eegnex.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/eegpt.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/eegsimpleconv.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/eegsym.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/eegtcnet.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/fbcnet.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/fblightconvnet.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/fbmsnet.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/hybrid.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/ifnet.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/luna.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/medformer.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/msvtnet.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/patchedtransformer.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/sccnet.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/shallow_fbcsp.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/sinc_shallow.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/sleep_stager_blanco_2020.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/sleep_stager_chambon_2018.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/sparcnet.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/sstdpn.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/syncnet.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/tcn.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/tidnet.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/tsinception.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/models/usleep.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/modules/activation.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/modules/attention.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/modules/blocks.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/modules/convolution.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/modules/filter.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/modules/layers.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/modules/linear.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/modules/parametrization.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/modules/stats.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/modules/util.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/modules/wrapper.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/preprocessing/__init__.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/preprocessing/mne_preprocess.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/preprocessing/util.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/regressor.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/samplers/__init__.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/samplers/base.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/samplers/ssl.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/training/__init__.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/training/callbacks.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/training/losses.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/training/scoring.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/util.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode/visualization/confusion_matrices.py +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode.egg-info/dependency_links.txt +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/braindecode.egg-info/top_level.txt +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/Makefile +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/_templates/autosummary/class.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/_templates/autosummary/class_in_subdir.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/_templates/autosummary/function.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/_templates/autosummary/function_in_subdir.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/help.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/install/install.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/install/install_pip.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/install/install_source.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/models/categorization/attention.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/models/categorization/channel.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/models/categorization/convolution.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/models/categorization/filterbank.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/models/categorization/gnn.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/models/categorization/interpretable.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/models/categorization/lbm.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/models/categorization/recurrent.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/models/categorization/spd.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/models/models.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/models/models_categorization.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/models/models_table.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/models/models_visualization.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/docs/sg_execution_times.rst +0 -0
- {braindecode-1.5.0 → braindecode-1.5.0.dev902}/setup.cfg +0 -0
|
@@ -11,14 +11,9 @@ All files within the `src/` directory are licensed under the BSD-3-Clause Licens
|
|
|
11
11
|
The following components are licensed under the Creative Commons Attribution-NonCommercial 4.0 International License:
|
|
12
12
|
|
|
13
13
|
- `braindecode/models/eegminer.py`
|
|
14
|
-
- `braindecode/models/meta_neuromotor.py`
|
|
15
14
|
|
|
16
15
|
As well as class later imported into the `braindecode.models.module` named as GeneralizedGaussianFilter.
|
|
17
16
|
|
|
18
|
-
The `meta_neuromotor.py` file is a derivative of
|
|
19
|
-
`facebookresearch/generic-neuromotor-interface`, released by Meta Platforms,
|
|
20
|
-
Inc. under CC BY-NC 4.0, and inherits the same noncommercial terms.
|
|
21
|
-
|
|
22
17
|
## License Links
|
|
23
18
|
|
|
24
19
|
- [BSD-3-Clause License](https://opensource.org/licenses/BSD-3-Clause)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: braindecode
|
|
3
|
-
Version: 1.5.0
|
|
3
|
+
Version: 1.5.0.dev902
|
|
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>
|
|
@@ -43,8 +43,6 @@ Requires-Dist: eegprep[eeglabio]>=0.2.23; extra == "eegprep"
|
|
|
43
43
|
Provides-Extra: hub
|
|
44
44
|
Requires-Dist: huggingface_hub[torch]>=0.20.0; extra == "hub"
|
|
45
45
|
Requires-Dist: zarr>=3.0; extra == "hub"
|
|
46
|
-
Provides-Extra: viz
|
|
47
|
-
Requires-Dist: captum>=0.7.0; extra == "viz"
|
|
48
46
|
Provides-Extra: tests
|
|
49
47
|
Requires-Dist: pytest; extra == "tests"
|
|
50
48
|
Requires-Dist: pytest-cov; extra == "tests"
|
|
@@ -63,7 +61,6 @@ Requires-Dist: sphinx-autodoc-typehints; extra == "docs"
|
|
|
63
61
|
Requires-Dist: sphinx-autobuild; extra == "docs"
|
|
64
62
|
Requires-Dist: sphinxcontrib-bibtex; extra == "docs"
|
|
65
63
|
Requires-Dist: sphinx_sitemap; extra == "docs"
|
|
66
|
-
Requires-Dist: sphinxext-opengraph; extra == "docs"
|
|
67
64
|
Requires-Dist: pydata_sphinx_theme; extra == "docs"
|
|
68
65
|
Requires-Dist: numpydoc; extra == "docs"
|
|
69
66
|
Requires-Dist: memory_profiler; extra == "docs"
|
|
@@ -73,7 +70,7 @@ Requires-Dist: sphinx_design; extra == "docs"
|
|
|
73
70
|
Requires-Dist: lightning; extra == "docs"
|
|
74
71
|
Requires-Dist: seaborn; extra == "docs"
|
|
75
72
|
Requires-Dist: pre-commit; extra == "docs"
|
|
76
|
-
Requires-Dist: openneuro-py
|
|
73
|
+
Requires-Dist: openneuro-py; extra == "docs"
|
|
77
74
|
Requires-Dist: plotly; extra == "docs"
|
|
78
75
|
Requires-Dist: shap; extra == "docs"
|
|
79
76
|
Requires-Dist: nbformat; extra == "docs"
|
|
@@ -85,7 +82,6 @@ Requires-Dist: braindecode[docs]; extra == "all"
|
|
|
85
82
|
Requires-Dist: braindecode[hub]; extra == "all"
|
|
86
83
|
Requires-Dist: braindecode[eegprep]; extra == "all"
|
|
87
84
|
Requires-Dist: braindecode[typing]; extra == "all"
|
|
88
|
-
Requires-Dist: braindecode[viz]; extra == "all"
|
|
89
85
|
Dynamic: license-file
|
|
90
86
|
|
|
91
87
|
.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.17699192.svg
|
|
@@ -18,7 +18,7 @@ import shutil
|
|
|
18
18
|
import warnings
|
|
19
19
|
from abc import abstractmethod
|
|
20
20
|
from collections import Counter
|
|
21
|
-
from collections.abc import Callable
|
|
21
|
+
from collections.abc import Callable
|
|
22
22
|
from glob import glob
|
|
23
23
|
from pathlib import Path
|
|
24
24
|
from typing import Any, Generic, Iterable, no_type_check
|
|
@@ -1340,124 +1340,6 @@ class BaseConcatDataset(ConcatDataset, HubDatasetMixin, Generic[T]):
|
|
|
1340
1340
|
raise TypeError("target_transform must be a callable.")
|
|
1341
1341
|
self._target_transform = fn
|
|
1342
1342
|
|
|
1343
|
-
def set_target(self, column: Hashable) -> "BaseConcatDataset":
|
|
1344
|
-
"""Use ``column`` as the target ``y`` for every subdataset.
|
|
1345
|
-
|
|
1346
|
-
Dispatches on the subdataset type:
|
|
1347
|
-
|
|
1348
|
-
* For :class:`WindowsDataset` / :class:`EEGWindowsDataset`,
|
|
1349
|
-
``column`` is looked up in per-window ``metadata`` first, then in
|
|
1350
|
-
the per-record ``description`` (broadcast to every window). The
|
|
1351
|
-
resolved values overwrite ``ds.metadata['target']`` and ``ds.y``.
|
|
1352
|
-
For :class:`WindowsDataset`, the underlying ``ds.windows.metadata``
|
|
1353
|
-
is kept in sync so ``get_metadata()`` and the repr reflect the
|
|
1354
|
-
new target.
|
|
1355
|
-
* For :class:`RawDataset`, ``column`` must exist on the
|
|
1356
|
-
``description``. ``ds.target_name`` is set to ``column`` so
|
|
1357
|
-
``__getitem__`` reads ``description[column]`` as ``y`` on every
|
|
1358
|
-
access — no rebuild needed.
|
|
1359
|
-
|
|
1360
|
-
Parameters
|
|
1361
|
-
----------
|
|
1362
|
-
column : Hashable
|
|
1363
|
-
Name of a metadata column or description field (BIDS entity,
|
|
1364
|
-
participants.tsv extra, ...). Typically a string, but any
|
|
1365
|
-
hashable that pandas accepts as a column label is allowed.
|
|
1366
|
-
|
|
1367
|
-
Returns
|
|
1368
|
-
-------
|
|
1369
|
-
self : BaseConcatDataset
|
|
1370
|
-
|
|
1371
|
-
Raises
|
|
1372
|
-
------
|
|
1373
|
-
TypeError
|
|
1374
|
-
If any subdataset is not a :class:`WindowsDataset`,
|
|
1375
|
-
:class:`EEGWindowsDataset`, or :class:`RawDataset`, or if a
|
|
1376
|
-
windowed subdataset has lazy (non-DataFrame) metadata.
|
|
1377
|
-
ValueError
|
|
1378
|
-
If ``column`` is not present on a subdataset's metadata or
|
|
1379
|
-
description, or if a windowed subdataset has
|
|
1380
|
-
``targets_from='channels'`` (which would make this a silent
|
|
1381
|
-
no-op since ``__getitem__`` reads y from misc channels, not
|
|
1382
|
-
from ``metadata['target']``).
|
|
1383
|
-
"""
|
|
1384
|
-
for i, ds in enumerate(self.datasets):
|
|
1385
|
-
if isinstance(ds, (WindowsDataset, EEGWindowsDataset)):
|
|
1386
|
-
if not isinstance(ds.metadata, pd.DataFrame):
|
|
1387
|
-
# _LazyDataFrame (lazy_metadata=True) does not implement
|
|
1388
|
-
# .copy()/__setitem__, so the in-place write below would
|
|
1389
|
-
# raise AttributeError. Surface the precondition cleanly.
|
|
1390
|
-
raise TypeError(
|
|
1391
|
-
"set_target requires a materialized metadata "
|
|
1392
|
-
f"DataFrame; datasets[{i}].metadata is "
|
|
1393
|
-
f"{type(ds.metadata).__name__}. Re-window with "
|
|
1394
|
-
"lazy_metadata=False to use set_target."
|
|
1395
|
-
)
|
|
1396
|
-
if getattr(ds, "targets_from", "metadata") != "metadata":
|
|
1397
|
-
# __getitem__ would read y from misc channels; writing
|
|
1398
|
-
# metadata['target']/ds.y would be a silent no-op.
|
|
1399
|
-
raise ValueError(
|
|
1400
|
-
f"datasets[{i}] has targets_from="
|
|
1401
|
-
f"{ds.targets_from!r}; set_target only applies when "
|
|
1402
|
-
"targets_from='metadata' (otherwise __getitem__ "
|
|
1403
|
-
"derives y from misc channels and would ignore the "
|
|
1404
|
-
"rewritten target column)."
|
|
1405
|
-
)
|
|
1406
|
-
n = len(ds)
|
|
1407
|
-
md = ds.metadata
|
|
1408
|
-
if column in md.columns:
|
|
1409
|
-
values = md[column].iloc[:n].to_list()
|
|
1410
|
-
elif (
|
|
1411
|
-
isinstance(ds.description, pd.Series)
|
|
1412
|
-
and column in ds.description.index
|
|
1413
|
-
):
|
|
1414
|
-
values = [ds.description[column]] * n
|
|
1415
|
-
else:
|
|
1416
|
-
desc_keys = (
|
|
1417
|
-
list(ds.description.index)
|
|
1418
|
-
if isinstance(ds.description, pd.Series)
|
|
1419
|
-
else []
|
|
1420
|
-
)
|
|
1421
|
-
raise ValueError(
|
|
1422
|
-
f"Column {column!r} not found on datasets[{i}]: "
|
|
1423
|
-
f"metadata cols={list(md.columns)}, "
|
|
1424
|
-
f"description keys={desc_keys}."
|
|
1425
|
-
)
|
|
1426
|
-
# In-place write so the WindowsDataset's metadata and the
|
|
1427
|
-
# underlying mne.Epochs.metadata (which start as the same
|
|
1428
|
-
# object reference) both reflect the new target. Defensive
|
|
1429
|
-
# second write covers the case where they got de-aliased
|
|
1430
|
-
# earlier by a caller-side reassignment.
|
|
1431
|
-
md["target"] = values
|
|
1432
|
-
windows_obj = getattr(ds, "_windows", None)
|
|
1433
|
-
if windows_obj is not None and windows_obj.metadata is not md:
|
|
1434
|
-
windows_obj.metadata["target"] = values
|
|
1435
|
-
# values is already a fresh list (Series.to_list() / [x] * n);
|
|
1436
|
-
# no defensive copy needed — pandas keeps its own representation
|
|
1437
|
-
# for md["target"] so mutating ds.y won't reach back into it.
|
|
1438
|
-
ds.y = values
|
|
1439
|
-
elif isinstance(ds, RawDataset):
|
|
1440
|
-
if (
|
|
1441
|
-
not isinstance(ds.description, pd.Series)
|
|
1442
|
-
or column not in ds.description.index
|
|
1443
|
-
):
|
|
1444
|
-
desc_keys = (
|
|
1445
|
-
list(ds.description.index)
|
|
1446
|
-
if isinstance(ds.description, pd.Series)
|
|
1447
|
-
else []
|
|
1448
|
-
)
|
|
1449
|
-
raise ValueError(
|
|
1450
|
-
f"Column {column!r} not found on datasets[{i}] "
|
|
1451
|
-
f"description (keys={desc_keys})."
|
|
1452
|
-
)
|
|
1453
|
-
ds.target_name = column
|
|
1454
|
-
else:
|
|
1455
|
-
raise TypeError(
|
|
1456
|
-
"set_target requires WindowsDataset, EEGWindowsDataset, "
|
|
1457
|
-
f"or RawDataset; datasets[{i}] is {type(ds).__name__}."
|
|
1458
|
-
)
|
|
1459
|
-
return self
|
|
1460
|
-
|
|
1461
1343
|
def _outdated_save(self, path, overwrite=False):
|
|
1462
1344
|
"""This is a copy of the old saving function, that had inconsistent.
|
|
1463
1345
|
|
|
@@ -6,12 +6,10 @@
|
|
|
6
6
|
from __future__ import annotations
|
|
7
7
|
|
|
8
8
|
import os
|
|
9
|
-
import time
|
|
10
9
|
|
|
11
10
|
import mne
|
|
12
11
|
import numpy as np
|
|
13
12
|
import pandas as pd
|
|
14
|
-
import requests
|
|
15
13
|
from mne.datasets.sleep_physionet.age import fetch_data
|
|
16
14
|
|
|
17
15
|
from .base import BaseConcatDataset, RawDataset
|
|
@@ -61,19 +59,7 @@ class SleepPhysionet(BaseConcatDataset):
|
|
|
61
59
|
if recording_ids is None:
|
|
62
60
|
recording_ids = [1, 2]
|
|
63
61
|
|
|
64
|
-
|
|
65
|
-
retry_delay_s = 10
|
|
66
|
-
|
|
67
|
-
for attempt in range(max_attempts):
|
|
68
|
-
try:
|
|
69
|
-
paths = fetch_data(
|
|
70
|
-
subject_ids, recording=recording_ids, on_missing="warn"
|
|
71
|
-
)
|
|
72
|
-
break
|
|
73
|
-
except requests.exceptions.RequestException:
|
|
74
|
-
if attempt == max_attempts - 1:
|
|
75
|
-
raise
|
|
76
|
-
time.sleep(retry_delay_s)
|
|
62
|
+
paths = fetch_data(subject_ids, recording=recording_ids, on_missing="warn")
|
|
77
63
|
|
|
78
64
|
all_base_ds = list()
|
|
79
65
|
for p in paths:
|
|
@@ -4,11 +4,10 @@ from .atcnet import ATCNet
|
|
|
4
4
|
from .attentionbasenet import AttentionBaseNet
|
|
5
5
|
from .attn_sleep import AttnSleep
|
|
6
6
|
from .base import EEGModuleMixin
|
|
7
|
-
from .bendr import BENDR
|
|
8
|
-
from .biot import BIOT
|
|
7
|
+
from .bendr import BENDR
|
|
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
|
|
@@ -25,24 +24,20 @@ from .eegpt import EEGPT
|
|
|
25
24
|
from .eegsimpleconv import EEGSimpleConv
|
|
26
25
|
from .eegsym import EEGSym
|
|
27
26
|
from .eegtcnet import EEGTCNet
|
|
28
|
-
from .emg2qwerty import EMG2QwertyNet
|
|
29
27
|
from .fbcnet import FBCNet
|
|
30
28
|
from .fblightconvnet import FBLightConvNet
|
|
31
29
|
from .fbmsnet import FBMSNet
|
|
32
30
|
from .hybrid import HybridNet
|
|
33
31
|
from .ifnet import IFNet
|
|
34
|
-
from .
|
|
35
|
-
from .labram import InterpolatedLaBraM, Labram
|
|
32
|
+
from .labram import Labram
|
|
36
33
|
from .luna import LUNA
|
|
37
34
|
from .medformer import MEDFormer
|
|
38
|
-
from .meta_neuromotor import MetaNeuromotorHand
|
|
39
35
|
from .msvtnet import MSVTNet
|
|
40
36
|
from .patchedtransformer import PBT
|
|
41
37
|
from .reve import REVE
|
|
42
38
|
from .sccnet import SCCNet
|
|
43
39
|
from .shallow_fbcsp import ShallowFBCSPNet
|
|
44
40
|
from .signal_jepa import (
|
|
45
|
-
InterpolatedSignalJEPA,
|
|
46
41
|
SignalJEPA,
|
|
47
42
|
SignalJEPA_Contextual,
|
|
48
43
|
SignalJEPA_PostLocal,
|
|
@@ -77,7 +72,6 @@ __all__ = [
|
|
|
77
72
|
"BIOT",
|
|
78
73
|
"BENDR",
|
|
79
74
|
"CBraMod",
|
|
80
|
-
"CodeBrain",
|
|
81
75
|
"ContraWR",
|
|
82
76
|
"CTNet",
|
|
83
77
|
"Deep4Net",
|
|
@@ -96,18 +90,11 @@ __all__ = [
|
|
|
96
90
|
"EEGSimpleConv",
|
|
97
91
|
"EEGTCNet",
|
|
98
92
|
"DGCNN",
|
|
99
|
-
"EMG2QwertyNet",
|
|
100
93
|
"FBCNet",
|
|
101
94
|
"FBLightConvNet",
|
|
102
95
|
"FBMSNet",
|
|
103
|
-
"MetaNeuromotorHand",
|
|
104
96
|
"HybridNet",
|
|
105
97
|
"IFNet",
|
|
106
|
-
"InterpolatedBENDR",
|
|
107
|
-
"InterpolatedBIOT",
|
|
108
|
-
"InterpolatedLaBraM",
|
|
109
|
-
"InterpolatedModel",
|
|
110
|
-
"InterpolatedSignalJEPA",
|
|
111
98
|
"Labram",
|
|
112
99
|
"LUNA",
|
|
113
100
|
"extract_channel_locations_from_chs_info",
|
|
@@ -33,25 +33,13 @@ huggingface_hub = _soft_import(
|
|
|
33
33
|
HAS_HF_HUB = huggingface_hub is not False
|
|
34
34
|
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"Install with: pip install 'braindecode[hub]'"
|
|
39
|
-
)
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
class _BaseHubMixinStub:
|
|
43
|
-
@classmethod
|
|
44
|
-
def from_pretrained(cls, *args, **kwargs):
|
|
45
|
-
raise ImportError(f"{cls.__name__}.from_pretrained() {_HF_INSTALL_HINT}")
|
|
46
|
-
|
|
47
|
-
def push_to_hub(self, *args, **kwargs):
|
|
48
|
-
raise ImportError(f"{type(self).__name__}.push_to_hub() {_HF_INSTALL_HINT}")
|
|
36
|
+
class _BaseHubMixin:
|
|
37
|
+
pass
|
|
49
38
|
|
|
50
39
|
|
|
51
40
|
# Define base class for hub mixin
|
|
52
|
-
|
|
53
|
-
huggingface_hub.PyTorchModelHubMixin
|
|
54
|
-
)
|
|
41
|
+
if HAS_HF_HUB:
|
|
42
|
+
_BaseHubMixin: Type = huggingface_hub.PyTorchModelHubMixin # type: ignore
|
|
55
43
|
|
|
56
44
|
|
|
57
45
|
def deprecated_args(obj, *old_new_args):
|
|
@@ -1,60 +1,12 @@
|
|
|
1
1
|
import copy
|
|
2
2
|
|
|
3
|
-
import numpy as np
|
|
4
3
|
import torch
|
|
5
4
|
from einops.layers.torch import Rearrange
|
|
6
5
|
from torch import nn
|
|
6
|
+
from torch.nn.utils.parametrize import register_parametrization
|
|
7
7
|
|
|
8
8
|
from braindecode.models.base import EEGModuleMixin
|
|
9
|
-
|
|
10
|
-
# The 20 channels used to pre-train BENDR, in the order expected by the
|
|
11
|
-
# `braindecode/braindecode-bendr` checkpoint. The first 19 entries are the
|
|
12
|
-
# EEG channels taken verbatim from `dn3.transforms.instance.To1020.EEG_20_div`
|
|
13
|
-
# (https://github.com/SPOClab-ca/dn3/blob/master/dn3/transforms/instance.py).
|
|
14
|
-
# Their positions come from MNE's ``standard_1005`` montage (T5/T6 are
|
|
15
|
-
# legacy names that share positions with P7/P8 there).
|
|
16
|
-
#
|
|
17
|
-
# The 20th entry is ``SCALE``, a relative-amplitude statistic (not an
|
|
18
|
-
# electrode) appended by ``To1020(include_scale_ch=True)`` during
|
|
19
|
-
# pre-training. Since it has no physical position, the ``loc`` below is
|
|
20
|
-
# the centroid of the 19 EEG positions — purely a placeholder so that
|
|
21
|
-
# :class:`~braindecode.modules.ChannelInterpolationLayer` (used by
|
|
22
|
-
# :class:`InterpolatedBENDR`) can build a valid spline interpolation
|
|
23
|
-
# matrix. It is NOT the SCALE the pre-training pipeline computes
|
|
24
|
-
# (which is an RMS-like amplitude via ``dn3.MappingDeep1010``); users
|
|
25
|
-
# who need a faithful SCALE must compute it themselves and feed 20
|
|
26
|
-
# channels to :class:`BENDR` directly.
|
|
27
|
-
_BENDR_TARGET_CHS_TUPLES: list[tuple[str, tuple[float, float, float]]] = [
|
|
28
|
-
("FP1", (-0.0294367, +0.0839171, -0.0069900)), # standard_1005
|
|
29
|
-
("FP2", (+0.0298723, +0.0848959, -0.0070800)), # standard_1005
|
|
30
|
-
("F7", (-0.0702629, +0.0424743, -0.0114200)), # standard_1005
|
|
31
|
-
("F3", (-0.0502438, +0.0531112, +0.0421920)), # standard_1005
|
|
32
|
-
("FZ", (+0.0003122, +0.0585120, +0.0664620)), # standard_1005
|
|
33
|
-
("F4", (+0.0518362, +0.0543048, +0.0408140)), # standard_1005
|
|
34
|
-
("F8", (+0.0730431, +0.0444217, -0.0120000)), # standard_1005
|
|
35
|
-
("T7", (-0.0841611, -0.0160187, -0.0093460)), # standard_1005
|
|
36
|
-
("C3", (-0.0653581, -0.0116317, +0.0643580)), # standard_1005
|
|
37
|
-
("CZ", (+0.0004009, -0.0091670, +0.1002440)), # standard_1005
|
|
38
|
-
("C4", (+0.0671179, -0.0109003, +0.0635800)), # standard_1005
|
|
39
|
-
("T8", (+0.0850799, -0.0150203, -0.0094900)), # standard_1005
|
|
40
|
-
("T5", (-0.0724343, -0.0734527, -0.0024870)), # standard_1005 (= P7)
|
|
41
|
-
("P3", (-0.0530073, -0.0787878, +0.0559400)), # standard_1005
|
|
42
|
-
("PZ", (+0.0003247, -0.0811150, +0.0826150)), # standard_1005
|
|
43
|
-
("P4", (+0.0556667, -0.0785602, +0.0565610)), # standard_1005
|
|
44
|
-
("T6", (+0.0730557, -0.0730683, -0.0025400)), # standard_1005 (= P8)
|
|
45
|
-
("O1", (-0.0294134, -0.1124490, +0.0088390)), # standard_1005
|
|
46
|
-
("O2", (+0.0298426, -0.1121560, +0.0088000)), # standard_1005
|
|
47
|
-
(
|
|
48
|
-
"SCALE",
|
|
49
|
-
(+0.0006439, -0.0131942, +0.0278448),
|
|
50
|
-
), # centroid of the 19 EEG positions (placeholder; see comment above)
|
|
51
|
-
]
|
|
52
|
-
|
|
53
|
-
_BENDR_TARGET_CHS_INFO: list[dict] = [
|
|
54
|
-
{"ch_name": ch, "kind": "eeg", "loc": np.asarray(loc, dtype=float)}
|
|
55
|
-
for ch, loc in _BENDR_TARGET_CHS_TUPLES
|
|
56
|
-
]
|
|
57
|
-
BENDR_CHANNEL_ORDER: list[str] = [ch for ch, _ in _BENDR_TARGET_CHS_TUPLES]
|
|
9
|
+
from braindecode.modules.parametrization import MaxNormParametrize
|
|
58
10
|
|
|
59
11
|
|
|
60
12
|
class BENDR(EEGModuleMixin, nn.Module):
|
|
@@ -243,6 +195,15 @@ class BENDR(EEGModuleMixin, nn.Module):
|
|
|
243
195
|
The contextualizer is still created (to allow loading pretrained weights) but is not
|
|
244
196
|
used in the forward pass. Requires input length of at least
|
|
245
197
|
``4 * product(enc_downsample)`` samples (384 with default downsampling of 96x).
|
|
198
|
+
n_chans_pretrained : int or None, default=None
|
|
199
|
+
Number of input channels the pretrained weights expect (20 for the official BENDR
|
|
200
|
+
checkpoint). When set and ``n_chans != n_chans_pretrained``, a 1x1 Conv1d with
|
|
201
|
+
max-norm constraint projects from ``n_chans`` to ``n_chans_pretrained`` before the
|
|
202
|
+
encoder. This allows fine-tuning pretrained BENDR on datasets with arbitrary channel
|
|
203
|
+
counts. When using ``from_pretrained``, pass ``strict=False`` since the checkpoint
|
|
204
|
+
will not contain ``channel_projection`` weights.
|
|
205
|
+
chan_proj_max_norm : float, default=1.0
|
|
206
|
+
Max-norm constraint value for the channel projection weights.
|
|
246
207
|
"""
|
|
247
208
|
|
|
248
209
|
def __init__(
|
|
@@ -270,6 +231,8 @@ class BENDR(EEGModuleMixin, nn.Module):
|
|
|
270
231
|
start_token=-5, # Value for start token embedding
|
|
271
232
|
final_layer=True, # Whether to include the final linear layer
|
|
272
233
|
encoder_only=False, # If True, bypass contextualizer and use 4-chunk pooling
|
|
234
|
+
n_chans_pretrained=None, # Expected input channels of pretrained weights
|
|
235
|
+
chan_proj_max_norm=1.0, # Max-norm for channel projection weights
|
|
273
236
|
):
|
|
274
237
|
super().__init__(
|
|
275
238
|
n_outputs=n_outputs,
|
|
@@ -283,34 +246,25 @@ class BENDR(EEGModuleMixin, nn.Module):
|
|
|
283
246
|
# Keep these parameters if needed later, otherwise they are captured by the mixin
|
|
284
247
|
del n_outputs, n_chans, chs_info, n_times, input_window_seconds, sfreq
|
|
285
248
|
|
|
286
|
-
# If the user supplies chs_info, require it to match BENDR_CHANNEL_ORDER
|
|
287
|
-
# exactly (case-insensitive). Arbitrary channel sets should go through
|
|
288
|
-
# InterpolatedBENDR — same pattern as Labram / InterpolatedLaBraM.
|
|
289
|
-
# When chs_info is absent (the usual n_chans=20 path, incl.
|
|
290
|
-
# from_pretrained), no check is performed.
|
|
291
|
-
try:
|
|
292
|
-
_chs_info = self.chs_info
|
|
293
|
-
except ValueError:
|
|
294
|
-
_chs_info = None
|
|
295
|
-
if _chs_info is not None:
|
|
296
|
-
user_names = [ch["ch_name"] for ch in _chs_info] # type: ignore[index]
|
|
297
|
-
canonical = BENDR_CHANNEL_ORDER
|
|
298
|
-
if [n.lower() for n in user_names] != [n.lower() for n in canonical]:
|
|
299
|
-
raise ValueError(
|
|
300
|
-
f"BENDR requires chs_info to match BENDR_CHANNEL_ORDER exactly "
|
|
301
|
-
f"({len(canonical)} channels, specific order; last is 'SCALE'). "
|
|
302
|
-
f"Got {len(user_names)} channel(s). For arbitrary channel sets, "
|
|
303
|
-
f"use InterpolatedBENDR "
|
|
304
|
-
f"(from braindecode.models import InterpolatedBENDR)."
|
|
305
|
-
)
|
|
306
|
-
|
|
307
249
|
self.encoder_h = encoder_h
|
|
308
250
|
self.contextualizer_hidden = contextualizer_hidden
|
|
309
251
|
self.include_final_layer = final_layer
|
|
310
252
|
self.encoder_only = encoder_only
|
|
311
253
|
|
|
254
|
+
# Channel projection for pretrained weight compatibility
|
|
255
|
+
encoder_n_chans = self.n_chans
|
|
256
|
+
if n_chans_pretrained is not None and self.n_chans != n_chans_pretrained:
|
|
257
|
+
conv = nn.Conv1d(self.n_chans, n_chans_pretrained, 1, bias=False)
|
|
258
|
+
register_parametrization(
|
|
259
|
+
conv, "weight", MaxNormParametrize(chan_proj_max_norm)
|
|
260
|
+
)
|
|
261
|
+
self.channel_projection = conv
|
|
262
|
+
encoder_n_chans = n_chans_pretrained
|
|
263
|
+
else:
|
|
264
|
+
self.channel_projection = None
|
|
265
|
+
|
|
312
266
|
self.encoder = _ConvEncoderBENDR(
|
|
313
|
-
in_features=
|
|
267
|
+
in_features=encoder_n_chans,
|
|
314
268
|
encoder_h=encoder_h,
|
|
315
269
|
dropout=drop_prob,
|
|
316
270
|
projection_head=projection_head,
|
|
@@ -354,6 +308,8 @@ class BENDR(EEGModuleMixin, nn.Module):
|
|
|
354
308
|
self._build_head(n_outputs)
|
|
355
309
|
|
|
356
310
|
def forward(self, x, return_features=False):
|
|
311
|
+
if self.channel_projection is not None:
|
|
312
|
+
x = self.channel_projection(x)
|
|
357
313
|
encoded = self.encoder(x)
|
|
358
314
|
# encoded: [batch_size, encoder_h, n_encoded_times]
|
|
359
315
|
|
|
@@ -596,23 +552,3 @@ class _BENDRContextualizer(nn.Module):
|
|
|
596
552
|
# x: [batch_size, in_features, seq_len + 1]
|
|
597
553
|
|
|
598
554
|
return x
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
# -----------------------------------------------------------------------------
|
|
602
|
-
# InterpolatedBENDR — experimental channel-interpolation variant of BENDR
|
|
603
|
-
# -----------------------------------------------------------------------------
|
|
604
|
-
# Wraps :class:`BENDR` with an MNE-backed channel-interpolation layer that
|
|
605
|
-
# projects arbitrary user ``chs_info`` to the canonical 20-channel BENDR
|
|
606
|
-
# input (:data:`_BENDR_TARGET_CHS_INFO` — the 19 pre-training EEG channels
|
|
607
|
-
# plus a ``SCALE`` placeholder at the centroid of those 19 positions).
|
|
608
|
-
# Frozen by default; set ``trainable=True`` to fine-tune the projection.
|
|
609
|
-
#
|
|
610
|
-
# NOTE: the ``SCALE`` target has no physical position, so the row of the
|
|
611
|
-
# interpolation matrix that produces it is a spatial spline of the user's
|
|
612
|
-
# EEG channels — *not* the dn3 ``MappingDeep1010`` RMS statistic the
|
|
613
|
-
# checkpoint saw during pre-training. Expect degraded zero-shot transfer
|
|
614
|
-
# from the SCALE channel; downstream fine-tuning should still work.
|
|
615
|
-
|
|
616
|
-
from braindecode.models.interpolated import InterpolatedModel # noqa: E402
|
|
617
|
-
|
|
618
|
-
InterpolatedBENDR = InterpolatedModel(BENDR, _BENDR_TARGET_CHS_INFO)
|
|
@@ -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)
|
|
@@ -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
|