junifer 0.0.8.dev326__tar.gz → 0.0.8.dev335__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 (617) hide show
  1. {junifer-0.0.8.dev326/junifer.egg-info → junifer-0.0.8.dev335}/PKG-INFO +1 -1
  2. junifer-0.0.8.dev335/docs/changes/newsfragments/530.change +1 -0
  3. junifer-0.0.8.dev335/docs/changes/newsfragments/530.enh +1 -0
  4. junifer-0.0.8.dev335/docs/changes/newsfragments/530.enh.1 +1 -0
  5. junifer-0.0.8.dev335/docs/changes/newsfragments/531.enh +1 -0
  6. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/using/configuring.rst +6 -0
  7. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/_version.py +3 -3
  8. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/fsl/run_fsl_docker.sh +4 -0
  9. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/maps/_ants_maps_warper.py +7 -5
  10. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/maps/_fsl_maps_warper.py +3 -2
  11. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/masks/_ants_mask_warper.py +7 -5
  12. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/masks/_fsl_mask_warper.py +3 -2
  13. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/parcellations/_ants_parcellation_warper.py +7 -5
  14. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/parcellations/_fsl_parcellation_warper.py +3 -4
  15. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/falff/_junifer_falff.py +2 -2
  16. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/reho/_junifer_reho.py +1 -1
  17. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/tests/test_markers_base.py +27 -0
  18. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/utils.py +53 -19
  19. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/_temporal_filter.py +2 -2
  20. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/_temporal_slicer.py +1 -1
  21. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/confounds/fmriprep_confound_remover.py +2 -2
  22. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/smoothing/_fsl_smoothing.py +2 -1
  23. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/smoothing/_nilearn_smoothing.py +1 -1
  24. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/warping/_ants_warper.py +49 -34
  25. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/warping/_fsl_warper.py +45 -33
  26. junifer-0.0.8.dev335/junifer/preprocess/warping/_utils.py +106 -0
  27. junifer-0.0.8.dev335/junifer/preprocess/warping/tests/test_warping_utils.py +163 -0
  28. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335/junifer.egg-info}/PKG-INFO +1 -1
  29. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer.egg-info/SOURCES.txt +6 -0
  30. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer.egg-info/scm_file_list.json +6 -0
  31. junifer-0.0.8.dev335/junifer.egg-info/scm_version.json +8 -0
  32. junifer-0.0.8.dev326/junifer.egg-info/scm_version.json +0 -8
  33. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/.dockerignore +0 -0
  34. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  35. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  36. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
  37. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
  38. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  39. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
  40. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/.github/dependabot.yml +0 -0
  41. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/.github/pull_request_template.md +0 -0
  42. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/.github/workflows/check-stale.yml +0 -0
  43. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/.github/workflows/ci.yml +0 -0
  44. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/.github/workflows/docker-publish.yml +0 -0
  45. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/.github/workflows/docs-preview.yml +0 -0
  46. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/.github/workflows/docs.yml +0 -0
  47. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/.github/workflows/lint.yml +0 -0
  48. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/.github/workflows/publish.yml +0 -0
  49. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/.gitignore +0 -0
  50. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/.gitmodules +0 -0
  51. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/.pre-commit-config.yaml +0 -0
  52. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/.python-version +0 -0
  53. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/AUTHORS.rst +0 -0
  54. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/Dockerfile +0 -0
  55. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/Dockerfile-ci +0 -0
  56. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/LICENSE.md +0 -0
  57. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/README.md +0 -0
  58. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/codecov.yml +0 -0
  59. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/conda-env.yml +0 -0
  60. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/Makefile +0 -0
  61. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/_static/css/custom.css +0 -0
  62. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/_static/css/version_selector.css +0 -0
  63. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/_static/js/custom.js +0 -0
  64. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/_templates/versions.html +0 -0
  65. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/api/api.rst +0 -0
  66. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/api/cli.rst +0 -0
  67. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/api/configs.rst +0 -0
  68. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/api/data.rst +0 -0
  69. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/api/datagrabbers.rst +0 -0
  70. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/api/datareaders.rst +0 -0
  71. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/api/index.rst +0 -0
  72. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/api/markers.rst +0 -0
  73. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/api/nilearn.rst +0 -0
  74. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/api/onthefly.rst +0 -0
  75. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/api/pipeline.rst +0 -0
  76. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/api/preprocessing.rst +0 -0
  77. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/api/stats.rst +0 -0
  78. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/api/storage.rst +0 -0
  79. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/api/testing.rst +0 -0
  80. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/api/utils.rst +0 -0
  81. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/builtin.rst +0 -0
  82. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/contributors.inc +0 -0
  83. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/.gitignore +0 -0
  84. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/239.enh +0 -0
  85. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/364.doc +0 -0
  86. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/364.enh +0 -0
  87. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/364.feature +0 -0
  88. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/474.misc +0 -0
  89. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/482.bugfix +0 -0
  90. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/492.bugfix +0 -0
  91. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/499.enh +0 -0
  92. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/502.bugfix +0 -0
  93. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/503.enh +0 -0
  94. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/504.bugfix +0 -0
  95. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/504.misc +0 -0
  96. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/509.enh +0 -0
  97. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/510.bugfix +0 -0
  98. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/511.bugfix +0 -0
  99. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/511.bugfix.1 +0 -0
  100. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/511.change +0 -0
  101. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/511.enh +0 -0
  102. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/511.enh.1 +0 -0
  103. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/511.feature +0 -0
  104. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/511.misc +0 -0
  105. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/511.misc.1 +0 -0
  106. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/513.doc +0 -0
  107. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/513.misc +0 -0
  108. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/514.bugfix +0 -0
  109. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/514.bugfix.1 +0 -0
  110. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/514.enh +0 -0
  111. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/515.doc +0 -0
  112. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/515.enh +0 -0
  113. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/515.enh.1 +0 -0
  114. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/515.misc +0 -0
  115. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/515.misc.1 +0 -0
  116. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/516.bugfix +0 -0
  117. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/516.bugfix.1 +0 -0
  118. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/516.bugfix.2 +0 -0
  119. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/516.change +0 -0
  120. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/516.change.1 +0 -0
  121. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/516.misc +0 -0
  122. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/520.bugfix +0 -0
  123. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/520.bugfix.1 +0 -0
  124. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/520.bugfix.2 +0 -0
  125. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/520.bugfix.3 +0 -0
  126. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/520.bugfix.4 +0 -0
  127. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/520.bugfix.5 +0 -0
  128. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/520.bugfix.6 +0 -0
  129. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/520.change +0 -0
  130. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/520.doc +0 -0
  131. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/520.misc +0 -0
  132. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/520.misc.1 +0 -0
  133. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/520.misc.2 +0 -0
  134. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/520.misc.3 +0 -0
  135. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/520.removal +0 -0
  136. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/521.bugfix +0 -0
  137. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/522.bugfix +0 -0
  138. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/522.enh +0 -0
  139. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/523.misc +0 -0
  140. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/524.bugfix +0 -0
  141. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/524.bugfix.1 +0 -0
  142. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/524.change +0 -0
  143. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/524.change.1 +0 -0
  144. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/524.change.2 +0 -0
  145. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/524.doc +0 -0
  146. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/524.enh +0 -0
  147. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/524.feature +0 -0
  148. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/524.feature.1 +0 -0
  149. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/525.bugfix +0 -0
  150. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/525.bugfix.1 +0 -0
  151. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/525.change +0 -0
  152. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/525.change.1 +0 -0
  153. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/525.change.2 +0 -0
  154. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/525.change.3 +0 -0
  155. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/525.change.4 +0 -0
  156. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/525.doc +0 -0
  157. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/525.enh +0 -0
  158. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/525.feature +0 -0
  159. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/528.bugfix +0 -0
  160. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/528.change +0 -0
  161. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/528.doc +0 -0
  162. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/529.bugfix +0 -0
  163. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/529.bugfix.1 +0 -0
  164. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/529.bugfix.2 +0 -0
  165. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/529.bugfix.3 +0 -0
  166. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/529.doc +0 -0
  167. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/changes/newsfragments/529.enh +0 -0
  168. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/conf.py +0 -0
  169. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/contribution.rst +0 -0
  170. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/extending/confounds_format.rst +0 -0
  171. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/extending/coordinates.rst +0 -0
  172. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/extending/data_dump_asset.rst +0 -0
  173. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/extending/data_registries.rst +0 -0
  174. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/extending/data_types.rst +0 -0
  175. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/extending/datagrabber.rst +0 -0
  176. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/extending/dependencies.rst +0 -0
  177. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/extending/extension.rst +0 -0
  178. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/extending/index.rst +0 -0
  179. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/extending/logging.rst +0 -0
  180. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/extending/maps.rst +0 -0
  181. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/extending/marker.rst +0 -0
  182. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/extending/masks.rst +0 -0
  183. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/extending/parcellations.rst +0 -0
  184. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/extending/plugins.rst +0 -0
  185. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/extending/preprocessor.rst +0 -0
  186. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/faq.rst +0 -0
  187. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/help.rst +0 -0
  188. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/images/junifer_logo.png +0 -0
  189. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/index.rst +0 -0
  190. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/installation.rst +0 -0
  191. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/internals.rst +0 -0
  192. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/links.inc +0 -0
  193. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/maintaining.rst +0 -0
  194. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/poly.py +0 -0
  195. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/poly_files/patches/version_banner.html +0 -0
  196. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/poly_files/patches/versions.html +0 -0
  197. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/poly_files/templates/index.html +0 -0
  198. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/starting.rst +0 -0
  199. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/understanding/data.rst +0 -0
  200. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/understanding/datagrabber.rst +0 -0
  201. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/understanding/datareader.rst +0 -0
  202. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/understanding/index.rst +0 -0
  203. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/understanding/marker.rst +0 -0
  204. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/understanding/pipeline.rst +0 -0
  205. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/understanding/preprocess.rst +0 -0
  206. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/understanding/storage.rst +0 -0
  207. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/using/codeless.rst +0 -0
  208. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/using/dumping.rst +0 -0
  209. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/using/index.rst +0 -0
  210. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/using/masks.rst +0 -0
  211. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/using/queueing.rst +0 -0
  212. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/using/running.rst +0 -0
  213. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/docs/whats_new.rst +0 -0
  214. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/examples/README.rst +0 -0
  215. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/examples/norun_hcpfc_pearson.py +0 -0
  216. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/examples/norun_ukbvm_gmd.py +0 -0
  217. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/examples/run_compute_parcel_mean.py +0 -0
  218. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/examples/run_datagrabber_bids_datalad.py +0 -0
  219. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/examples/run_ets_rss_marker.py +0 -0
  220. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/examples/run_junifer_julearn.py +0 -0
  221. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/examples/run_run_gmd_mean.py +0 -0
  222. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/examples/yamls/gmd_mean.yaml +0 -0
  223. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
  224. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
  225. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/examples/yamls/ukb_gmd_mean.yaml +0 -0
  226. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/ignore_words.txt +0 -0
  227. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/__init__.py +0 -0
  228. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/__init__.pyi +0 -0
  229. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/__init__.py +0 -0
  230. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/__init__.pyi +0 -0
  231. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/decorators.py +0 -0
  232. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/functions.py +0 -0
  233. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/py.typed +0 -0
  234. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/queue_context/__init__.py +0 -0
  235. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/queue_context/__init__.pyi +0 -0
  236. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/queue_context/gnu_parallel_local_adapter.py +0 -0
  237. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/queue_context/htcondor_adapter.py +0 -0
  238. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/queue_context/py.typed +0 -0
  239. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/queue_context/queue_context_adapter.py +0 -0
  240. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +0 -0
  241. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
  242. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
  243. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/afni/3dRSFC +0 -0
  244. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/afni/3dReHo +0 -0
  245. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/afni/afni +0 -0
  246. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/afni/run_afni_docker.sh +0 -0
  247. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/ants/ResampleImage +0 -0
  248. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/ants/antsApplyTransforms +0 -0
  249. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
  250. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/ants/run_ants_docker.sh +0 -0
  251. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/freesurfer/mri_binarize +0 -0
  252. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/freesurfer/mri_mc +0 -0
  253. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/freesurfer/mri_pretess +0 -0
  254. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/freesurfer/mris_convert +0 -0
  255. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
  256. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/fsl/applywarp +0 -0
  257. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/fsl/flirt +0 -0
  258. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/fsl/img2imgcoord +0 -0
  259. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/fsl/std2imgcoord +0 -0
  260. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/run_conda.bash +0 -0
  261. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/run_conda.zsh +0 -0
  262. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/run_venv.bash +0 -0
  263. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/res/run_venv.zsh +0 -0
  264. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/tests/test_decorators.py +0 -0
  265. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/api/tests/test_functions.py +0 -0
  266. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/cli/__init__.py +0 -0
  267. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/cli/__init__.pyi +0 -0
  268. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/cli/cli.py +0 -0
  269. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/cli/parser.py +0 -0
  270. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/cli/py.typed +0 -0
  271. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/cli/tests/data/gmd_mean.yaml +0 -0
  272. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/cli/tests/data/gmd_mean_htcondor.yaml +0 -0
  273. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/cli/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
  274. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/cli/tests/test_cli.py +0 -0
  275. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/cli/tests/test_cli_utils.py +0 -0
  276. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/cli/utils.py +0 -0
  277. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/configs/__init__.py +0 -0
  278. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/configs/__init__.pyi +0 -0
  279. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/configs/juseless/__init__.py +0 -0
  280. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/configs/juseless/__init__.pyi +0 -0
  281. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
  282. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/configs/juseless/datagrabbers/__init__.pyi +0 -0
  283. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -0
  284. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -0
  285. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -0
  286. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/configs/juseless/datagrabbers/py.typed +0 -0
  287. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
  288. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
  289. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
  290. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
  291. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
  292. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/configs/juseless/datagrabbers/ucla.py +0 -0
  293. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -0
  294. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/configs/juseless/py.typed +0 -0
  295. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/configs/py.typed +0 -0
  296. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/conftest.py +0 -0
  297. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/__init__.py +0 -0
  298. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/__init__.pyi +0 -0
  299. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/_dispatch.py +0 -0
  300. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/coordinates/__init__.py +0 -0
  301. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/coordinates/__init__.pyi +0 -0
  302. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/coordinates/_ants_coordinates_warper.py +0 -0
  303. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/coordinates/_coordinates.py +0 -0
  304. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/coordinates/_fsl_coordinates_warper.py +0 -0
  305. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/coordinates/tests/test_coordinates.py +0 -0
  306. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/coordinates/tests/test_coordinates_names.py +0 -0
  307. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/maps/__init__.py +0 -0
  308. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/maps/__init__.pyi +0 -0
  309. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/maps/_maps.py +0 -0
  310. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/maps/tests/test_maps.py +0 -0
  311. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/masks/__init__.py +0 -0
  312. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/masks/__init__.pyi +0 -0
  313. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/masks/_masks.py +0 -0
  314. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/masks/tests/test_masks.py +0 -0
  315. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/parcellations/__init__.py +0 -0
  316. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/parcellations/__init__.pyi +0 -0
  317. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/parcellations/_parcellations.py +0 -0
  318. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/parcellations/tests/test_parcellations.py +0 -0
  319. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/pipeline_data_registry_base.py +0 -0
  320. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/py.typed +0 -0
  321. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/template_spaces.py +0 -0
  322. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/tests/test_data_utils.py +0 -0
  323. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/tests/test_dispatch.py +0 -0
  324. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/tests/test_template_spaces.py +0 -0
  325. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/data/utils.py +0 -0
  326. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/__init__.py +0 -0
  327. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/__init__.pyi +0 -0
  328. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/aomic/__init__.py +0 -0
  329. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/aomic/__init__.pyi +0 -0
  330. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/aomic/_types.py +0 -0
  331. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/aomic/id1000.py +0 -0
  332. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/aomic/piop1.py +0 -0
  333. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/aomic/piop2.py +0 -0
  334. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/aomic/py.typed +0 -0
  335. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/aomic/tests/test_id1000.py +0 -0
  336. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/aomic/tests/test_piop1.py +0 -0
  337. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/aomic/tests/test_piop2.py +0 -0
  338. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/base.py +0 -0
  339. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/datalad_base.py +0 -0
  340. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/dmcc13_benchmark.py +0 -0
  341. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/hcp1200/__init__.py +0 -0
  342. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/hcp1200/__init__.pyi +0 -0
  343. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +0 -0
  344. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/hcp1200/hcp1200.py +0 -0
  345. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/hcp1200/py.typed +0 -0
  346. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +0 -0
  347. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/multiple.py +0 -0
  348. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/pattern.py +0 -0
  349. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/pattern_datalad.py +0 -0
  350. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/pattern_validation_mixin.py +0 -0
  351. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/py.typed +0 -0
  352. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/tests/test_base.py +0 -0
  353. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
  354. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +0 -0
  355. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/tests/test_multiple.py +0 -0
  356. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/tests/test_pattern.py +0 -0
  357. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
  358. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datagrabber/tests/test_pattern_validation_mixin.py +0 -0
  359. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datareader/__init__.py +0 -0
  360. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datareader/__init__.pyi +0 -0
  361. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datareader/default.py +0 -0
  362. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datareader/py.typed +0 -0
  363. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/datareader/tests/test_default_reader.py +0 -0
  364. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/.codecov.yml +0 -0
  365. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/.codespellignore +0 -0
  366. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/bug-report.md +0 -0
  367. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/documentation.md +0 -0
  368. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/feature-request.md +0 -0
  369. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/questions-help-support.md +0 -0
  370. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/.github/dependabot.yml +0 -0
  371. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/.github/workflows/build.yml +0 -0
  372. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/.github/workflows/code-style.yml +0 -0
  373. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/.github/workflows/doc.yml +0 -0
  374. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/.github/workflows/publish.yml +0 -0
  375. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/.github/workflows/pytest.yml +0 -0
  376. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/.gitignore +0 -0
  377. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/LICENSE +0 -0
  378. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/README.md +0 -0
  379. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/brainprint/__init__.py +0 -0
  380. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/brainprint/_version.py +0 -0
  381. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/brainprint/asymmetry.py +0 -0
  382. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/brainprint/brainprint.py +0 -0
  383. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/brainprint/cli/__init__.py +0 -0
  384. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/brainprint/cli/help_text.py +0 -0
  385. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/brainprint/cli/parser.py +0 -0
  386. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/brainprint/cli/utils.py +0 -0
  387. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/brainprint/commands/__init__.py +0 -0
  388. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/brainprint/commands/sys_info.py +0 -0
  389. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/brainprint/surfaces.py +0 -0
  390. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/brainprint/utils/__init__.py +0 -0
  391. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/brainprint/utils/_config.py +0 -0
  392. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/brainprint/utils/tests/__init__.py +0 -0
  393. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/brainprint/utils/tests/test_config.py +0 -0
  394. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/brainprint/utils/utils.py +0 -0
  395. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/doc/Makefile +0 -0
  396. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/doc/_static/.gitkeep +0 -0
  397. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/doc/_templates/autosummary/class.rst +0 -0
  398. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/doc/_templates/autosummary/function.rst +0 -0
  399. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/doc/_templates/autosummary/module.rst +0 -0
  400. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/doc/api/index.rst +0 -0
  401. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/doc/conf.py +0 -0
  402. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/doc/index.rst +0 -0
  403. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/doc/links.inc +0 -0
  404. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/doc/make.bat +0 -0
  405. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/doc/references.bib +0 -0
  406. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/pyproject.toml +0 -0
  407. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/BrainPrint/setup.py +0 -0
  408. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/__init__.py +0 -0
  409. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/__init__.pyi +0 -0
  410. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/nilearn/__init__.py +0 -0
  411. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/nilearn/__init__.pyi +0 -0
  412. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/nilearn/junifer_connectivity_measure.py +0 -0
  413. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +0 -0
  414. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/nilearn/py.typed +0 -0
  415. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +0 -0
  416. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
  417. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/external/py.typed +0 -0
  418. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/__init__.py +0 -0
  419. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/__init__.pyi +0 -0
  420. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/base.py +0 -0
  421. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/brainprint.py +0 -0
  422. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/complexity/__init__.py +0 -0
  423. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/complexity/complexity_base.py +0 -0
  424. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/complexity/hurst_exponent.py +0 -0
  425. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/complexity/multiscale_entropy_auc.py +0 -0
  426. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/complexity/perm_entropy.py +0 -0
  427. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/complexity/py.typed +0 -0
  428. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/complexity/range_entropy.py +0 -0
  429. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/complexity/range_entropy_auc.py +0 -0
  430. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/complexity/sample_entropy.py +0 -0
  431. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
  432. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/complexity/tests/test_complexity_registry.py +0 -0
  433. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
  434. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
  435. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
  436. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
  437. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
  438. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
  439. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
  440. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/complexity/weighted_perm_entropy.py +0 -0
  441. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/ets_rss.py +0 -0
  442. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/falff/__init__.py +0 -0
  443. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/falff/__init__.pyi +0 -0
  444. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/falff/_afni_falff.py +0 -0
  445. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/falff/falff_base.py +0 -0
  446. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/falff/falff_maps.py +0 -0
  447. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/falff/falff_parcels.py +0 -0
  448. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/falff/falff_spheres.py +0 -0
  449. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/falff/py.typed +0 -0
  450. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/falff/tests/test_falff_maps.py +0 -0
  451. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
  452. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
  453. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/functional_connectivity/__init__.py +0 -0
  454. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/functional_connectivity/__init__.pyi +0 -0
  455. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +0 -0
  456. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/functional_connectivity/edge_functional_connectivity_maps.py +0 -0
  457. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +0 -0
  458. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +0 -0
  459. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/functional_connectivity/functional_connectivity_base.py +0 -0
  460. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/functional_connectivity/functional_connectivity_maps.py +0 -0
  461. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +0 -0
  462. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +0 -0
  463. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/functional_connectivity/py.typed +0 -0
  464. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
  465. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_maps.py +0 -0
  466. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
  467. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
  468. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
  469. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_maps.py +0 -0
  470. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +0 -0
  471. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +0 -0
  472. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/maps_aggregation.py +0 -0
  473. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/parcel_aggregation.py +0 -0
  474. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/py.typed +0 -0
  475. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/reho/__init__.py +0 -0
  476. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/reho/__init__.pyi +0 -0
  477. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/reho/_afni_reho.py +0 -0
  478. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/reho/py.typed +0 -0
  479. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/reho/reho_base.py +0 -0
  480. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/reho/reho_maps.py +0 -0
  481. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/reho/reho_parcels.py +0 -0
  482. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/reho/reho_spheres.py +0 -0
  483. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/reho/tests/test_junifer_reho.py +0 -0
  484. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/reho/tests/test_reho_maps.py +0 -0
  485. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
  486. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
  487. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/sphere_aggregation.py +0 -0
  488. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/temporal_snr/__init__.py +0 -0
  489. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/temporal_snr/__init__.pyi +0 -0
  490. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/temporal_snr/py.typed +0 -0
  491. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/temporal_snr/temporal_snr_base.py +0 -0
  492. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/temporal_snr/temporal_snr_maps.py +0 -0
  493. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/temporal_snr/temporal_snr_parcels.py +0 -0
  494. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/temporal_snr/temporal_snr_spheres.py +0 -0
  495. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
  496. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/temporal_snr/tests/test_temporal_snr_maps.py +0 -0
  497. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
  498. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
  499. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/tests/test_brainprint.py +0 -0
  500. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/tests/test_ets_rss.py +0 -0
  501. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/tests/test_lost_regions.py +0 -0
  502. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/tests/test_maps_aggregation.py +0 -0
  503. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/tests/test_marker_utils.py +0 -0
  504. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/tests/test_parcel_aggregation.py +0 -0
  505. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/markers/tests/test_sphere_aggregation.py +0 -0
  506. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/onthefly/__init__.py +0 -0
  507. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/onthefly/__init__.pyi +0 -0
  508. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/onthefly/_brainprint.py +0 -0
  509. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/onthefly/py.typed +0 -0
  510. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/onthefly/read_transform.py +0 -0
  511. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/onthefly/tests/test_read_transform.py +0 -0
  512. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/pipeline/__init__.py +0 -0
  513. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/pipeline/__init__.pyi +0 -0
  514. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/pipeline/_data_object_dumper.py +0 -0
  515. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/pipeline/marker_collection.py +0 -0
  516. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/pipeline/pipeline_component_registry.py +0 -0
  517. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/pipeline/pipeline_step_mixin.py +0 -0
  518. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/pipeline/py.typed +0 -0
  519. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/pipeline/tests/test_data_object_dumper.py +0 -0
  520. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/pipeline/tests/test_marker_collection.py +0 -0
  521. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/pipeline/tests/test_pipeline_component_registry.py +0 -0
  522. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
  523. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
  524. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
  525. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/pipeline/update_meta_mixin.py +0 -0
  526. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/pipeline/utils.py +0 -0
  527. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/pipeline/workdir_manager.py +0 -0
  528. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/__init__.py +0 -0
  529. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/__init__.pyi +0 -0
  530. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/base.py +0 -0
  531. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/confounds/__init__.py +0 -0
  532. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/confounds/__init__.pyi +0 -0
  533. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/confounds/py.typed +0 -0
  534. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +0 -0
  535. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/py.typed +0 -0
  536. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/smoothing/__init__.py +0 -0
  537. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/smoothing/__init__.pyi +0 -0
  538. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/smoothing/_afni_smoothing.py +0 -0
  539. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/smoothing/py.typed +0 -0
  540. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/smoothing/smoothing.py +0 -0
  541. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/smoothing/tests/test_smoothing.py +0 -0
  542. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
  543. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/tests/test_temporal_filter.py +0 -0
  544. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/tests/test_temporal_slicer.py +0 -0
  545. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/warping/__init__.py +0 -0
  546. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/warping/__init__.pyi +0 -0
  547. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/warping/py.typed +0 -0
  548. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/warping/space_warper.py +0 -0
  549. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
  550. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/py.typed +0 -0
  551. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/stats.py +0 -0
  552. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/storage/__init__.py +0 -0
  553. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/storage/__init__.pyi +0 -0
  554. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/storage/base.py +0 -0
  555. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/storage/hdf5.py +0 -0
  556. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/storage/pandas_base.py +0 -0
  557. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/storage/py.typed +0 -0
  558. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/storage/sqlite.py +0 -0
  559. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/storage/tests/data/collected_h5io_fork.hdf5 +0 -0
  560. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/storage/tests/test_hdf5.py +0 -0
  561. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/storage/tests/test_pandas_base.py +0 -0
  562. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/storage/tests/test_repeated_storage.py +0 -0
  563. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/storage/tests/test_sqlite.py +0 -0
  564. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/storage/tests/test_storage_base.py +0 -0
  565. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/storage/tests/test_utils.py +0 -0
  566. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/storage/utils.py +0 -0
  567. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/testing/__init__.py +0 -0
  568. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/testing/__init__.pyi +0 -0
  569. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
  570. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/testing/datagrabbers.py +0 -0
  571. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/testing/py.typed +0 -0
  572. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/testing/registry.py +0 -0
  573. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/testing/tests/test_adhdtesting_datagrabber.py +0 -0
  574. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
  575. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
  576. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
  577. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/testing/tests/test_testing_registry.py +0 -0
  578. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/testing/tests/test_testing_utils.py +0 -0
  579. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/testing/tests/test_uclacnpvbmtesting_datagrabber.py +0 -0
  580. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/testing/utils.py +0 -0
  581. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/tests/test_main.py +0 -0
  582. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/tests/test_stats.py +0 -0
  583. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/typing/__init__.py +0 -0
  584. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/typing/__init__.pyi +0 -0
  585. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/typing/_typing.py +0 -0
  586. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/typing/py.typed +0 -0
  587. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/utils/__init__.py +0 -0
  588. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/utils/__init__.pyi +0 -0
  589. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/utils/_config.py +0 -0
  590. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/utils/_yaml.py +0 -0
  591. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/utils/fs.py +0 -0
  592. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/utils/helpers.py +0 -0
  593. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/utils/logging.py +0 -0
  594. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/utils/py.typed +0 -0
  595. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/utils/singleton.py +0 -0
  596. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/utils/tests/test_config.py +0 -0
  597. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/utils/tests/test_fs.py +0 -0
  598. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/utils/tests/test_helpers.py +0 -0
  599. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer/utils/tests/test_logging.py +0 -0
  600. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer.egg-info/dependency_links.txt +0 -0
  601. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer.egg-info/entry_points.txt +0 -0
  602. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer.egg-info/requires.txt +0 -0
  603. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/junifer.egg-info/top_level.txt +0 -0
  604. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/justfile +0 -0
  605. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/pyproject.toml +0 -0
  606. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/scripts/start.sh +0 -0
  607. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/setup.cfg +0 -0
  608. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/setup.py +0 -0
  609. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/tools/create_aomic1000_example_dataset.py +0 -0
  610. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/tools/create_aomicpiop1_example_dataset.py +0 -0
  611. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/tools/create_aomicpiop2_example_dataset.py +0 -0
  612. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/tools/create_bids_example_dataset.py +0 -0
  613. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/tools/create_bids_example_dataset_sessions.py +0 -0
  614. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
  615. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/tools/create_hcp1200_example_dataset.py +0 -0
  616. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/tox.ini +0 -0
  617. {junifer-0.0.8.dev326 → junifer-0.0.8.dev335}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: junifer
3
- Version: 0.0.8.dev326
3
+ Version: 0.0.8.dev335
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>
@@ -0,0 +1 @@
1
+ Use single precision in ``antsApplyTransforms`` (``--float 1``), halving its memory and giving float32 instead of float64 data, with differences below 0.002% of the data range by `Fede Raimondo`_
@@ -0,0 +1 @@
1
+ Warp the volumes of 4D data in chunks of ``preprocessing.warping.chunksize`` volumes (default 100) in :class:`.SpaceWarper`, as the memory used by ANTs and FSL grows with the number of volumes (e.g., about 53 GB to warp 1200 volumes to native space with ANTs) by `Fede Raimondo`_
@@ -0,0 +1 @@
1
+ Write the intermediate images (e.g., the warped, smoothed or filtered data) uncompressed in the temporary directory of the element, as they are read right away and deleted after the element is processed, so there is no need to spend time compressing and decompressing them, and run the FSL commands with ``FSLOUTPUTTYPE=NIFTI`` to write them uncompressed by `Fede Raimondo`_
@@ -0,0 +1 @@
1
+ Raise an error if a marker changes its input data (which is shared with the other markers of a pipeline), checking the values and their contents (arrays, data frames and images) by `Fede Raimondo`_
@@ -63,3 +63,9 @@ Available Configurations
63
63
  - ``preprocessing.dump.granularity``
64
64
  - "full" or "final"
65
65
  - Dump all pre-processing steps or just the final pre-processed data
66
+ * - ``JUNIFER_PREPROCESSING_WARPING_CHUNKSIZE``
67
+ - ``preprocessing.warping.chunksize``
68
+ - int
69
+ - | Number of volumes of 4D data to warp at once with
70
+ | :class:`.SpaceWarper` (default 100). The memory used by ANTs and FSL
71
+ | grows with the number of volumes, so smaller chunks use less memory
@@ -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.dev326'
22
- __version_tuple__ = version_tuple = (0, 0, 8, 'dev326')
21
+ __version__ = version = '0.0.8.dev335'
22
+ __version_tuple__ = version_tuple = (0, 0, 8, 'dev335')
23
23
 
24
- __commit_id__ = commit_id = 'g1bcfcf0b5'
24
+ __commit_id__ = commit_id = 'g611612030'
@@ -34,6 +34,10 @@ echo "Docker args: ${docker_args[*]}" >&2
34
34
  echo "Corrected args for FSL: ${corrected_args[*]}" >&2
35
35
 
36
36
  cwd=$(pwd)
37
+ # Pass the output type, as FSL writes it instead of the type of the extension
38
+ if [ -n "${FSLOUTPUTTYPE}" ]; then
39
+ docker_args+=("-e FSLOUTPUTTYPE=${FSLOUTPUTTYPE}")
40
+ fi
37
41
  cmd="docker run --rm ${docker_args[*]} -v ${cwd}:${cwd} -w ${cwd} brainlife/fsl ${corrected_args[*]}"
38
42
  echo "Running command: ${cmd}" >&2
39
43
  ${cmd}
@@ -100,16 +100,17 @@ class ANTsMapsWarper:
100
100
  logger.debug("Using ANTs for maps transformation")
101
101
 
102
102
  # Save existing maps image to a tempfile
103
- prewarp_maps_path = element_tempdir / "prewarp_maps.nii.gz"
103
+ prewarp_maps_path = element_tempdir / "prewarp_maps.nii"
104
104
  nib.save(maps_img, prewarp_maps_path)
105
105
 
106
106
  # Create a tempfile for warped output
107
- warped_maps_path = element_tempdir / "maps_warped.nii.gz"
107
+ warped_maps_path = element_tempdir / "maps_warped.nii"
108
108
  # Set antsApplyTransforms command
109
109
  apply_transforms_cmd = [
110
110
  "antsApplyTransforms",
111
111
  "-d 3",
112
112
  "-e 3",
113
+ "--float 1",
113
114
  "-n LanczosWindowedSinc",
114
115
  f"-i {prewarp_maps_path.resolve()}",
115
116
  # use resampled reference
@@ -133,20 +134,21 @@ class ANTsMapsWarper:
133
134
  extra_input=None,
134
135
  )
135
136
  # Save template to a tempfile
136
- template_space_img_path = element_tempdir / f"{dst}_T1w.nii.gz"
137
+ template_space_img_path = element_tempdir / f"{dst}_T1w.nii"
137
138
  nib.save(template_space_img, template_space_img_path)
138
139
 
139
140
  # Save existing maps image to a tempfile
140
- prewarp_maps_path = element_tempdir / "prewarp_maps.nii.gz"
141
+ prewarp_maps_path = element_tempdir / "prewarp_maps.nii"
141
142
  nib.save(maps_img, prewarp_maps_path)
142
143
 
143
144
  # Create a tempfile for warped output
144
- warped_maps_path = element_tempdir / "maps_warped.nii.gz"
145
+ warped_maps_path = element_tempdir / "maps_warped.nii"
145
146
  # Set antsApplyTransforms command
146
147
  apply_transforms_cmd = [
147
148
  "antsApplyTransforms",
148
149
  "-d 3",
149
150
  "-e 3",
151
+ "--float 1",
150
152
  "-n LanczosWindowedSinc",
151
153
  f"-i {prewarp_maps_path.resolve()}",
152
154
  f"-r {template_space_img_path.resolve()}",
@@ -66,13 +66,14 @@ class FSLMapsWarper:
66
66
  )
67
67
 
68
68
  # Save existing maps image to a tempfile
69
- prewarp_maps_path = element_tempdir / "prewarp_maps.nii.gz"
69
+ prewarp_maps_path = element_tempdir / "prewarp_maps.nii"
70
70
  nib.save(maps_img, prewarp_maps_path)
71
71
 
72
72
  # Create a tempfile for warped output
73
- warped_maps_path = element_tempdir / "maps_warped.nii.gz"
73
+ warped_maps_path = element_tempdir / "maps_warped.nii"
74
74
  # Set applywarp command
75
75
  applywarp_cmd = [
76
+ "FSLOUTPUTTYPE=NIFTI",
76
77
  "applywarp",
77
78
  "--interp=spline",
78
79
  f"-i {prewarp_maps_path.resolve()}",
@@ -121,16 +121,17 @@ class ANTsMaskWarper:
121
121
  logger.debug("Using ANTs for mask transformation")
122
122
 
123
123
  # Save existing mask image to a tempfile
124
- prewarp_mask_path = element_tempdir / "prewarp_mask.nii.gz"
124
+ prewarp_mask_path = element_tempdir / "prewarp_mask.nii"
125
125
  nib.save(mask_img, prewarp_mask_path)
126
126
 
127
127
  # Create a tempfile for warped output
128
- warped_mask_path = element_tempdir / "mask_warped.nii.gz"
128
+ warped_mask_path = element_tempdir / "mask_warped.nii"
129
129
  # Set antsApplyTransforms command
130
130
  apply_transforms_cmd = [
131
131
  "antsApplyTransforms",
132
132
  "-d 3",
133
133
  "-e 3",
134
+ "--float 1",
134
135
  "-n 'GenericLabel[NearestNeighbor]'",
135
136
  f"-i {prewarp_mask_path.resolve()}",
136
137
  # use resampled reference
@@ -154,20 +155,21 @@ class ANTsMaskWarper:
154
155
  extra_input=None,
155
156
  )
156
157
  # Save template to a tempfile
157
- template_space_img_path = element_tempdir / f"{dst}_T1w.nii.gz"
158
+ template_space_img_path = element_tempdir / f"{dst}_T1w.nii"
158
159
  nib.save(template_space_img, template_space_img_path)
159
160
 
160
161
  # Save existing mask image to a tempfile
161
- prewarp_mask_path = element_tempdir / "prewarp_mask.nii.gz"
162
+ prewarp_mask_path = element_tempdir / "prewarp_mask.nii"
162
163
  nib.save(mask_img, prewarp_mask_path)
163
164
 
164
165
  # Create a tempfile for warped output
165
- warped_mask_path = element_tempdir / "mask_warped.nii.gz"
166
+ warped_mask_path = element_tempdir / "mask_warped.nii"
166
167
  # Set antsApplyTransforms command
167
168
  apply_transforms_cmd = [
168
169
  "antsApplyTransforms",
169
170
  "-d 3",
170
171
  "-e 3",
172
+ "--float 1",
171
173
  f"-n {_get_interpolation_method(mask_img)}",
172
174
  f"-i {prewarp_mask_path.resolve()}",
173
175
  f"-r {template_space_img_path.resolve()}",
@@ -87,13 +87,14 @@ class FSLMaskWarper:
87
87
  )
88
88
 
89
89
  # Save existing mask image to a tempfile
90
- prewarp_mask_path = element_tempdir / "prewarp_mask.nii.gz"
90
+ prewarp_mask_path = element_tempdir / "prewarp_mask.nii"
91
91
  nib.save(mask_img, prewarp_mask_path)
92
92
 
93
93
  # Create a tempfile for warped output
94
- warped_mask_path = element_tempdir / "mask_warped.nii.gz"
94
+ warped_mask_path = element_tempdir / "mask_warped.nii"
95
95
  # Set applywarp command
96
96
  applywarp_cmd = [
97
+ "FSLOUTPUTTYPE=NIFTI",
97
98
  "applywarp",
98
99
  f"--interp={_get_interpolation_method(mask_img)}",
99
100
  f"-i {prewarp_mask_path.resolve()}",
@@ -101,19 +101,20 @@ class ANTsParcellationWarper:
101
101
 
102
102
  # Save existing parcellation image to a tempfile
103
103
  prewarp_parcellation_path = (
104
- element_tempdir / "prewarp_parcellation.nii.gz"
104
+ element_tempdir / "prewarp_parcellation.nii"
105
105
  )
106
106
  nib.save(parcellation_img, prewarp_parcellation_path)
107
107
 
108
108
  # Create a tempfile for warped output
109
109
  warped_parcellation_path = (
110
- element_tempdir / "parcellation_warped.nii.gz"
110
+ element_tempdir / "parcellation_warped.nii"
111
111
  )
112
112
  # Set antsApplyTransforms command
113
113
  apply_transforms_cmd = [
114
114
  "antsApplyTransforms",
115
115
  "-d 3",
116
116
  "-e 3",
117
+ "--float 1",
117
118
  "-n 'GenericLabel[NearestNeighbor]'",
118
119
  f"-i {prewarp_parcellation_path.resolve()}",
119
120
  # use resampled reference
@@ -139,24 +140,25 @@ class ANTsParcellationWarper:
139
140
  extra_input=None,
140
141
  )
141
142
  # Save template to a tempfile
142
- template_space_img_path = element_tempdir / f"{dst}_T1w.nii.gz"
143
+ template_space_img_path = element_tempdir / f"{dst}_T1w.nii"
143
144
  nib.save(template_space_img, template_space_img_path)
144
145
 
145
146
  # Save existing parcellation image to a tempfile
146
147
  prewarp_parcellation_path = (
147
- element_tempdir / "prewarp_parcellation.nii.gz"
148
+ element_tempdir / "prewarp_parcellation.nii"
148
149
  )
149
150
  nib.save(parcellation_img, prewarp_parcellation_path)
150
151
 
151
152
  # Create a tempfile for warped output
152
153
  warped_parcellation_path = (
153
- element_tempdir / "parcellation_warped.nii.gz"
154
+ element_tempdir / "parcellation_warped.nii"
154
155
  )
155
156
  # Set antsApplyTransforms command
156
157
  apply_transforms_cmd = [
157
158
  "antsApplyTransforms",
158
159
  "-d 3",
159
160
  "-e 3",
161
+ "--float 1",
160
162
  "-n 'GenericLabel[NearestNeighbor]'",
161
163
  f"-i {prewarp_parcellation_path.resolve()}",
162
164
  f"-r {template_space_img_path.resolve()}",
@@ -67,16 +67,15 @@ class FSLParcellationWarper:
67
67
 
68
68
  # Save existing parcellation image to a tempfile
69
69
  prewarp_parcellation_path = (
70
- element_tempdir / "prewarp_parcellation.nii.gz"
70
+ element_tempdir / "prewarp_parcellation.nii"
71
71
  )
72
72
  nib.save(parcellation_img, prewarp_parcellation_path)
73
73
 
74
74
  # Create a tempfile for warped output
75
- warped_parcellation_path = (
76
- element_tempdir / "parcellation_warped.nii.gz"
77
- )
75
+ warped_parcellation_path = element_tempdir / "parcellation_warped.nii"
78
76
  # Set applywarp command
79
77
  applywarp_cmd = [
78
+ "FSLOUTPUTTYPE=NIFTI",
80
79
  "applywarp",
81
80
  "--interp=nn",
82
81
  f"-i {prewarp_parcellation_path.resolve()}",
@@ -137,8 +137,8 @@ class JuniferALFF(metaclass=Singleton):
137
137
  element_tempdir = WorkDirManager().get_element_tempdir(
138
138
  prefix="junifer_lff"
139
139
  )
140
- output_alff_path = element_tempdir / "output_alff.nii.gz"
141
- output_falff_path = element_tempdir / "output_falff.nii.gz"
140
+ output_alff_path = element_tempdir / "output_alff.nii"
141
+ output_falff_path = element_tempdir / "output_falff.nii"
142
142
  # Save computed data to file
143
143
  nib.save(alff_data, output_alff_path)
144
144
  nib.save(falff_data, output_falff_path)
@@ -204,7 +204,7 @@ class JuniferReHo(metaclass=Singleton):
204
204
  element_tempdir = WorkDirManager().get_element_tempdir(
205
205
  prefix="junifer_reho"
206
206
  )
207
- output_path = element_tempdir / "output.nii.gz"
207
+ output_path = element_tempdir / "output.nii"
208
208
  # Save computed data to file
209
209
  nib.save(output_data, output_path)
210
210
 
@@ -347,3 +347,30 @@ def test_base_marker_input_not_changed(tmp_path: Path) -> None:
347
347
 
348
348
  out = _fit(read, tmp_path)
349
349
  assert "feat" in out["BOLD"]
350
+
351
+
352
+ def test_base_marker_input_not_loaded(tmp_path: Path) -> None:
353
+ """Test checking the input does not load the data of the images.
354
+
355
+ Parameters
356
+ ----------
357
+ tmp_path : pathlib.Path
358
+ The path to the test directory.
359
+
360
+ """
361
+ input = _input(tmp_path)
362
+
363
+ class Marker(BaseMarker):
364
+ _MARKER_INOUT_MAPPINGS = { # noqa: RUF012
365
+ DataType.BOLD: {"feat": StorageType.Vector},
366
+ }
367
+
368
+ def compute(self, input, extra_input=None):
369
+ return {"feat": {"data": np.zeros((1, 1)), "col_names": ["x"]}}
370
+
371
+ Marker(on=["BOLD"], name="marker").fit_transform(input=input)
372
+ # The file-backed image without its data loaded is still not loaded
373
+ mask = input["BOLD"]["mask"]
374
+ assert not mask.in_memory
375
+ assert getattr(mask, "_data_cache", None) is None
376
+ assert getattr(mask, "_fdata_cache", None) is None
@@ -15,7 +15,6 @@ from typing import Any
15
15
  import numpy as np
16
16
  import pandas as pd
17
17
  from nibabel.spatialimages import SpatialImage
18
- from nilearn.image import get_data
19
18
  from scipy.stats import zscore
20
19
 
21
20
  from ..utils import raise_error
@@ -162,10 +161,40 @@ def _checksum(array: np.ndarray) -> tuple:
162
161
  """
163
162
  crc = None
164
163
  if not array.dtype.hasobject:
164
+ # The transpose of an array in Fortran order (e.g., the data of a
165
+ # NIfTI image) is in C order, so it is not copied
166
+ if array.flags.f_contiguous and not array.flags.c_contiguous:
167
+ array = array.T
165
168
  crc = zlib.crc32(memoryview(np.ascontiguousarray(array)).cast("B"))
166
169
  return (array.shape, array.dtype.str, crc)
167
170
 
168
171
 
172
+ def _image_data(img: SpatialImage) -> tuple:
173
+ """Get the data of an image in memory.
174
+
175
+ The data read from the file of an image is not loaded, as it cannot be
176
+ changed (unless it is cached) and it would be kept in memory.
177
+
178
+ Parameters
179
+ ----------
180
+ img : nibabel.spatialimages.SpatialImage
181
+ The image.
182
+
183
+ Returns
184
+ -------
185
+ tuple
186
+ The data of the image if it is in memory (the data of an image
187
+ created from an array, or the data cached by nilearn, e.g., with
188
+ ``nilearn.image.get_data``) and the data cached by nibabel's
189
+ ``get_fdata``, or None.
190
+
191
+ """
192
+ data = img.dataobj
193
+ if not isinstance(data, np.ndarray):
194
+ data = getattr(img, "_data_cache", None)
195
+ return data, getattr(img, "_fdata_cache", None)
196
+
197
+
169
198
  def _checksums(value: Any) -> tuple:
170
199
  """Get the checksums of an array, data frame, image or set.
171
200
 
@@ -179,9 +208,8 @@ def _checksums(value: Any) -> tuple:
179
208
  tuple
180
209
  The checksums, empty for other values. For data frames and series:
181
210
  the values and index, and the column labels or name. For images: the
182
- affine, the data (loaded with nilearn, which caches it in the image,
183
- as most markers access it this way) and the data cached by nibabel's
184
- ``get_fdata`` (None if not cached). For sets: their contents.
211
+ affine and the data in memory (see :func:`_image_data`, None if not in
212
+ memory). For sets: their contents.
185
213
 
186
214
  """
187
215
  if isinstance(value, np.ndarray):
@@ -197,11 +225,12 @@ def _checksums(value: Any) -> tuple:
197
225
  labels,
198
226
  )
199
227
  if isinstance(value, SpatialImage):
200
- fdata = getattr(value, "_fdata_cache", None)
201
228
  return (
202
229
  _checksum(value.affine),
203
- _checksum(get_data(value)),
204
- None if fdata is None else _checksum(fdata),
230
+ *(
231
+ None if data is None else _checksum(data)
232
+ for data in _image_data(value)
233
+ ),
205
234
  )
206
235
  if isinstance(value, set | frozenset):
207
236
  return (frozenset(value),)
@@ -257,21 +286,26 @@ def _is_changed(old: tuple, new: tuple) -> bool:
257
286
  if new_value is not old_value:
258
287
  return True
259
288
  if isinstance(new_value, SpatialImage):
260
- old_fdata, new_fdata = old_sums[2], new_sums[2]
261
- old_sums, new_sums = old_sums[:2], new_sums[:2]
262
- if new_fdata is not None:
263
- if old_fdata is not None and old_fdata[1] == new_fdata[1]:
264
- # Same dtype: the cached data must be the same
265
- if old_fdata != new_fdata:
289
+ # The affine must be the same
290
+ if old_sums[0] != new_sums[0]:
291
+ return True
292
+ for old_data, new_data, data in zip(
293
+ old_sums[1:], new_sums[1:], _image_data(new_value), strict=True
294
+ ):
295
+ if new_data is None:
296
+ # Not in memory (or no longer cached)
297
+ continue
298
+ if old_data is not None and old_data[1] == new_data[1]:
299
+ # Same dtype: the data in memory must be the same
300
+ if old_data != new_data:
266
301
  return True
267
302
  else:
268
- # The data was cached by get_fdata during the computation,
269
- # possibly with another dtype: compare it with the data read
270
- # as get_fdata does
271
- fdata = new_value._fdata_cache
272
- expected = np.asanyarray(new_value.dataobj, dtype=fdata.dtype)
273
- if not np.array_equal(fdata, expected, equal_nan=True):
303
+ # The data was cached during the computation, possibly with
304
+ # another dtype: compare it with the data read from the file
305
+ expected = np.asanyarray(new_value.dataobj, dtype=data.dtype)
306
+ if not np.array_equal(data, expected, equal_nan=True):
274
307
  return True
308
+ return False
275
309
  return old_sums != new_sums
276
310
 
277
311
 
@@ -151,7 +151,7 @@ class TemporalFilter(BasePreprocessor):
151
151
  extra_input=extra_input,
152
152
  )
153
153
  # Save generated mask for use later
154
- generated_mask_img_path = element_tempdir / "generated_mask.nii.gz"
154
+ generated_mask_img_path = element_tempdir / "generated_mask.nii"
155
155
  nib.save(mask_img, generated_mask_img_path)
156
156
 
157
157
  # Save BOLD mask and link it to the BOLD data type dict;
@@ -193,7 +193,7 @@ class TemporalFilter(BasePreprocessor):
193
193
  # Fix t_r as nilearn messes it up
194
194
  cleaned_img.header["pixdim"][4] = t_r
195
195
  # Save filtered data
196
- filtered_data_path = element_tempdir / "filtered_data.nii.gz"
196
+ filtered_data_path = element_tempdir / "filtered_data.nii"
197
197
  nib.save(cleaned_img, filtered_data_path)
198
198
 
199
199
  logger.debug("Updating `BOLD`")
@@ -151,7 +151,7 @@ class TemporalSlicer(BasePreprocessor):
151
151
  # Fix t_r as nilearn messes it up
152
152
  sliced_img.header["pixdim"][4] = t_r
153
153
  # Save sliced data
154
- sliced_img_path = element_tempdir / "sliced_data.nii.gz"
154
+ sliced_img_path = element_tempdir / "sliced_data.nii"
155
155
  nib.save(sliced_img, sliced_img_path)
156
156
 
157
157
  logger.debug("Updating `BOLD`")
@@ -620,7 +620,7 @@ class fMRIPrepConfoundRemover(BasePreprocessor):
620
620
  extra_input=extra_input,
621
621
  )
622
622
  # Save generated mask for use later
623
- generated_mask_img_path = element_tempdir / "generated_mask.nii.gz"
623
+ generated_mask_img_path = element_tempdir / "generated_mask.nii"
624
624
  nib.save(mask_img, generated_mask_img_path)
625
625
 
626
626
  # Save BOLD mask and link it to the BOLD data type dict;
@@ -686,7 +686,7 @@ class fMRIPrepConfoundRemover(BasePreprocessor):
686
686
  # Fix t_r as nilearn messes it up
687
687
  cleaned_img.header["pixdim"][4] = t_r
688
688
  # Save deconfounded data
689
- deconfounded_img_path = element_tempdir / "deconfounded_data.nii.gz"
689
+ deconfounded_img_path = element_tempdir / "deconfounded_data.nii"
690
690
  nib.save(cleaned_img, deconfounded_img_path)
691
691
 
692
692
  logger.debug("Updating `BOLD`")
@@ -79,9 +79,10 @@ class FSLSmoothing:
79
79
  element_tempdir = WorkDirManager().get_element_tempdir(
80
80
  prefix="fsl_susan"
81
81
  )
82
- susan_out_path = element_tempdir / "smoothed_data.nii.gz"
82
+ susan_out_path = element_tempdir / "smoothed_data.nii"
83
83
  # Set susan command
84
84
  susan_cmd = [
85
+ "FSLOUTPUTTYPE=NIFTI",
85
86
  "susan",
86
87
  f"{input['path'].resolve()}",
87
88
  f"{brightness_threshold}",
@@ -74,7 +74,7 @@ class NilearnSmoothing:
74
74
  smoothed_img = nimg.smooth_img(imgs=input["data"], fwhm=fwhm)
75
75
 
76
76
  # Save smoothed output
77
- smoothed_img_path = element_tempdir / "smoothed_data.nii.gz"
77
+ smoothed_img_path = element_tempdir / "smoothed_data.nii"
78
78
  nib.save(smoothed_img, smoothed_img_path)
79
79
 
80
80
  logger.debug("Updating smoothed data")