Braindecode 1.3.0.dev180760430__tar.gz → 1.3.0.dev180851780__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.
Files changed (155) hide show
  1. {braindecode-1.3.0.dev180760430/braindecode.egg-info → braindecode-1.3.0.dev180851780}/PKG-INFO +13 -41
  2. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/README.rst +1 -14
  3. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/augmentation/__init__.py +0 -4
  4. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/augmentation/base.py +1 -1
  5. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/augmentation/functional.py +0 -101
  6. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/augmentation/transforms.py +0 -74
  7. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/classifier.py +8 -3
  8. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/datasets/__init__.py +4 -16
  9. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/datasets/base.py +152 -131
  10. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/datasets/bcicomp.py +4 -4
  11. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/datasets/bids.py +3 -3
  12. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/datasets/experimental.py +2 -2
  13. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/datasets/mne.py +5 -3
  14. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/datasets/moabb.py +7 -17
  15. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/datasets/nmt.py +45 -40
  16. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/datasets/sleep_physio_challe_18.py +2 -2
  17. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/datasets/sleep_physionet.py +2 -2
  18. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/datasets/tuh.py +2 -2
  19. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/datasets/xy.py +2 -2
  20. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/datautil/__init__.py +1 -13
  21. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/datautil/serialization.py +9 -8
  22. braindecode-1.3.0.dev180851780/braindecode/datautil/util.py +41 -0
  23. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/eegneuralnet.py +48 -22
  24. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/functional/functions.py +2 -6
  25. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/functional/initialization.py +3 -2
  26. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/__init__.py +1 -14
  27. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/atcnet.py +37 -36
  28. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/attentionbasenet.py +36 -43
  29. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/attn_sleep.py +7 -11
  30. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/base.py +2 -280
  31. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/biot.py +23 -27
  32. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/contrawr.py +2 -4
  33. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/ctnet.py +36 -41
  34. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/deep4.py +4 -4
  35. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/deepsleepnet.py +23 -32
  36. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/eegconformer.py +24 -29
  37. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/eeginception_erp.py +26 -32
  38. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/eeginception_mi.py +3 -3
  39. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/eegitnet.py +3 -5
  40. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/eegminer.py +0 -2
  41. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/eegnet.py +2 -2
  42. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/eegnex.py +1 -1
  43. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/eegsimpleconv.py +1 -1
  44. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/eegtcnet.py +3 -5
  45. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/fbcnet.py +2 -6
  46. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/fblightconvnet.py +1 -3
  47. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/fbmsnet.py +7 -21
  48. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/hybrid.py +1 -1
  49. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/ifnet.py +2 -4
  50. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/labram.py +115 -221
  51. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/msvtnet.py +9 -11
  52. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/patchedtransformer.py +47 -47
  53. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/sccnet.py +1 -1
  54. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/shallow_fbcsp.py +2 -4
  55. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/signal_jepa.py +27 -111
  56. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/sinc_shallow.py +11 -13
  57. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/sleep_stager_blanco_2020.py +1 -1
  58. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/sleep_stager_chambon_2018.py +1 -1
  59. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/sparcnet.py +4 -4
  60. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/sstdpn.py +12 -12
  61. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/summary.csv +1 -5
  62. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/syncnet.py +1 -3
  63. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/tcn.py +3 -5
  64. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/tidnet.py +1 -1
  65. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/tsinception.py +1 -1
  66. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/models/usleep.py +24 -29
  67. braindecode-1.3.0.dev180851780/braindecode/models/util.py +131 -0
  68. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/modules/attention.py +10 -10
  69. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/modules/blocks.py +4 -6
  70. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/modules/filter.py +9 -2
  71. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/modules/layers.py +17 -18
  72. braindecode-1.3.0.dev180851780/braindecode/preprocessing/__init__.py +37 -0
  73. braindecode-1.3.0.dev180851780/braindecode/preprocessing/mne_preprocess.py +77 -0
  74. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/preprocessing/preprocess.py +51 -146
  75. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/preprocessing/windowers.py +20 -26
  76. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/regressor.py +7 -3
  77. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/samplers/base.py +8 -8
  78. braindecode-1.3.0.dev180851780/braindecode/version.py +1 -0
  79. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780/braindecode.egg-info}/PKG-INFO +13 -41
  80. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode.egg-info/SOURCES.txt +0 -15
  81. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode.egg-info/requires.txt +8 -25
  82. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/api.rst +6 -141
  83. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/cite.rst +2 -9
  84. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/conf.py +14 -53
  85. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/index.rst +5 -5
  86. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/install/install_pip.rst +1 -7
  87. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/install/install_source.rst +1 -1
  88. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/whats_new.rst +2 -40
  89. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/pyproject.toml +11 -30
  90. braindecode-1.3.0.dev180760430/braindecode/datasets/chb_mit.py +0 -172
  91. braindecode-1.3.0.dev180760430/braindecode/datasets/hub.py +0 -945
  92. braindecode-1.3.0.dev180760430/braindecode/datasets/hub_validation.py +0 -113
  93. braindecode-1.3.0.dev180760430/braindecode/datasets/registry.py +0 -120
  94. braindecode-1.3.0.dev180760430/braindecode/datasets/siena.py +0 -164
  95. braindecode-1.3.0.dev180760430/braindecode/datasets/utils.py +0 -67
  96. braindecode-1.3.0.dev180760430/braindecode/datautil/channel_utils.py +0 -114
  97. braindecode-1.3.0.dev180760430/braindecode/datautil/hub_formats.py +0 -180
  98. braindecode-1.3.0.dev180760430/braindecode/datautil/util.py +0 -156
  99. braindecode-1.3.0.dev180760430/braindecode/models/bendr.py +0 -469
  100. braindecode-1.3.0.dev180760430/braindecode/models/config.py +0 -230
  101. braindecode-1.3.0.dev180760430/braindecode/models/eegsym.py +0 -917
  102. braindecode-1.3.0.dev180760430/braindecode/models/luna.py +0 -836
  103. braindecode-1.3.0.dev180760430/braindecode/models/medformer.py +0 -758
  104. braindecode-1.3.0.dev180760430/braindecode/models/util.py +0 -358
  105. braindecode-1.3.0.dev180760430/braindecode/preprocessing/__init__.py +0 -271
  106. braindecode-1.3.0.dev180760430/braindecode/preprocessing/eegprep_preprocess.py +0 -1317
  107. braindecode-1.3.0.dev180760430/braindecode/preprocessing/mne_preprocess.py +0 -240
  108. braindecode-1.3.0.dev180760430/braindecode/preprocessing/util.py +0 -177
  109. braindecode-1.3.0.dev180760430/braindecode/version.py +0 -1
  110. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/LICENSE.txt +0 -0
  111. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/MANIFEST.in +0 -0
  112. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/NOTICE.txt +0 -0
  113. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/__init__.py +0 -0
  114. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/datasets/bbci.py +0 -0
  115. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/functional/__init__.py +0 -0
  116. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/modules/__init__.py +0 -0
  117. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/modules/activation.py +0 -0
  118. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/modules/convolution.py +0 -0
  119. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/modules/linear.py +0 -0
  120. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/modules/parametrization.py +0 -0
  121. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/modules/stats.py +0 -0
  122. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/modules/util.py +0 -0
  123. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/modules/wrapper.py +0 -0
  124. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/samplers/__init__.py +0 -0
  125. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/samplers/ssl.py +0 -0
  126. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/training/__init__.py +0 -0
  127. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/training/callbacks.py +0 -0
  128. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/training/losses.py +0 -0
  129. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/training/scoring.py +0 -0
  130. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/util.py +0 -0
  131. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/visualization/__init__.py +0 -0
  132. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/visualization/confusion_matrices.py +0 -0
  133. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode/visualization/gradients.py +0 -0
  134. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode.egg-info/dependency_links.txt +0 -0
  135. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/braindecode.egg-info/top_level.txt +0 -0
  136. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/Makefile +0 -0
  137. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/_templates/autosummary/class.rst +0 -0
  138. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/_templates/autosummary/function.rst +0 -0
  139. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/help.rst +0 -0
  140. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/install/install.rst +0 -0
  141. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/models/categorization/attention.rst +0 -0
  142. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/models/categorization/channel.rst +0 -0
  143. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/models/categorization/convolution.rst +0 -0
  144. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/models/categorization/filterbank.rst +0 -0
  145. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/models/categorization/gnn.rst +0 -0
  146. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/models/categorization/interpretable.rst +0 -0
  147. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/models/categorization/lbm.rst +0 -0
  148. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/models/categorization/recurrent.rst +0 -0
  149. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/models/categorization/spd.rst +0 -0
  150. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/models/models.rst +0 -0
  151. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/models/models_categorization.rst +0 -0
  152. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/models/models_table.rst +0 -0
  153. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/models/models_visualization.rst +0 -0
  154. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/docs/sg_execution_times.rst +0 -0
  155. {braindecode-1.3.0.dev180760430 → braindecode-1.3.0.dev180851780}/setup.cfg +0 -0
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: braindecode
3
- Version: 1.3.0.dev180760430
3
+ Version: 1.3.0.dev180851780
4
4
  Summary: Deep learning software to decode EEG, ECG or MEG signals
5
- Author-email: Robin Tibor Schirrmeister <robintibor@gmail.com>, Bruno Aristimunha Pinto <b.aristimunha@gmail.com>, Alexandre Gramfort <agramfort@meta.com>
5
+ Author-email: Robin Tibor Schirrmeister <robintibor@gmail.com>
6
6
  Maintainer-email: Alexandre Gramfort <agramfort@meta.com>, Bruno Aristimunha Pinto <b.aristimunha@gmail.com>, Robin Tibor Schirrmeister <robintibor@gmail.com>
7
7
  License: BSD-3-Clause
8
8
  Project-URL: homepage, https://braindecode.org
@@ -14,47 +14,38 @@ Classifier: Intended Audience :: Developers
14
14
  Classifier: Intended Audience :: Science/Research
15
15
  Classifier: Topic :: Software Development :: Build Tools
16
16
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
17
+ Classifier: Programming Language :: Python :: 3.10
17
18
  Classifier: Programming Language :: Python :: 3.11
18
19
  Classifier: Programming Language :: Python :: 3.12
19
- Classifier: Programming Language :: Python :: 3.13
20
- Classifier: Programming Language :: Python :: 3.14
21
- Requires-Python: >=3.11
20
+ Requires-Python: >=3.10
22
21
  Description-Content-Type: text/x-rst
23
22
  License-File: LICENSE.txt
24
23
  License-File: NOTICE.txt
25
- Requires-Dist: mne>=1.11.0
24
+ Requires-Dist: mne>=1.10.0
26
25
  Requires-Dist: mne_bids>=0.16
27
26
  Requires-Dist: numpy
28
27
  Requires-Dist: pandas
29
28
  Requires-Dist: scipy
30
29
  Requires-Dist: matplotlib
31
30
  Requires-Dist: h5py
32
- Requires-Dist: skorch>=1.3.0
33
- Requires-Dist: torch>=2.0
34
- Requires-Dist: torchaudio>=2.0
31
+ Requires-Dist: skorch>=1.2.0
32
+ Requires-Dist: torch<3.0,>=2.0
33
+ Requires-Dist: torchaudio<3.0,>=2.0
35
34
  Requires-Dist: einops
36
35
  Requires-Dist: joblib
37
- Requires-Dist: torchinfo
36
+ Requires-Dist: torchinfo~=1.8
38
37
  Requires-Dist: wfdb
38
+ Requires-Dist: h5py
39
39
  Requires-Dist: linear_attention_transformer
40
40
  Requires-Dist: docstring_inheritance
41
- Requires-Dist: rotary_embedding_torch
42
41
  Provides-Extra: moabb
43
- Requires-Dist: moabb>=1.4.2; extra == "moabb"
44
- Provides-Extra: eegprep
45
- Requires-Dist: eegprep[eeglabio]>=0.2.23; extra == "eegprep"
46
- Provides-Extra: hub
47
- Requires-Dist: huggingface_hub[torch]>=0.20.0; extra == "hub"
48
- Requires-Dist: zarr>=3.0; extra == "hub"
42
+ Requires-Dist: moabb>=1.2.0; extra == "moabb"
49
43
  Provides-Extra: tests
50
44
  Requires-Dist: pytest; extra == "tests"
51
45
  Requires-Dist: pytest-cov; extra == "tests"
52
46
  Requires-Dist: codecov; extra == "tests"
53
47
  Requires-Dist: pytest_cases; extra == "tests"
54
48
  Requires-Dist: mypy; extra == "tests"
55
- Provides-Extra: typing
56
- Requires-Dist: pydantic<3.0,>=2.0; extra == "typing"
57
- Requires-Dist: numpydantic>=1.7; extra == "typing"
58
49
  Provides-Extra: docs
59
50
  Requires-Dist: sphinx_gallery; extra == "docs"
60
51
  Requires-Dist: sphinx_rtd_theme; extra == "docs"
@@ -73,20 +64,10 @@ Requires-Dist: seaborn; extra == "docs"
73
64
  Requires-Dist: pre-commit; extra == "docs"
74
65
  Requires-Dist: openneuro-py; extra == "docs"
75
66
  Requires-Dist: plotly; extra == "docs"
76
- Requires-Dist: shap; extra == "docs"
77
67
  Provides-Extra: all
78
- Requires-Dist: braindecode[moabb]; extra == "all"
79
- Requires-Dist: braindecode[tests]; extra == "all"
80
- Requires-Dist: braindecode[docs]; extra == "all"
81
- Requires-Dist: braindecode[hub]; extra == "all"
82
- Requires-Dist: braindecode[eegprep]; extra == "all"
83
- Requires-Dist: braindecode[typing]; extra == "all"
68
+ Requires-Dist: braindecode[docs,moabb,tests]; extra == "all"
84
69
  Dynamic: license-file
85
70
 
86
- .. image:: https://zenodo.org/badge/232335424.svg
87
- :target: https://doi.org/10.5281/zenodo.8214376
88
- :alt: DOI
89
-
90
71
  .. image:: https://badges.gitter.im/braindecodechat/community.svg
91
72
  :alt: Join the chat at https://gitter.im/braindecodechat/community
92
73
  :target: https://gitter.im/braindecodechat/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
@@ -102,7 +83,6 @@ Dynamic: license-file
102
83
  :target: https://codecov.io/gh/braindecode/braindecode
103
84
  :alt: Code Coverage
104
85
 
105
-
106
86
  .. |Braindecode| image:: https://user-images.githubusercontent.com/42702466/177958779-b00628aa-9155-4c51-96d1-d8c345aff575.svg
107
87
  .. _braindecode: braindecode.org/
108
88
 
@@ -159,15 +139,7 @@ https://gitter.im/braindecodechat/community
159
139
  Citing
160
140
  ======
161
141
 
162
- If you use Braindecode in scientific work, please cite the software using the Zenodo DOI shown in the badge below:
163
-
164
- .. image:: https://zenodo.org/badge/232335424.svg
165
- :target: https://doi.org/10.5281/zenodo.8214376
166
- :alt: DOI
167
-
168
- Additionally, we highly encourage you to cite the article that originally introduced
169
- the Braindecode library and has served as a foundational reference for many works
170
- on deep learning with EEG recordings. Please use the following reference:
142
+ If you use this code in a scientific publication, please cite us as:
171
143
 
172
144
  .. code-block:: bibtex
173
145
 
@@ -1,7 +1,3 @@
1
- .. image:: https://zenodo.org/badge/232335424.svg
2
- :target: https://doi.org/10.5281/zenodo.8214376
3
- :alt: DOI
4
-
5
1
  .. image:: https://badges.gitter.im/braindecodechat/community.svg
6
2
  :alt: Join the chat at https://gitter.im/braindecodechat/community
7
3
  :target: https://gitter.im/braindecodechat/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
@@ -17,7 +13,6 @@
17
13
  :target: https://codecov.io/gh/braindecode/braindecode
18
14
  :alt: Code Coverage
19
15
 
20
-
21
16
  .. |Braindecode| image:: https://user-images.githubusercontent.com/42702466/177958779-b00628aa-9155-4c51-96d1-d8c345aff575.svg
22
17
  .. _braindecode: braindecode.org/
23
18
 
@@ -74,15 +69,7 @@ https://gitter.im/braindecodechat/community
74
69
  Citing
75
70
  ======
76
71
 
77
- If you use Braindecode in scientific work, please cite the software using the Zenodo DOI shown in the badge below:
78
-
79
- .. image:: https://zenodo.org/badge/232335424.svg
80
- :target: https://doi.org/10.5281/zenodo.8214376
81
- :alt: DOI
82
-
83
- Additionally, we highly encourage you to cite the article that originally introduced
84
- the Braindecode library and has served as a foundational reference for many works
85
- on deep learning with EEG recordings. Please use the following reference:
72
+ If you use this code in a scientific publication, please cite us as:
86
73
 
87
74
  .. code-block:: bibtex
88
75
 
@@ -5,10 +5,8 @@ Utilities for data augmentation.
5
5
  from . import functional
6
6
  from .base import AugmentedDataLoader, Compose, IdentityTransform, Transform
7
7
  from .transforms import (
8
- AmplitudeScale,
9
8
  BandstopFilter,
10
9
  ChannelsDropout,
11
- ChannelsReref,
12
10
  ChannelsShuffle,
13
11
  ChannelsSymmetry,
14
12
  FrequencyShift,
@@ -48,7 +46,5 @@ __all__ = [
48
46
  "Mixup",
49
47
  "SegmentationReconstruction",
50
48
  "MaskEncoding",
51
- "AmplitudeScale",
52
- "ChannelsReref",
53
49
  "functional",
54
50
  ]
@@ -189,7 +189,7 @@ class AugmentedDataLoader(DataLoader):
189
189
 
190
190
  Parameters
191
191
  ----------
192
- dataset : RecordDataset
192
+ dataset : BaseDataset
193
193
  The dataset containing the signals.
194
194
  transforms : list | Transform, optional
195
195
  Transform or sequence of Transform to be applied to each batch.
@@ -1,7 +1,6 @@
1
1
  # Authors: Cédric Rommel <cedric.rommel@inria.fr>
2
2
  # Alexandre Gramfort <alexandre.gramfort@inria.fr>
3
3
  # Gustavo Rodrigues <gustavenrique01@gmail.com>
4
- # Bruna Lopes <brunajaflopes@gmail.com>
5
4
  #
6
5
  # License: BSD (3-clause)
7
6
 
@@ -1195,103 +1194,3 @@ def mask_encoding(
1195
1194
  X[mask] = 0
1196
1195
 
1197
1196
  return X, y # Return the masked tensor and labels
1198
-
1199
-
1200
- def channels_rereference(
1201
- X: torch.Tensor,
1202
- y: torch.Tensor,
1203
- random_state: int | np.random.RandomState | None = None,
1204
- ) -> tuple[torch.Tensor, torch.Tensor]:
1205
- """Randomly re-reference channels in EEG data matrix.
1206
-
1207
- Part of the augmentations proposed in [1]_
1208
-
1209
- Parameters
1210
- ----------
1211
- X : torch.Tensor
1212
- EEG input example or batch.
1213
- y : torch.Tensor
1214
- EEG labels for the example or batch.
1215
- random_state: int | numpy.random.Generator, optional
1216
- Seed to be used to instantiate numpy random number generator instance.
1217
- Defaults to None.
1218
-
1219
- Returns
1220
- -------
1221
- torch.Tensor
1222
- Transformed inputs.
1223
- torch.Tensor
1224
- Transformed labels.
1225
-
1226
- References
1227
- ----------
1228
- .. [1] Mohsenvand, M.N., Izadi, M.R. &amp; Maes, P.. (2020). Contrastive
1229
- Representation Learning for Electroencephalogram Classification. Proceedings
1230
- of the Machine Learning for Health NeurIPS Workshop, in Proceedings of Machine
1231
- Learning Research 136:238-253
1232
-
1233
- """
1234
-
1235
- rng = check_random_state(random_state)
1236
- batch_size, n_channels, _ = X.shape
1237
-
1238
- ch = rng.randint(0, n_channels, size=batch_size)
1239
-
1240
- X_ch = X[torch.arange(batch_size), ch, :]
1241
- X = X - X_ch.unsqueeze(1)
1242
- X[torch.arange(batch_size), ch, :] = -X_ch
1243
-
1244
- return X, y
1245
-
1246
-
1247
- def amplitude_scale(
1248
- X: torch.Tensor,
1249
- y: torch.Tensor,
1250
- scale: tuple,
1251
- random_state: int | np.random.RandomState | None = None,
1252
- ) -> tuple[torch.Tensor, torch.Tensor]:
1253
- """Rescale amplitude of each channel based on a random sampled scaling value.
1254
-
1255
- Part of the augmentations proposed in [1]_
1256
-
1257
- Parameters
1258
- ----------
1259
- X : torch.Tensor
1260
- EEG input example or batch.
1261
- y : torch.Tensor
1262
- EEG labels for the example or batch.
1263
- scale : tuple of floats
1264
- Interval from which ypu sample the scaling value
1265
- random_state: int | numpy.random.Generator, optional
1266
- Seed to be used to instantiate numpy random number generator instance.
1267
- Defaults to None.
1268
-
1269
- Returns
1270
- -------
1271
- torch.Tensor
1272
- Transformed inputs.
1273
- torch.Tensor
1274
- Transformed labels.
1275
-
1276
- References
1277
- ----------
1278
- .. [1] Mohsenvand, M.N., Izadi, M.R. &amp; Maes, P.. (2020). Contrastive
1279
- Representation Learning for Electroencephalogram Classification. Proceedings
1280
- of the Machine Learning for Health NeurIPS Workshop, in Proceedings of Machine
1281
- Learning Research 136:238-253
1282
-
1283
- """
1284
-
1285
- rng = torch.Generator()
1286
- rng.manual_seed(random_state)
1287
- batch_size, n_channels, _ = X.shape
1288
-
1289
- # Parameter for scaling amplitude / channel / trial
1290
- l, h = scale
1291
- s = l + (h - l) * torch.rand(
1292
- batch_size, n_channels, 1, generator=rng, device=X.device, dtype=X.dtype
1293
- )
1294
-
1295
- X = s * X
1296
-
1297
- return X, y
@@ -1,7 +1,6 @@
1
1
  # Authors: Cédric Rommel <cedric.rommel@inria.fr>
2
2
  # Alexandre Gramfort <alexandre.gramfort@inria.fr>
3
3
  # Gustavo Rodrigues <gustavenrique01@gmail.com>
4
- # Bruna Lopes <brunajaflopes@gmail.com>
5
4
  #
6
5
  # License: BSD (3-clause)
7
6
 
@@ -14,11 +13,9 @@ from mne.channels import make_standard_montage
14
13
 
15
14
  from .base import Transform
16
15
  from .functional import (
17
- amplitude_scale,
18
16
  bandstop_filter,
19
17
  channels_dropout,
20
18
  channels_permute,
21
- channels_rereference,
22
19
  channels_shuffle,
23
20
  frequency_shift,
24
21
  ft_surrogate,
@@ -1274,74 +1271,3 @@ class MaskEncoding(Transform):
1274
1271
  "segment_length": segment_length,
1275
1272
  "n_segments": self.n_segments,
1276
1273
  }
1277
-
1278
-
1279
- class ChannelsReref(Transform):
1280
- """Randomly re-reference channels in EEG data matrix.
1281
-
1282
- Part of the augmentations proposed in [1]_
1283
-
1284
- Parameters
1285
- ----------
1286
- probability: float
1287
- Float setting the probability of applying the operation.
1288
- random_state: int | numpy.random.Generator, optional
1289
- Seed to be used to instantiate numpy random number generator instance.
1290
- Used to decide whether or not to transform given the probability
1291
- argument, to sample which channels to shuffle and to carry the shuffle.
1292
- Defaults to None.
1293
-
1294
- References
1295
- ----------
1296
- .. [1] Mohsenvand, M.N., Izadi, M.R. &amp; Maes, P.. (2020). Contrastive
1297
- Representation Learning for Electroencephalogram Classification. Proceedings
1298
- of the Machine Learning for Health NeurIPS Workshop, in Proceedings of Machine
1299
- Learning Research 136:238-253 Available from https://proceedings.mlr.press/v136/mohsenvand20a.html.
1300
-
1301
- """
1302
-
1303
- operation = staticmethod(channels_rereference) # type: ignore[assignment]
1304
-
1305
- def __init__(self, probability, random_state=None):
1306
- super().__init__(probability=probability, random_state=random_state)
1307
-
1308
- def get_augmentation_params(self, *batch):
1309
- """Return transform parameters"""
1310
- return {
1311
- "random_state": self.rng,
1312
- }
1313
-
1314
-
1315
- class AmplitudeScale(Transform):
1316
- """Rescale amplitude based on a random sampled scaling value.
1317
-
1318
- Part of the augmentations proposed in [1]_
1319
-
1320
- Parameters
1321
- ----------
1322
- probability: float
1323
- Float setting the probability of applying the operation.
1324
- random_state: int | numpy.random.Generator, optional
1325
- Seed to be used to instantiate numpy random number generator instance.
1326
- Used to decide whether or not to transform given the probability
1327
- argument, to sample which channels to shuffle and to carry the shuffle.
1328
- Defaults to None.
1329
-
1330
- References
1331
- ----------
1332
- .. [1] Mohsenvand, M.N., Izadi, M.R. &amp; Maes, P.. (2020). Contrastive
1333
- Representation Learning for Electroencephalogram Classification. Proceedings
1334
- of the Machine Learning for Health NeurIPS Workshop, in Proceedings of Machine
1335
- Learning Research 136:238-253 Available from https://proceedings.mlr.press/v136/mohsenvand20a.html.
1336
-
1337
- """
1338
-
1339
- operation = staticmethod(amplitude_scale) # type: ignore[assignment]
1340
-
1341
- def __init__(self, probability, interval=(0.5, 2), random_state=None):
1342
- super().__init__(probability=probability, random_state=random_state)
1343
- self.scale = interval
1344
-
1345
- def get_augmentation_params(self, *batch):
1346
- """Return transform parameters"""
1347
- return {"random_state": self.rng, "scale": self.scale}
@@ -8,6 +8,7 @@
8
8
 
9
9
  import warnings
10
10
 
11
+ import numpy as np
11
12
  from skorch import NeuralNet
12
13
  from skorch.callbacks import EpochScoring
13
14
  from skorch.classifier import NeuralNetClassifier
@@ -236,9 +237,13 @@ class EEGClassifier(_EEGNeuralNet, NeuralNetClassifier):
236
237
  num_workers=self.get_iterator(X, training=False).loader.num_workers,
237
238
  )
238
239
 
239
- @property
240
- def mode(self):
241
- return "classification"
240
+ def _get_n_outputs(self, y, classes):
241
+ classes_y = np.unique(y)
242
+ if classes is not None:
243
+ assert set(classes_y) <= set(classes)
244
+ else:
245
+ classes = classes_y
246
+ return len(classes)
242
247
 
243
248
  # Only add the 'accuracy' callback if we are not in cropped mode.
244
249
  @property
@@ -2,20 +2,12 @@
2
2
  Loader code for some datasets.
3
3
  """
4
4
 
5
- from .base import (
6
- BaseConcatDataset,
7
- EEGWindowsDataset,
8
- RawDataset,
9
- RecordDataset,
10
- WindowsDataset,
11
- )
5
+ from .base import BaseConcatDataset, BaseDataset, WindowsDataset
12
6
  from .bcicomp import BCICompetitionIVDataset4
13
7
  from .bids import BIDSDataset, BIDSEpochsDataset
14
- from .chb_mit import CHBMIT
15
8
  from .mne import create_from_mne_epochs, create_from_mne_raw
16
- from .moabb import BNCI2014_001, HGD, MOABBDataset
9
+ from .moabb import BNCI2014001, HGD, MOABBDataset
17
10
  from .nmt import NMT
18
- from .siena import SIENA
19
11
  from .sleep_physio_challe_18 import SleepPhysionetChallenge2018
20
12
  from .sleep_physionet import SleepPhysionet
21
13
  from .tuh import TUH, TUHAbnormal
@@ -23,22 +15,18 @@ from .xy import create_from_X_y
23
15
 
24
16
  __all__ = [
25
17
  "WindowsDataset",
26
- "EEGWindowsDataset",
27
- "RecordDataset",
28
- "RawDataset",
18
+ "BaseDataset",
29
19
  "BaseConcatDataset",
30
20
  "BIDSDataset",
31
21
  "BIDSEpochsDataset",
32
22
  "MOABBDataset",
33
23
  "HGD",
34
- "BNCI2014_001",
24
+ "BNCI2014001",
35
25
  "create_from_mne_raw",
36
26
  "create_from_mne_epochs",
37
27
  "TUH",
38
28
  "TUHAbnormal",
39
- "SIENA",
40
29
  "NMT",
41
- "CHBMIT",
42
30
  "SleepPhysionet",
43
31
  "SleepPhysionetChallenge2018",
44
32
  "create_from_X_y",