Braindecode 1.3.2.dev179935386__tar.gz → 1.3.2.dev179973481__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 (161) hide show
  1. {braindecode-1.3.2.dev179935386/braindecode.egg-info → braindecode-1.3.2.dev179973481}/PKG-INFO +3 -2
  2. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/base.py +4 -0
  3. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/tuh.py +12 -3
  4. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/preprocessing/windowers.py +19 -4
  5. braindecode-1.3.2.dev179973481/braindecode/version.py +1 -0
  6. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481/braindecode.egg-info}/PKG-INFO +3 -2
  7. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode.egg-info/requires.txt +2 -1
  8. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/whats_new.rst +2 -1
  9. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/pyproject.toml +7 -3
  10. braindecode-1.3.2.dev179935386/braindecode/version.py +0 -1
  11. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/LICENSE.txt +0 -0
  12. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/MANIFEST.in +0 -0
  13. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/NOTICE.txt +0 -0
  14. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/README.rst +0 -0
  15. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/__init__.py +0 -0
  16. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/augmentation/__init__.py +0 -0
  17. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/augmentation/base.py +0 -0
  18. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/augmentation/functional.py +0 -0
  19. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/augmentation/transforms.py +0 -0
  20. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/classifier.py +0 -0
  21. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/__init__.py +0 -0
  22. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/bbci.py +0 -0
  23. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/bcicomp.py +0 -0
  24. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/bids/__init__.py +0 -0
  25. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/bids/datasets.py +0 -0
  26. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/bids/format.py +0 -0
  27. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/bids/hub.py +0 -0
  28. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/bids/hub_format.py +0 -0
  29. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/bids/hub_io.py +0 -0
  30. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/bids/hub_validation.py +0 -0
  31. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/bids/iterable.py +0 -0
  32. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/chb_mit.py +0 -0
  33. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/mne.py +0 -0
  34. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/moabb.py +0 -0
  35. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/nmt.py +0 -0
  36. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/registry.py +0 -0
  37. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/siena.py +0 -0
  38. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/sleep_physio_challe_18.py +0 -0
  39. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/sleep_physionet.py +0 -0
  40. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/utils.py +0 -0
  41. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datasets/xy.py +0 -0
  42. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datautil/__init__.py +0 -0
  43. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datautil/channel_utils.py +0 -0
  44. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datautil/hub_formats.py +0 -0
  45. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datautil/serialization.py +0 -0
  46. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/datautil/util.py +0 -0
  47. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/eegneuralnet.py +0 -0
  48. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/functional/__init__.py +0 -0
  49. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/functional/functions.py +0 -0
  50. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/functional/initialization.py +0 -0
  51. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/__init__.py +0 -0
  52. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/atcnet.py +0 -0
  53. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/attentionbasenet.py +0 -0
  54. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/attn_sleep.py +0 -0
  55. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/base.py +0 -0
  56. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/bendr.py +0 -0
  57. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/biot.py +0 -0
  58. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/brainmodule.py +0 -0
  59. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/cbramod.py +0 -0
  60. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/config.py +0 -0
  61. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/contrawr.py +0 -0
  62. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/ctnet.py +0 -0
  63. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/deep4.py +0 -0
  64. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/deepsleepnet.py +0 -0
  65. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/eegconformer.py +0 -0
  66. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/eeginception_erp.py +0 -0
  67. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/eeginception_mi.py +0 -0
  68. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/eegitnet.py +0 -0
  69. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/eegminer.py +0 -0
  70. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/eegnet.py +0 -0
  71. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/eegnex.py +0 -0
  72. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/eegpt.py +0 -0
  73. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/eegsimpleconv.py +0 -0
  74. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/eegsym.py +0 -0
  75. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/eegtcnet.py +0 -0
  76. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/fbcnet.py +0 -0
  77. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/fblightconvnet.py +0 -0
  78. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/fbmsnet.py +0 -0
  79. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/hybrid.py +0 -0
  80. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/ifnet.py +0 -0
  81. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/labram.py +0 -0
  82. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/luna.py +0 -0
  83. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/medformer.py +0 -0
  84. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/msvtnet.py +0 -0
  85. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/patchedtransformer.py +0 -0
  86. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/reve.py +0 -0
  87. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/sccnet.py +0 -0
  88. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/shallow_fbcsp.py +0 -0
  89. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/signal_jepa.py +0 -0
  90. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/sinc_shallow.py +0 -0
  91. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/sleep_stager_blanco_2020.py +0 -0
  92. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/sleep_stager_chambon_2018.py +0 -0
  93. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/sparcnet.py +0 -0
  94. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/sstdpn.py +0 -0
  95. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/summary.csv +0 -0
  96. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/syncnet.py +0 -0
  97. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/tcn.py +0 -0
  98. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/tidnet.py +0 -0
  99. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/tsinception.py +0 -0
  100. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/usleep.py +0 -0
  101. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/models/util.py +0 -0
  102. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/modules/__init__.py +0 -0
  103. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/modules/activation.py +0 -0
  104. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/modules/attention.py +0 -0
  105. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/modules/blocks.py +0 -0
  106. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/modules/convolution.py +0 -0
  107. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/modules/filter.py +0 -0
  108. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/modules/layers.py +0 -0
  109. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/modules/linear.py +0 -0
  110. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/modules/parametrization.py +0 -0
  111. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/modules/stats.py +0 -0
  112. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/modules/util.py +0 -0
  113. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/modules/wrapper.py +0 -0
  114. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/preprocessing/__init__.py +0 -0
  115. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/preprocessing/eegprep_preprocess.py +0 -0
  116. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/preprocessing/mne_preprocess.py +0 -0
  117. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/preprocessing/preprocess.py +0 -0
  118. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/preprocessing/util.py +0 -0
  119. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/regressor.py +0 -0
  120. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/samplers/__init__.py +0 -0
  121. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/samplers/base.py +0 -0
  122. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/samplers/ssl.py +0 -0
  123. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/training/__init__.py +0 -0
  124. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/training/callbacks.py +0 -0
  125. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/training/losses.py +0 -0
  126. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/training/scoring.py +0 -0
  127. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/util.py +0 -0
  128. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/visualization/__init__.py +0 -0
  129. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/visualization/confusion_matrices.py +0 -0
  130. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode/visualization/gradients.py +0 -0
  131. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode.egg-info/SOURCES.txt +0 -0
  132. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode.egg-info/dependency_links.txt +0 -0
  133. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/braindecode.egg-info/top_level.txt +0 -0
  134. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/Makefile +0 -0
  135. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/_templates/autosummary/class.rst +0 -0
  136. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/_templates/autosummary/class_in_subdir.rst +0 -0
  137. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/_templates/autosummary/function.rst +0 -0
  138. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/_templates/autosummary/function_in_subdir.rst +0 -0
  139. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/api.rst +0 -0
  140. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/cite.rst +0 -0
  141. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/conf.py +0 -0
  142. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/help.rst +0 -0
  143. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/index.rst +0 -0
  144. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/install/install.rst +0 -0
  145. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/install/install_pip.rst +0 -0
  146. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/install/install_source.rst +0 -0
  147. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/models/categorization/attention.rst +0 -0
  148. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/models/categorization/channel.rst +0 -0
  149. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/models/categorization/convolution.rst +0 -0
  150. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/models/categorization/filterbank.rst +0 -0
  151. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/models/categorization/gnn.rst +0 -0
  152. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/models/categorization/interpretable.rst +0 -0
  153. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/models/categorization/lbm.rst +0 -0
  154. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/models/categorization/recurrent.rst +0 -0
  155. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/models/categorization/spd.rst +0 -0
  156. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/models/models.rst +0 -0
  157. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/models/models_categorization.rst +0 -0
  158. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/models/models_table.rst +0 -0
  159. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/models/models_visualization.rst +0 -0
  160. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/docs/sg_execution_times.rst +0 -0
  161. {braindecode-1.3.2.dev179935386 → braindecode-1.3.2.dev179973481}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: braindecode
3
- Version: 1.3.2.dev179935386
3
+ Version: 1.3.2.dev179973481
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>
@@ -25,6 +25,7 @@ License-File: NOTICE.txt
25
25
  Requires-Dist: torch>=2.2
26
26
  Requires-Dist: torchaudio>=2.0
27
27
  Requires-Dist: mne>=1.11.0
28
+ Requires-Dist: pandas<3.0.0
28
29
  Requires-Dist: mne_bids>=0.18
29
30
  Requires-Dist: h5py
30
31
  Requires-Dist: skorch>=1.3.0
@@ -51,7 +52,7 @@ Requires-Dist: mypy; extra == "tests"
51
52
  Requires-Dist: transformers>=4.57.0; extra == "tests"
52
53
  Requires-Dist: bids_validator; extra == "tests"
53
54
  Provides-Extra: typing
54
- Requires-Dist: exca==0.4; extra == "typing"
55
+ Requires-Dist: exca>=0.5.10; extra == "typing"
55
56
  Requires-Dist: numpydantic>=1.7; extra == "typing"
56
57
  Provides-Extra: docs
57
58
  Requires-Dist: sphinx_gallery; extra == "docs"
@@ -533,8 +533,12 @@ class BaseConcatDataset(ConcatDataset, HubDatasetMixin, Generic[T]):
533
533
  If a dict then each key will be used in the returned
534
534
  splits dict and each value should be a list of int.
535
535
  property : str
536
+ :bdg-warning:`Deprecated`
537
+
536
538
  Some property which is listed in the info DataFrame.
537
539
  split_ids : list | dict
540
+ :bdg-warning:`Deprecated`
541
+
538
542
  List of indices to be combined in a subset.
539
543
  It can be a list of int or a list of list of int.
540
544
 
@@ -515,7 +515,7 @@ class TUHAbnormal(TUH):
515
515
  rename_channels: bool = False,
516
516
  set_montage: bool = False,
517
517
  on_missing_files: Literal["warn", "raise"] = "raise",
518
- version: Literal["v2.0.0", "v3.0.0"] = "v3.0.0",
518
+ version: Literal["v2.0.0", "v3.0.1"] = "v3.0.1",
519
519
  n_jobs: int = 1,
520
520
  ):
521
521
  super().__init__(
@@ -559,8 +559,14 @@ class TUHAbnormal(TUH):
559
559
 
560
560
  @property
561
561
  def _expected_files_count(self):
562
- if self.version == "v3.0.0":
563
- return 1521 # 150 (eval) + 1321 (train)
562
+ if self.version == "v3.0.1":
563
+ # dataset.description.groupby(["train", "pathological"]).path.count()
564
+ # train pathological
565
+ # False False 150
566
+ # True 126
567
+ # True False 1371
568
+ # True 1346
569
+ return 2993
564
570
  return None
565
571
 
566
572
  @property
@@ -754,6 +760,9 @@ class TUHEvents(TUH):
754
760
  onsets = merged_onsets
755
761
  durations = merged_durations
756
762
  descriptions = merged_descriptions
763
+ # sort by onset time
764
+ sorted_events = sorted(zip(onsets, durations, descriptions))
765
+ onsets, durations, descriptions = zip(*sorted_events) # type: ignore[assignment]
757
766
 
758
767
  annotations = mne.Annotations(
759
768
  onset=onsets,
@@ -18,7 +18,7 @@
18
18
  from __future__ import annotations
19
19
 
20
20
  import warnings
21
- from typing import Any, Callable
21
+ from typing import Any, Callable, Literal
22
22
 
23
23
  import mne
24
24
  import numpy as np
@@ -210,6 +210,7 @@ def create_windows_from_events(
210
210
  on_missing: str = "error",
211
211
  accepted_bads_ratio: float = 0.0,
212
212
  use_mne_epochs: bool | None = None,
213
+ on_overlapping_events: Literal["raise", "warn", "ignore"] = "raise",
213
214
  n_jobs: int = 1,
214
215
  verbose: bool | str | int | None = "error",
215
216
  ) -> BaseConcatDataset[WindowsDataset | EEGWindowsDataset]:
@@ -285,6 +286,11 @@ def create_windows_from_events(
285
286
  If False, return EEGWindowsDataset objects.
286
287
  If True, return mne.Epochs objects encapsulated in WindowsDataset objects,
287
288
  which is substantially slower that EEGWindowsDataset.
289
+ on_overlapping_events: Literal['raise', 'warn', 'ignore']
290
+ Behavior when overlapping events are detected. Valid keys are
291
+ 'raise' | 'warn' | 'ignore'. 'raise' (default) raises
292
+ NotImplementedError; 'warn' issues a warning and drops non-increasing
293
+ window starts; 'ignore' keeps overlapping starts.
288
294
  n_jobs: int
289
295
  Number of jobs to use to parallelize the windowing.
290
296
  verbose: bool | str | int | None
@@ -301,7 +307,10 @@ def create_windows_from_events(
301
307
  window_size_samples,
302
308
  window_stride_samples,
303
309
  )
304
-
310
+ if on_overlapping_events not in ["raise", "warn", "ignore"]:
311
+ raise ValueError(
312
+ f"Invalid value {on_overlapping_events} for on_overlapping_events."
313
+ )
305
314
  # If user did not specify mapping, we extract all events from all datasets
306
315
  # and map them to increasing integers starting from 0
307
316
  infer_mapping = mapping is None
@@ -340,6 +349,7 @@ def create_windows_from_events(
340
349
  accepted_bads_ratio,
341
350
  verbose,
342
351
  use_mne_epochs,
352
+ on_overlapping_events,
343
353
  )
344
354
  for ds in concat_ds.datasets
345
355
  )
@@ -478,6 +488,7 @@ def _create_windows_from_events(
478
488
  accepted_bads_ratio=0.0,
479
489
  verbose="error",
480
490
  use_mne_epochs=False,
491
+ on_overlapping_events: Literal["raise", "warn", "ignore"] = "raise",
481
492
  ):
482
493
  """Create WindowsDataset from RawDataset based on events.
483
494
 
@@ -587,8 +598,12 @@ def _create_windows_from_events(
587
598
  accepted_bads_ratio,
588
599
  )
589
600
 
590
- if any(np.diff(starts) <= 0):
591
- raise NotImplementedError("Trial overlap not implemented.")
601
+ if (on_overlapping_events != "ignore") and any(np.diff(starts) <= 0):
602
+ msg = "Overlapping trials detected. You can ignore, warn, or raise an error, using the on_overlapping_events argument."
603
+ if on_overlapping_events == "raise":
604
+ raise ValueError(msg)
605
+ if on_overlapping_events == "warn":
606
+ warnings.warn(msg)
592
607
 
593
608
  events = [
594
609
  [start, window_size_samples, description[i_trials[i_start]]]
@@ -0,0 +1 @@
1
+ __version__ = "1.3.2.dev179973481"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: braindecode
3
- Version: 1.3.2.dev179935386
3
+ Version: 1.3.2.dev179973481
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>
@@ -25,6 +25,7 @@ License-File: NOTICE.txt
25
25
  Requires-Dist: torch>=2.2
26
26
  Requires-Dist: torchaudio>=2.0
27
27
  Requires-Dist: mne>=1.11.0
28
+ Requires-Dist: pandas<3.0.0
28
29
  Requires-Dist: mne_bids>=0.18
29
30
  Requires-Dist: h5py
30
31
  Requires-Dist: skorch>=1.3.0
@@ -51,7 +52,7 @@ Requires-Dist: mypy; extra == "tests"
51
52
  Requires-Dist: transformers>=4.57.0; extra == "tests"
52
53
  Requires-Dist: bids_validator; extra == "tests"
53
54
  Provides-Extra: typing
54
- Requires-Dist: exca==0.4; extra == "typing"
55
+ Requires-Dist: exca>=0.5.10; extra == "typing"
55
56
  Requires-Dist: numpydantic>=1.7; extra == "typing"
56
57
  Provides-Extra: docs
57
58
  Requires-Dist: sphinx_gallery; extra == "docs"
@@ -1,6 +1,7 @@
1
1
  torch>=2.2
2
2
  torchaudio>=2.0
3
3
  mne>=1.11.0
4
+ pandas<3.0.0
4
5
  mne_bids>=0.18
5
6
  h5py
6
7
  skorch>=1.3.0
@@ -62,5 +63,5 @@ transformers>=4.57.0
62
63
  bids_validator
63
64
 
64
65
  [typing]
65
- exca==0.4
66
+ exca>=0.5.10
66
67
  numpydantic>=1.7
@@ -36,7 +36,8 @@ Enhancements
36
36
  - Add :class:`braindecode.models.CBraMod` model (:gh:`914` by `Pierre Guetschel`_)
37
37
  - Expose additional arguments of :func:`mne_bids.read_raw_bids` in :class:`braindecode.datasets.BIDSDataset` (:gh:`918` by `Pierre Guetschel`_)
38
38
  - Populate epochs metadata with the :class:`mne.Annotations`'s ``extras`` entries (:gh:`918` by `Pierre Guetschel`_)
39
- - Add :class:`braindecode.datasets.TUHEvents` dataset and improve other TUH datasets (:gh:`920` by `Pierre Guetschel`_)
39
+ - Add :class:`braindecode.datasets.TUHEvents` dataset and improve other TUH datasets (:gh:`920` and :gh:`923` by `Pierre Guetschel`_)
40
+ - Allow overlapping events in :func:`braindecode.preprocessing.create_windows_from_events` (:gh:`923` by `Pierre Guetschel`_)
40
41
 
41
42
 
42
43
  API changes
@@ -47,8 +47,9 @@ requires-python = ">=3.11"
47
47
  dependencies = [
48
48
  "torch>=2.2",
49
49
  "torchaudio>=2.0",
50
- 'mne>=1.11.0', # we get matplotlib, numpy, pandas, scipy from here
51
- 'mne_bids>=0.18', # in theory we get the mne here, but we prefer to have it explicit
50
+ 'mne>=1.11.0', # we get matplotlib, numpy, pandas, scipy from here
51
+ 'pandas<3.0.0', # to avoid issues with wfdb
52
+ 'mne_bids>=0.18', # in theory we get the mne here, but we prefer to have it explicit
52
53
  'h5py',
53
54
  'skorch>=1.3.0',
54
55
  'joblib',
@@ -77,7 +78,10 @@ tests = [
77
78
  "transformers>=4.57.0",
78
79
  "bids_validator",
79
80
  ]
80
- typing = ['exca==0.4', 'numpydantic>=1.7']
81
+ typing = [
82
+ 'exca>=0.5.10',
83
+ 'numpydantic>=1.7',
84
+ ]
81
85
 
82
86
  docs = [
83
87
  'sphinx_gallery',
@@ -1 +0,0 @@
1
- __version__ = "1.3.2.dev179935386"