braindecode 1.8.0.dev1122__tar.gz → 1.8.0.dev1125__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 (179) hide show
  1. {braindecode-1.8.0.dev1122/braindecode.egg-info → braindecode-1.8.0.dev1125}/PKG-INFO +1 -1
  2. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/samplers/base.py +40 -2
  3. braindecode-1.8.0.dev1125/braindecode/version.py +1 -0
  4. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125/braindecode.egg-info}/PKG-INFO +1 -1
  5. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/whats_new.rst +19 -0
  6. braindecode-1.8.0.dev1122/braindecode/version.py +0 -1
  7. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/LICENSE.txt +0 -0
  8. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/MANIFEST.in +0 -0
  9. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/NOTICE.txt +0 -0
  10. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/README.rst +0 -0
  11. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/__init__.py +0 -0
  12. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/augmentation/__init__.py +0 -0
  13. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/augmentation/base.py +0 -0
  14. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/augmentation/functional.py +0 -0
  15. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/augmentation/transforms.py +0 -0
  16. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/classifier.py +0 -0
  17. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/__init__.py +0 -0
  18. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/base.py +0 -0
  19. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bbci.py +0 -0
  20. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bcicomp.py +0 -0
  21. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bids/__init__.py +0 -0
  22. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bids/datasets.py +0 -0
  23. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bids/format.py +0 -0
  24. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bids/hub.py +0 -0
  25. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bids/hub_format.py +0 -0
  26. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bids/hub_io.py +0 -0
  27. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bids/hub_validation.py +0 -0
  28. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bids/iterable.py +0 -0
  29. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/chb_mit.py +0 -0
  30. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/collate.py +0 -0
  31. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/mne.py +0 -0
  32. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/moabb.py +0 -0
  33. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/nmt.py +0 -0
  34. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/registry.py +0 -0
  35. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/siena.py +0 -0
  36. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/sleep_physio_challe_18.py +0 -0
  37. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/sleep_physionet.py +0 -0
  38. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/tuh.py +0 -0
  39. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/utils.py +0 -0
  40. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/xy.py +0 -0
  41. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datautil/__init__.py +0 -0
  42. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datautil/channel_utils.py +0 -0
  43. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datautil/hub_formats.py +0 -0
  44. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datautil/serialization.py +0 -0
  45. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datautil/util.py +0 -0
  46. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/eegneuralnet.py +0 -0
  47. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/functional/__init__.py +0 -0
  48. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/functional/functions.py +0 -0
  49. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/functional/initialization.py +0 -0
  50. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/__init__.py +0 -0
  51. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/atcnet.py +0 -0
  52. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/attentionbasenet.py +0 -0
  53. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/attn_sleep.py +0 -0
  54. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/base.py +0 -0
  55. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/bendr.py +0 -0
  56. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/biot.py +0 -0
  57. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/brainmodule.py +0 -0
  58. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/cbramod.py +0 -0
  59. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/codebrain.py +0 -0
  60. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/config.py +0 -0
  61. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/contrawr.py +0 -0
  62. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/ctnet.py +0 -0
  63. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/dance.py +0 -0
  64. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/deep4.py +0 -0
  65. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/deepsleepnet.py +0 -0
  66. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/dgcnn.py +0 -0
  67. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eegconformer.py +0 -0
  68. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eegdino.py +0 -0
  69. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eeginception_erp.py +0 -0
  70. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eeginception_mi.py +0 -0
  71. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eegitnet.py +0 -0
  72. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eegminer.py +0 -0
  73. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eegnet.py +0 -0
  74. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eegnex.py +0 -0
  75. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eegpt.py +0 -0
  76. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eegsimpleconv.py +0 -0
  77. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eegsym.py +0 -0
  78. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eegtcnet.py +0 -0
  79. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/emg2qwerty.py +0 -0
  80. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/fbcnet.py +0 -0
  81. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/fblightconvnet.py +0 -0
  82. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/fbmsnet.py +0 -0
  83. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/hybrid.py +0 -0
  84. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/ifnet.py +0 -0
  85. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/interpolated.py +0 -0
  86. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/labram.py +0 -0
  87. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/luna.py +0 -0
  88. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/medformer.py +0 -0
  89. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/meta_neuromotor.py +0 -0
  90. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/msvtnet.py +0 -0
  91. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/mvpformer.py +0 -0
  92. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/patchedtransformer.py +0 -0
  93. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/reve.py +0 -0
  94. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/sccnet.py +0 -0
  95. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/shallow_fbcsp.py +0 -0
  96. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/signal_jepa.py +0 -0
  97. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/sinc_shallow.py +0 -0
  98. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/sleep_stager_blanco_2020.py +0 -0
  99. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/sleep_stager_chambon_2018.py +0 -0
  100. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/sparcnet.py +0 -0
  101. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/sstdpn.py +0 -0
  102. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/steegformer.py +0 -0
  103. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/summary.csv +0 -0
  104. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/syncnet.py +0 -0
  105. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/tcformer.py +0 -0
  106. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/tcn.py +0 -0
  107. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/tidnet.py +0 -0
  108. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/tsinception.py +0 -0
  109. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/usleep.py +0 -0
  110. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/util.py +0 -0
  111. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/zuna.py +0 -0
  112. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/__init__.py +0 -0
  113. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/activation.py +0 -0
  114. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/attention.py +0 -0
  115. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/blocks.py +0 -0
  116. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/convolution.py +0 -0
  117. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/dance_modules.py +0 -0
  118. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/filter.py +0 -0
  119. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/interpolation.py +0 -0
  120. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/layers.py +0 -0
  121. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/linear.py +0 -0
  122. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/parametrization.py +0 -0
  123. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/stats.py +0 -0
  124. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/util.py +0 -0
  125. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/wrapper.py +0 -0
  126. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/preprocessing/__init__.py +0 -0
  127. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/preprocessing/eegprep_preprocess.py +0 -0
  128. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/preprocessing/mne_preprocess.py +0 -0
  129. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/preprocessing/preprocess.py +0 -0
  130. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/preprocessing/util.py +0 -0
  131. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/preprocessing/windowers.py +0 -0
  132. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/regressor.py +0 -0
  133. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/samplers/__init__.py +0 -0
  134. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/samplers/ssl.py +0 -0
  135. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/training/__init__.py +0 -0
  136. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/training/callbacks.py +0 -0
  137. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/training/losses.py +0 -0
  138. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/training/scoring.py +0 -0
  139. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/util.py +0 -0
  140. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/visualization/__init__.py +0 -0
  141. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/visualization/attribution.py +0 -0
  142. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/visualization/confusion_matrices.py +0 -0
  143. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/visualization/frequency.py +0 -0
  144. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/visualization/metrics.py +0 -0
  145. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/visualization/sanity.py +0 -0
  146. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/visualization/topology.py +0 -0
  147. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode.egg-info/SOURCES.txt +0 -0
  148. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode.egg-info/dependency_links.txt +0 -0
  149. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode.egg-info/requires.txt +0 -0
  150. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode.egg-info/top_level.txt +0 -0
  151. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/Makefile +0 -0
  152. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/_templates/autosummary/class.rst +0 -0
  153. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/_templates/autosummary/class_in_subdir.rst +0 -0
  154. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/_templates/autosummary/function.rst +0 -0
  155. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/_templates/autosummary/function_in_subdir.rst +0 -0
  156. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/api.rst +0 -0
  157. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/cite.rst +0 -0
  158. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/conf.py +0 -0
  159. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/help.rst +0 -0
  160. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/index.rst +0 -0
  161. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/install/install.rst +0 -0
  162. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/install/install_pip.rst +0 -0
  163. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/install/install_source.rst +0 -0
  164. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/attention.rst +0 -0
  165. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/channel.rst +0 -0
  166. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/convolution.rst +0 -0
  167. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/filterbank.rst +0 -0
  168. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/gnn.rst +0 -0
  169. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/interpretable.rst +0 -0
  170. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/lbm.rst +0 -0
  171. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/recurrent.rst +0 -0
  172. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/spd.rst +0 -0
  173. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/models.rst +0 -0
  174. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/models_categorization.rst +0 -0
  175. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/models_table.rst +0 -0
  176. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/models_visualization.rst +0 -0
  177. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/sg_execution_times.rst +0 -0
  178. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/pyproject.toml +0 -0
  179. {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: braindecode
3
- Version: 1.8.0.dev1122
3
+ Version: 1.8.0.dev1125
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>
@@ -5,6 +5,7 @@ Sampler classes.
5
5
  # Authors: Hubert Banville <hubert.jbanville@gmail.com>
6
6
  # Theo Gnassounou <>
7
7
  # Young Truong <dt.young112@gmail.com>
8
+ # Sarthak Tayal <sarthaktayal2@gmail.com>
8
9
  #
9
10
  # License: BSD (3-clause)
10
11
 
@@ -219,6 +220,9 @@ class DistributedRecordingSampler(DistributedSampler):
219
220
  class SequenceSampler(RecordingSampler):
220
221
  """Sample sequences of consecutive windows.
221
222
 
223
+ Recordings holding fewer than ``n_windows`` windows cannot contain a full
224
+ sequence and contribute none.
225
+
222
226
  Parameters
223
227
  ----------
224
228
  metadata : pd.DataFrame
@@ -227,7 +231,7 @@ class SequenceSampler(RecordingSampler):
227
231
  Number of consecutive windows in a sequence.
228
232
  n_windows_stride : int
229
233
  Number of windows between two consecutive sequences.
230
- random : bool
234
+ randomize : bool
231
235
  If True, sample sequences randomly. If False, sample sequences in
232
236
  order.
233
237
  random_state : np.random.RandomState | int | None
@@ -269,7 +273,10 @@ class SequenceSampler(RecordingSampler):
269
273
  .apply(lambda x: x[: end_offset : self.n_windows_stride])
270
274
  .values
271
275
  )
272
- file_ids = [[i] * len(inds) for i, inds in enumerate(start_inds)]
276
+ # a typed array keeps the ids integer when a recording yields no sequence
277
+ file_ids = [
278
+ np.full(len(inds), i, dtype=np.int64) for i, inds in enumerate(start_inds)
279
+ ]
273
280
  return np.concatenate(start_inds), np.concatenate(file_ids)
274
281
 
275
282
  def __len__(self):
@@ -296,6 +303,10 @@ class BalancedSequenceSampler(RecordingSampler):
296
303
  3. Sample a window of the corresponding class in the selected recording.
297
304
  4. Extract a sequence of windows around the sampled window.
298
305
 
306
+ Recordings holding fewer than ``n_windows`` windows cannot contain a full
307
+ sequence and are left out of step 1, as they are in
308
+ :class:`SequenceSampler`.
309
+
299
310
  Parameters
300
311
  ----------
301
312
  metadata : pd.DataFrame
@@ -322,6 +333,33 @@ class BalancedSequenceSampler(RecordingSampler):
322
333
  self.n_windows = n_windows
323
334
  self.n_sequences = n_sequences
324
335
  self.info_class = self._init_info(metadata, required_keys=["target"])
336
+ self.long_enough_recordings = self._find_long_enough_recordings()
337
+
338
+ def _find_long_enough_recordings(self):
339
+ """Return the indices of the recordings that can hold a full sequence.
340
+
341
+ Returns
342
+ -------
343
+ np.ndarray :
344
+ Array of recording indices holding at least ``n_windows`` windows.
345
+ """
346
+ n_windows_per_rec = self.info["index"].apply(len).to_numpy()
347
+ if n_windows_per_rec.size == 0:
348
+ raise ValueError("Cannot build sequences from empty metadata.")
349
+
350
+ long_enough = np.flatnonzero(n_windows_per_rec >= self.n_windows)
351
+ if len(long_enough) == 0:
352
+ raise ValueError(
353
+ f"No recording holds enough windows to build a sequence of "
354
+ f"{self.n_windows} windows. The longest recording has "
355
+ f"{n_windows_per_rec.max()} windows. Reduce n_windows to at "
356
+ f"most that value."
357
+ )
358
+ return long_enough
359
+
360
+ def sample_recording(self):
361
+ """Return a random recording index among the ones long enough."""
362
+ return self.rng.choice(self.long_enough_recordings)
325
363
 
326
364
  def sample_class(self, rec_ind=None):
327
365
  """Return a random class.
@@ -0,0 +1 @@
1
+ __version__ = "1.8.0.dev1125"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: braindecode
3
- Version: 1.8.0.dev1122
3
+ Version: 1.8.0.dev1125
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>
@@ -83,6 +83,25 @@ Bug fixes
83
83
  which no longer exposes the ``eegprep.utils`` namespace used for sampling-rate
84
84
  validation (:gh:`1123` by `Bruno Aristimunha`_).
85
85
 
86
+ - Leave recordings shorter than ``n_windows`` out of the draw in
87
+ :class:`braindecode.samplers.BalancedSequenceSampler` instead of failing on
88
+ them. Such a recording holds no valid sequence start, which made the sampling
89
+ range empty and raised ``ValueError: high <= 0`` on the first sequence that
90
+ landed there. :class:`braindecode.samplers.SequenceSampler` already skips
91
+ those recordings. A clear error now names the longest recording when none of
92
+ them can hold a sequence (:gh:`1125` by `Sarthak Tayal`_).
93
+
94
+ - Keep ``file_ids`` of :class:`braindecode.samplers.SequenceSampler` integer.
95
+ The ids were built from untyped lists, so an empty list coming from a
96
+ recording too short for a sequence turned the concatenated array into
97
+ ``float64``, against the documented dtype and unusable as an index
98
+ (:gh:`1125` by `Sarthak Tayal`_).
99
+
100
+ - Document the ``randomize`` parameter of
101
+ :class:`braindecode.samplers.SequenceSampler` under its own name. The
102
+ docstring described it as ``random``, which no signature accepts
103
+ (:gh:`1125` by `Sarthak Tayal`_).
104
+
86
105
  Code health
87
106
  ============
88
107
 
@@ -1 +0,0 @@
1
- __version__ = "1.8.0.dev1122"