braindecode 0.6__tar.gz → 0.7__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-0.7/Braindecode.egg-info/PKG-INFO +180 -0
- Braindecode-0.7/Braindecode.egg-info/SOURCES.txt +113 -0
- Braindecode-0.7/PKG-INFO +180 -0
- {Braindecode-0.6 → Braindecode-0.7}/README.rst +67 -14
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/augmentation/base.py +21 -9
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/augmentation/functional.py +50 -86
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/augmentation/transforms.py +23 -14
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/classifier.py +11 -3
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/datasets/base.py +5 -4
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/datautil/serialization.py +2 -2
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/models/__init__.py +3 -1
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/models/deep4.py +59 -8
- Braindecode-0.7/braindecode/models/eeginception.py +278 -0
- Braindecode-0.7/braindecode/models/eegitnet.py +199 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/models/modules.py +1 -1
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/models/shallow_fbcsp.py +34 -1
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/preprocessing/__init__.py +1 -1
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/preprocessing/preprocess.py +14 -71
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/preprocessing/windowers.py +19 -13
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/regressor.py +12 -3
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/training/scoring.py +19 -2
- Braindecode-0.7/braindecode/version.py +1 -0
- {Braindecode-0.6 → Braindecode-0.7}/docs/api.rst +3 -1
- Braindecode-0.7/docs/cite.rst +65 -0
- {Braindecode-0.6 → Braindecode-0.7}/docs/conf.py +149 -12
- Braindecode-0.7/docs/help.rst +75 -0
- Braindecode-0.7/docs/index.rst +61 -0
- Braindecode-0.7/docs/install.rst +55 -0
- Braindecode-0.7/docs/starting.rst +21 -0
- {Braindecode-0.6 → Braindecode-0.7}/docs/whats_new.rst +52 -5
- {Braindecode-0.6 → Braindecode-0.7}/setup.cfg +2 -1
- {Braindecode-0.6 → Braindecode-0.7}/test/acceptance_tests/test_cropped_decoding.py +15 -15
- {Braindecode-0.6 → Braindecode-0.7}/test/acceptance_tests/test_model_architectures.py +2 -1
- {Braindecode-0.6 → Braindecode-0.7}/test/acceptance_tests/test_variable_length_trials_decoding.py +1 -1
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/augmentation/test_base.py +11 -6
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/augmentation/test_transforms.py +3 -1
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/datasets/test_dataset.py +13 -2
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/datautil/test_serialization.py +1 -1
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/models/test_models.py +72 -7
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/preprocessing/test_preprocess.py +5 -75
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/preprocessing/test_windowers.py +2 -2
- Braindecode-0.6/.circleci/artifact_path +0 -1
- Braindecode-0.6/.circleci/config.yml +0 -56
- Braindecode-0.6/.github/workflows/flake8.yaml +0 -23
- Braindecode-0.6/.github/workflows/link-to-doc.yaml +0 -13
- Braindecode-0.6/.github/workflows/push-artifact-to-circleci.yml +0 -47
- Braindecode-0.6/.github/workflows/tests-and-docs.yml +0 -98
- Braindecode-0.6/.gitignore +0 -63
- Braindecode-0.6/Braindecode.egg-info/PKG-INFO +0 -124
- Braindecode-0.6/Braindecode.egg-info/SOURCES.txt +0 -228
- Braindecode-0.6/CONTRIBUTING.md +0 -265
- Braindecode-0.6/PKG-INFO +0 -124
- Braindecode-0.6/bandit.yml +0 -1
- Braindecode-0.6/braindecode/version.py +0 -1
- Braindecode-0.6/codecov.yml +0 -14
- Braindecode-0.6/docs/.ipynb_checkpoints/index-checkpoint.rst +0 -129
- Braindecode-0.6/docs/_build/html/_downloads/0b5ce52c808a6ba6c8e9d78fa3fdb68a/plot_color.ipynb +0 -68
- Braindecode-0.6/docs/_build/html/_downloads/1224801107d6c3b138edf8ee33de0561/plot_bcic_iv_2a_moabb_cropped.ipynb +0 -275
- Braindecode-0.6/docs/_build/html/_downloads/176a7695926ccfe061692c4af12b673d/plot_dataset_example.ipynb +0 -252
- Braindecode-0.6/docs/_build/html/_downloads/25408d8d92a873e370d4750ba414b84a/benchmark_lazy_eager_loading.ipynb +0 -194
- Braindecode-0.6/docs/_build/html/_downloads/3e0455c88adcaa2571230abb981020db/plot_relative_positioning.ipynb +0 -375
- Braindecode-0.6/docs/_build/html/_downloads/4855a497085ac8dc60a648bf4a72d647/plot_load_save_datasets.ipynb +0 -180
- Braindecode-0.6/docs/_build/html/_downloads/49b1f19a86467aeaf762a1550583a845/plot_custom_dataset_example.ipynb +0 -144
- Braindecode-0.6/docs/_build/html/_downloads/5bafba0488197e377d459780399abb29/plot_sleep_staging.ipynb +0 -293
- Braindecode-0.6/docs/_build/html/_downloads/748680401b0360239d00624375dd9587/plot_bcic_iv_2a_moabb_trial.ipynb +0 -232
- Braindecode-0.6/docs/_build/html/_downloads/8c06a965e21b52d199f98636388aaa21/tuh_eeg_corpus.ipynb +0 -180
- Braindecode-0.6/docs/_build/html/_downloads/9c64c2c15907a661b1fe2d7dd209a434/plot_regression.ipynb +0 -54
- Braindecode-0.6/docs/_build/html/_downloads/9d9b9ce2b20299db6129837e390cf198/plot_lukas.ipynb +0 -198
- Braindecode-0.6/docs/_build/html/_downloads/b38e40c9ee338673865922575e84fd7f/plot_split_dataset.ipynb +0 -184
- Braindecode-0.6/docs/_build/html/_downloads/e42b5bd97033be02521040b0d5ee21c3/plot_mne_dataset_example.ipynb +0 -115
- Braindecode-0.6/docs/_static/cropped_explanation.png +0 -0
- Braindecode-0.6/docs/_static/trialwise_explanation.png +0 -0
- Braindecode-0.6/docs/auto_examples/benchmark_lazy_eager_loading.ipynb +0 -194
- Braindecode-0.6/docs/auto_examples/benchmark_lazy_eager_loading.rst +0 -429
- Braindecode-0.6/docs/auto_examples/index.rst +0 -332
- Braindecode-0.6/docs/auto_examples/plot_bcic_iv_2a_moabb_cropped.ipynb +0 -275
- Braindecode-0.6/docs/auto_examples/plot_bcic_iv_2a_moabb_cropped.rst +0 -549
- Braindecode-0.6/docs/auto_examples/plot_bcic_iv_2a_moabb_trial.ipynb +0 -232
- Braindecode-0.6/docs/auto_examples/plot_bcic_iv_2a_moabb_trial.rst +0 -764
- Braindecode-0.6/docs/auto_examples/plot_color.ipynb +0 -68
- Braindecode-0.6/docs/auto_examples/plot_color.rst +0 -141
- Braindecode-0.6/docs/auto_examples/plot_custom_dataset_example.ipynb +0 -144
- Braindecode-0.6/docs/auto_examples/plot_custom_dataset_example.rst +0 -375
- Braindecode-0.6/docs/auto_examples/plot_dataset_example.ipynb +0 -252
- Braindecode-0.6/docs/auto_examples/plot_dataset_example.rst +0 -938
- Braindecode-0.6/docs/auto_examples/plot_load_save_datasets.ipynb +0 -180
- Braindecode-0.6/docs/auto_examples/plot_load_save_datasets.rst +0 -530
- Braindecode-0.6/docs/auto_examples/plot_lukas.ipynb +0 -198
- Braindecode-0.6/docs/auto_examples/plot_lukas.rst +0 -487
- Braindecode-0.6/docs/auto_examples/plot_mne_dataset_example.ipynb +0 -115
- Braindecode-0.6/docs/auto_examples/plot_mne_dataset_example.rst +0 -414
- Braindecode-0.6/docs/auto_examples/plot_regression.ipynb +0 -54
- Braindecode-0.6/docs/auto_examples/plot_regression.rst +0 -314
- Braindecode-0.6/docs/auto_examples/plot_relative_positioning.ipynb +0 -375
- Braindecode-0.6/docs/auto_examples/plot_relative_positioning.rst +0 -1005
- Braindecode-0.6/docs/auto_examples/plot_sleep_staging.ipynb +0 -293
- Braindecode-0.6/docs/auto_examples/plot_sleep_staging.rst +0 -672
- Braindecode-0.6/docs/auto_examples/plot_split_dataset.ipynb +0 -184
- Braindecode-0.6/docs/auto_examples/plot_split_dataset.rst +0 -664
- Braindecode-0.6/docs/auto_examples/sg_execution_times.rst +0 -38
- Braindecode-0.6/docs/auto_examples/tuh_eeg_corpus.ipynb +0 -180
- Braindecode-0.6/docs/auto_examples/tuh_eeg_corpus.rst +0 -353
- Braindecode-0.6/docs/generated/braindecode.classifier.EEGClassifier.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.datasets.BaseConcatDataset.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.datasets.BaseDataset.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.datasets.MOABBDataset.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.datasets.SleepPhysionet.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.datasets.TUH.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.datasets.TUHAbnormal.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.datasets.WindowsDataset.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.datasets.create_from_X_y.rst +0 -12
- Braindecode-0.6/docs/generated/braindecode.datasets.create_from_mne_epochs.rst +0 -12
- Braindecode-0.6/docs/generated/braindecode.datasets.create_from_mne_raw.rst +0 -12
- Braindecode-0.6/docs/generated/braindecode.datautil.load_concat_dataset.rst +0 -12
- Braindecode-0.6/docs/generated/braindecode.datautil.save_concat_dataset.rst +0 -12
- Braindecode-0.6/docs/generated/braindecode.models.Deep4Net.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.models.EEGNetv1.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.models.EEGNetv4.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.models.EEGResNet.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.models.HybridNet.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.models.ShallowFBCSPNet.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.models.SleepStagerChambon2018.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.models.TCN.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.models.TIDNet.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.models.get_output_shape.rst +0 -12
- Braindecode-0.6/docs/generated/braindecode.preprocessing.Preprocessor.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.preprocessing.create_fixed_length_windows.rst +0 -12
- Braindecode-0.6/docs/generated/braindecode.preprocessing.create_windows_from_events.rst +0 -12
- Braindecode-0.6/docs/generated/braindecode.preprocessing.exponential_moving_demean.rst +0 -12
- Braindecode-0.6/docs/generated/braindecode.preprocessing.exponential_moving_standardize.rst +0 -12
- Braindecode-0.6/docs/generated/braindecode.preprocessing.filterbank.rst +0 -12
- Braindecode-0.6/docs/generated/braindecode.preprocessing.preprocess.rst +0 -12
- Braindecode-0.6/docs/generated/braindecode.preprocessing.scale.rst +0 -12
- Braindecode-0.6/docs/generated/braindecode.preprocessing.zscore.rst +0 -12
- Braindecode-0.6/docs/generated/braindecode.regressor.EEGRegressor.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.samplers.RecordingSampler.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.samplers.RelativePositioningSampler.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.training.CroppedLoss.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.training.CroppedTrialEpochScoring.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.training.PostEpochTrainScoring.rst +0 -14
- Braindecode-0.6/docs/generated/braindecode.training.trial_preds_from_window_preds.rst +0 -12
- Braindecode-0.6/docs/generated/braindecode.util.set_random_seeds.rst +0 -12
- Braindecode-0.6/docs/generated/braindecode.visualization.compute_amplitude_gradients.rst +0 -12
- Braindecode-0.6/docs/index.rst +0 -129
- Braindecode-0.6/docs/requirements.txt +0 -6
- Braindecode-0.6/docs/sphinxext/gh_substitutions.py +0 -30
- Braindecode-0.6/environment.yml +0 -22
- Braindecode-0.6/examples/README.rst +0 -2
- Braindecode-0.6/examples/benchmark_lazy_eager_loading.py +0 -319
- Braindecode-0.6/examples/plot_bcic_iv_2a_moabb_cropped.py +0 -348
- Braindecode-0.6/examples/plot_bcic_iv_2a_moabb_trial.py +0 -317
- Braindecode-0.6/examples/plot_bcic_iv_4_ecog_cropped.py +0 -435
- Braindecode-0.6/examples/plot_bcic_iv_4_ecog_trial.py +0 -394
- Braindecode-0.6/examples/plot_benchmark_preprocessing.py +0 -167
- Braindecode-0.6/examples/plot_custom_dataset_example.py +0 -64
- Braindecode-0.6/examples/plot_data_augmentation.py +0 -275
- Braindecode-0.6/examples/plot_dataset_example.py +0 -140
- Braindecode-0.6/examples/plot_load_save_datasets.py +0 -97
- Braindecode-0.6/examples/plot_mne_dataset_example.py +0 -60
- Braindecode-0.6/examples/plot_regression.py +0 -140
- Braindecode-0.6/examples/plot_relative_positioning.py +0 -533
- Braindecode-0.6/examples/plot_sleep_staging_usleep.py +0 -316
- Braindecode-0.6/examples/plot_split_dataset.py +0 -74
- Braindecode-0.6/examples/plot_tuh_discrete_multitarget.py +0 -101
- Braindecode-0.6/examples/plot_tuh_eeg_corpus.py +0 -243
- Braindecode-0.6/requirements.txt +0 -8
- Braindecode-0.6/test/unit_tests/samplers/test_samplers.py +0 -203
- {Braindecode-0.6 → Braindecode-0.7}/Braindecode.egg-info/dependency_links.txt +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/Braindecode.egg-info/not-zip-safe +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/Braindecode.egg-info/requires.txt +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/Braindecode.egg-info/top_level.txt +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/LICENSE.txt +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/MANIFEST.in +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/__init__.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/augmentation/__init__.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/datasets/__init__.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/datasets/bbci.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/datasets/bcicomp.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/datasets/mne.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/datasets/moabb.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/datasets/sleep_physionet.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/datasets/tuh.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/datasets/xy.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/datautil/__init__.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/datautil/mne.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/datautil/preprocess.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/datautil/util.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/datautil/windowers.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/datautil/xy.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/models/eegnet.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/models/eegresnet.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/models/functions.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/models/hybrid.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/models/sleep_stager_blanco_2020.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/models/sleep_stager_chambon_2018.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/models/sleep_stager_eldele_2021.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/models/tcn.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/models/tidnet.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/models/usleep.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/models/util.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/samplers/__init__.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/samplers/base.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/samplers/ssl.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/training/__init__.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/training/callbacks.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/training/losses.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/util.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/visualization/__init__.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/visualization/confusion_matrices.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/braindecode/visualization/gradients.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/docs/Makefile +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/docs/_templates/autosummary/class.rst +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/docs/_templates/autosummary/function.rst +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/setup.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/__init__.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/acceptance_tests/__init__.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/acceptance_tests/test_eeg_classifier.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/acceptance_tests/test_trialwise_decoding.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/__init__.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/augmentation/__init__.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/augmentation/conftest.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/datasets/__init__.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/datasets/test_bcicomp.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/datasets/test_mne.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/datasets/test_sleep_physionet.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/datasets/test_tuh.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/datasets/test_xy.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/datautil/__init__.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/models/__init__.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/models/test_modules.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/models/test_util.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/preprocessing/__init__.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/test_eeg_classifier.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/test_eeg_regressor.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/test_util.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/training/__init__.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/training/test_losses.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/training/test_scoring.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/visualization/__init__.py +0 -0
- {Braindecode-0.6 → Braindecode-0.7}/test/unit_tests/visualization/test_gradients.py +0 -0
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: Braindecode
|
|
3
|
+
Version: 0.7
|
|
4
|
+
Summary: A deep learning toolbox to decode raw time-domain EEG.
|
|
5
|
+
Home-page: https://github.com/braindecode/braindecode
|
|
6
|
+
Author: Robin Tibor Schirrmeister
|
|
7
|
+
Author-email: robintibor@gmail.com
|
|
8
|
+
License: BSD 3-Clause
|
|
9
|
+
Keywords: eeg deep-learning brain-state-decoding
|
|
10
|
+
Platform: UNKNOWN
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: Intended Audience :: Science/Research
|
|
14
|
+
Classifier: Topic :: Software Development :: Build Tools
|
|
15
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
16
|
+
Classifier: License :: OSI Approved :: BSD License
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.7
|
|
18
|
+
License-File: LICENSE.txt
|
|
19
|
+
|
|
20
|
+
.. image:: https://badges.gitter.im/braindecodechat/community.svg
|
|
21
|
+
:alt: Join the chat at https://gitter.im/braindecodechat/community
|
|
22
|
+
:target: https://gitter.im/braindecodechat/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
|
|
23
|
+
|
|
24
|
+
.. image:: https://github.com/braindecode/braindecode/workflows/tests-and-docs/badge.svg
|
|
25
|
+
:target: https://github.com/braindecode/braindecode/actions
|
|
26
|
+
|
|
27
|
+
.. image:: https://circleci.com/gh/braindecode/braindecode.svg?style=svg
|
|
28
|
+
:target: https://circleci.com/gh/braindecode/braindecode
|
|
29
|
+
:alt: Doc build on CircleCI
|
|
30
|
+
|
|
31
|
+
.. image:: https://codecov.io/gh/braindecode/braindecode/branch/master/graph/badge.svg
|
|
32
|
+
:target: https://codecov.io/gh/braindecode/braindecode
|
|
33
|
+
:alt: Code Coverage
|
|
34
|
+
|
|
35
|
+
.. |Braindecode| image:: https://user-images.githubusercontent.com/42702466/177958779-b00628aa-9155-4c51-96d1-d8c345aff575.svg
|
|
36
|
+
.. _braindecode: braindecode.org/
|
|
37
|
+
|
|
38
|
+
Braindecode
|
|
39
|
+
===========
|
|
40
|
+
|
|
41
|
+
Braindecode is an open-source Python toolbox for decoding raw electrophysiological brain
|
|
42
|
+
data with deep learning models. It includes dataset fetchers, data preprocessing and
|
|
43
|
+
visualization tools, as well as implementations of several deep learning
|
|
44
|
+
architectures and data augmentations for analysis of EEG, ECoG and MEG.
|
|
45
|
+
|
|
46
|
+
For neuroscientists who want to work with deep learning and
|
|
47
|
+
deep learning researchers who want to work with neurophysiological data.
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
Installation Braindecode
|
|
51
|
+
========================
|
|
52
|
+
|
|
53
|
+
1. Install pytorch from http://pytorch.org/ (you don't need to install torchvision).
|
|
54
|
+
|
|
55
|
+
2. Install `MOABB <https://github.com/NeuroTechX/moabb>`_ via pip (needed if you want to use MOABB datasets utilities):
|
|
56
|
+
|
|
57
|
+
.. code-block:: bash
|
|
58
|
+
|
|
59
|
+
pip install moabb
|
|
60
|
+
|
|
61
|
+
3. Install latest release of braindecode via pip:
|
|
62
|
+
|
|
63
|
+
.. code-block:: bash
|
|
64
|
+
|
|
65
|
+
pip install braindecode
|
|
66
|
+
|
|
67
|
+
alternatively, if you use conda, you could create a dedicated environment with the following:
|
|
68
|
+
|
|
69
|
+
.. code-block:: bash
|
|
70
|
+
|
|
71
|
+
curl -O https://raw.githubusercontent.com/braindecode/braindecode/master/environment.yml
|
|
72
|
+
conda env create -f environment.yml
|
|
73
|
+
conda activate braindecode
|
|
74
|
+
|
|
75
|
+
alternatively, install the latest version of braindecode via pip:
|
|
76
|
+
|
|
77
|
+
.. code-block:: bash
|
|
78
|
+
|
|
79
|
+
pip install -U https://api.github.com/repos/braindecode/braindecode/zipball/master
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
Documentation
|
|
83
|
+
=============
|
|
84
|
+
|
|
85
|
+
Documentation is online under https://braindecode.org, both in the stable and dev versions.
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
Contributing to Braindecode
|
|
89
|
+
===========================
|
|
90
|
+
|
|
91
|
+
Guidelines for contributing to the library can be found on the braindecode github:
|
|
92
|
+
|
|
93
|
+
https://github.com/braindecode/braindecode/blob/master/CONTRIBUTING.md
|
|
94
|
+
|
|
95
|
+
Braindecode chat
|
|
96
|
+
================
|
|
97
|
+
|
|
98
|
+
https://gitter.im/braindecodechat/community
|
|
99
|
+
|
|
100
|
+
Citing
|
|
101
|
+
======
|
|
102
|
+
|
|
103
|
+
If you use this code in a scientific publication, please cite us as:
|
|
104
|
+
|
|
105
|
+
.. code-block:: bibtex
|
|
106
|
+
|
|
107
|
+
@article {HBM:HBM23730,
|
|
108
|
+
author = {Schirrmeister, Robin Tibor and Springenberg, Jost Tobias and Fiederer,
|
|
109
|
+
Lukas Dominique Josef and Glasstetter, Martin and Eggensperger, Katharina and Tangermann, Michael and
|
|
110
|
+
Hutter, Frank and Burgard, Wolfram and Ball, Tonio},
|
|
111
|
+
title = {Deep learning with convolutional neural networks for EEG decoding and visualization},
|
|
112
|
+
journal = {Human Brain Mapping},
|
|
113
|
+
issn = {1097-0193},
|
|
114
|
+
url = {http://dx.doi.org/10.1002/hbm.23730},
|
|
115
|
+
doi = {10.1002/hbm.23730},
|
|
116
|
+
month = {aug},
|
|
117
|
+
year = {2017},
|
|
118
|
+
keywords = {electroencephalography, EEG analysis, machine learning, end-to-end learning, brain–machine interface,
|
|
119
|
+
brain–computer interface, model interpretability, brain mapping},
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
as well as the `MNE-Python <https://mne.tools>`_ software that is used by braindecode:
|
|
123
|
+
|
|
124
|
+
.. code-block:: bibtex
|
|
125
|
+
|
|
126
|
+
@article{10.3389/fnins.2013.00267,
|
|
127
|
+
author={Gramfort, Alexandre and Luessi, Martin and Larson, Eric and Engemann, Denis and Strohmeier, Daniel and Brodbeck, Christian and Goj, Roman and Jas, Mainak and Brooks, Teon and Parkkonen, Lauri and Hämäläinen, Matti},
|
|
128
|
+
title={{MEG and EEG data analysis with MNE-Python}},
|
|
129
|
+
journal={Frontiers in Neuroscience},
|
|
130
|
+
volume={7},
|
|
131
|
+
pages={267},
|
|
132
|
+
year={2013},
|
|
133
|
+
url={https://www.frontiersin.org/article/10.3389/fnins.2013.00267},
|
|
134
|
+
doi={10.3389/fnins.2013.00267},
|
|
135
|
+
issn={1662-453X},
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
Licensing
|
|
142
|
+
^^^^^^^^^
|
|
143
|
+
|
|
144
|
+
Braindecode is **BSD-licenced** (BSD-3-Clause):
|
|
145
|
+
|
|
146
|
+
This software is OSI Certified Open Source Software.
|
|
147
|
+
OSI Certified is a certification mark of the Open Source Initiative.
|
|
148
|
+
|
|
149
|
+
Copyright (c) 2011-2022, authors of Braindecode.
|
|
150
|
+
All rights reserved.
|
|
151
|
+
|
|
152
|
+
Redistribution and use in source and binary forms, with or without
|
|
153
|
+
modification, are permitted provided that the following conditions are met:
|
|
154
|
+
|
|
155
|
+
* Redistributions of source code must retain the above copyright notice,
|
|
156
|
+
this list of conditions and the following disclaimer.
|
|
157
|
+
|
|
158
|
+
* Redistributions in binary form must reproduce the above copyright notice,
|
|
159
|
+
this list of conditions and the following disclaimer in the documentation
|
|
160
|
+
and/or other materials provided with the distribution.
|
|
161
|
+
|
|
162
|
+
* Neither the names of braindecode authors nor the names of any
|
|
163
|
+
contributors may be used to endorse or promote products derived from
|
|
164
|
+
this software without specific prior written permission.
|
|
165
|
+
|
|
166
|
+
**This software is provided by the copyright holders and contributors
|
|
167
|
+
"as is" and any express or implied warranties, including, but not
|
|
168
|
+
limited to, the implied warranties of merchantability and fitness for
|
|
169
|
+
a particular purpose are disclaimed. In no event shall the copyright
|
|
170
|
+
owner or contributors be liable for any direct, indirect, incidental,
|
|
171
|
+
special, exemplary, or consequential damages (including, but not
|
|
172
|
+
limited to, procurement of substitute goods or services; loss of use,
|
|
173
|
+
data, or profits; or business interruption) however caused and on any
|
|
174
|
+
theory of liability, whether in contract, strict liability, or tort
|
|
175
|
+
(including negligence or otherwise) arising in any way out of the use
|
|
176
|
+
of this software, even if advised of the possibility of such
|
|
177
|
+
damage.**
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
LICENSE.txt
|
|
2
|
+
MANIFEST.in
|
|
3
|
+
README.rst
|
|
4
|
+
setup.cfg
|
|
5
|
+
setup.py
|
|
6
|
+
Braindecode.egg-info/PKG-INFO
|
|
7
|
+
Braindecode.egg-info/SOURCES.txt
|
|
8
|
+
Braindecode.egg-info/dependency_links.txt
|
|
9
|
+
Braindecode.egg-info/not-zip-safe
|
|
10
|
+
Braindecode.egg-info/requires.txt
|
|
11
|
+
Braindecode.egg-info/top_level.txt
|
|
12
|
+
braindecode/__init__.py
|
|
13
|
+
braindecode/classifier.py
|
|
14
|
+
braindecode/regressor.py
|
|
15
|
+
braindecode/util.py
|
|
16
|
+
braindecode/version.py
|
|
17
|
+
braindecode/augmentation/__init__.py
|
|
18
|
+
braindecode/augmentation/base.py
|
|
19
|
+
braindecode/augmentation/functional.py
|
|
20
|
+
braindecode/augmentation/transforms.py
|
|
21
|
+
braindecode/datasets/__init__.py
|
|
22
|
+
braindecode/datasets/base.py
|
|
23
|
+
braindecode/datasets/bbci.py
|
|
24
|
+
braindecode/datasets/bcicomp.py
|
|
25
|
+
braindecode/datasets/mne.py
|
|
26
|
+
braindecode/datasets/moabb.py
|
|
27
|
+
braindecode/datasets/sleep_physionet.py
|
|
28
|
+
braindecode/datasets/tuh.py
|
|
29
|
+
braindecode/datasets/xy.py
|
|
30
|
+
braindecode/datautil/__init__.py
|
|
31
|
+
braindecode/datautil/mne.py
|
|
32
|
+
braindecode/datautil/preprocess.py
|
|
33
|
+
braindecode/datautil/serialization.py
|
|
34
|
+
braindecode/datautil/util.py
|
|
35
|
+
braindecode/datautil/windowers.py
|
|
36
|
+
braindecode/datautil/xy.py
|
|
37
|
+
braindecode/models/__init__.py
|
|
38
|
+
braindecode/models/deep4.py
|
|
39
|
+
braindecode/models/eeginception.py
|
|
40
|
+
braindecode/models/eegitnet.py
|
|
41
|
+
braindecode/models/eegnet.py
|
|
42
|
+
braindecode/models/eegresnet.py
|
|
43
|
+
braindecode/models/functions.py
|
|
44
|
+
braindecode/models/hybrid.py
|
|
45
|
+
braindecode/models/modules.py
|
|
46
|
+
braindecode/models/shallow_fbcsp.py
|
|
47
|
+
braindecode/models/sleep_stager_blanco_2020.py
|
|
48
|
+
braindecode/models/sleep_stager_chambon_2018.py
|
|
49
|
+
braindecode/models/sleep_stager_eldele_2021.py
|
|
50
|
+
braindecode/models/tcn.py
|
|
51
|
+
braindecode/models/tidnet.py
|
|
52
|
+
braindecode/models/usleep.py
|
|
53
|
+
braindecode/models/util.py
|
|
54
|
+
braindecode/preprocessing/__init__.py
|
|
55
|
+
braindecode/preprocessing/preprocess.py
|
|
56
|
+
braindecode/preprocessing/windowers.py
|
|
57
|
+
braindecode/samplers/__init__.py
|
|
58
|
+
braindecode/samplers/base.py
|
|
59
|
+
braindecode/samplers/ssl.py
|
|
60
|
+
braindecode/training/__init__.py
|
|
61
|
+
braindecode/training/callbacks.py
|
|
62
|
+
braindecode/training/losses.py
|
|
63
|
+
braindecode/training/scoring.py
|
|
64
|
+
braindecode/visualization/__init__.py
|
|
65
|
+
braindecode/visualization/confusion_matrices.py
|
|
66
|
+
braindecode/visualization/gradients.py
|
|
67
|
+
docs/Makefile
|
|
68
|
+
docs/api.rst
|
|
69
|
+
docs/cite.rst
|
|
70
|
+
docs/conf.py
|
|
71
|
+
docs/help.rst
|
|
72
|
+
docs/index.rst
|
|
73
|
+
docs/install.rst
|
|
74
|
+
docs/starting.rst
|
|
75
|
+
docs/whats_new.rst
|
|
76
|
+
docs/_templates/autosummary/class.rst
|
|
77
|
+
docs/_templates/autosummary/function.rst
|
|
78
|
+
test/__init__.py
|
|
79
|
+
test/acceptance_tests/__init__.py
|
|
80
|
+
test/acceptance_tests/test_cropped_decoding.py
|
|
81
|
+
test/acceptance_tests/test_eeg_classifier.py
|
|
82
|
+
test/acceptance_tests/test_model_architectures.py
|
|
83
|
+
test/acceptance_tests/test_trialwise_decoding.py
|
|
84
|
+
test/acceptance_tests/test_variable_length_trials_decoding.py
|
|
85
|
+
test/unit_tests/__init__.py
|
|
86
|
+
test/unit_tests/test_eeg_classifier.py
|
|
87
|
+
test/unit_tests/test_eeg_regressor.py
|
|
88
|
+
test/unit_tests/test_util.py
|
|
89
|
+
test/unit_tests/augmentation/__init__.py
|
|
90
|
+
test/unit_tests/augmentation/conftest.py
|
|
91
|
+
test/unit_tests/augmentation/test_base.py
|
|
92
|
+
test/unit_tests/augmentation/test_transforms.py
|
|
93
|
+
test/unit_tests/datasets/__init__.py
|
|
94
|
+
test/unit_tests/datasets/test_bcicomp.py
|
|
95
|
+
test/unit_tests/datasets/test_dataset.py
|
|
96
|
+
test/unit_tests/datasets/test_mne.py
|
|
97
|
+
test/unit_tests/datasets/test_sleep_physionet.py
|
|
98
|
+
test/unit_tests/datasets/test_tuh.py
|
|
99
|
+
test/unit_tests/datasets/test_xy.py
|
|
100
|
+
test/unit_tests/datautil/__init__.py
|
|
101
|
+
test/unit_tests/datautil/test_serialization.py
|
|
102
|
+
test/unit_tests/models/__init__.py
|
|
103
|
+
test/unit_tests/models/test_models.py
|
|
104
|
+
test/unit_tests/models/test_modules.py
|
|
105
|
+
test/unit_tests/models/test_util.py
|
|
106
|
+
test/unit_tests/preprocessing/__init__.py
|
|
107
|
+
test/unit_tests/preprocessing/test_preprocess.py
|
|
108
|
+
test/unit_tests/preprocessing/test_windowers.py
|
|
109
|
+
test/unit_tests/training/__init__.py
|
|
110
|
+
test/unit_tests/training/test_losses.py
|
|
111
|
+
test/unit_tests/training/test_scoring.py
|
|
112
|
+
test/unit_tests/visualization/__init__.py
|
|
113
|
+
test/unit_tests/visualization/test_gradients.py
|
Braindecode-0.7/PKG-INFO
ADDED
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: Braindecode
|
|
3
|
+
Version: 0.7
|
|
4
|
+
Summary: A deep learning toolbox to decode raw time-domain EEG.
|
|
5
|
+
Home-page: https://github.com/braindecode/braindecode
|
|
6
|
+
Author: Robin Tibor Schirrmeister
|
|
7
|
+
Author-email: robintibor@gmail.com
|
|
8
|
+
License: BSD 3-Clause
|
|
9
|
+
Keywords: eeg deep-learning brain-state-decoding
|
|
10
|
+
Platform: UNKNOWN
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: Intended Audience :: Science/Research
|
|
14
|
+
Classifier: Topic :: Software Development :: Build Tools
|
|
15
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
16
|
+
Classifier: License :: OSI Approved :: BSD License
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.7
|
|
18
|
+
License-File: LICENSE.txt
|
|
19
|
+
|
|
20
|
+
.. image:: https://badges.gitter.im/braindecodechat/community.svg
|
|
21
|
+
:alt: Join the chat at https://gitter.im/braindecodechat/community
|
|
22
|
+
:target: https://gitter.im/braindecodechat/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
|
|
23
|
+
|
|
24
|
+
.. image:: https://github.com/braindecode/braindecode/workflows/tests-and-docs/badge.svg
|
|
25
|
+
:target: https://github.com/braindecode/braindecode/actions
|
|
26
|
+
|
|
27
|
+
.. image:: https://circleci.com/gh/braindecode/braindecode.svg?style=svg
|
|
28
|
+
:target: https://circleci.com/gh/braindecode/braindecode
|
|
29
|
+
:alt: Doc build on CircleCI
|
|
30
|
+
|
|
31
|
+
.. image:: https://codecov.io/gh/braindecode/braindecode/branch/master/graph/badge.svg
|
|
32
|
+
:target: https://codecov.io/gh/braindecode/braindecode
|
|
33
|
+
:alt: Code Coverage
|
|
34
|
+
|
|
35
|
+
.. |Braindecode| image:: https://user-images.githubusercontent.com/42702466/177958779-b00628aa-9155-4c51-96d1-d8c345aff575.svg
|
|
36
|
+
.. _braindecode: braindecode.org/
|
|
37
|
+
|
|
38
|
+
Braindecode
|
|
39
|
+
===========
|
|
40
|
+
|
|
41
|
+
Braindecode is an open-source Python toolbox for decoding raw electrophysiological brain
|
|
42
|
+
data with deep learning models. It includes dataset fetchers, data preprocessing and
|
|
43
|
+
visualization tools, as well as implementations of several deep learning
|
|
44
|
+
architectures and data augmentations for analysis of EEG, ECoG and MEG.
|
|
45
|
+
|
|
46
|
+
For neuroscientists who want to work with deep learning and
|
|
47
|
+
deep learning researchers who want to work with neurophysiological data.
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
Installation Braindecode
|
|
51
|
+
========================
|
|
52
|
+
|
|
53
|
+
1. Install pytorch from http://pytorch.org/ (you don't need to install torchvision).
|
|
54
|
+
|
|
55
|
+
2. Install `MOABB <https://github.com/NeuroTechX/moabb>`_ via pip (needed if you want to use MOABB datasets utilities):
|
|
56
|
+
|
|
57
|
+
.. code-block:: bash
|
|
58
|
+
|
|
59
|
+
pip install moabb
|
|
60
|
+
|
|
61
|
+
3. Install latest release of braindecode via pip:
|
|
62
|
+
|
|
63
|
+
.. code-block:: bash
|
|
64
|
+
|
|
65
|
+
pip install braindecode
|
|
66
|
+
|
|
67
|
+
alternatively, if you use conda, you could create a dedicated environment with the following:
|
|
68
|
+
|
|
69
|
+
.. code-block:: bash
|
|
70
|
+
|
|
71
|
+
curl -O https://raw.githubusercontent.com/braindecode/braindecode/master/environment.yml
|
|
72
|
+
conda env create -f environment.yml
|
|
73
|
+
conda activate braindecode
|
|
74
|
+
|
|
75
|
+
alternatively, install the latest version of braindecode via pip:
|
|
76
|
+
|
|
77
|
+
.. code-block:: bash
|
|
78
|
+
|
|
79
|
+
pip install -U https://api.github.com/repos/braindecode/braindecode/zipball/master
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
Documentation
|
|
83
|
+
=============
|
|
84
|
+
|
|
85
|
+
Documentation is online under https://braindecode.org, both in the stable and dev versions.
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
Contributing to Braindecode
|
|
89
|
+
===========================
|
|
90
|
+
|
|
91
|
+
Guidelines for contributing to the library can be found on the braindecode github:
|
|
92
|
+
|
|
93
|
+
https://github.com/braindecode/braindecode/blob/master/CONTRIBUTING.md
|
|
94
|
+
|
|
95
|
+
Braindecode chat
|
|
96
|
+
================
|
|
97
|
+
|
|
98
|
+
https://gitter.im/braindecodechat/community
|
|
99
|
+
|
|
100
|
+
Citing
|
|
101
|
+
======
|
|
102
|
+
|
|
103
|
+
If you use this code in a scientific publication, please cite us as:
|
|
104
|
+
|
|
105
|
+
.. code-block:: bibtex
|
|
106
|
+
|
|
107
|
+
@article {HBM:HBM23730,
|
|
108
|
+
author = {Schirrmeister, Robin Tibor and Springenberg, Jost Tobias and Fiederer,
|
|
109
|
+
Lukas Dominique Josef and Glasstetter, Martin and Eggensperger, Katharina and Tangermann, Michael and
|
|
110
|
+
Hutter, Frank and Burgard, Wolfram and Ball, Tonio},
|
|
111
|
+
title = {Deep learning with convolutional neural networks for EEG decoding and visualization},
|
|
112
|
+
journal = {Human Brain Mapping},
|
|
113
|
+
issn = {1097-0193},
|
|
114
|
+
url = {http://dx.doi.org/10.1002/hbm.23730},
|
|
115
|
+
doi = {10.1002/hbm.23730},
|
|
116
|
+
month = {aug},
|
|
117
|
+
year = {2017},
|
|
118
|
+
keywords = {electroencephalography, EEG analysis, machine learning, end-to-end learning, brain–machine interface,
|
|
119
|
+
brain–computer interface, model interpretability, brain mapping},
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
as well as the `MNE-Python <https://mne.tools>`_ software that is used by braindecode:
|
|
123
|
+
|
|
124
|
+
.. code-block:: bibtex
|
|
125
|
+
|
|
126
|
+
@article{10.3389/fnins.2013.00267,
|
|
127
|
+
author={Gramfort, Alexandre and Luessi, Martin and Larson, Eric and Engemann, Denis and Strohmeier, Daniel and Brodbeck, Christian and Goj, Roman and Jas, Mainak and Brooks, Teon and Parkkonen, Lauri and Hämäläinen, Matti},
|
|
128
|
+
title={{MEG and EEG data analysis with MNE-Python}},
|
|
129
|
+
journal={Frontiers in Neuroscience},
|
|
130
|
+
volume={7},
|
|
131
|
+
pages={267},
|
|
132
|
+
year={2013},
|
|
133
|
+
url={https://www.frontiersin.org/article/10.3389/fnins.2013.00267},
|
|
134
|
+
doi={10.3389/fnins.2013.00267},
|
|
135
|
+
issn={1662-453X},
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
Licensing
|
|
142
|
+
^^^^^^^^^
|
|
143
|
+
|
|
144
|
+
Braindecode is **BSD-licenced** (BSD-3-Clause):
|
|
145
|
+
|
|
146
|
+
This software is OSI Certified Open Source Software.
|
|
147
|
+
OSI Certified is a certification mark of the Open Source Initiative.
|
|
148
|
+
|
|
149
|
+
Copyright (c) 2011-2022, authors of Braindecode.
|
|
150
|
+
All rights reserved.
|
|
151
|
+
|
|
152
|
+
Redistribution and use in source and binary forms, with or without
|
|
153
|
+
modification, are permitted provided that the following conditions are met:
|
|
154
|
+
|
|
155
|
+
* Redistributions of source code must retain the above copyright notice,
|
|
156
|
+
this list of conditions and the following disclaimer.
|
|
157
|
+
|
|
158
|
+
* Redistributions in binary form must reproduce the above copyright notice,
|
|
159
|
+
this list of conditions and the following disclaimer in the documentation
|
|
160
|
+
and/or other materials provided with the distribution.
|
|
161
|
+
|
|
162
|
+
* Neither the names of braindecode authors nor the names of any
|
|
163
|
+
contributors may be used to endorse or promote products derived from
|
|
164
|
+
this software without specific prior written permission.
|
|
165
|
+
|
|
166
|
+
**This software is provided by the copyright holders and contributors
|
|
167
|
+
"as is" and any express or implied warranties, including, but not
|
|
168
|
+
limited to, the implied warranties of merchantability and fitness for
|
|
169
|
+
a particular purpose are disclaimed. In no event shall the copyright
|
|
170
|
+
owner or contributors be liable for any direct, indirect, incidental,
|
|
171
|
+
special, exemplary, or consequential damages (including, but not
|
|
172
|
+
limited to, procurement of substitute goods or services; loss of use,
|
|
173
|
+
data, or profits; or business interruption) however caused and on any
|
|
174
|
+
theory of liability, whether in contract, strict liability, or tort
|
|
175
|
+
(including negligence or otherwise) arising in any way out of the use
|
|
176
|
+
of this software, even if advised of the possibility of such
|
|
177
|
+
damage.**
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
Braindecode
|
|
2
|
-
===========
|
|
3
|
-
|
|
4
1
|
.. image:: https://badges.gitter.im/braindecodechat/community.svg
|
|
5
2
|
:alt: Join the chat at https://gitter.im/braindecodechat/community
|
|
6
3
|
:target: https://gitter.im/braindecodechat/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
|
|
@@ -16,15 +13,23 @@ Braindecode
|
|
|
16
13
|
:target: https://codecov.io/gh/braindecode/braindecode
|
|
17
14
|
:alt: Code Coverage
|
|
18
15
|
|
|
19
|
-
|
|
16
|
+
.. |Braindecode| image:: https://user-images.githubusercontent.com/42702466/177958779-b00628aa-9155-4c51-96d1-d8c345aff575.svg
|
|
17
|
+
.. _braindecode: braindecode.org/
|
|
18
|
+
|
|
19
|
+
Braindecode
|
|
20
|
+
===========
|
|
21
|
+
|
|
22
|
+
Braindecode is an open-source Python toolbox for decoding raw electrophysiological brain
|
|
23
|
+
data with deep learning models. It includes dataset fetchers, data preprocessing and
|
|
24
|
+
visualization tools, as well as implementations of several deep learning
|
|
25
|
+
architectures and data augmentations for analysis of EEG, ECoG and MEG.
|
|
20
26
|
|
|
21
|
-
For
|
|
22
|
-
deep learning researchers who want to work with
|
|
23
|
-
For now focused on convolutional networks.
|
|
27
|
+
For neuroscientists who want to work with deep learning and
|
|
28
|
+
deep learning researchers who want to work with neurophysiological data.
|
|
24
29
|
|
|
25
30
|
|
|
26
|
-
Installation
|
|
27
|
-
|
|
31
|
+
Installation Braindecode
|
|
32
|
+
========================
|
|
28
33
|
|
|
29
34
|
1. Install pytorch from http://pytorch.org/ (you don't need to install torchvision).
|
|
30
35
|
|
|
@@ -58,14 +63,20 @@ alternatively, install the latest version of braindecode via pip:
|
|
|
58
63
|
Documentation
|
|
59
64
|
=============
|
|
60
65
|
|
|
61
|
-
Documentation is online under https://braindecode.org
|
|
66
|
+
Documentation is online under https://braindecode.org, both in the stable and dev versions.
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
Contributing to Braindecode
|
|
70
|
+
===========================
|
|
62
71
|
|
|
72
|
+
Guidelines for contributing to the library can be found on the braindecode github:
|
|
63
73
|
|
|
64
|
-
|
|
65
|
-
=======
|
|
66
|
-
The high-gamma dataset used in our publication (see below), including trained models, is available under:
|
|
67
|
-
https://web.gin.g-node.org/robintibor/high-gamma-dataset/
|
|
74
|
+
https://github.com/braindecode/braindecode/blob/master/CONTRIBUTING.md
|
|
68
75
|
|
|
76
|
+
Braindecode chat
|
|
77
|
+
================
|
|
78
|
+
|
|
79
|
+
https://gitter.im/braindecodechat/community
|
|
69
80
|
|
|
70
81
|
Citing
|
|
71
82
|
======
|
|
@@ -104,3 +115,45 @@ as well as the `MNE-Python <https://mne.tools>`_ software that is used by braind
|
|
|
104
115
|
doi={10.3389/fnins.2013.00267},
|
|
105
116
|
issn={1662-453X},
|
|
106
117
|
}
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
Licensing
|
|
123
|
+
^^^^^^^^^
|
|
124
|
+
|
|
125
|
+
Braindecode is **BSD-licenced** (BSD-3-Clause):
|
|
126
|
+
|
|
127
|
+
This software is OSI Certified Open Source Software.
|
|
128
|
+
OSI Certified is a certification mark of the Open Source Initiative.
|
|
129
|
+
|
|
130
|
+
Copyright (c) 2011-2022, authors of Braindecode.
|
|
131
|
+
All rights reserved.
|
|
132
|
+
|
|
133
|
+
Redistribution and use in source and binary forms, with or without
|
|
134
|
+
modification, are permitted provided that the following conditions are met:
|
|
135
|
+
|
|
136
|
+
* Redistributions of source code must retain the above copyright notice,
|
|
137
|
+
this list of conditions and the following disclaimer.
|
|
138
|
+
|
|
139
|
+
* Redistributions in binary form must reproduce the above copyright notice,
|
|
140
|
+
this list of conditions and the following disclaimer in the documentation
|
|
141
|
+
and/or other materials provided with the distribution.
|
|
142
|
+
|
|
143
|
+
* Neither the names of braindecode authors nor the names of any
|
|
144
|
+
contributors may be used to endorse or promote products derived from
|
|
145
|
+
this software without specific prior written permission.
|
|
146
|
+
|
|
147
|
+
**This software is provided by the copyright holders and contributors
|
|
148
|
+
"as is" and any express or implied warranties, including, but not
|
|
149
|
+
limited to, the implied warranties of merchantability and fitness for
|
|
150
|
+
a particular purpose are disclaimed. In no event shall the copyright
|
|
151
|
+
owner or contributors be liable for any direct, indirect, incidental,
|
|
152
|
+
special, exemplary, or consequential damages (including, but not
|
|
153
|
+
limited to, procurement of substitute goods or services; loss of use,
|
|
154
|
+
data, or profits; or business interruption) however caused and on any
|
|
155
|
+
theory of liability, whether in contract, strict liability, or tort
|
|
156
|
+
(including negligence or otherwise) arising in any way out of the use
|
|
157
|
+
of this software, even if advised of the possibility of such
|
|
158
|
+
damage.**
|
|
159
|
+
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# Authors: Cédric Rommel <cedric.rommel@inria.fr>
|
|
2
2
|
# Alexandre Gramfort <alexandre.gramfort@inria.fr>
|
|
3
|
-
#
|
|
3
|
+
# Bruno Aristimunha <b.aristimunha@gmail.com>
|
|
4
|
+
# Martin Wimpff <martin.wimpff@iss.uni-stuttgart.de>
|
|
4
5
|
# License: BSD (3-clause)
|
|
5
6
|
|
|
6
7
|
from typing import List, Tuple, Any
|
|
@@ -50,7 +51,7 @@ class Transform(torch.nn.Module):
|
|
|
50
51
|
self._probability = probability
|
|
51
52
|
self.rng = check_random_state(random_state)
|
|
52
53
|
|
|
53
|
-
def
|
|
54
|
+
def get_augmentation_params(self, *batch):
|
|
54
55
|
return dict()
|
|
55
56
|
|
|
56
57
|
def forward(self, X: Tensor, y: Tensor = None) -> Output:
|
|
@@ -87,7 +88,7 @@ class Transform(torch.nn.Module):
|
|
|
87
88
|
# Uses the mask to define the output
|
|
88
89
|
out_X[mask, ...], tr_y = self.operation(
|
|
89
90
|
out_X[mask, ...], out_y[mask],
|
|
90
|
-
**self.
|
|
91
|
+
**self.get_augmentation_params(out_X[mask, ...], out_y[mask])
|
|
91
92
|
)
|
|
92
93
|
# Apply the operation defining the Transform to the whole batch
|
|
93
94
|
if type(tr_y) is tuple:
|
|
@@ -142,11 +143,20 @@ class Compose(Transform):
|
|
|
142
143
|
return X, y
|
|
143
144
|
|
|
144
145
|
|
|
145
|
-
def _make_collateable(transform):
|
|
146
|
+
def _make_collateable(transform, device=None):
|
|
147
|
+
""" Wraps a transform to make it collateable.
|
|
148
|
+
with device control. """
|
|
149
|
+
|
|
146
150
|
def _collate_fn(batch):
|
|
147
151
|
collated_batch = default_collate(batch)
|
|
148
152
|
X, y = collated_batch[:2]
|
|
153
|
+
|
|
154
|
+
if device is not None:
|
|
155
|
+
X = X.to(device)
|
|
156
|
+
y = y.to(device)
|
|
157
|
+
|
|
149
158
|
return (*transform(X, y), *collated_batch[2:])
|
|
159
|
+
|
|
150
160
|
return _collate_fn
|
|
151
161
|
|
|
152
162
|
|
|
@@ -159,24 +169,26 @@ class AugmentedDataLoader(DataLoader):
|
|
|
159
169
|
The dataset containing the signals.
|
|
160
170
|
transforms : list | Transform, optional
|
|
161
171
|
Transform or sequence of Transform to be applied to each batch.
|
|
172
|
+
device : str | torch.device | None, optional
|
|
173
|
+
Device on which to transform the data. Defaults to None.
|
|
162
174
|
**kwargs : dict, optional
|
|
163
175
|
keyword arguments to pass to standard DataLoader class.
|
|
164
176
|
"""
|
|
165
177
|
|
|
166
|
-
def __init__(self, dataset, transforms=None, **kwargs):
|
|
178
|
+
def __init__(self, dataset, transforms=None, device=None, **kwargs):
|
|
167
179
|
if "collate_fn" in kwargs:
|
|
168
180
|
raise ValueError(
|
|
169
181
|
"collate_fn cannot be used in this context because it is used "
|
|
170
182
|
"to pass transform"
|
|
171
183
|
)
|
|
172
184
|
if transforms is None or (
|
|
173
|
-
|
|
185
|
+
isinstance(transforms, list) and len(transforms) == 0
|
|
174
186
|
):
|
|
175
|
-
self.collated_tr = _make_collateable(IdentityTransform())
|
|
187
|
+
self.collated_tr = _make_collateable(IdentityTransform(), device=device)
|
|
176
188
|
elif isinstance(transforms, (Transform, nn.Module)):
|
|
177
|
-
self.collated_tr = _make_collateable(transforms)
|
|
189
|
+
self.collated_tr = _make_collateable(transforms, device=device)
|
|
178
190
|
elif isinstance(transforms, list):
|
|
179
|
-
self.collated_tr = _make_collateable(Compose(transforms))
|
|
191
|
+
self.collated_tr = _make_collateable(Compose(transforms), device=device)
|
|
180
192
|
else:
|
|
181
193
|
raise TypeError("transforms can be either a Transform object" +
|
|
182
194
|
" or a list of Transform objects.")
|