braindecode 1.7.0.dev174022531__tar.gz → 1.7.0.dev182642410__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 (176) hide show
  1. {braindecode-1.7.0.dev174022531/braindecode.egg-info → braindecode-1.7.0.dev182642410}/PKG-INFO +1 -1
  2. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/eegneuralnet.py +4 -7
  3. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/__init__.py +2 -0
  4. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/config.py +5 -5
  5. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/util.py +45 -1
  6. braindecode-1.7.0.dev182642410/braindecode/version.py +1 -0
  7. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410/braindecode.egg-info}/PKG-INFO +1 -1
  8. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/index.rst +6 -6
  9. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/models/models.rst +2 -2
  10. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/models/models_table.rst +9 -0
  11. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/whats_new.rst +8 -2
  12. braindecode-1.7.0.dev174022531/braindecode/version.py +0 -1
  13. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/LICENSE.txt +0 -0
  14. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/MANIFEST.in +0 -0
  15. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/NOTICE.txt +0 -0
  16. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/README.rst +0 -0
  17. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/__init__.py +0 -0
  18. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/augmentation/__init__.py +0 -0
  19. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/augmentation/base.py +0 -0
  20. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/augmentation/functional.py +0 -0
  21. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/augmentation/transforms.py +0 -0
  22. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/classifier.py +0 -0
  23. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/__init__.py +0 -0
  24. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/base.py +0 -0
  25. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/bbci.py +0 -0
  26. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/bcicomp.py +0 -0
  27. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/bids/__init__.py +0 -0
  28. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/bids/datasets.py +0 -0
  29. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/bids/format.py +0 -0
  30. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/bids/hub.py +0 -0
  31. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/bids/hub_format.py +0 -0
  32. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/bids/hub_io.py +0 -0
  33. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/bids/hub_validation.py +0 -0
  34. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/bids/iterable.py +0 -0
  35. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/chb_mit.py +0 -0
  36. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/collate.py +0 -0
  37. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/mne.py +0 -0
  38. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/moabb.py +0 -0
  39. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/nmt.py +0 -0
  40. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/registry.py +0 -0
  41. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/siena.py +0 -0
  42. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/sleep_physio_challe_18.py +0 -0
  43. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/sleep_physionet.py +0 -0
  44. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/tuh.py +0 -0
  45. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/utils.py +0 -0
  46. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datasets/xy.py +0 -0
  47. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datautil/__init__.py +0 -0
  48. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datautil/channel_utils.py +0 -0
  49. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datautil/hub_formats.py +0 -0
  50. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datautil/serialization.py +0 -0
  51. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/datautil/util.py +0 -0
  52. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/functional/__init__.py +0 -0
  53. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/functional/functions.py +0 -0
  54. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/functional/initialization.py +0 -0
  55. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/atcnet.py +0 -0
  56. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/attentionbasenet.py +0 -0
  57. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/attn_sleep.py +0 -0
  58. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/base.py +0 -0
  59. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/bendr.py +0 -0
  60. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/biot.py +0 -0
  61. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/brainmodule.py +0 -0
  62. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/cbramod.py +0 -0
  63. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/codebrain.py +0 -0
  64. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/contrawr.py +0 -0
  65. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/ctnet.py +0 -0
  66. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/deep4.py +0 -0
  67. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/deepsleepnet.py +0 -0
  68. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/dgcnn.py +0 -0
  69. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/eegconformer.py +0 -0
  70. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/eegdino.py +0 -0
  71. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/eeginception_erp.py +0 -0
  72. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/eeginception_mi.py +0 -0
  73. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/eegitnet.py +0 -0
  74. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/eegminer.py +0 -0
  75. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/eegnet.py +0 -0
  76. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/eegnex.py +0 -0
  77. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/eegpt.py +0 -0
  78. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/eegsimpleconv.py +0 -0
  79. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/eegsym.py +0 -0
  80. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/eegtcnet.py +0 -0
  81. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/emg2qwerty.py +0 -0
  82. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/fbcnet.py +0 -0
  83. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/fblightconvnet.py +0 -0
  84. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/fbmsnet.py +0 -0
  85. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/hybrid.py +0 -0
  86. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/ifnet.py +0 -0
  87. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/interpolated.py +0 -0
  88. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/labram.py +0 -0
  89. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/luna.py +0 -0
  90. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/medformer.py +0 -0
  91. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/meta_neuromotor.py +0 -0
  92. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/msvtnet.py +0 -0
  93. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/mvpformer.py +0 -0
  94. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/patchedtransformer.py +0 -0
  95. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/reve.py +0 -0
  96. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/sccnet.py +0 -0
  97. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/shallow_fbcsp.py +0 -0
  98. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/signal_jepa.py +0 -0
  99. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/sinc_shallow.py +0 -0
  100. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/sleep_stager_blanco_2020.py +0 -0
  101. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/sleep_stager_chambon_2018.py +0 -0
  102. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/sparcnet.py +0 -0
  103. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/sstdpn.py +0 -0
  104. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/steegformer.py +0 -0
  105. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/summary.csv +0 -0
  106. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/syncnet.py +0 -0
  107. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/tcformer.py +0 -0
  108. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/tcn.py +0 -0
  109. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/tidnet.py +0 -0
  110. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/tsinception.py +0 -0
  111. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/models/usleep.py +0 -0
  112. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/modules/__init__.py +0 -0
  113. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/modules/activation.py +0 -0
  114. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/modules/attention.py +0 -0
  115. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/modules/blocks.py +0 -0
  116. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/modules/convolution.py +0 -0
  117. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/modules/filter.py +0 -0
  118. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/modules/interpolation.py +0 -0
  119. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/modules/layers.py +0 -0
  120. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/modules/linear.py +0 -0
  121. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/modules/parametrization.py +0 -0
  122. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/modules/stats.py +0 -0
  123. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/modules/util.py +0 -0
  124. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/modules/wrapper.py +0 -0
  125. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/preprocessing/__init__.py +0 -0
  126. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/preprocessing/eegprep_preprocess.py +0 -0
  127. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/preprocessing/mne_preprocess.py +0 -0
  128. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/preprocessing/preprocess.py +0 -0
  129. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/preprocessing/util.py +0 -0
  130. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/preprocessing/windowers.py +0 -0
  131. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/regressor.py +0 -0
  132. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/samplers/__init__.py +0 -0
  133. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/samplers/base.py +0 -0
  134. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/samplers/ssl.py +0 -0
  135. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/training/__init__.py +0 -0
  136. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/training/callbacks.py +0 -0
  137. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/training/losses.py +0 -0
  138. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/training/scoring.py +0 -0
  139. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/util.py +0 -0
  140. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/visualization/__init__.py +0 -0
  141. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/visualization/attribution.py +0 -0
  142. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/visualization/confusion_matrices.py +0 -0
  143. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/visualization/frequency.py +0 -0
  144. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/visualization/metrics.py +0 -0
  145. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/visualization/sanity.py +0 -0
  146. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode/visualization/topology.py +0 -0
  147. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode.egg-info/SOURCES.txt +0 -0
  148. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode.egg-info/dependency_links.txt +0 -0
  149. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode.egg-info/requires.txt +0 -0
  150. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/braindecode.egg-info/top_level.txt +0 -0
  151. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/Makefile +0 -0
  152. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/_templates/autosummary/class.rst +0 -0
  153. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/_templates/autosummary/class_in_subdir.rst +0 -0
  154. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/_templates/autosummary/function.rst +0 -0
  155. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/_templates/autosummary/function_in_subdir.rst +0 -0
  156. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/api.rst +0 -0
  157. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/cite.rst +0 -0
  158. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/conf.py +0 -0
  159. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/help.rst +0 -0
  160. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/install/install.rst +0 -0
  161. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/install/install_pip.rst +0 -0
  162. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/install/install_source.rst +0 -0
  163. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/models/categorization/attention.rst +0 -0
  164. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/models/categorization/channel.rst +0 -0
  165. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/models/categorization/convolution.rst +0 -0
  166. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/models/categorization/filterbank.rst +0 -0
  167. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/models/categorization/gnn.rst +0 -0
  168. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/models/categorization/interpretable.rst +0 -0
  169. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/models/categorization/lbm.rst +0 -0
  170. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/models/categorization/recurrent.rst +0 -0
  171. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/models/categorization/spd.rst +0 -0
  172. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/models/models_categorization.rst +0 -0
  173. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/models/models_visualization.rst +0 -0
  174. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/docs/sg_execution_times.rst +0 -0
  175. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/pyproject.toml +0 -0
  176. {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev182642410}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: braindecode
3
- Version: 1.7.0.dev174022531
3
+ Version: 1.7.0.dev182642410
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>
@@ -8,7 +8,7 @@ import abc
8
8
  import inspect
9
9
  import logging
10
10
  import warnings
11
- from typing import Literal
11
+ from typing import Any, Literal
12
12
 
13
13
  import mne
14
14
  import numpy as np
@@ -20,7 +20,7 @@ from skorch.utils import noop, to_numpy, train_loss_score, valid_loss_score
20
20
 
21
21
  from braindecode.datautil import infer_signal_properties
22
22
 
23
- from .models.util import models_dict
23
+ from .models.util import _get_model_class
24
24
  from .training.scoring import (
25
25
  CroppedTimeSeriesEpochScoring,
26
26
  CroppedTrialEpochScoring,
@@ -30,13 +30,10 @@ from .training.scoring import (
30
30
  log = logging.getLogger(__name__)
31
31
 
32
32
 
33
- def _get_model(model: str):
33
+ def _get_model(model: Any) -> Any:
34
34
  """Returns the corresponding class in case the model passed is a string."""
35
35
  if isinstance(model, str):
36
- if model in models_dict:
37
- model = models_dict[model]
38
- else:
39
- raise ValueError(f"Unknown model name {model!r}.")
36
+ model = _get_model_class(model)
40
37
  return model
41
38
 
42
39
 
@@ -66,6 +66,7 @@ from .util import (
66
66
  _init_models_dict,
67
67
  build_model_config,
68
68
  extract_channel_locations_from_chs_info,
69
+ interpolated_models_dict,
69
70
  models_mandatory_parameters,
70
71
  positions_from_chs_info,
71
72
  )
@@ -145,4 +146,5 @@ __all__ = [
145
146
  "build_model_config",
146
147
  "_init_models_dict",
147
148
  "models_mandatory_parameters",
149
+ "interpolated_models_dict",
148
150
  ]
@@ -11,7 +11,9 @@ from typing_extensions import TypedDict
11
11
  from braindecode.models.base import EEGModuleMixin
12
12
  from braindecode.models.util import (
13
13
  SigArgName,
14
+ _get_model_class,
14
15
  _init_models_dict,
16
+ interpolated_models_dict,
15
17
  models_dict,
16
18
  models_mandatory_parameters,
17
19
  )
@@ -65,9 +67,7 @@ class BaseBraindecodeModelConfig(pydantic.BaseModel):
65
67
  """Base class for braindecode model pydantic configs."""
66
68
 
67
69
  def create_instance(self) -> EEGModuleMixin:
68
- if self.model_name_ not in models_dict:
69
- _init_models_dict()
70
- model_cls = models_dict[self.model_name_]
70
+ model_cls = _get_model_class(self.model_name_)
71
71
  kwargs = self.model_dump(mode="python", exclude={"model_name_"})
72
72
  if kwargs.get("n_chans") is not None and kwargs.get("chs_info") is not None:
73
73
  kwargs.pop("n_chans")
@@ -208,12 +208,12 @@ def make_model_config(
208
208
  # and define __all__ based on generated classes
209
209
  __all__ = ["make_model_config"]
210
210
 
211
- if not models_dict:
211
+ if not models_dict and not interpolated_models_dict:
212
212
  _init_models_dict()
213
213
 
214
214
  models_configs: list[type[BaseBraindecodeModelConfig]] = []
215
215
  for model_name, req, _ in models_mandatory_parameters:
216
- model_cls = models_dict[model_name]
216
+ model_cls = _get_model_class(model_name)
217
217
  model_cfg = make_model_config(model_cls, req)
218
218
  globals()[model_cfg.__name__] = model_cfg
219
219
  __all__.append(model_cfg.__name__)
@@ -16,6 +16,12 @@ import torch # noqa: F401 # exposed so TorchScript can resolve ``torch`` throu
16
16
  from torch import nn
17
17
 
18
18
  models_dict = {}
19
+ # Interpolated models are channel-interpolating wrappers around existing
20
+ # braindecode backbones (see :func:`braindecode.models.InterpolatedModel`).
21
+ # They are derivatives of existing models rather than standalone
22
+ # architectures, so they are kept in a separate registry to avoid polluting
23
+ # ``models_dict`` (e.g. for benchmarking that iterates over all "real" models).
24
+ interpolated_models_dict = {}
19
25
 
20
26
  _IMPORT_ADAPTER = pydantic.TypeAdapter(pydantic.ImportString)
21
27
 
@@ -189,7 +195,45 @@ def _init_models_dict():
189
195
  issubclass(m[1], models.base.EEGModuleMixin)
190
196
  and m[1] != models.base.EEGModuleMixin
191
197
  ):
192
- models_dict[m[0]] = m[1]
198
+ # Interpolated models are wrappers around existing backbones
199
+ # (identified by the ``_TARGET_CHS_INFO`` class attribute set by
200
+ # :func:`braindecode.models.InterpolatedModel`). Keep them in a
201
+ # dedicated registry instead of ``models_dict``.
202
+ if getattr(m[1], "_TARGET_CHS_INFO", None) is not None:
203
+ interpolated_models_dict[m[0]] = m[1]
204
+ else:
205
+ models_dict[m[0]] = m[1]
206
+
207
+
208
+ def _get_model_class(model_name: str):
209
+ """Return the model class registered under ``model_name``.
210
+
211
+ Searches both the standard :data:`models_dict` and the
212
+ :data:`interpolated_models_dict` so that interpolated models remain
213
+ resolvable by name (e.g. for skorch wrappers and pydantic configs).
214
+
215
+ Parameters
216
+ ----------
217
+ model_name : str
218
+ Name of the model class to retrieve.
219
+
220
+ Returns
221
+ -------
222
+ type
223
+ The model class registered under ``model_name``.
224
+
225
+ Raises
226
+ ------
227
+ ValueError
228
+ If ``model_name`` is not found in either registry.
229
+ """
230
+ if not models_dict and not interpolated_models_dict:
231
+ _init_models_dict()
232
+ if model_name in models_dict:
233
+ return models_dict[model_name]
234
+ if model_name in interpolated_models_dict:
235
+ return interpolated_models_dict[model_name]
236
+ raise ValueError(f"Unknown model name {model_name!r}.")
193
237
 
194
238
 
195
239
  # Keep in sync with _EEG_PARAMS above.
@@ -0,0 +1 @@
1
+ __version__ = "1.7.0.dev182642410"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: braindecode
3
- Version: 1.7.0.dev174022531
3
+ Version: 1.7.0.dev182642410
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>
@@ -161,7 +161,7 @@
161
161
  <div class="container bd-facts-inner">
162
162
  <span class="bd-facts-label">By the numbers</span>
163
163
  <div class="bd-facts-row">
164
- <a href="models/models.html"><b>65+</b> models</a>
164
+ <a href="models/models_table.html"><b>65+</b> models</a>
165
165
  <a href="api.html#augmentation"><b>20+</b> augmentations</a>
166
166
  <a href="https://moabb.neurotechx.com/" target="_blank" rel="noopener"><b>150+</b> datasets <span style="color:var(--bd-muted)">via MOABB</span></a>
167
167
  <a href="https://eegdash.org/" target="_blank" rel="noopener"><b>700+</b> datasets <span style="color:var(--bd-muted)">via EEGDash</span></a>
@@ -224,7 +224,7 @@
224
224
  <p class="section-sub">Built to <strong>plug into the EEG ecosystem you already use</strong>: every <a href="https://moabb.neurotechx.com/" target="_blank" rel="noopener">MOABB</a> dataset, every <a href="https://mne.tools/" target="_blank" rel="noopener">MNE-Python</a> preprocessing function, every <a href="https://scikit-learn.org/" target="_blank" rel="noopener">scikit-learn</a> training loop, plus 700+ BIDS datasets via <a href="https://eegdash.org/" target="_blank" rel="noopener">EEGDash</a>. One library, no lock-in.</p>
225
225
  </div>
226
226
  <div class="feature-grid">
227
- <a href="models/models.html" class="feature-card">
227
+ <a href="models/models_table.html" class="feature-card">
228
228
  <span class="feature-icon"><svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 12c2-4 4-4 6 0s4 4 6 0 4-4 6 0 4 4 2 0"/></svg></span>
229
229
  <h3>Decode raw electrophysiology</h3>
230
230
  <p>End-to-end models go straight from raw EEG/ECoG/MEG to predictions. No hand-crafted features required.</p>
@@ -248,7 +248,7 @@
248
248
  <p>Fully compatible with every <a class="feature-inline-link" href="https://mne.tools/" target="_blank" rel="noopener">MNE</a> preprocessing function and with <a class="feature-inline-link" href="https://eegprep.org/" target="_blank" rel="noopener">EEGPrep</a>, plus exponential standardization and 20+ EEG augmentations.</p>
249
249
  <a href="api.html#augmentation" class="feature-link">Augmentation <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></a>
250
250
  </div>
251
- <a href="models/models.html" class="feature-card">
251
+ <a href="models/models_table.html" class="feature-card">
252
252
  <span class="feature-icon"><svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="6" r="2"/><circle cx="6" cy="18" r="2"/><circle cx="18" cy="12" r="2"/><path d="M8 6h2a3 3 0 0 1 3 3v0a3 3 0 0 0 3 3M8 18h2a3 3 0 0 0 3-3v0a3 3 0 0 1 3-3"/></svg></span>
253
253
  <h3>Curated model zoo</h3>
254
254
  <p>EEGNeX, ConvNets, ATCNet, EEGConformer, foundation models. 60+ architectures reproduced from the original papers.</p>
@@ -359,7 +359,7 @@
359
359
  <div class="zoo-grid"><!-- populated by landing.js --></div>
360
360
  <div class="zoo-foot">
361
361
  <span class="zoo-foot-count">Loading…</span>
362
- <a href="models/models.html">Browse the full zoo on the Models page <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></a>
362
+ <a href="models/models_table.html">Browse the full zoo on the Models table <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></a>
363
363
  </div>
364
364
  </div>
365
365
  </section>
@@ -521,7 +521,7 @@
521
521
  <span class="pipeline-col-name">Modeling</span>
522
522
  </div>
523
523
  <div class="pipeline-col-cards">
524
- <a class="pipeline-card" href="models/models.html">
524
+ <a class="pipeline-card" href="models/models_table.html">
525
525
  <span class="pipeline-card-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="6" r="2"/><circle cx="6" cy="18" r="2"/><circle cx="18" cy="12" r="2"/><path d="M8 6h2a3 3 0 0 1 3 3v0a3 3 0 0 0 3 3M8 18h2a3 3 0 0 0 3-3v0a3 3 0 0 1 3-3"/></svg></span>
526
526
  <span class="pipeline-card-text">
527
527
  <span class="pipeline-card-name">braindecode.models</span>
@@ -679,7 +679,7 @@
679
679
  <ul>
680
680
  <li><a href="install/install.html">Install</a></li>
681
681
  <li><a href="auto_examples/index.html">Tutorials</a></li>
682
- <li><a href="models/models.html">Models</a></li>
682
+ <li><a href="models/models_table.html">Models</a></li>
683
683
  <li><a href="api.html">API reference</a></li>
684
684
  </ul>
685
685
  </div>
@@ -68,12 +68,12 @@ With this, in this model's sub-pages, we provide:
68
68
  - 4. :doc:`A visualization of the common important information from the models
69
69
  <models_visualization>`.
70
70
 
71
- .. button-ref:: models_categorization
71
+ .. button-ref:: models_table
72
72
  :ref-type: doc
73
73
  :color: primary
74
74
  :expand:
75
75
 
76
- Next: Models categorization
76
+ Browse the models table
77
77
 
78
78
  .. rubric:: References
79
79
 
@@ -191,6 +191,15 @@ Braindecode.
191
191
  // Initial color pass
192
192
  applyTagPalette(document);
193
193
 
194
+ function applyInitialModelFilter() {
195
+ var model = new URLSearchParams(window.location.search).get('model');
196
+ if (!model) return;
197
+ table.search(model).draw();
198
+ $(table.table().container()).find('div.dataTables_filter input').val(model);
199
+ }
200
+
201
+ applyInitialModelFilter();
202
+
194
203
  /* --- Bonus UX: click a column header to open panes focused there ----- */
195
204
  $('.sortable thead th').each(function (i) {
196
205
  if (!FILTER_COLS.includes(i)) return;
@@ -28,12 +28,18 @@ Current 1.7.0 (GitHub)
28
28
  Enhancements
29
29
  ============
30
30
 
31
- - None yet
31
+ - Add :data:`braindecode.models.util.interpolated_models_dict`, a dedicated
32
+ registry for the interpolated (channel-adapting) models, keeping them separate
33
+ from :data:`braindecode.models.util.models_dict` (:gh:`1093` by `Bruno Aristimunha`_)
32
34
 
33
35
  API and behavior changes
34
36
  ========================
35
37
 
36
- - None yet
38
+ - Interpolated models (e.g. ``InterpolatedBIOT``, ``InterpolatedLaBraM``) are no
39
+ longer included in :data:`braindecode.models.util.models_dict`; they now live
40
+ in the separate :data:`braindecode.models.util.interpolated_models_dict`
41
+ registry. They remain fully usable and resolvable by name in the skorch
42
+ wrappers and pydantic configs (:gh:`1093` by `Bruno Aristimunha`_)
37
43
 
38
44
  Requirements
39
45
  ============
@@ -1 +0,0 @@
1
- __version__ = "1.7.0.dev174022531"