braindecode 1.6.1.dev1041__tar.gz → 1.6.1.dev1048__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 (171) hide show
  1. {braindecode-1.6.1.dev1041/braindecode.egg-info → braindecode-1.6.1.dev1048}/PKG-INFO +2 -2
  2. braindecode-1.6.1.dev1048/braindecode/version.py +1 -0
  3. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048/braindecode.egg-info}/PKG-INFO +2 -2
  4. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode.egg-info/requires.txt +1 -1
  5. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/index.rst +4 -4
  6. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/whats_new.rst +13 -1
  7. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/pyproject.toml +1 -1
  8. braindecode-1.6.1.dev1041/braindecode/version.py +0 -1
  9. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/LICENSE.txt +0 -0
  10. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/MANIFEST.in +0 -0
  11. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/NOTICE.txt +0 -0
  12. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/README.rst +0 -0
  13. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/__init__.py +0 -0
  14. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/augmentation/__init__.py +0 -0
  15. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/augmentation/base.py +0 -0
  16. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/augmentation/functional.py +0 -0
  17. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/augmentation/transforms.py +0 -0
  18. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/classifier.py +0 -0
  19. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/__init__.py +0 -0
  20. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/base.py +0 -0
  21. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/bbci.py +0 -0
  22. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/bcicomp.py +0 -0
  23. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/bids/__init__.py +0 -0
  24. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/bids/datasets.py +0 -0
  25. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/bids/format.py +0 -0
  26. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/bids/hub.py +0 -0
  27. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/bids/hub_format.py +0 -0
  28. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/bids/hub_io.py +0 -0
  29. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/bids/hub_validation.py +0 -0
  30. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/bids/iterable.py +0 -0
  31. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/chb_mit.py +0 -0
  32. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/mne.py +0 -0
  33. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/moabb.py +0 -0
  34. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/nmt.py +0 -0
  35. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/registry.py +0 -0
  36. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/siena.py +0 -0
  37. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/sleep_physio_challe_18.py +0 -0
  38. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/sleep_physionet.py +0 -0
  39. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/tuh.py +0 -0
  40. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/utils.py +0 -0
  41. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datasets/xy.py +0 -0
  42. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datautil/__init__.py +0 -0
  43. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datautil/channel_utils.py +0 -0
  44. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datautil/hub_formats.py +0 -0
  45. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datautil/serialization.py +0 -0
  46. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/datautil/util.py +0 -0
  47. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/eegneuralnet.py +0 -0
  48. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/functional/__init__.py +0 -0
  49. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/functional/functions.py +0 -0
  50. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/functional/initialization.py +0 -0
  51. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/__init__.py +0 -0
  52. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/atcnet.py +0 -0
  53. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/attentionbasenet.py +0 -0
  54. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/attn_sleep.py +0 -0
  55. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/base.py +0 -0
  56. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/bendr.py +0 -0
  57. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/biot.py +0 -0
  58. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/brainmodule.py +0 -0
  59. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/cbramod.py +0 -0
  60. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/codebrain.py +0 -0
  61. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/config.py +0 -0
  62. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/contrawr.py +0 -0
  63. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/ctnet.py +0 -0
  64. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/deep4.py +0 -0
  65. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/deepsleepnet.py +0 -0
  66. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/dgcnn.py +0 -0
  67. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/eegconformer.py +0 -0
  68. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/eeginception_erp.py +0 -0
  69. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/eeginception_mi.py +0 -0
  70. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/eegitnet.py +0 -0
  71. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/eegminer.py +0 -0
  72. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/eegnet.py +0 -0
  73. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/eegnex.py +0 -0
  74. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/eegpt.py +0 -0
  75. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/eegsimpleconv.py +0 -0
  76. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/eegsym.py +0 -0
  77. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/eegtcnet.py +0 -0
  78. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/emg2qwerty.py +0 -0
  79. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/fbcnet.py +0 -0
  80. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/fblightconvnet.py +0 -0
  81. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/fbmsnet.py +0 -0
  82. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/hybrid.py +0 -0
  83. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/ifnet.py +0 -0
  84. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/interpolated.py +0 -0
  85. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/labram.py +0 -0
  86. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/luna.py +0 -0
  87. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/medformer.py +0 -0
  88. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/meta_neuromotor.py +0 -0
  89. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/msvtnet.py +0 -0
  90. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/patchedtransformer.py +0 -0
  91. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/reve.py +0 -0
  92. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/sccnet.py +0 -0
  93. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/shallow_fbcsp.py +0 -0
  94. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/signal_jepa.py +0 -0
  95. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/sinc_shallow.py +0 -0
  96. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/sleep_stager_blanco_2020.py +0 -0
  97. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/sleep_stager_chambon_2018.py +0 -0
  98. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/sparcnet.py +0 -0
  99. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/sstdpn.py +0 -0
  100. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/summary.csv +0 -0
  101. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/syncnet.py +0 -0
  102. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/tcn.py +0 -0
  103. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/tidnet.py +0 -0
  104. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/tsinception.py +0 -0
  105. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/usleep.py +0 -0
  106. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/models/util.py +0 -0
  107. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/modules/__init__.py +0 -0
  108. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/modules/activation.py +0 -0
  109. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/modules/attention.py +0 -0
  110. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/modules/blocks.py +0 -0
  111. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/modules/convolution.py +0 -0
  112. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/modules/filter.py +0 -0
  113. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/modules/interpolation.py +0 -0
  114. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/modules/layers.py +0 -0
  115. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/modules/linear.py +0 -0
  116. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/modules/parametrization.py +0 -0
  117. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/modules/stats.py +0 -0
  118. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/modules/util.py +0 -0
  119. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/modules/wrapper.py +0 -0
  120. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/preprocessing/__init__.py +0 -0
  121. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/preprocessing/eegprep_preprocess.py +0 -0
  122. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/preprocessing/mne_preprocess.py +0 -0
  123. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/preprocessing/preprocess.py +0 -0
  124. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/preprocessing/util.py +0 -0
  125. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/preprocessing/windowers.py +0 -0
  126. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/regressor.py +0 -0
  127. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/samplers/__init__.py +0 -0
  128. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/samplers/base.py +0 -0
  129. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/samplers/ssl.py +0 -0
  130. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/training/__init__.py +0 -0
  131. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/training/callbacks.py +0 -0
  132. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/training/losses.py +0 -0
  133. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/training/scoring.py +0 -0
  134. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/util.py +0 -0
  135. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/visualization/__init__.py +0 -0
  136. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/visualization/attribution.py +0 -0
  137. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/visualization/confusion_matrices.py +0 -0
  138. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/visualization/frequency.py +0 -0
  139. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/visualization/metrics.py +0 -0
  140. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/visualization/sanity.py +0 -0
  141. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode/visualization/topology.py +0 -0
  142. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode.egg-info/SOURCES.txt +0 -0
  143. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode.egg-info/dependency_links.txt +0 -0
  144. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/braindecode.egg-info/top_level.txt +0 -0
  145. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/Makefile +0 -0
  146. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/_templates/autosummary/class.rst +0 -0
  147. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/_templates/autosummary/class_in_subdir.rst +0 -0
  148. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/_templates/autosummary/function.rst +0 -0
  149. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/_templates/autosummary/function_in_subdir.rst +0 -0
  150. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/api.rst +0 -0
  151. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/cite.rst +0 -0
  152. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/conf.py +0 -0
  153. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/help.rst +0 -0
  154. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/install/install.rst +0 -0
  155. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/install/install_pip.rst +0 -0
  156. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/install/install_source.rst +0 -0
  157. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/models/categorization/attention.rst +0 -0
  158. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/models/categorization/channel.rst +0 -0
  159. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/models/categorization/convolution.rst +0 -0
  160. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/models/categorization/filterbank.rst +0 -0
  161. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/models/categorization/gnn.rst +0 -0
  162. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/models/categorization/interpretable.rst +0 -0
  163. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/models/categorization/lbm.rst +0 -0
  164. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/models/categorization/recurrent.rst +0 -0
  165. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/models/categorization/spd.rst +0 -0
  166. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/models/models.rst +0 -0
  167. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/models/models_categorization.rst +0 -0
  168. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/models/models_table.rst +0 -0
  169. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/models/models_visualization.rst +0 -0
  170. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/docs/sg_execution_times.rst +0 -0
  171. {braindecode-1.6.1.dev1041 → braindecode-1.6.1.dev1048}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: braindecode
3
- Version: 1.6.1.dev1041
3
+ Version: 1.6.1.dev1048
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>
@@ -46,7 +46,7 @@ Requires-Dist: zarr>=3.0; extra == "hub"
46
46
  Provides-Extra: viz
47
47
  Requires-Dist: captum>=0.7.0; extra == "viz"
48
48
  Provides-Extra: tests
49
- Requires-Dist: pytest; extra == "tests"
49
+ Requires-Dist: pytest<9.1; extra == "tests"
50
50
  Requires-Dist: pytest-cov; extra == "tests"
51
51
  Requires-Dist: codecov; extra == "tests"
52
52
  Requires-Dist: pytest_cases; extra == "tests"
@@ -0,0 +1 @@
1
+ __version__ = "1.6.1.dev1048"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: braindecode
3
- Version: 1.6.1.dev1041
3
+ Version: 1.6.1.dev1048
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>
@@ -46,7 +46,7 @@ Requires-Dist: zarr>=3.0; extra == "hub"
46
46
  Provides-Extra: viz
47
47
  Requires-Dist: captum>=0.7.0; extra == "viz"
48
48
  Provides-Extra: tests
49
- Requires-Dist: pytest; extra == "tests"
49
+ Requires-Dist: pytest<9.1; extra == "tests"
50
50
  Requires-Dist: pytest-cov; extra == "tests"
51
51
  Requires-Dist: codecov; extra == "tests"
52
52
  Requires-Dist: pytest_cases; extra == "tests"
@@ -56,7 +56,7 @@ zarr>=3.0
56
56
  moabb>=1.4.3
57
57
 
58
58
  [tests]
59
- pytest
59
+ pytest<9.1
60
60
  pytest-cov
61
61
  codecov
62
62
  pytest_cases
@@ -293,14 +293,14 @@
293
293
  <span class="code-step-num">02</span>
294
294
  <span class="code-step-text">
295
295
  <span class="code-step-title">Preprocess &amp; window</span>
296
- <span class="code-step-desc">Bandpass-filter, then cut motor-imagery trials.</span>
296
+ <span class="code-step-desc">Keep EEG sensors, bandpass-filter, then window the trials.</span>
297
297
  </span>
298
298
  </li>
299
299
  <li class="code-step">
300
300
  <span class="code-step-num">03</span>
301
301
  <span class="code-step-text">
302
302
  <span class="code-step-title">Pick a model</span>
303
- <span class="code-step-desc">EEGNeX with 22 channels, 4 classes, 4.5 s @ 250 Hz.</span>
303
+ <span class="code-step-desc">EEGNeX, sized from the data: 22 channels, 4 classes, 4 s @ 250 Hz.</span>
304
304
  </span>
305
305
  </li>
306
306
  <li class="code-step">
@@ -321,8 +321,8 @@
321
321
  <div class="code-window-meta">PyTorch · CUDA</div>
322
322
  </div>
323
323
  <div class="code-window-body">
324
- <div class="code-gutter"><div>1</div><div>2</div><div>3</div><div>4</div><div>5</div><div>6</div><div>7</div><div>8</div><div>9</div><div>10</div><div>11</div><div>12</div><div>13</div><div>14</div><div>15</div><div>16</div><div>17</div><div>18</div><div>19</div></div>
325
- <div class="code-content"><div data-step="0"><span class="tok-com"># 1. Load BCI Competition IV-2a (subject 3) via MOABB</span></div><div data-step="0"><span class="tok-kw">from</span> <span class="tok-var">braindecode.datasets</span> <span class="tok-kw">import</span> <span class="tok-cls">MOABBDataset</span></div><div data-step="0"></div><div data-step="0"><span class="tok-var">dataset</span> = <span class="tok-fn">MOABBDataset</span>(<span class="tok-str">"BNCI2014_001"</span>, <span class="tok-attr">subject_ids</span>=[<span class="tok-num">3</span>])</div><div data-step="1"><span class="tok-com"># 2. Bandpass-filter and create event-aligned windows</span></div><div data-step="1"><span class="tok-kw">from</span> <span class="tok-var">braindecode.preprocessing</span> <span class="tok-kw">import</span> (</div><div data-step="1"> <span class="tok-cls">Preprocessor</span>, <span class="tok-fn">preprocess</span>, <span class="tok-fn">create_windows_from_events</span>,</div><div data-step="1">)</div><div data-step="1"></div><div data-step="1"><span class="tok-fn">preprocess</span>(<span class="tok-var">dataset</span>, [<span class="tok-fn">Preprocessor</span>(<span class="tok-str">"filter"</span>, <span class="tok-attr">l_freq</span>=<span class="tok-num">4.</span>, <span class="tok-attr">h_freq</span>=<span class="tok-num">38.</span>)])</div><div data-step="1"><span class="tok-var">windows</span> = <span class="tok-fn">create_windows_from_events</span>(<span class="tok-var">dataset</span>)</div><div data-step="2"><span class="tok-com"># 3. Instantiate a published architecture</span></div><div data-step="2"><span class="tok-kw">from</span> <span class="tok-var">braindecode.models</span> <span class="tok-kw">import</span> <span class="tok-cls">EEGNeX</span></div><div data-step="2"></div><div data-step="2"><span class="tok-var">model</span> = <span class="tok-fn">EEGNeX</span>(<span class="tok-attr">n_chans</span>=<span class="tok-num">22</span>, <span class="tok-attr">n_outputs</span>=<span class="tok-num">4</span>, <span class="tok-attr">n_times</span>=<span class="tok-num">1125</span>)</div><div data-step="3"><span class="tok-com"># 4. Train with the skorch-based EEGClassifier</span></div><div data-step="3"><span class="tok-kw">from</span> <span class="tok-var">braindecode</span> <span class="tok-kw">import</span> <span class="tok-cls">EEGClassifier</span></div><div data-step="3"></div><div data-step="3"><span class="tok-var">clf</span> = <span class="tok-fn">EEGClassifier</span>(<span class="tok-attr">module</span>=<span class="tok-var">model</span>, <span class="tok-attr">max_epochs</span>=<span class="tok-num">10</span>)</div><div data-step="3"><span class="tok-var">clf</span>.<span class="tok-fn">fit</span>(<span class="tok-var">windows</span>, <span class="tok-attr">y</span>=<span class="tok-kw">None</span>)</div></div>
324
+ <div class="code-gutter"><div>1</div><div>2</div><div>3</div><div>4</div><div>5</div><div>6</div><div>7</div><div>8</div><div>9</div><div>10</div><div>11</div><div>12</div><div>13</div><div>14</div><div>15</div><div>16</div><div>17</div><div>18</div><div>19</div><div>20</div></div>
325
+ <div class="code-content"><div data-step="0"><span class="tok-com"># 1. Load BCI Competition IV-2a (subject 3) via MOABB</span></div><div data-step="0"><span class="tok-kw">from</span> <span class="tok-var">braindecode.datasets</span> <span class="tok-kw">import</span> <span class="tok-cls">MOABBDataset</span></div><div data-step="0"></div><div data-step="0"><span class="tok-var">dataset</span> = <span class="tok-fn">MOABBDataset</span>(<span class="tok-str">"BNCI2014_001"</span>, <span class="tok-attr">subject_ids</span>=[<span class="tok-num">3</span>])</div><div data-step="1"><span class="tok-com"># 2. Keep EEG channels, bandpass-filter, and window the trials</span></div><div data-step="1"><span class="tok-kw">from</span> <span class="tok-var">braindecode.preprocessing</span> <span class="tok-kw">import</span> (</div><div data-step="1"> <span class="tok-cls">Preprocessor</span>, <span class="tok-fn">preprocess</span>, <span class="tok-fn">create_windows_from_events</span>,</div><div data-step="1">)</div><div data-step="1"></div><div data-step="1"><span class="tok-fn">preprocess</span>(<span class="tok-var">dataset</span>, [</div><div data-step="1"> <span class="tok-fn">Preprocessor</span>(<span class="tok-str">"pick_types"</span>, <span class="tok-attr">eeg</span>=<span class="tok-kw">True</span>),</div><div data-step="1"> <span class="tok-fn">Preprocessor</span>(<span class="tok-str">"filter"</span>, <span class="tok-attr">l_freq</span>=<span class="tok-num">4.</span>, <span class="tok-attr">h_freq</span>=<span class="tok-num">38.</span>),</div><div data-step="1">])</div><div data-step="1"><span class="tok-var">windows</span> = <span class="tok-fn">create_windows_from_events</span>(<span class="tok-var">dataset</span>)</div><div data-step="2"><span class="tok-com"># 3. Pick a published architecture by name</span></div><div data-step="2"><span class="tok-kw">from</span> <span class="tok-var">braindecode</span> <span class="tok-kw">import</span> <span class="tok-cls">EEGClassifier</span></div><div data-step="2"></div><div data-step="2"><span class="tok-var">clf</span> = <span class="tok-fn">EEGClassifier</span>(<span class="tok-str">"EEGNeX"</span>, <span class="tok-attr">max_epochs</span>=<span class="tok-num">10</span>, <span class="tok-attr">train_split</span>=<span class="tok-kw">None</span>)</div><div data-step="3"><span class="tok-com"># 4. Train with sklearn-style fit()</span></div><div data-step="3"><span class="tok-var">clf</span>.<span class="tok-fn">fit</span>(<span class="tok-var">windows</span>, <span class="tok-attr">y</span>=<span class="tok-kw">None</span>)</div></div>
326
326
  </div>
327
327
  <div class="code-output">
328
328
  <span class="ok"><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="M20 6 9 17l-5-5"/></svg> Trains on CPU or GPU</span>
@@ -45,7 +45,11 @@ API and behavior changes
45
45
  Requirements
46
46
  ============
47
47
 
48
- - None yet
48
+ - Cap the test dependency to ``pytest<9.1`` in the ``tests`` extra. ``pytest``
49
+ 9.1.0 changed the ``IdMaker`` constructor signature, which breaks
50
+ ``pytest_cases`` 3.10.1 and makes the whole test suite crash at collection
51
+ time. The cap can be lifted once ``pytest_cases`` supports ``pytest>=9.1``.
52
+ By `Adam Mounir`_.
49
53
 
50
54
  Bug fixes
51
55
  ==========
@@ -61,6 +65,13 @@ Bug fixes
61
65
 
62
66
  - Fix incorrect import path in CONTRIBUTING.md by `Yiheng Li`_
63
67
 
68
+ - Fix the broken EEGNeX quickstart snippet on the documentation landing page,
69
+ which kept non-EEG channels (including the STIM trigger), hardcoded a
70
+ mismatched ``n_times``, and failed at the default stratified validation split
71
+ with ``y=None``; it now restricts to EEG channels and lets
72
+ :class:`~braindecode.EEGClassifier` infer the signal dimensions from the data.
73
+ By `Bhargav Kowshik`_
74
+
64
75
  Code health
65
76
  ============
66
77
 
@@ -1243,3 +1254,4 @@ Authors
1243
1254
  .. _Léo Burgund: https://github.com/leob000
1244
1255
  .. _Adam Mounir: https://github.com/adammounir
1245
1256
  .. _Yiheng Li: https://github.com/YihengLi-1
1257
+ .. _Bhargav Kowshik: https://github.com/bkowshik
@@ -80,7 +80,7 @@ eegprep = ["eegprep[eeglabio]>=0.2.23"]
80
80
  hub = ["huggingface_hub[torch]>=0.20.0", "zarr>=3.0"]
81
81
  viz = ["captum>=0.7.0"]
82
82
  tests = [
83
- 'pytest',
83
+ 'pytest<9.1', # pytest 9.1.0 changed IdMaker's signature, which breaks pytest_cases 3.10.1 (crash at collection time). Remove the cap once pytest_cases supports pytest >=9.1.
84
84
  'pytest-cov',
85
85
  'codecov',
86
86
  'pytest_cases',
@@ -1 +0,0 @@
1
- __version__ = "1.6.1.dev1041"