junifer 0.0.8.dev314__tar.gz → 0.0.8.dev323__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 (614) hide show
  1. {junifer-0.0.8.dev314/junifer.egg-info → junifer-0.0.8.dev323}/PKG-INFO +1 -1
  2. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/_static/css/custom.css +23 -0
  3. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/builtin.rst +41 -0
  4. junifer-0.0.8.dev323/docs/changes/newsfragments/528.bugfix +1 -0
  5. junifer-0.0.8.dev323/docs/changes/newsfragments/528.change +1 -0
  6. junifer-0.0.8.dev323/docs/changes/newsfragments/528.doc +1 -0
  7. junifer-0.0.8.dev323/docs/changes/newsfragments/529.bugfix +1 -0
  8. junifer-0.0.8.dev323/docs/changes/newsfragments/529.bugfix.1 +1 -0
  9. junifer-0.0.8.dev323/docs/changes/newsfragments/529.bugfix.2 +1 -0
  10. junifer-0.0.8.dev323/docs/changes/newsfragments/529.bugfix.3 +1 -0
  11. junifer-0.0.8.dev323/docs/changes/newsfragments/529.doc +1 -0
  12. junifer-0.0.8.dev323/docs/changes/newsfragments/529.enh +1 -0
  13. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/extending/datagrabber.rst +11 -0
  14. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/using/queueing.rst +3 -3
  15. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/using/running.rst +10 -0
  16. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/_version.py +3 -3
  17. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/cli/parser.py +20 -16
  18. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/cli/tests/test_cli.py +42 -1
  19. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +28 -0
  20. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/hcp1200/hcp1200.py +26 -0
  21. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +61 -0
  22. junifer-0.0.8.dev323/junifer/datagrabber/pattern_datalad.py +123 -0
  23. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/tests/test_pattern_datalad.py +101 -0
  24. junifer-0.0.8.dev323/junifer/markers/complexity/__init__.py +38 -0
  25. junifer-0.0.8.dev323/junifer/markers/complexity/tests/test_complexity_registry.py +48 -0
  26. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/pipeline/pipeline_component_registry.py +6 -0
  27. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/pipeline/tests/test_pipeline_component_registry.py +39 -0
  28. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/smoothing/_afni_smoothing.py +3 -2
  29. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/smoothing/tests/test_smoothing.py +12 -1
  30. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/utils/helpers.py +7 -1
  31. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323/junifer.egg-info}/PKG-INFO +1 -1
  32. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer.egg-info/SOURCES.txt +10 -1
  33. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer.egg-info/scm_file_list.json +10 -1
  34. junifer-0.0.8.dev323/junifer.egg-info/scm_version.json +8 -0
  35. junifer-0.0.8.dev314/junifer/datagrabber/pattern_datalad.py +0 -63
  36. junifer-0.0.8.dev314/junifer/markers/complexity/__init__.py +0 -21
  37. junifer-0.0.8.dev314/junifer/markers/complexity/__init__.pyi +0 -17
  38. junifer-0.0.8.dev314/junifer.egg-info/scm_version.json +0 -8
  39. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/.dockerignore +0 -0
  40. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  41. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  42. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
  43. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
  44. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  45. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
  46. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/.github/dependabot.yml +0 -0
  47. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/.github/pull_request_template.md +0 -0
  48. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/.github/workflows/check-stale.yml +0 -0
  49. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/.github/workflows/ci.yml +0 -0
  50. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/.github/workflows/docker-publish.yml +0 -0
  51. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/.github/workflows/docs-preview.yml +0 -0
  52. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/.github/workflows/docs.yml +0 -0
  53. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/.github/workflows/lint.yml +0 -0
  54. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/.github/workflows/publish.yml +0 -0
  55. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/.gitignore +0 -0
  56. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/.gitmodules +0 -0
  57. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/.pre-commit-config.yaml +0 -0
  58. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/.python-version +0 -0
  59. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/AUTHORS.rst +0 -0
  60. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/Dockerfile +0 -0
  61. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/Dockerfile-ci +0 -0
  62. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/LICENSE.md +0 -0
  63. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/README.md +0 -0
  64. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/codecov.yml +0 -0
  65. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/conda-env.yml +0 -0
  66. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/Makefile +0 -0
  67. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/_static/css/version_selector.css +0 -0
  68. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/_static/js/custom.js +0 -0
  69. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/_templates/versions.html +0 -0
  70. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/api/api.rst +0 -0
  71. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/api/cli.rst +0 -0
  72. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/api/configs.rst +0 -0
  73. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/api/data.rst +0 -0
  74. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/api/datagrabbers.rst +0 -0
  75. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/api/datareaders.rst +0 -0
  76. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/api/index.rst +0 -0
  77. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/api/markers.rst +0 -0
  78. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/api/nilearn.rst +0 -0
  79. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/api/onthefly.rst +0 -0
  80. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/api/pipeline.rst +0 -0
  81. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/api/preprocessing.rst +0 -0
  82. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/api/stats.rst +0 -0
  83. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/api/storage.rst +0 -0
  84. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/api/testing.rst +0 -0
  85. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/api/utils.rst +0 -0
  86. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/contributors.inc +0 -0
  87. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/.gitignore +0 -0
  88. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/239.enh +0 -0
  89. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/364.doc +0 -0
  90. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/364.enh +0 -0
  91. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/364.feature +0 -0
  92. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/474.misc +0 -0
  93. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/482.bugfix +0 -0
  94. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/492.bugfix +0 -0
  95. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/499.enh +0 -0
  96. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/502.bugfix +0 -0
  97. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/503.enh +0 -0
  98. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/504.bugfix +0 -0
  99. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/504.misc +0 -0
  100. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/509.enh +0 -0
  101. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/510.bugfix +0 -0
  102. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/511.bugfix +0 -0
  103. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/511.bugfix.1 +0 -0
  104. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/511.change +0 -0
  105. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/511.enh +0 -0
  106. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/511.enh.1 +0 -0
  107. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/511.feature +0 -0
  108. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/511.misc +0 -0
  109. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/511.misc.1 +0 -0
  110. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/513.doc +0 -0
  111. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/513.misc +0 -0
  112. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/514.bugfix +0 -0
  113. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/514.bugfix.1 +0 -0
  114. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/514.enh +0 -0
  115. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/515.doc +0 -0
  116. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/515.enh +0 -0
  117. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/515.enh.1 +0 -0
  118. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/515.misc +0 -0
  119. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/515.misc.1 +0 -0
  120. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/516.bugfix +0 -0
  121. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/516.bugfix.1 +0 -0
  122. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/516.bugfix.2 +0 -0
  123. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/516.change +0 -0
  124. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/516.change.1 +0 -0
  125. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/516.misc +0 -0
  126. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/520.bugfix +0 -0
  127. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/520.bugfix.1 +0 -0
  128. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/520.bugfix.2 +0 -0
  129. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/520.bugfix.3 +0 -0
  130. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/520.bugfix.4 +0 -0
  131. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/520.bugfix.5 +0 -0
  132. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/520.bugfix.6 +0 -0
  133. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/520.change +0 -0
  134. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/520.doc +0 -0
  135. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/520.misc +0 -0
  136. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/520.misc.1 +0 -0
  137. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/520.misc.2 +0 -0
  138. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/520.misc.3 +0 -0
  139. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/520.removal +0 -0
  140. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/521.bugfix +0 -0
  141. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/522.bugfix +0 -0
  142. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/522.enh +0 -0
  143. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/523.misc +0 -0
  144. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/524.bugfix +0 -0
  145. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/524.bugfix.1 +0 -0
  146. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/524.change +0 -0
  147. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/524.change.1 +0 -0
  148. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/524.change.2 +0 -0
  149. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/524.doc +0 -0
  150. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/524.enh +0 -0
  151. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/524.feature +0 -0
  152. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/524.feature.1 +0 -0
  153. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/525.bugfix +0 -0
  154. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/525.bugfix.1 +0 -0
  155. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/525.change +0 -0
  156. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/525.change.1 +0 -0
  157. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/525.change.2 +0 -0
  158. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/525.change.3 +0 -0
  159. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/525.change.4 +0 -0
  160. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/525.doc +0 -0
  161. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/525.enh +0 -0
  162. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/changes/newsfragments/525.feature +0 -0
  163. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/conf.py +0 -0
  164. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/contribution.rst +0 -0
  165. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/extending/confounds_format.rst +0 -0
  166. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/extending/coordinates.rst +0 -0
  167. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/extending/data_dump_asset.rst +0 -0
  168. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/extending/data_registries.rst +0 -0
  169. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/extending/data_types.rst +0 -0
  170. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/extending/dependencies.rst +0 -0
  171. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/extending/extension.rst +0 -0
  172. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/extending/index.rst +0 -0
  173. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/extending/logging.rst +0 -0
  174. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/extending/maps.rst +0 -0
  175. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/extending/marker.rst +0 -0
  176. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/extending/masks.rst +0 -0
  177. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/extending/parcellations.rst +0 -0
  178. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/extending/plugins.rst +0 -0
  179. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/extending/preprocessor.rst +0 -0
  180. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/faq.rst +0 -0
  181. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/help.rst +0 -0
  182. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/images/junifer_logo.png +0 -0
  183. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/index.rst +0 -0
  184. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/installation.rst +0 -0
  185. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/internals.rst +0 -0
  186. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/links.inc +0 -0
  187. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/maintaining.rst +0 -0
  188. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/poly.py +0 -0
  189. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/poly_files/patches/version_banner.html +0 -0
  190. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/poly_files/patches/versions.html +0 -0
  191. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/poly_files/templates/index.html +0 -0
  192. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/starting.rst +0 -0
  193. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/understanding/data.rst +0 -0
  194. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/understanding/datagrabber.rst +0 -0
  195. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/understanding/datareader.rst +0 -0
  196. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/understanding/index.rst +0 -0
  197. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/understanding/marker.rst +0 -0
  198. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/understanding/pipeline.rst +0 -0
  199. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/understanding/preprocess.rst +0 -0
  200. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/understanding/storage.rst +0 -0
  201. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/using/codeless.rst +0 -0
  202. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/using/configuring.rst +0 -0
  203. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/using/dumping.rst +0 -0
  204. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/using/index.rst +0 -0
  205. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/using/masks.rst +0 -0
  206. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/docs/whats_new.rst +0 -0
  207. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/examples/README.rst +0 -0
  208. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/examples/norun_hcpfc_pearson.py +0 -0
  209. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/examples/norun_ukbvm_gmd.py +0 -0
  210. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/examples/run_compute_parcel_mean.py +0 -0
  211. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/examples/run_datagrabber_bids_datalad.py +0 -0
  212. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/examples/run_ets_rss_marker.py +0 -0
  213. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/examples/run_junifer_julearn.py +0 -0
  214. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/examples/run_run_gmd_mean.py +0 -0
  215. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/examples/yamls/gmd_mean.yaml +0 -0
  216. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
  217. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
  218. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/examples/yamls/ukb_gmd_mean.yaml +0 -0
  219. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/ignore_words.txt +0 -0
  220. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/__init__.py +0 -0
  221. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/__init__.pyi +0 -0
  222. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/__init__.py +0 -0
  223. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/__init__.pyi +0 -0
  224. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/decorators.py +0 -0
  225. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/functions.py +0 -0
  226. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/py.typed +0 -0
  227. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/queue_context/__init__.py +0 -0
  228. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/queue_context/__init__.pyi +0 -0
  229. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/queue_context/gnu_parallel_local_adapter.py +0 -0
  230. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/queue_context/htcondor_adapter.py +0 -0
  231. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/queue_context/py.typed +0 -0
  232. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/queue_context/queue_context_adapter.py +0 -0
  233. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +0 -0
  234. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
  235. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
  236. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/afni/3dRSFC +0 -0
  237. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/afni/3dReHo +0 -0
  238. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/afni/afni +0 -0
  239. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/afni/run_afni_docker.sh +0 -0
  240. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/ants/ResampleImage +0 -0
  241. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/ants/antsApplyTransforms +0 -0
  242. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
  243. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/ants/run_ants_docker.sh +0 -0
  244. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/freesurfer/mri_binarize +0 -0
  245. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/freesurfer/mri_mc +0 -0
  246. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/freesurfer/mri_pretess +0 -0
  247. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/freesurfer/mris_convert +0 -0
  248. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
  249. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/fsl/applywarp +0 -0
  250. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/fsl/flirt +0 -0
  251. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/fsl/img2imgcoord +0 -0
  252. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
  253. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/fsl/std2imgcoord +0 -0
  254. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/run_conda.bash +0 -0
  255. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/run_conda.zsh +0 -0
  256. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/run_venv.bash +0 -0
  257. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/res/run_venv.zsh +0 -0
  258. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/tests/test_decorators.py +0 -0
  259. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/api/tests/test_functions.py +0 -0
  260. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/cli/__init__.py +0 -0
  261. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/cli/__init__.pyi +0 -0
  262. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/cli/cli.py +0 -0
  263. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/cli/py.typed +0 -0
  264. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/cli/tests/data/gmd_mean.yaml +0 -0
  265. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/cli/tests/data/gmd_mean_htcondor.yaml +0 -0
  266. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/cli/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
  267. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/cli/tests/test_cli_utils.py +0 -0
  268. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/cli/utils.py +0 -0
  269. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/configs/__init__.py +0 -0
  270. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/configs/__init__.pyi +0 -0
  271. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/configs/juseless/__init__.py +0 -0
  272. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/configs/juseless/__init__.pyi +0 -0
  273. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
  274. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/configs/juseless/datagrabbers/__init__.pyi +0 -0
  275. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -0
  276. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -0
  277. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -0
  278. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/configs/juseless/datagrabbers/py.typed +0 -0
  279. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
  280. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
  281. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
  282. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
  283. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
  284. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/configs/juseless/datagrabbers/ucla.py +0 -0
  285. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -0
  286. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/configs/juseless/py.typed +0 -0
  287. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/configs/py.typed +0 -0
  288. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/conftest.py +0 -0
  289. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/__init__.py +0 -0
  290. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/__init__.pyi +0 -0
  291. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/_dispatch.py +0 -0
  292. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/coordinates/__init__.py +0 -0
  293. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/coordinates/__init__.pyi +0 -0
  294. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/coordinates/_ants_coordinates_warper.py +0 -0
  295. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/coordinates/_coordinates.py +0 -0
  296. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/coordinates/_fsl_coordinates_warper.py +0 -0
  297. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/coordinates/tests/test_coordinates.py +0 -0
  298. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/coordinates/tests/test_coordinates_names.py +0 -0
  299. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/maps/__init__.py +0 -0
  300. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/maps/__init__.pyi +0 -0
  301. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/maps/_ants_maps_warper.py +0 -0
  302. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/maps/_fsl_maps_warper.py +0 -0
  303. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/maps/_maps.py +0 -0
  304. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/maps/tests/test_maps.py +0 -0
  305. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/masks/__init__.py +0 -0
  306. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/masks/__init__.pyi +0 -0
  307. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/masks/_ants_mask_warper.py +0 -0
  308. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/masks/_fsl_mask_warper.py +0 -0
  309. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/masks/_masks.py +0 -0
  310. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/masks/tests/test_masks.py +0 -0
  311. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/parcellations/__init__.py +0 -0
  312. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/parcellations/__init__.pyi +0 -0
  313. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/parcellations/_ants_parcellation_warper.py +0 -0
  314. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/parcellations/_fsl_parcellation_warper.py +0 -0
  315. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/parcellations/_parcellations.py +0 -0
  316. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/parcellations/tests/test_parcellations.py +0 -0
  317. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/pipeline_data_registry_base.py +0 -0
  318. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/py.typed +0 -0
  319. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/template_spaces.py +0 -0
  320. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/tests/test_data_utils.py +0 -0
  321. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/tests/test_dispatch.py +0 -0
  322. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/tests/test_template_spaces.py +0 -0
  323. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/data/utils.py +0 -0
  324. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/__init__.py +0 -0
  325. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/__init__.pyi +0 -0
  326. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/aomic/__init__.py +0 -0
  327. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/aomic/__init__.pyi +0 -0
  328. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/aomic/_types.py +0 -0
  329. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/aomic/id1000.py +0 -0
  330. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/aomic/piop1.py +0 -0
  331. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/aomic/piop2.py +0 -0
  332. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/aomic/py.typed +0 -0
  333. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/aomic/tests/test_id1000.py +0 -0
  334. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/aomic/tests/test_piop1.py +0 -0
  335. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/aomic/tests/test_piop2.py +0 -0
  336. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/base.py +0 -0
  337. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/datalad_base.py +0 -0
  338. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/dmcc13_benchmark.py +0 -0
  339. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/hcp1200/__init__.py +0 -0
  340. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/hcp1200/__init__.pyi +0 -0
  341. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/hcp1200/py.typed +0 -0
  342. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/multiple.py +0 -0
  343. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/pattern.py +0 -0
  344. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/pattern_validation_mixin.py +0 -0
  345. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/py.typed +0 -0
  346. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/tests/test_base.py +0 -0
  347. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
  348. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +0 -0
  349. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/tests/test_multiple.py +0 -0
  350. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/tests/test_pattern.py +0 -0
  351. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datagrabber/tests/test_pattern_validation_mixin.py +0 -0
  352. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datareader/__init__.py +0 -0
  353. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datareader/__init__.pyi +0 -0
  354. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datareader/default.py +0 -0
  355. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datareader/py.typed +0 -0
  356. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/datareader/tests/test_default_reader.py +0 -0
  357. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/.codecov.yml +0 -0
  358. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/.codespellignore +0 -0
  359. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/bug-report.md +0 -0
  360. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/documentation.md +0 -0
  361. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/feature-request.md +0 -0
  362. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/questions-help-support.md +0 -0
  363. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/.github/dependabot.yml +0 -0
  364. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/.github/workflows/build.yml +0 -0
  365. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/.github/workflows/code-style.yml +0 -0
  366. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/.github/workflows/doc.yml +0 -0
  367. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/.github/workflows/publish.yml +0 -0
  368. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/.github/workflows/pytest.yml +0 -0
  369. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/.gitignore +0 -0
  370. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/LICENSE +0 -0
  371. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/README.md +0 -0
  372. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/brainprint/__init__.py +0 -0
  373. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/brainprint/_version.py +0 -0
  374. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/brainprint/asymmetry.py +0 -0
  375. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/brainprint/brainprint.py +0 -0
  376. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/brainprint/cli/__init__.py +0 -0
  377. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/brainprint/cli/help_text.py +0 -0
  378. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/brainprint/cli/parser.py +0 -0
  379. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/brainprint/cli/utils.py +0 -0
  380. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/brainprint/commands/__init__.py +0 -0
  381. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/brainprint/commands/sys_info.py +0 -0
  382. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/brainprint/surfaces.py +0 -0
  383. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/brainprint/utils/__init__.py +0 -0
  384. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/brainprint/utils/_config.py +0 -0
  385. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/brainprint/utils/tests/__init__.py +0 -0
  386. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/brainprint/utils/tests/test_config.py +0 -0
  387. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/brainprint/utils/utils.py +0 -0
  388. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/doc/Makefile +0 -0
  389. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/doc/_static/.gitkeep +0 -0
  390. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/doc/_templates/autosummary/class.rst +0 -0
  391. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/doc/_templates/autosummary/function.rst +0 -0
  392. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/doc/_templates/autosummary/module.rst +0 -0
  393. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/doc/api/index.rst +0 -0
  394. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/doc/conf.py +0 -0
  395. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/doc/index.rst +0 -0
  396. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/doc/links.inc +0 -0
  397. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/doc/make.bat +0 -0
  398. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/doc/references.bib +0 -0
  399. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/pyproject.toml +0 -0
  400. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/BrainPrint/setup.py +0 -0
  401. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/__init__.py +0 -0
  402. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/__init__.pyi +0 -0
  403. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/nilearn/__init__.py +0 -0
  404. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/nilearn/__init__.pyi +0 -0
  405. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/nilearn/junifer_connectivity_measure.py +0 -0
  406. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +0 -0
  407. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/nilearn/py.typed +0 -0
  408. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +0 -0
  409. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
  410. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/external/py.typed +0 -0
  411. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/__init__.py +0 -0
  412. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/__init__.pyi +0 -0
  413. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/base.py +0 -0
  414. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/brainprint.py +0 -0
  415. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/complexity/complexity_base.py +0 -0
  416. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/complexity/hurst_exponent.py +0 -0
  417. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/complexity/multiscale_entropy_auc.py +0 -0
  418. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/complexity/perm_entropy.py +0 -0
  419. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/complexity/py.typed +0 -0
  420. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/complexity/range_entropy.py +0 -0
  421. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/complexity/range_entropy_auc.py +0 -0
  422. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/complexity/sample_entropy.py +0 -0
  423. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
  424. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
  425. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
  426. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
  427. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
  428. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
  429. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
  430. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
  431. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/complexity/weighted_perm_entropy.py +0 -0
  432. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/ets_rss.py +0 -0
  433. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/falff/__init__.py +0 -0
  434. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/falff/__init__.pyi +0 -0
  435. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/falff/_afni_falff.py +0 -0
  436. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/falff/_junifer_falff.py +0 -0
  437. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/falff/falff_base.py +0 -0
  438. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/falff/falff_maps.py +0 -0
  439. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/falff/falff_parcels.py +0 -0
  440. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/falff/falff_spheres.py +0 -0
  441. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/falff/py.typed +0 -0
  442. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/falff/tests/test_falff_maps.py +0 -0
  443. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
  444. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
  445. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/functional_connectivity/__init__.py +0 -0
  446. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/functional_connectivity/__init__.pyi +0 -0
  447. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +0 -0
  448. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/functional_connectivity/edge_functional_connectivity_maps.py +0 -0
  449. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +0 -0
  450. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +0 -0
  451. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/functional_connectivity/functional_connectivity_base.py +0 -0
  452. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/functional_connectivity/functional_connectivity_maps.py +0 -0
  453. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +0 -0
  454. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +0 -0
  455. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/functional_connectivity/py.typed +0 -0
  456. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
  457. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_maps.py +0 -0
  458. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
  459. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
  460. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
  461. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_maps.py +0 -0
  462. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +0 -0
  463. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +0 -0
  464. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/maps_aggregation.py +0 -0
  465. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/parcel_aggregation.py +0 -0
  466. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/py.typed +0 -0
  467. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/reho/__init__.py +0 -0
  468. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/reho/__init__.pyi +0 -0
  469. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/reho/_afni_reho.py +0 -0
  470. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/reho/_junifer_reho.py +0 -0
  471. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/reho/py.typed +0 -0
  472. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/reho/reho_base.py +0 -0
  473. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/reho/reho_maps.py +0 -0
  474. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/reho/reho_parcels.py +0 -0
  475. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/reho/reho_spheres.py +0 -0
  476. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/reho/tests/test_junifer_reho.py +0 -0
  477. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/reho/tests/test_reho_maps.py +0 -0
  478. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
  479. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
  480. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/sphere_aggregation.py +0 -0
  481. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/temporal_snr/__init__.py +0 -0
  482. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/temporal_snr/__init__.pyi +0 -0
  483. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/temporal_snr/py.typed +0 -0
  484. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/temporal_snr/temporal_snr_base.py +0 -0
  485. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/temporal_snr/temporal_snr_maps.py +0 -0
  486. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/temporal_snr/temporal_snr_parcels.py +0 -0
  487. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/temporal_snr/temporal_snr_spheres.py +0 -0
  488. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
  489. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/temporal_snr/tests/test_temporal_snr_maps.py +0 -0
  490. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
  491. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
  492. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/tests/test_brainprint.py +0 -0
  493. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/tests/test_ets_rss.py +0 -0
  494. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/tests/test_lost_regions.py +0 -0
  495. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/tests/test_maps_aggregation.py +0 -0
  496. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/tests/test_marker_utils.py +0 -0
  497. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/tests/test_markers_base.py +0 -0
  498. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/tests/test_parcel_aggregation.py +0 -0
  499. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/tests/test_sphere_aggregation.py +0 -0
  500. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/markers/utils.py +0 -0
  501. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/onthefly/__init__.py +0 -0
  502. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/onthefly/__init__.pyi +0 -0
  503. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/onthefly/_brainprint.py +0 -0
  504. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/onthefly/py.typed +0 -0
  505. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/onthefly/read_transform.py +0 -0
  506. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/onthefly/tests/test_read_transform.py +0 -0
  507. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/pipeline/__init__.py +0 -0
  508. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/pipeline/__init__.pyi +0 -0
  509. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/pipeline/_data_object_dumper.py +0 -0
  510. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/pipeline/marker_collection.py +0 -0
  511. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/pipeline/pipeline_step_mixin.py +0 -0
  512. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/pipeline/py.typed +0 -0
  513. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/pipeline/tests/test_data_object_dumper.py +0 -0
  514. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/pipeline/tests/test_marker_collection.py +0 -0
  515. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
  516. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
  517. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
  518. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/pipeline/update_meta_mixin.py +0 -0
  519. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/pipeline/utils.py +0 -0
  520. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/pipeline/workdir_manager.py +0 -0
  521. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/__init__.py +0 -0
  522. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/__init__.pyi +0 -0
  523. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/_temporal_filter.py +0 -0
  524. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/_temporal_slicer.py +0 -0
  525. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/base.py +0 -0
  526. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/confounds/__init__.py +0 -0
  527. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/confounds/__init__.pyi +0 -0
  528. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/confounds/fmriprep_confound_remover.py +0 -0
  529. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/confounds/py.typed +0 -0
  530. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +0 -0
  531. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/py.typed +0 -0
  532. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/smoothing/__init__.py +0 -0
  533. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/smoothing/__init__.pyi +0 -0
  534. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/smoothing/_fsl_smoothing.py +0 -0
  535. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/smoothing/_nilearn_smoothing.py +0 -0
  536. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/smoothing/py.typed +0 -0
  537. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/smoothing/smoothing.py +0 -0
  538. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
  539. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/tests/test_temporal_filter.py +0 -0
  540. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/tests/test_temporal_slicer.py +0 -0
  541. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/warping/__init__.py +0 -0
  542. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/warping/__init__.pyi +0 -0
  543. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/warping/_ants_warper.py +0 -0
  544. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/warping/_fsl_warper.py +0 -0
  545. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/warping/py.typed +0 -0
  546. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/warping/space_warper.py +0 -0
  547. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
  548. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/py.typed +0 -0
  549. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/stats.py +0 -0
  550. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/storage/__init__.py +0 -0
  551. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/storage/__init__.pyi +0 -0
  552. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/storage/base.py +0 -0
  553. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/storage/hdf5.py +0 -0
  554. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/storage/pandas_base.py +0 -0
  555. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/storage/py.typed +0 -0
  556. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/storage/sqlite.py +0 -0
  557. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/storage/tests/data/collected_h5io_fork.hdf5 +0 -0
  558. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/storage/tests/test_hdf5.py +0 -0
  559. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/storage/tests/test_pandas_base.py +0 -0
  560. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/storage/tests/test_repeated_storage.py +0 -0
  561. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/storage/tests/test_sqlite.py +0 -0
  562. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/storage/tests/test_storage_base.py +0 -0
  563. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/storage/tests/test_utils.py +0 -0
  564. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/storage/utils.py +0 -0
  565. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/testing/__init__.py +0 -0
  566. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/testing/__init__.pyi +0 -0
  567. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
  568. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/testing/datagrabbers.py +0 -0
  569. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/testing/py.typed +0 -0
  570. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/testing/registry.py +0 -0
  571. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/testing/tests/test_adhdtesting_datagrabber.py +0 -0
  572. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
  573. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
  574. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
  575. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/testing/tests/test_testing_registry.py +0 -0
  576. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/testing/tests/test_testing_utils.py +0 -0
  577. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/testing/tests/test_uclacnpvbmtesting_datagrabber.py +0 -0
  578. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/testing/utils.py +0 -0
  579. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/tests/test_main.py +0 -0
  580. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/tests/test_stats.py +0 -0
  581. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/typing/__init__.py +0 -0
  582. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/typing/__init__.pyi +0 -0
  583. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/typing/_typing.py +0 -0
  584. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/typing/py.typed +0 -0
  585. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/utils/__init__.py +0 -0
  586. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/utils/__init__.pyi +0 -0
  587. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/utils/_config.py +0 -0
  588. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/utils/_yaml.py +0 -0
  589. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/utils/fs.py +0 -0
  590. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/utils/logging.py +0 -0
  591. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/utils/py.typed +0 -0
  592. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/utils/singleton.py +0 -0
  593. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/utils/tests/test_config.py +0 -0
  594. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/utils/tests/test_fs.py +0 -0
  595. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/utils/tests/test_helpers.py +0 -0
  596. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer/utils/tests/test_logging.py +0 -0
  597. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer.egg-info/dependency_links.txt +0 -0
  598. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer.egg-info/entry_points.txt +0 -0
  599. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer.egg-info/requires.txt +0 -0
  600. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/junifer.egg-info/top_level.txt +0 -0
  601. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/justfile +0 -0
  602. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/pyproject.toml +0 -0
  603. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/scripts/start.sh +0 -0
  604. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/setup.cfg +0 -0
  605. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/setup.py +0 -0
  606. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/tools/create_aomic1000_example_dataset.py +0 -0
  607. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/tools/create_aomicpiop1_example_dataset.py +0 -0
  608. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/tools/create_aomicpiop2_example_dataset.py +0 -0
  609. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/tools/create_bids_example_dataset.py +0 -0
  610. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/tools/create_bids_example_dataset_sessions.py +0 -0
  611. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
  612. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/tools/create_hcp1200_example_dataset.py +0 -0
  613. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/tox.ini +0 -0
  614. {junifer-0.0.8.dev314 → junifer-0.0.8.dev323}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: junifer
3
- Version: 0.0.8.dev314
3
+ Version: 0.0.8.dev323
4
4
  Summary: JUelich NeuroImaging FEature extractoR
5
5
  Author-email: Fede Raimondo <f.raimondo@fz-juelich.de>, Synchon Mandal <s.mandal@fz-juelich.de>
6
6
  Maintainer-email: Fede Raimondo <f.raimondo@fz-juelich.de>, Synchon Mandal <s.mandal@fz-juelich.de>
@@ -44,3 +44,26 @@ body:not([data-theme="light"]) .mermaid svg .marker{
44
44
  stroke: white !important;
45
45
  fill: white !important;
46
46
  }
47
+
48
+ /* Use the full width of the page for the content (e.g., for wide tables):
49
+ Furo centers the content with a fixed width */
50
+ .sidebar-drawer {
51
+ width: 15em;
52
+ }
53
+
54
+ /* The content takes the width left (not the width of its tables, which do not
55
+ wrap, and scroll instead), so the table of contents on the right is not
56
+ narrowed or moved out of the page */
57
+ .main {
58
+ min-width: 0;
59
+ }
60
+
61
+ .content {
62
+ flex: 1 1 0;
63
+ min-width: 0;
64
+ width: auto;
65
+ }
66
+
67
+ .toc-drawer {
68
+ flex-shrink: 0;
69
+ }
@@ -197,6 +197,14 @@ Marker
197
197
  Available
198
198
  ~~~~~~~~~
199
199
 
200
+ The markers with a module in the *With* column need optional dependencies
201
+ (e.g., ``neurokit2`` for ``junifer.markers.complexity``), so they are only
202
+ available in the YAML file if their module is added to ``with``:
203
+
204
+ .. code-block:: yaml
205
+
206
+ with: junifer.markers.complexity
207
+
200
208
  .. list-table::
201
209
  :widths: auto
202
210
  :header-rows: 1
@@ -205,123 +213,156 @@ Available
205
213
  - Description
206
214
  - State
207
215
  - Version Added
216
+ - With
208
217
  * - :class:`.ParcelAggregation`
209
218
  - Apply parcellation and perform aggregation function
210
219
  - Done
211
220
  - 0.0.1
221
+ -
212
222
  * - :class:`.SphereAggregation`
213
223
  - Spherical aggregation using mean
214
224
  - Done
215
225
  - 0.0.1
226
+ -
216
227
  * - :class:`.MapsAggregation`
217
228
  - Apply maps (probabilistic atlas) and extract mean time series per region
218
229
  - Done
219
230
  - 0.0.7
231
+ -
220
232
  * - :class:`.FunctionalConnectivityParcels`
221
233
  - Compute functional connectivity over parcellation
222
234
  - Done
223
235
  - 0.0.1
236
+ -
224
237
  * - :class:`.FunctionalConnectivitySpheres`
225
238
  - Compute functional connectivity over spheres placed on coordinates
226
239
  - Done
227
240
  - 0.0.1
241
+ -
228
242
  * - :class:`.FunctionalConnectivityMaps`
229
243
  - Compute functional connectivity over maps (probabilistic atlas)
230
244
  - Done
231
245
  - 0.0.7
246
+ -
232
247
  * - :class:`.CrossParcellationFC`
233
248
  - Compute functional connectivity across two parcellations
234
249
  - Done
235
250
  - 0.0.1
251
+ -
236
252
  * - :class:`.RSSETSMarker`
237
253
  - Compute root sum of squares of edgewise timeseries
238
254
  - Done
239
255
  - 0.0.1
256
+ -
240
257
  * - :class:`.ReHoParcels`
241
258
  - Calculate regional homogeneity over parcellation
242
259
  - Done
243
260
  - 0.0.1
261
+ -
244
262
  * - :class:`.ReHoSpheres`
245
263
  - Calculate regional homogeneity over spheres placed on coordinates
246
264
  - Done
247
265
  - 0.0.1
266
+ -
248
267
  * - :class:`.ReHoMaps`
249
268
  - Calculate regional homogeneity over maps (probabilistic atlas)
250
269
  - Done
251
270
  - 0.0.7
271
+ -
252
272
  * - :class:`.ALFFParcels`
253
273
  - Calculate (f)ALFF and aggregate using parcellations
254
274
  - Done
255
275
  - 0.0.1
276
+ -
256
277
  * - :class:`.ALFFSpheres`
257
278
  - Calculate (f)ALFF and aggregate using spheres placed on coordinates
258
279
  - Done
259
280
  - 0.0.1
281
+ -
260
282
  * - :class:`.ALFFMaps`
261
283
  - Calculate (f)ALFF and aggregate using maps (probabilistic atlas)
262
284
  - Done
263
285
  - 0.0.7
286
+ -
264
287
  * - :class:`.EdgeCentricFCParcels`
265
288
  - | Calculate edge-centric functional connectivity over parcellation, as
266
289
  | found in
267
290
  | `Jo et al. (2021) <https://doi.org/10.1016/j.neuroimage.2021.118204>`_
268
291
  - Done
269
292
  - 0.0.2
293
+ -
270
294
  * - :class:`.EdgeCentricFCSpheres`
271
295
  - | Calculate edge-centric functional connectivity over spheres placed on
272
296
  | coordinates, as found in
273
297
  | `Jo et al. (2021) <https://doi.org/10.1016/j.neuroimage.2021.118204>`_
274
298
  - Done
275
299
  - 0.0.2
300
+ -
276
301
  * - :class:`.EdgeCentricFCMaps`
277
302
  - | Calculate edge-centric functional connectivity over maps (probabilistic atlas),
278
303
  | as found in
279
304
  | `Jo et al. (2021) <https://doi.org/10.1016/j.neuroimage.2021.118204>`_
280
305
  - Done
281
306
  - 0.0.7
307
+ -
282
308
  * - :class:`.TemporalSNRParcels`
283
309
  - Calculate temporal signal-to-noise ratio using parcellations
284
310
  - Done
285
311
  - 0.0.2
312
+ -
286
313
  * - :class:`.TemporalSNRSpheres`
287
314
  - | Calculate temporal signal-to-noise ratio using spheres placed on
288
315
  | coordinates
289
316
  - Done
290
317
  - 0.0.2
318
+ -
291
319
  * - :class:`.TemporalSNRMaps`
292
320
  - Calculate temporal signal-to-noise ratio using maps (probabilistic atlas)
293
321
  - Done
294
322
  - 0.0.7
323
+ -
295
324
  * - :class:`.HurstExponent`
296
325
  - | Calculate Hurst exponent of a time series as found in
297
326
  | `Peng et al. (1995) <https://doi.org/10.1063/1.166141>`_
298
327
  - Done
299
328
  - 0.0.4
329
+ - ``junifer.markers.complexity``
300
330
  * - :class:`.MultiscaleEntropyAUC`
301
331
  - | Calculate AUC of multiscale entropy of a time series as found in
302
332
  | `Costa et al. (2002) <https://doi.org/10.1103/PhysRevLett.89.068102>`_
303
333
  - Done
304
334
  - 0.0.4
335
+ - ``junifer.markers.complexity``
305
336
  * - :class:`.PermEntropy`
306
337
  - | Calculate permutation entropy of a time series as found in
307
338
  | `Bandt at al. (2002) <https://doi.org/10.1103/PhysRevLett.88.174102>`_
308
339
  - Done
309
340
  - 0.0.4
341
+ - ``junifer.markers.complexity``
310
342
  * - :class:`.RangeEntropy`
311
343
  - | Calculate range entropy of a time series as found in
312
344
  | `Omidvarnia et al. (2018) <https://doi.org/10.3390/e20120962>`_
313
345
  - Done
314
346
  - 0.0.4
347
+ - ``junifer.markers.complexity``
315
348
  * - :class:`.RangeEntropyAUC`
316
349
  - | Calculate AUC of range entropy of a time series as found in
317
350
  | `Omidvarnia et al. (2018) <https://doi.org/10.3390/e20120962>`_
318
351
  - Done
319
352
  - 0.0.4
353
+ - ``junifer.markers.complexity``
320
354
  * - :class:`.SampleEntropy`
321
355
  - | Calculate sample entropy of a time series as found in
322
356
  | `Richman et al. (2000) <https://doi.org/10.1152/ajpheart.2000.278.6.H2039>`_
323
357
  - Done
324
358
  - 0.0.4
359
+ - ``junifer.markers.complexity``
360
+ * - :class:`.WeightedPermEntropy`
361
+ - | Calculate weighted permutation entropy of a time series as found in
362
+ | `Fadlallah et al. (2013) <https://doi.org/10.1103/PhysRevE.87.022911>`_
363
+ - Done
364
+ - 0.0.4
365
+ - ``junifer.markers.complexity``
325
366
 
326
367
  Planned
327
368
  ~~~~~~~
@@ -0,0 +1 @@
1
+ Fix :class:`.DataladHCP1200` listing only the subjects already installed (the subjects are sub-datasets) and not finding the BOLD data of the subjects not installed, by listing all the subjects without searching the files and building the paths of the BOLD data without wildcards by `Fede Raimondo`_
@@ -0,0 +1 @@
1
+ Raise an error when installing the dataset of a :class:`.PatternDataladDataGrabber` if a pattern searches the files of a sub-dataset, which are only there once the sub-dataset is installed, instead of not finding the elements by `Fede Raimondo`_
@@ -0,0 +1 @@
1
+ Document that the DataGrabbers with files in datalad sub-datasets must list their elements and build the paths without searching the files by `Fede Raimondo`_
@@ -0,0 +1 @@
1
+ Fix the Maps markers (e.g., :class:`.MapsAggregation`) not being available in the YAML file without importing their modules by `Fede Raimondo`_
@@ -0,0 +1 @@
1
+ Fix the complexity markers (e.g., :class:`.HurstExponent`) not being available in the YAML file with ``with: junifer.markers.complexity`` by `Fede Raimondo`_
@@ -0,0 +1 @@
1
+ Fix ``junifer run`` and ``junifer list-elements`` ignoring the ``elements`` of the YAML file when ``--element`` is not given by `Fede Raimondo`_
@@ -0,0 +1 @@
1
+ Fix the AFNI smoothing of :class:`.Smoothing` leaving ``3dFWHMx.1D`` and ``3dFWHMx.1D.png`` in the current directory by `Fede Raimondo`_
@@ -0,0 +1 @@
1
+ Fix the ``collect_task`` option of the HTCondor queue being documented as ``collect``, document the ``elements`` key of the YAML file and the ``with`` needed by the markers, and use the full width of the page for the content by `Fede Raimondo`_
@@ -0,0 +1 @@
1
+ Add the ``cwd`` parameter to :func:`.run_ext_cmd` to run external commands in a directory by `Fede Raimondo`_
@@ -399,6 +399,17 @@ This approach can be used directly from the YAML, like so:
399
399
  uri: "https://cerebra.fz-juelich.de/junifer/datalad-example-bids-ses.git"
400
400
  rootdir: example_bids_ses
401
401
 
402
+ .. important::
403
+
404
+ The elements are found by searching the files of the dataset, but the files
405
+ of a datalad *sub-dataset* are only there once the sub-dataset is installed.
406
+ If the patterns search the files of a sub-dataset (e.g., a dataset with a
407
+ sub-dataset for each subject), :class:`.PatternDataladDataGrabber` raises
408
+ an error when installing the dataset. These DataGrabbers must implement
409
+ ``get_elements`` without searching the files (e.g., from the names of the
410
+ sub-datasets) and build the paths in the sub-datasets without wildcards,
411
+ as :class:`.DataladHCP1200` does.
412
+
402
413
  .. _extending_datagrabbers_path_expansion:
403
414
 
404
415
  Advanced: Using Unix-like path expansion directives
@@ -76,7 +76,7 @@ The following parameters are available for HTCondor:
76
76
  temporary directory.
77
77
  * ``extra_preamble``: Extra lines to be added to the HTCondor submit file. This
78
78
  can be used to add extra parameters to the job, such as ``requirements``.
79
- * ``collect``: This parameter allows to include a collect to the DAG to collect
79
+ * ``collect_task``: This parameter allows to include a collect to the DAG to collect
80
80
  the results once all of the individual element jobs are finished. This is
81
81
  useful if you want to run a ``junifer collect`` job only once all of the
82
82
  individual element jobs are finished. Valid options are:
@@ -101,7 +101,7 @@ Example in YAML:
101
101
  shell: zsh
102
102
  mem: 8G
103
103
  disk: 2G
104
- collect: "yes" # wrap it in string to avoid boolean
104
+ collect_task: "yes" # wrap it in string to avoid boolean
105
105
 
106
106
  Alternatively, if you use ``venv``, the YAML would look like so:
107
107
 
@@ -116,7 +116,7 @@ Alternatively, if you use ``venv``, the YAML would look like so:
116
116
  shell: zsh
117
117
  mem: 8G
118
118
  disk: 2G
119
- collect: "yes" # wrap it in string to avoid boolean
119
+ collect_task: "yes" # wrap it in string to avoid boolean
120
120
 
121
121
  .. _queueing_local:
122
122
 
@@ -91,6 +91,16 @@ and then the ``elements.txt`` would be like so:
91
91
 
92
92
  sub-01
93
93
 
94
+ The elements can also be set in the YAML file, with the ``elements`` key. They
95
+ are used by ``run``, ``queue`` and ``list-elements`` when ``--element`` is not
96
+ given (``--element`` has precedence over the YAML file):
97
+
98
+ .. code-block:: yaml
99
+
100
+ elements:
101
+ - [sub-01, ses-01]
102
+ - [sub-02, ses-01]
103
+
94
104
  .. _running_elements:
95
105
 
96
106
  Complete and partial elements
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '0.0.8.dev314'
22
- __version_tuple__ = version_tuple = (0, 0, 8, 'dev314')
21
+ __version__ = version = '0.0.8.dev323'
22
+ __version_tuple__ = version_tuple = (0, 0, 8, 'dev323')
23
23
 
24
- __commit_id__ = commit_id = 'g968a03e78'
24
+ __commit_id__ = commit_id = 'ga9cb942ea'
@@ -16,7 +16,7 @@ __all__ = ["parse_elements"]
16
16
 
17
17
 
18
18
  def parse_elements(element: tuple[str, ...], config: dict) -> Elements | None:
19
- """Parse elements from cli.
19
+ """Parse elements from cli, or from the configuration if not in the cli.
20
20
 
21
21
  Parameters
22
22
  ----------
@@ -28,13 +28,13 @@ def parse_elements(element: tuple[str, ...], config: dict) -> Elements | None:
28
28
  Returns
29
29
  -------
30
30
  list or None
31
- The element(s) as list or None.
31
+ The element(s) as list, or None (all the elements) if they are not in
32
+ the command-line options nor in the configuration.
32
33
 
33
34
  Raises
34
35
  ------
35
36
  ValueError
36
- If no element is found either in the command-line options or
37
- the configuration file.
37
+ If the ``elements`` key of the configuration has no value.
38
38
 
39
39
  Warns
40
40
  -----
@@ -44,9 +44,22 @@ def parse_elements(element: tuple[str, ...], config: dict) -> Elements | None:
44
44
 
45
45
  """
46
46
  logger.debug(f"Parsing elements: {element}")
47
- # Early return None to continue with all elements
47
+ # Use the elements of the configuration if not in the command line
48
48
  if not element:
49
- return None
49
+ if "elements" not in config:
50
+ # None to continue with all elements
51
+ return None
52
+ elements = config["elements"]
53
+ if elements is None:
54
+ raise_error(
55
+ "The `elements` key is set in the configuration, but its value"
56
+ " is `None`. It is likely that there is an empty `elements` "
57
+ "section in the yaml configuration file."
58
+ )
59
+ # A single element, and the elements with multiple values as tuples
60
+ if not isinstance(elements, list):
61
+ elements = [elements]
62
+ return [tuple(x) if isinstance(x, list) else x for x in elements]
50
63
  # Check if the element is a file for single element;
51
64
  # if yes, then parse elements from it
52
65
  if len(element) == 1 and Path(element[0]).resolve().is_file():
@@ -55,7 +68,7 @@ def parse_elements(element: tuple[str, ...], config: dict) -> Elements | None:
55
68
  # Process multi-keyed elements
56
69
  elements = [tuple(x.split(",")) if "," in x else x for x in element]
57
70
  logger.debug(f"Parsed elements: {elements}")
58
- if elements is not None and "elements" in config:
71
+ if "elements" in config:
59
72
  warn_with_log(
60
73
  "One or more elements have been specified in both the command "
61
74
  "line and in the config file. The command line has precedence "
@@ -64,15 +77,6 @@ def parse_elements(element: tuple[str, ...], config: dict) -> Elements | None:
64
77
  "the configuration file will be ignored. To remove this warning, "
65
78
  "please remove the `elements` item from the configuration file."
66
79
  )
67
- elif elements is None:
68
- # Check in config
69
- elements = config.get("elements", None)
70
- if elements is None:
71
- raise_error(
72
- "The `elements` key is set in the configuration, but its value"
73
- " is `None`. It is likely that there is an empty `elements` "
74
- "section in the yaml configuration file."
75
- )
76
80
  return elements
77
81
 
78
82
 
@@ -22,7 +22,7 @@ from junifer.cli.cli import (
22
22
  selftest,
23
23
  wtf,
24
24
  )
25
- from junifer.cli.parser import _parse_elements_file
25
+ from junifer.cli.parser import _parse_elements_file, parse_elements
26
26
  from junifer.pipeline import WorkDirManager
27
27
 
28
28
 
@@ -205,6 +205,47 @@ def test_multi_element_access(
205
205
  assert read_elements == expected_list
206
206
 
207
207
 
208
+ @pytest.mark.parametrize(
209
+ "element, config, expected",
210
+ [
211
+ ((), {}, None),
212
+ ((), {"elements": ["sub-01", "sub-02"]}, ["sub-01", "sub-02"]),
213
+ ((), {"elements": "sub-01"}, ["sub-01"]),
214
+ ((), {"elements": [["sub-01", "ses-01"]]}, [("sub-01", "ses-01")]),
215
+ (("sub-01", "sub-02,ses-01"), {}, ["sub-01", ("sub-02", "ses-01")]),
216
+ ],
217
+ )
218
+ def test_parse_elements(
219
+ element: tuple[str, ...], config: dict, expected: list | None
220
+ ) -> None:
221
+ """Test parsing the elements from the command line or the configuration.
222
+
223
+ Parameters
224
+ ----------
225
+ element : tuple of str
226
+ The parametrized elements of the command line.
227
+ config : dict
228
+ The parametrized configuration.
229
+ expected : list or None
230
+ The parametrized elements to expect.
231
+
232
+ """
233
+ assert parse_elements(element, config) == expected
234
+
235
+
236
+ def test_parse_elements_command_line_precedence() -> None:
237
+ """Test the elements of the command line have precedence."""
238
+ with pytest.warns(RuntimeWarning, match="command line has precedence"):
239
+ elements = parse_elements(("sub-01",), {"elements": ["sub-02"]})
240
+ assert elements == ["sub-01"]
241
+
242
+
243
+ def test_parse_elements_empty_config() -> None:
244
+ """Test an empty elements key in the configuration."""
245
+ with pytest.raises(ValueError, match="its value is `None`"):
246
+ parse_elements((), {"elements": None})
247
+
248
+
208
249
  def test_queue(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:
209
250
  """Test queue command.
210
251
 
@@ -5,12 +5,14 @@
5
5
  # Synchon Mandal <s.mandal@fz-juelich.de>
6
6
  # License: AGPL
7
7
 
8
+ from itertools import product
8
9
  from pathlib import Path
9
10
  from typing import Annotated, Literal
10
11
 
11
12
  from pydantic import AnyUrl, BeforeValidator
12
13
 
13
14
  from ...api.decorators import register_datagrabber
15
+ from ...typing import Elements
14
16
  from ...utils import ensure_list
15
17
  from ..base import DataType
16
18
  from ..datalad_base import DataladDataGrabber
@@ -67,3 +69,29 @@ class DataladHCP1200(DataladDataGrabber, HCP1200):
67
69
  def skip_file_check(self) -> bool:
68
70
  """Skip file check existence."""
69
71
  return True
72
+
73
+ def get_elements(self) -> Elements:
74
+ """Implement fetching list of elements in the dataset.
75
+
76
+ The subjects are sub-datasets, whose files are only there once they
77
+ are installed, so the files are not searched: the elements are all
78
+ the subjects (the directories of the dataset) with the tasks and
79
+ phase encodings to grab, even if some of them have no data.
80
+
81
+ Returns
82
+ -------
83
+ list
84
+ The list of elements that can be grabbed in the dataset.
85
+
86
+ """
87
+ subjects = sorted(
88
+ x.name
89
+ for x in self.fulldir.iterdir()
90
+ if x.is_dir() and not x.name.startswith(".")
91
+ )
92
+ values = {"subject": subjects, **self.get_replacement_values()}
93
+ element_keys = self.get_element_keys()
94
+ elements = list(product(*(values[k] for k in element_keys)))
95
+ if len(element_keys) == 1:
96
+ return [element[0] for element in elements]
97
+ return elements
@@ -162,3 +162,29 @@ class HCP1200(PatternDataGrabber):
162
162
  "pattern"
163
163
  ].replace("{suffix}", suffix)
164
164
  super().validate_datagrabber_params()
165
+
166
+ def _replace_patterns_glob(self, element: dict, pattern: str) -> str:
167
+ """Replace ``pattern`` with the ``element`` so it can be globbed.
168
+
169
+ The BOLD data of the resting-state tasks is in ``rfMRI_*`` and of the
170
+ other tasks in ``tfMRI_*``, so the path of an element is built
171
+ without searching the files, which are in sub-datasets in
172
+ :class:`.DataladHCP1200`.
173
+
174
+ Parameters
175
+ ----------
176
+ element : dict
177
+ The element to be used in the replacement.
178
+ pattern : str
179
+ The pattern to be replaced.
180
+
181
+ Returns
182
+ -------
183
+ str
184
+ The pattern with the element replaced.
185
+
186
+ """
187
+ if "task" in element:
188
+ prefix = "rfMRI" if "REST" in element["task"] else "tfMRI"
189
+ pattern = pattern.replace("?fMRI_", f"{prefix}_")
190
+ return super()._replace_patterns_glob(element, pattern)
@@ -8,6 +8,7 @@ import tempfile
8
8
  from collections.abc import Iterable
9
9
  from pathlib import Path
10
10
 
11
+ import datalad.api as dl
11
12
  import pytest
12
13
  from pydantic import AnyUrl
13
14
 
@@ -320,3 +321,63 @@ def test_HCP1200_incorrect_access_icafix(
320
321
  tasks=tasks,
321
322
  ica_fix=ica_fix,
322
323
  )
324
+
325
+
326
+ def test_DataladHCP1200_subdatasets(tmp_path: Path) -> None:
327
+ """Test DataladHCP1200 with a sub-dataset for each subject, as HCP.
328
+
329
+ Parameters
330
+ ----------
331
+ tmp_path : pathlib.Path
332
+ The path to the test directory.
333
+
334
+ """
335
+ dataset = dl.create(tmp_path / "origin", result_renderer="disabled")
336
+ for subject in ("100206", "100307"):
337
+ subdataset = dataset.create(subject, result_renderer="disabled")
338
+ for folder in ("rfMRI_REST1_LR", "tfMRI_WM_RL"):
339
+ path = (
340
+ subdataset.pathobj
341
+ / "MNINonLinear"
342
+ / "Results"
343
+ / folder
344
+ / f"{folder}.nii.gz"
345
+ )
346
+ path.parent.mkdir(parents=True)
347
+ path.write_text(f"{subject} {folder}")
348
+ path = subdataset.pathobj / "T1w" / "T1w_acpc_dc_restore.nii.gz"
349
+ path.parent.mkdir(parents=True)
350
+ path.write_text(f"{subject} T1w")
351
+ dataset.save(recursive=True, result_renderer="disabled")
352
+ dg = DataladHCP1200(
353
+ uri=AnyUrl(f"file://{dataset.path}"),
354
+ datadir=tmp_path / "clone",
355
+ rootdir=Path("."),
356
+ types=["BOLD", "T1w"],
357
+ tasks=["REST1", "WM"],
358
+ phase_encodings=["LR", "RL"],
359
+ )
360
+ with config_override("datagrabber.skipidcheck", True), dg:
361
+ # All the subjects with the tasks and phase encodings, without
362
+ # installing the sub-datasets
363
+ assert dg.get_elements() == [
364
+ (subject, task, phase_encoding)
365
+ for subject in ("100206", "100307")
366
+ for task in ("REST1", "WM")
367
+ for phase_encoding in ("LR", "RL")
368
+ ]
369
+ assert not (dg.fulldir / "100206" / "T1w").exists()
370
+ out = dg[("100307", "WM", "RL")]
371
+ assert out["BOLD"]["path"].read_text() == "100307 tfMRI_WM_RL"
372
+ assert out["T1w"]["path"].read_text() == "100307 T1w"
373
+ out = dg[("100206", "REST1", "LR")]
374
+ assert out["BOLD"]["path"].read_text() == "100206 rfMRI_REST1_LR"
375
+ dg = DataladHCP1200(
376
+ uri=AnyUrl(f"file://{dataset.path}"),
377
+ datadir=tmp_path / "clone",
378
+ rootdir=Path("."),
379
+ types=["T1w"],
380
+ )
381
+ with config_override("datagrabber.skipidcheck", True), dg:
382
+ assert dg.get_elements() == ["100206", "100307"]
383
+ assert dg["100206"]["T1w"]["path"].read_text() == "100206 T1w"