Braindecode 1.3.2.dev176759409__tar.gz → 1.3.2.dev178169072__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 (163) hide show
  1. {braindecode-1.3.2.dev176759409/braindecode.egg-info → braindecode-1.3.2.dev178169072}/PKG-INFO +8 -38
  2. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/README.rst +6 -36
  3. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/base.py +2 -150
  4. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/bids/hub.py +76 -161
  5. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/bids/hub_io.py +6 -29
  6. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/mne.py +4 -48
  7. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datautil/hub_formats.py +3 -16
  8. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/__init__.py +0 -2
  9. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/base.py +17 -28
  10. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/bendr.py +19 -69
  11. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/eegsym.py +1 -1
  12. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/luna.py +7 -8
  13. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/reve.py +3 -23
  14. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/sstdpn.py +1 -1
  15. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/summary.csv +0 -1
  16. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/util.py +11 -13
  17. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/modules/attention.py +1 -2
  18. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/preprocessing/mne_preprocess.py +1 -2
  19. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/preprocessing/preprocess.py +32 -62
  20. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/preprocessing/windowers.py +78 -312
  21. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/util.py +4 -34
  22. braindecode-1.3.2.dev178169072/braindecode/version.py +1 -0
  23. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/visualization/gradients.py +7 -7
  24. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072/braindecode.egg-info}/PKG-INFO +8 -38
  25. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode.egg-info/SOURCES.txt +0 -1
  26. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode.egg-info/requires.txt +1 -1
  27. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/api.rst +9 -11
  28. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/cite.rst +4 -42
  29. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/conf.py +7 -19
  30. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/models/categorization/gnn.rst +1 -9
  31. braindecode-1.3.2.dev178169072/docs/models/categorization/spd.rst +35 -0
  32. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/models/models_categorization.rst +60 -60
  33. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/whats_new.rst +6 -60
  34. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/pyproject.toml +1 -10
  35. braindecode-1.3.2.dev176759409/braindecode/models/dgcnn.py +0 -500
  36. braindecode-1.3.2.dev176759409/braindecode/version.py +0 -1
  37. braindecode-1.3.2.dev176759409/docs/models/categorization/spd.rst +0 -103
  38. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/LICENSE.txt +0 -0
  39. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/MANIFEST.in +0 -0
  40. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/NOTICE.txt +0 -0
  41. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/__init__.py +0 -0
  42. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/augmentation/__init__.py +0 -0
  43. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/augmentation/base.py +0 -0
  44. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/augmentation/functional.py +0 -0
  45. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/augmentation/transforms.py +0 -0
  46. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/classifier.py +0 -0
  47. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/__init__.py +0 -0
  48. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/bbci.py +0 -0
  49. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/bcicomp.py +0 -0
  50. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/bids/__init__.py +0 -0
  51. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/bids/datasets.py +0 -0
  52. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/bids/format.py +0 -0
  53. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/bids/hub_format.py +0 -0
  54. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/bids/hub_validation.py +0 -0
  55. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/bids/iterable.py +0 -0
  56. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/chb_mit.py +0 -0
  57. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/moabb.py +0 -0
  58. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/nmt.py +0 -0
  59. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/registry.py +0 -0
  60. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/siena.py +0 -0
  61. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/sleep_physio_challe_18.py +0 -0
  62. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/sleep_physionet.py +0 -0
  63. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/tuh.py +0 -0
  64. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/utils.py +0 -0
  65. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datasets/xy.py +0 -0
  66. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datautil/__init__.py +0 -0
  67. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datautil/channel_utils.py +0 -0
  68. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datautil/serialization.py +0 -0
  69. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/datautil/util.py +0 -0
  70. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/eegneuralnet.py +0 -0
  71. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/functional/__init__.py +0 -0
  72. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/functional/functions.py +0 -0
  73. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/functional/initialization.py +0 -0
  74. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/atcnet.py +0 -0
  75. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/attentionbasenet.py +0 -0
  76. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/attn_sleep.py +0 -0
  77. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/biot.py +0 -0
  78. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/brainmodule.py +0 -0
  79. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/cbramod.py +0 -0
  80. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/config.py +0 -0
  81. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/contrawr.py +0 -0
  82. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/ctnet.py +0 -0
  83. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/deep4.py +0 -0
  84. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/deepsleepnet.py +0 -0
  85. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/eegconformer.py +0 -0
  86. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/eeginception_erp.py +0 -0
  87. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/eeginception_mi.py +0 -0
  88. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/eegitnet.py +0 -0
  89. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/eegminer.py +0 -0
  90. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/eegnet.py +0 -0
  91. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/eegnex.py +0 -0
  92. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/eegpt.py +0 -0
  93. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/eegsimpleconv.py +0 -0
  94. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/eegtcnet.py +0 -0
  95. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/fbcnet.py +0 -0
  96. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/fblightconvnet.py +0 -0
  97. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/fbmsnet.py +0 -0
  98. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/hybrid.py +0 -0
  99. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/ifnet.py +0 -0
  100. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/labram.py +0 -0
  101. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/medformer.py +0 -0
  102. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/msvtnet.py +0 -0
  103. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/patchedtransformer.py +0 -0
  104. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/sccnet.py +0 -0
  105. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/shallow_fbcsp.py +0 -0
  106. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/signal_jepa.py +0 -0
  107. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/sinc_shallow.py +0 -0
  108. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/sleep_stager_blanco_2020.py +0 -0
  109. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/sleep_stager_chambon_2018.py +0 -0
  110. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/sparcnet.py +0 -0
  111. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/syncnet.py +0 -0
  112. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/tcn.py +0 -0
  113. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/tidnet.py +0 -0
  114. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/tsinception.py +0 -0
  115. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/models/usleep.py +0 -0
  116. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/modules/__init__.py +0 -0
  117. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/modules/activation.py +0 -0
  118. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/modules/blocks.py +0 -0
  119. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/modules/convolution.py +0 -0
  120. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/modules/filter.py +0 -0
  121. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/modules/layers.py +0 -0
  122. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/modules/linear.py +0 -0
  123. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/modules/parametrization.py +0 -0
  124. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/modules/stats.py +0 -0
  125. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/modules/util.py +0 -0
  126. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/modules/wrapper.py +0 -0
  127. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/preprocessing/__init__.py +0 -0
  128. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/preprocessing/eegprep_preprocess.py +0 -0
  129. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/preprocessing/util.py +0 -0
  130. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/regressor.py +0 -0
  131. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/samplers/__init__.py +0 -0
  132. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/samplers/base.py +0 -0
  133. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/samplers/ssl.py +0 -0
  134. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/training/__init__.py +0 -0
  135. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/training/callbacks.py +0 -0
  136. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/training/losses.py +0 -0
  137. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/training/scoring.py +0 -0
  138. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/visualization/__init__.py +0 -0
  139. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode/visualization/confusion_matrices.py +0 -0
  140. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode.egg-info/dependency_links.txt +0 -0
  141. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/braindecode.egg-info/top_level.txt +0 -0
  142. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/Makefile +0 -0
  143. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/_templates/autosummary/class.rst +0 -0
  144. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/_templates/autosummary/class_in_subdir.rst +0 -0
  145. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/_templates/autosummary/function.rst +0 -0
  146. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/_templates/autosummary/function_in_subdir.rst +0 -0
  147. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/help.rst +0 -0
  148. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/index.rst +0 -0
  149. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/install/install.rst +0 -0
  150. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/install/install_pip.rst +0 -0
  151. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/install/install_source.rst +0 -0
  152. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/models/categorization/attention.rst +0 -0
  153. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/models/categorization/channel.rst +0 -0
  154. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/models/categorization/convolution.rst +0 -0
  155. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/models/categorization/filterbank.rst +0 -0
  156. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/models/categorization/interpretable.rst +0 -0
  157. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/models/categorization/lbm.rst +0 -0
  158. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/models/categorization/recurrent.rst +0 -0
  159. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/models/models.rst +0 -0
  160. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/models/models_table.rst +0 -0
  161. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/models/models_visualization.rst +0 -0
  162. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/docs/sg_execution_times.rst +0 -0
  163. {braindecode-1.3.2.dev176759409 → braindecode-1.3.2.dev178169072}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: braindecode
3
- Version: 1.3.2.dev176759409
3
+ Version: 1.3.2.dev178169072
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>
@@ -22,7 +22,7 @@ Requires-Python: >=3.11
22
22
  Description-Content-Type: text/x-rst
23
23
  License-File: LICENSE.txt
24
24
  License-File: NOTICE.txt
25
- Requires-Dist: torch>=2.0
25
+ Requires-Dist: torch>=2.2
26
26
  Requires-Dist: torchaudio>=2.0
27
27
  Requires-Dist: mne>=1.11.0
28
28
  Requires-Dist: pandas<3.0.0
@@ -84,8 +84,8 @@ Requires-Dist: braindecode[eegprep]; extra == "all"
84
84
  Requires-Dist: braindecode[typing]; extra == "all"
85
85
  Dynamic: license-file
86
86
 
87
- .. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.17699192.svg
88
- :target: https://doi.org/10.5281/zenodo.17699192
87
+ .. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.8214376.svg
88
+ :target: https://doi.org/10.5281/zenodo.8214376
89
89
  :alt: DOI
90
90
 
91
91
  .. image:: https://github.com/braindecode/braindecode/workflows/docs/badge.svg
@@ -173,43 +173,13 @@ https://github.com/braindecode/braindecode/blob/master/CONTRIBUTING.md
173
173
  Citing
174
174
  ########
175
175
 
176
- If you use Braindecode in scientific work, please cite the software using the global
177
- Zenodo DOI shown in the badge below:
176
+ If you use Braindecode in scientific work, please cite the software using the Zenodo DOI
177
+ shown in the badge below:
178
178
 
179
- .. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.17699192.svg
180
- :target: https://doi.org/10.5281/zenodo.17699192
179
+ .. image:: https://zenodo.org/badge/232335424.svg
180
+ :target: https://doi.org/10.5281/zenodo.8214376
181
181
  :alt: DOI
182
182
 
183
- You can use the following BibTeX entry:
184
-
185
- .. code-block:: bibtex
186
-
187
- @software{braindecode,
188
- author = {Aristimunha, Bruno and
189
- Guetschel, Pierre and
190
- Wimpff, Martin and
191
- Gemein, Lukas and
192
- Rommel, Cedric and
193
- Banville, Hubert and
194
- Sliwowski, Maciej and
195
- Wilson, Daniel and
196
- Brandt, Simon and
197
- Gnassounou, Théo and
198
- Paillard, Joseph and
199
- {Junqueira Lopes}, Bruna and
200
- Sedlar, Sara and
201
- Moreau, Thomas and
202
- Chevallier, Sylvain and
203
- Gramfort, Alexandre and
204
- Schirrmeister, Robin Tibor},
205
- title = {Braindecode: toolbox for decoding raw electrophysiological brain data
206
- with deep learning models},
207
- url = {https://github.com/braindecode/braindecode},
208
- doi = {10.5281/zenodo.17699192},
209
- publisher = {Zenodo},
210
- license = {BSD-3-Clause},
211
- }
212
-
213
183
  Additionally, we highly encourage you to cite the article that originally introduced the
214
184
  Braindecode library and has served as a foundational reference for many works on deep
215
185
  learning with EEG recordings. Please use the following reference:
@@ -1,5 +1,5 @@
1
- .. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.17699192.svg
2
- :target: https://doi.org/10.5281/zenodo.17699192
1
+ .. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.8214376.svg
2
+ :target: https://doi.org/10.5281/zenodo.8214376
3
3
  :alt: DOI
4
4
 
5
5
  .. image:: https://github.com/braindecode/braindecode/workflows/docs/badge.svg
@@ -87,43 +87,13 @@ https://github.com/braindecode/braindecode/blob/master/CONTRIBUTING.md
87
87
  Citing
88
88
  ########
89
89
 
90
- If you use Braindecode in scientific work, please cite the software using the global
91
- Zenodo DOI shown in the badge below:
90
+ If you use Braindecode in scientific work, please cite the software using the Zenodo DOI
91
+ shown in the badge below:
92
92
 
93
- .. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.17699192.svg
94
- :target: https://doi.org/10.5281/zenodo.17699192
93
+ .. image:: https://zenodo.org/badge/232335424.svg
94
+ :target: https://doi.org/10.5281/zenodo.8214376
95
95
  :alt: DOI
96
96
 
97
- You can use the following BibTeX entry:
98
-
99
- .. code-block:: bibtex
100
-
101
- @software{braindecode,
102
- author = {Aristimunha, Bruno and
103
- Guetschel, Pierre and
104
- Wimpff, Martin and
105
- Gemein, Lukas and
106
- Rommel, Cedric and
107
- Banville, Hubert and
108
- Sliwowski, Maciej and
109
- Wilson, Daniel and
110
- Brandt, Simon and
111
- Gnassounou, Théo and
112
- Paillard, Joseph and
113
- {Junqueira Lopes}, Bruna and
114
- Sedlar, Sara and
115
- Moreau, Thomas and
116
- Chevallier, Sylvain and
117
- Gramfort, Alexandre and
118
- Schirrmeister, Robin Tibor},
119
- title = {Braindecode: toolbox for decoding raw electrophysiological brain data
120
- with deep learning models},
121
- url = {https://github.com/braindecode/braindecode},
122
- doi = {10.5281/zenodo.17699192},
123
- publisher = {Zenodo},
124
- license = {BSD-3-Clause},
125
- }
126
-
127
97
  Additionally, we highly encourage you to cite the article that originally introduced the
128
98
  Braindecode library and has served as a foundational reference for many works on deep
129
99
  learning with EEG recordings. Please use the following reference:
@@ -579,89 +579,6 @@ class EEGWindowsDataset(RecordDataset):
579
579
  self.metadata,
580
580
  )
581
581
 
582
- def to_epochs_dataset(self) -> WindowsDataset:
583
- """Converts this :class:`EEGWindowsDataset` to :class:`WindowsDataset` with ``mne.Epochs``.
584
-
585
- In Braindecode, the data can either be stored as ``mne.io.Raw`` (in :class:`EEGWindowsDataset`)
586
- or as ``mne.Epochs`` (in :class:`WindowsDataset`). This function converts from the first type to the second,
587
- which can be useful for reducing disk space when you want to save a dataset.
588
-
589
- Returns
590
- -------
591
- WindowsDataset
592
- A new :class:`WindowsDataset` with ``mne.Epochs``.
593
-
594
- Raises
595
- ------
596
- ValueError
597
- If the dataset is not compatible with conversion. This includes:
598
- - If targets are not obtained from metadata
599
- - If windows have inconsistent sizes or there are no windows to convert
600
- - If raw.first_samp!=0 (not supported for simplicity)
601
- """
602
- # Check the targets:
603
- if self.targets_from != "metadata":
604
- raise ValueError(
605
- "to_epochs_dataset only works if targets are obtained from metadata."
606
- )
607
-
608
- # Check and get window sizes:
609
- i_start_in_trial = self.crop_inds[:, 1]
610
- i_stop_in_trial = self.crop_inds[:, 2]
611
- sizes = np.unique(i_stop_in_trial - i_start_in_trial)
612
- if len(sizes) > 1:
613
- raise ValueError("Windows have inconsistent sizes.")
614
- if len(sizes) != 1:
615
- raise ValueError("No windows to convert.")
616
- input_window_seconds = (sizes[0] - 1) / self.raw.info["sfreq"]
617
-
618
- # Check raw.first_samp:
619
- if self.raw.first_samp != 0:
620
- raise ValueError(
621
- f"to_epochs_dataset only works if raw.first_samp is 0, found {self.raw.first_samp=}"
622
- )
623
-
624
- # Create events and epochs:
625
- events = np.zeros((len(self), 3), dtype=int)
626
- events[:, 0] = i_start_in_trial
627
- events[:, 2] = 1
628
- epochs = mne.Epochs(
629
- raw=self.raw,
630
- events=events,
631
- event_id={"window": 1},
632
- tmin=0,
633
- tmax=input_window_seconds,
634
- metadata=self.metadata.copy(),
635
- baseline=None,
636
- )
637
- # we skip dropping bads to be consistent with EEGWindowsDataset:
638
- epochs._bad_dropped = True
639
-
640
- # Populate new WindowsDataset:
641
- windows = WindowsDataset(
642
- epochs,
643
- description=self.description,
644
- transform=self.transform,
645
- targets_from=self.targets_from,
646
- last_target_only=self.last_target_only,
647
- )
648
-
649
- window_kwargs = list(getattr(self, "window_kwargs", []))
650
- window_kwargs.append((self.to_epochs_dataset.__name__, {}))
651
- setattr(windows, "window_kwargs", window_kwargs)
652
- if hasattr(self, "raw_preproc_kwargs"):
653
- setattr(
654
- windows, "raw_preproc_kwargs", list(getattr(self, "raw_preproc_kwargs"))
655
- )
656
- if hasattr(self, "window_preproc_kwargs"):
657
- setattr(
658
- windows,
659
- "window_preproc_kwargs",
660
- list(getattr(self, "window_preproc_kwargs")),
661
- )
662
-
663
- return windows
664
-
665
582
 
666
583
  @register_dataset
667
584
  class WindowsDataset(RecordDataset):
@@ -700,15 +617,6 @@ class WindowsDataset(RecordDataset):
700
617
  last_target_only: bool = True,
701
618
  ):
702
619
  super().__init__(description, transform)
703
- self._fast_disk = self._can_use_fast_get_epoch_from_raw(windows)
704
- if not (self._fast_disk or windows.preload):
705
- warnings.warn(
706
- "The provided mne.Epochs object does not meet the requirements for "
707
- "fast epoch access. This may lead to slow data loading from disk. "
708
- "Consider preloading the epochs or checking the conditions in "
709
- "WindowsDataset._can_use_fast_get_epoch_from_raw.",
710
- UserWarning,
711
- )
712
620
  self.windows = windows
713
621
  self.last_target_only = last_target_only
714
622
  if targets_from not in ("metadata", "channels"):
@@ -725,20 +633,6 @@ class WindowsDataset(RecordDataset):
725
633
  self.raw_preproc_kwargs: list[dict[str, Any]] = []
726
634
  self.window_preproc_kwargs: list[dict[str, Any]] = []
727
635
 
728
- @staticmethod
729
- def _can_use_fast_get_epoch_from_raw(epochs: mne.BaseEpochs) -> bool:
730
- """Check if we can use the fast _get_epoch_from_raw method,
731
- or if we need to use the slow get_data method."""
732
- return (
733
- not epochs.preload
734
- and epochs._bad_dropped
735
- and epochs.detrend is None
736
- and not epochs._do_baseline # baseline is None
737
- and (epochs._decim == 1)
738
- and epochs._offset is None
739
- and epochs._projector is None
740
- )
741
-
742
636
  def __getitem__(self, index: int):
743
637
  """Get a window and its target.
744
638
 
@@ -756,10 +650,7 @@ class WindowsDataset(RecordDataset):
756
650
  np.ndarray
757
651
  Crop indices.
758
652
  """
759
- if self._fast_disk:
760
- X = self.windows._get_epoch_from_raw(index).astype("float32")
761
- else:
762
- X = self.windows.get_data(item=index)[0].astype("float32")
653
+ X = self.windows.get_data(item=index)[0].astype("float32")
763
654
  if self.transform is not None:
764
655
  X = self.transform(X)
765
656
  if self.targets_from == "metadata":
@@ -815,9 +706,7 @@ class BaseConcatDataset(ConcatDataset, HubDatasetMixin, Generic[T]):
815
706
 
816
707
  def __init__(
817
708
  self,
818
- list_of_ds: (
819
- list[T] | list[BaseConcatDataset[T]] | list[T | BaseConcatDataset[T]]
820
- ),
709
+ list_of_ds: list[T | BaseConcatDataset[T]],
821
710
  target_transform: Callable | None = None,
822
711
  *,
823
712
  lazy: bool = False,
@@ -1394,40 +1283,3 @@ class BaseConcatDataset(ConcatDataset, HubDatasetMixin, Generic[T]):
1394
1283
 
1395
1284
  def _repr_html_(self):
1396
1285
  return self._build_repr().to_html()
1397
-
1398
- def to_epochs_dataset(self) -> BaseConcatDataset[WindowsDataset]:
1399
- """Converts this :class:`BaseConcatDataset` such that all datasets are :class:`WindowsDataset` with ``mne.Epochs``.
1400
-
1401
- In Braindecode, the data can either be stored as ``mne.io.Raw`` (in :class:`EEGWindowsDataset`)
1402
- or as ``mne.Epochs`` (in :class:`WindowsDataset`). This function converts all the underlying datasets to
1403
- :class:`WindowsDataset` with ``mne.Epochs``.
1404
- This can be useful for reducing disk space when you want to save a dataset.
1405
-
1406
- Returns
1407
- -------
1408
- BaseConcatDataset[WindowsDataset]
1409
- A new :class:`BaseConcatDataset` where all datasets are :class:`WindowsDataset` with ``mne.Epochs``.
1410
-
1411
- Raises
1412
- ------
1413
- ValueError
1414
- If any of the underlying datasets is a :class:`RawDataset` or any other type that is not
1415
- :class:`EEGWindowsDataset` or :class:`WindowsDataset`, as they cannot be converted to epochs.
1416
- """
1417
- datasets = self.datasets
1418
- if not all(
1419
- isinstance(ds, (EEGWindowsDataset, WindowsDataset)) for ds in datasets
1420
- ):
1421
- raise ValueError(
1422
- "All datasets must be EEGWindowsDataset or WindowsDataset to convert to WindowsDataset."
1423
- )
1424
- new_datasets: list[WindowsDataset] = []
1425
- for ds in datasets:
1426
- if isinstance(ds, EEGWindowsDataset):
1427
- new_ds = ds.to_epochs_dataset()
1428
- new_datasets.append(new_ds)
1429
- elif isinstance(ds, WindowsDataset):
1430
- new_datasets.append(ds)
1431
- return BaseConcatDataset(
1432
- new_datasets, target_transform=self.target_transform, lazy=self._lazy
1433
- )