junifer 0.0.6.dev308__tar.gz → 0.0.6.dev317__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 (500) hide show
  1. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/PKG-INFO +1 -1
  2. junifer-0.0.6.dev317/docs/changes/newsfragments/385.bugfix +1 -0
  3. junifer-0.0.6.dev317/docs/changes/newsfragments/408.enh +1 -0
  4. junifer-0.0.6.dev317/docs/changes/newsfragments/408.feature +1 -0
  5. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/_version.py +2 -2
  6. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/pipeline/utils.py +1 -1
  7. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/confounds/fmriprep_confound_remover.py +35 -2
  8. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/smoothing/_afni_smoothing.py +37 -35
  9. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/smoothing/_fsl_smoothing.py +19 -26
  10. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/smoothing/_nilearn_smoothing.py +33 -12
  11. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/smoothing/smoothing.py +2 -5
  12. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/warping/_ants_warper.py +111 -25
  13. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/warping/_fsl_warper.py +51 -13
  14. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer.egg-info/PKG-INFO +1 -1
  15. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer.egg-info/SOURCES.txt +3 -0
  16. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/.dockerignore +0 -0
  17. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  18. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  19. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
  20. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
  21. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  22. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
  23. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/.github/dependabot.yml +0 -0
  24. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/.github/pull_request_template.md +0 -0
  25. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/.github/workflows/ci-docs.yml +0 -0
  26. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/.github/workflows/ci.yml +0 -0
  27. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/.github/workflows/docker-ci-publish.yml +0 -0
  28. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/.github/workflows/docker-docs-publish.yml +0 -0
  29. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/.github/workflows/docs-preview.yml +0 -0
  30. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/.github/workflows/docs.yml +0 -0
  31. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/.github/workflows/lint.yml +0 -0
  32. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/.github/workflows/pypi.yml +0 -0
  33. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/.gitignore +0 -0
  34. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/.gitmodules +0 -0
  35. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/.pre-commit-config.yaml +0 -0
  36. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/AUTHORS.rst +0 -0
  37. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/Dockerfile-ci +0 -0
  38. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/Dockerfile-docs +0 -0
  39. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/LICENSE.md +0 -0
  40. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/README.md +0 -0
  41. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/codecov.yml +0 -0
  42. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/conda-env.yml +0 -0
  43. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/Makefile +0 -0
  44. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/_static/css/custom.css +0 -0
  45. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/_static/js/custom.js +0 -0
  46. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/_templates/versions.html +0 -0
  47. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/api/api.rst +0 -0
  48. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/api/cli.rst +0 -0
  49. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/api/configs.rst +0 -0
  50. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/api/data.rst +0 -0
  51. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/api/datagrabbers.rst +0 -0
  52. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/api/datareaders.rst +0 -0
  53. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/api/index.rst +0 -0
  54. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/api/markers.rst +0 -0
  55. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/api/nilearn.rst +0 -0
  56. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/api/onthefly.rst +0 -0
  57. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/api/pipeline.rst +0 -0
  58. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/api/preprocessing.rst +0 -0
  59. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/api/stats.rst +0 -0
  60. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/api/storage.rst +0 -0
  61. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/api/testing.rst +0 -0
  62. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/api/utils.rst +0 -0
  63. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/builtin.rst +0 -0
  64. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/contributors.inc +0 -0
  65. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/.gitignore +0 -0
  66. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/335.enh +0 -0
  67. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/354.feature +0 -0
  68. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/355.misc +0 -0
  69. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/356.bugfix +0 -0
  70. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/357.enh +0 -0
  71. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/358.doc +0 -0
  72. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/359.doc +0 -0
  73. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/360.bugfix +0 -0
  74. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/361.misc +0 -0
  75. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/362.feature +0 -0
  76. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/367.enh +0 -0
  77. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/368.enh +0 -0
  78. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/369.bugfix +0 -0
  79. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/370.bugfix +0 -0
  80. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/372.misc +0 -0
  81. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/373.misc +0 -0
  82. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/374.misc +0 -0
  83. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/380.misc +0 -0
  84. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/382.misc +0 -0
  85. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/383.misc +0 -0
  86. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/384.misc +0 -0
  87. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/386.bugfix +0 -0
  88. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/387.change +0 -0
  89. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/387.feature +0 -0
  90. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/388.bugfix +0 -0
  91. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/389.enh +0 -0
  92. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/390.change +0 -0
  93. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/390.enh +0 -0
  94. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/391.misc +0 -0
  95. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/392.feature +0 -0
  96. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/393.misc +0 -0
  97. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/398.bugfix +0 -0
  98. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/401.feature +0 -0
  99. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/402.change +0 -0
  100. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/402.enh +0 -0
  101. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/403.enh +0 -0
  102. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/405.change +0 -0
  103. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/405.enh +0 -0
  104. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/changes/newsfragments/407.feature +0 -0
  105. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/conf.py +0 -0
  106. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/contribution.rst +0 -0
  107. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/extending/coordinates.rst +0 -0
  108. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/extending/datagrabber.rst +0 -0
  109. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/extending/dependencies.rst +0 -0
  110. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/extending/extension.rst +0 -0
  111. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/extending/index.rst +0 -0
  112. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/extending/marker.rst +0 -0
  113. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/extending/masks.rst +0 -0
  114. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/extending/parcellations.rst +0 -0
  115. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/extending/preprocessor.rst +0 -0
  116. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/faq.rst +0 -0
  117. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/help.rst +0 -0
  118. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/images/junifer_logo.png +0 -0
  119. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/index.rst +0 -0
  120. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/installation.rst +0 -0
  121. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/links.inc +0 -0
  122. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/maintaining.rst +0 -0
  123. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/redirect.html +0 -0
  124. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/starting.rst +0 -0
  125. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/understanding/data.rst +0 -0
  126. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/understanding/datagrabber.rst +0 -0
  127. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/understanding/datareader.rst +0 -0
  128. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/understanding/index.rst +0 -0
  129. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/understanding/marker.rst +0 -0
  130. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/understanding/pipeline.rst +0 -0
  131. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/understanding/preprocess.rst +0 -0
  132. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/understanding/storage.rst +0 -0
  133. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/using/codeless.rst +0 -0
  134. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/using/index.rst +0 -0
  135. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/using/masks.rst +0 -0
  136. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/using/queueing.rst +0 -0
  137. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/using/running.rst +0 -0
  138. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/docs/whats_new.rst +0 -0
  139. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/examples/README.rst +0 -0
  140. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/examples/norun_hcpfc_pearson.py +0 -0
  141. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/examples/norun_ukbvm_gmd.py +0 -0
  142. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/examples/run_compute_parcel_mean.py +0 -0
  143. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/examples/run_datagrabber_bids_datalad.py +0 -0
  144. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/examples/run_ets_rss_marker.py +0 -0
  145. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/examples/run_junifer_julearn.py +0 -0
  146. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/examples/run_run_gmd_mean.py +0 -0
  147. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/examples/yamls/gmd_mean.yaml +0 -0
  148. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
  149. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
  150. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/examples/yamls/ukb_gmd_mean.yaml +0 -0
  151. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/ignore_words.txt +0 -0
  152. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/__init__.py +0 -0
  153. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/__init__.pyi +0 -0
  154. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/__init__.py +0 -0
  155. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/__init__.pyi +0 -0
  156. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/decorators.py +0 -0
  157. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/functions.py +0 -0
  158. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/py.typed +0 -0
  159. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/queue_context/__init__.py +0 -0
  160. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/queue_context/__init__.pyi +0 -0
  161. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/queue_context/gnu_parallel_local_adapter.py +0 -0
  162. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/queue_context/htcondor_adapter.py +0 -0
  163. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/queue_context/py.typed +0 -0
  164. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/queue_context/queue_context_adapter.py +0 -0
  165. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +0 -0
  166. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
  167. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
  168. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/afni/3dRSFC +0 -0
  169. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/afni/3dReHo +0 -0
  170. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/afni/afni +0 -0
  171. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/afni/run_afni_docker.sh +0 -0
  172. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/ants/ResampleImage +0 -0
  173. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/ants/antsApplyTransforms +0 -0
  174. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
  175. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/ants/run_ants_docker.sh +0 -0
  176. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/freesurfer/mri_binarize +0 -0
  177. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/freesurfer/mri_mc +0 -0
  178. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/freesurfer/mri_pretess +0 -0
  179. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/freesurfer/mris_convert +0 -0
  180. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
  181. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/fsl/applywarp +0 -0
  182. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/fsl/flirt +0 -0
  183. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/fsl/img2imgcoord +0 -0
  184. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
  185. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/fsl/std2imgcoord +0 -0
  186. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/run_conda.bash +0 -0
  187. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/run_conda.zsh +0 -0
  188. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/run_venv.bash +0 -0
  189. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/res/run_venv.zsh +0 -0
  190. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/api/tests/test_functions.py +0 -0
  191. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/cli/__init__.py +0 -0
  192. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/cli/__init__.pyi +0 -0
  193. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/cli/cli.py +0 -0
  194. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/cli/parser.py +0 -0
  195. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/cli/py.typed +0 -0
  196. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/cli/tests/data/gmd_mean.yaml +0 -0
  197. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/cli/tests/data/gmd_mean_htcondor.yaml +0 -0
  198. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/cli/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
  199. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/cli/tests/test_cli.py +0 -0
  200. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/cli/tests/test_cli_utils.py +0 -0
  201. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/cli/tests/test_parser.py +0 -0
  202. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/cli/utils.py +0 -0
  203. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/configs/__init__.py +0 -0
  204. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/configs/juseless/__init__.py +0 -0
  205. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/configs/juseless/__init__.pyi +0 -0
  206. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
  207. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/configs/juseless/datagrabbers/__init__.pyi +0 -0
  208. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -0
  209. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -0
  210. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -0
  211. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/configs/juseless/datagrabbers/py.typed +0 -0
  212. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
  213. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
  214. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
  215. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
  216. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
  217. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/configs/juseless/datagrabbers/ucla.py +0 -0
  218. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -0
  219. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/configs/juseless/py.typed +0 -0
  220. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/conftest.py +0 -0
  221. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/__init__.py +0 -0
  222. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/__init__.pyi +0 -0
  223. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/_dispatch.py +0 -0
  224. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/VOIs/meta/AutobiographicalMemory_VOIs.txt +0 -0
  225. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/VOIs/meta/CogAC_VOIs.txt +0 -0
  226. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/VOIs/meta/CogAR_VOIs.txt +0 -0
  227. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/VOIs/meta/DMNBuckner_VOIs.txt +0 -0
  228. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/VOIs/meta/Dosenbach2010_MNI_VOIs.txt +0 -0
  229. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/VOIs/meta/Empathy_VOIs.txt +0 -0
  230. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/VOIs/meta/Motor_VOIs.txt +0 -0
  231. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/VOIs/meta/MultiTask_VOIs.txt +0 -0
  232. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/VOIs/meta/PhysioStress_VOIs.txt +0 -0
  233. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/VOIs/meta/Power2011_MNI_VOIs.txt +0 -0
  234. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/VOIs/meta/Power2013_MNI_VOIs.tsv +0 -0
  235. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/VOIs/meta/Rew_VOIs.txt +0 -0
  236. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/VOIs/meta/Somatosensory_VOIs.txt +0 -0
  237. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/VOIs/meta/ToM_VOIs.txt +0 -0
  238. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/VOIs/meta/VigAtt_VOIs.txt +0 -0
  239. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/VOIs/meta/WM_VOIs.txt +0 -0
  240. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/VOIs/meta/eMDN_VOIs.txt +0 -0
  241. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/VOIs/meta/eSAD_VOIs.txt +0 -0
  242. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/VOIs/meta/extDMN_VOIs.txt +0 -0
  243. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/__init__.py +0 -0
  244. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/__init__.pyi +0 -0
  245. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/_ants_coordinates_warper.py +0 -0
  246. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/_coordinates.py +0 -0
  247. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/_fsl_coordinates_warper.py +0 -0
  248. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/coordinates/tests/test_coordinates.py +0 -0
  249. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/masks/__init__.py +0 -0
  250. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/masks/__init__.pyi +0 -0
  251. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/masks/_ants_mask_warper.py +0 -0
  252. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/masks/_fsl_mask_warper.py +0 -0
  253. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/masks/_masks.py +0 -0
  254. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/masks/tests/test_masks.py +0 -0
  255. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/masks/ukb/UKB_15K_GM_template.nii.gz +0 -0
  256. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean.nii.gz +0 -0
  257. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean_3mm.nii.gz +0 -0
  258. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/masks/vickery-patil/GMprob0.2_cortex_3mm_NA_rm.nii.gz +0 -0
  259. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/parcellations/__init__.py +0 -0
  260. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/parcellations/__init__.pyi +0 -0
  261. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/parcellations/_ants_parcellation_warper.py +0 -0
  262. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/parcellations/_fsl_parcellation_warper.py +0 -0
  263. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/parcellations/_parcellations.py +0 -0
  264. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/parcellations/tests/test_parcellations.py +0 -0
  265. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/pipeline_data_registry_base.py +0 -0
  266. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/py.typed +0 -0
  267. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/template_spaces.py +0 -0
  268. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/tests/test_data_utils.py +0 -0
  269. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/tests/test_template_spaces.py +0 -0
  270. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/data/utils.py +0 -0
  271. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/__init__.py +0 -0
  272. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/__init__.pyi +0 -0
  273. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/aomic/__init__.py +0 -0
  274. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/aomic/__init__.pyi +0 -0
  275. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/aomic/id1000.py +0 -0
  276. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/aomic/piop1.py +0 -0
  277. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/aomic/piop2.py +0 -0
  278. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/aomic/py.typed +0 -0
  279. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/aomic/tests/test_id1000.py +0 -0
  280. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/aomic/tests/test_piop1.py +0 -0
  281. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/aomic/tests/test_piop2.py +0 -0
  282. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/base.py +0 -0
  283. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/datalad_base.py +0 -0
  284. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/dmcc13_benchmark.py +0 -0
  285. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/hcp1200/__init__.py +0 -0
  286. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/hcp1200/__init__.pyi +0 -0
  287. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +0 -0
  288. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/hcp1200/hcp1200.py +0 -0
  289. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/hcp1200/py.typed +0 -0
  290. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +0 -0
  291. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/multiple.py +0 -0
  292. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/pattern.py +0 -0
  293. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/pattern_datalad.py +0 -0
  294. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/pattern_validation_mixin.py +0 -0
  295. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/py.typed +0 -0
  296. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/tests/test_base.py +0 -0
  297. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
  298. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +0 -0
  299. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/tests/test_multiple.py +0 -0
  300. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/tests/test_pattern.py +0 -0
  301. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
  302. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datagrabber/tests/test_pattern_validation_mixin.py +0 -0
  303. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datareader/__init__.py +0 -0
  304. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datareader/__init__.pyi +0 -0
  305. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datareader/default.py +0 -0
  306. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datareader/py.typed +0 -0
  307. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/datareader/tests/test_default_reader.py +0 -0
  308. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/external/BrainPrint/brainprint/__init__.py +0 -0
  309. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/external/BrainPrint/brainprint/_version.py +0 -0
  310. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/external/BrainPrint/brainprint/asymmetry.py +0 -0
  311. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/external/BrainPrint/brainprint/brainprint.py +0 -0
  312. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/external/BrainPrint/brainprint/surfaces.py +0 -0
  313. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/external/BrainPrint/brainprint/utils/__init__.py +0 -0
  314. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/external/BrainPrint/brainprint/utils/_config.py +0 -0
  315. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/external/BrainPrint/brainprint/utils/utils.py +0 -0
  316. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/external/__init__.py +0 -0
  317. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/external/h5io/h5io/__init__.py +0 -0
  318. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/external/h5io/h5io/_h5io.py +0 -0
  319. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/external/h5io/h5io/_version.py +0 -0
  320. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/external/h5io/h5io/chunked_array.py +0 -0
  321. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/external/h5io/h5io/chunked_list.py +0 -0
  322. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/external/nilearn/__init__.py +0 -0
  323. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/external/nilearn/__init__.pyi +0 -0
  324. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/external/nilearn/junifer_connectivity_measure.py +0 -0
  325. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +0 -0
  326. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/external/nilearn/py.typed +0 -0
  327. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +0 -0
  328. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
  329. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/__init__.py +0 -0
  330. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/__init__.pyi +0 -0
  331. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/base.py +0 -0
  332. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/brainprint.py +0 -0
  333. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/complexity/__init__.py +0 -0
  334. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/complexity/__init__.pyi +0 -0
  335. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/complexity/complexity_base.py +0 -0
  336. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/complexity/hurst_exponent.py +0 -0
  337. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/complexity/multiscale_entropy_auc.py +0 -0
  338. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/complexity/perm_entropy.py +0 -0
  339. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/complexity/py.typed +0 -0
  340. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/complexity/range_entropy.py +0 -0
  341. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/complexity/range_entropy_auc.py +0 -0
  342. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/complexity/sample_entropy.py +0 -0
  343. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
  344. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
  345. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
  346. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
  347. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
  348. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
  349. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
  350. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
  351. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/complexity/weighted_perm_entropy.py +0 -0
  352. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/ets_rss.py +0 -0
  353. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/falff/__init__.py +0 -0
  354. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/falff/__init__.pyi +0 -0
  355. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/falff/_afni_falff.py +0 -0
  356. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/falff/_junifer_falff.py +0 -0
  357. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/falff/falff_base.py +0 -0
  358. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/falff/falff_parcels.py +0 -0
  359. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/falff/falff_spheres.py +0 -0
  360. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/falff/py.typed +0 -0
  361. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
  362. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
  363. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/functional_connectivity/__init__.py +0 -0
  364. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/functional_connectivity/__init__.pyi +0 -0
  365. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +0 -0
  366. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +0 -0
  367. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +0 -0
  368. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/functional_connectivity/functional_connectivity_base.py +0 -0
  369. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +0 -0
  370. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +0 -0
  371. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/functional_connectivity/py.typed +0 -0
  372. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
  373. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
  374. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
  375. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
  376. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +0 -0
  377. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +0 -0
  378. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/parcel_aggregation.py +0 -0
  379. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/py.typed +0 -0
  380. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/reho/__init__.py +0 -0
  381. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/reho/__init__.pyi +0 -0
  382. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/reho/_afni_reho.py +0 -0
  383. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/reho/_junifer_reho.py +0 -0
  384. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/reho/py.typed +0 -0
  385. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/reho/reho_base.py +0 -0
  386. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/reho/reho_parcels.py +0 -0
  387. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/reho/reho_spheres.py +0 -0
  388. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
  389. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
  390. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/sphere_aggregation.py +0 -0
  391. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/temporal_snr/__init__.py +0 -0
  392. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/temporal_snr/__init__.pyi +0 -0
  393. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/temporal_snr/py.typed +0 -0
  394. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/temporal_snr/temporal_snr_base.py +0 -0
  395. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/temporal_snr/temporal_snr_parcels.py +0 -0
  396. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/temporal_snr/temporal_snr_spheres.py +0 -0
  397. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
  398. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
  399. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
  400. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/tests/test_brainprint.py +0 -0
  401. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/tests/test_ets_rss.py +0 -0
  402. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/tests/test_marker_utils.py +0 -0
  403. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/tests/test_markers_base.py +0 -0
  404. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/tests/test_parcel_aggregation.py +0 -0
  405. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/tests/test_sphere_aggregation.py +0 -0
  406. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/markers/utils.py +0 -0
  407. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/onthefly/__init__.py +0 -0
  408. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/onthefly/_brainprint.py +0 -0
  409. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/onthefly/read_transform.py +0 -0
  410. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/onthefly/tests/test_read_transform.py +0 -0
  411. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/pipeline/__init__.py +0 -0
  412. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/pipeline/__init__.pyi +0 -0
  413. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/pipeline/marker_collection.py +0 -0
  414. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/pipeline/pipeline_component_registry.py +0 -0
  415. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/pipeline/pipeline_step_mixin.py +0 -0
  416. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/pipeline/py.typed +0 -0
  417. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/pipeline/tests/test_marker_collection.py +0 -0
  418. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/pipeline/tests/test_pipeline_component_registry.py +0 -0
  419. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
  420. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
  421. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
  422. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/pipeline/update_meta_mixin.py +0 -0
  423. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/pipeline/workdir_manager.py +0 -0
  424. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/__init__.py +0 -0
  425. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/__init__.pyi +0 -0
  426. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/base.py +0 -0
  427. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/confounds/__init__.py +0 -0
  428. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/confounds/__init__.pyi +0 -0
  429. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/confounds/py.typed +0 -0
  430. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +0 -0
  431. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/py.typed +0 -0
  432. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/smoothing/__init__.py +0 -0
  433. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/smoothing/__init__.pyi +0 -0
  434. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/smoothing/py.typed +0 -0
  435. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/smoothing/tests/test_smoothing.py +0 -0
  436. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
  437. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/warping/__init__.py +0 -0
  438. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/warping/__init__.pyi +0 -0
  439. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/warping/py.typed +0 -0
  440. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/warping/space_warper.py +0 -0
  441. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
  442. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/py.typed +0 -0
  443. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/stats.py +0 -0
  444. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/storage/__init__.py +0 -0
  445. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/storage/__init__.pyi +0 -0
  446. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/storage/base.py +0 -0
  447. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/storage/hdf5.py +0 -0
  448. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/storage/pandas_base.py +0 -0
  449. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/storage/py.typed +0 -0
  450. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/storage/sqlite.py +0 -0
  451. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/storage/tests/test_hdf5.py +0 -0
  452. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/storage/tests/test_pandas_base.py +0 -0
  453. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/storage/tests/test_sqlite.py +0 -0
  454. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/storage/tests/test_storage_base.py +0 -0
  455. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/storage/tests/test_utils.py +0 -0
  456. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/storage/utils.py +0 -0
  457. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/testing/__init__.py +0 -0
  458. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/testing/__init__.pyi +0 -0
  459. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
  460. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/testing/datagrabbers.py +0 -0
  461. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/testing/py.typed +0 -0
  462. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/testing/registry.py +0 -0
  463. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
  464. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
  465. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
  466. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/testing/tests/test_testing_registry.py +0 -0
  467. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/testing/utils.py +0 -0
  468. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/tests/test_main.py +0 -0
  469. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/tests/test_stats.py +0 -0
  470. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/typing/__init__.py +0 -0
  471. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/typing/__init__.pyi +0 -0
  472. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/typing/_typing.py +0 -0
  473. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/utils/__init__.py +0 -0
  474. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/utils/__init__.pyi +0 -0
  475. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/utils/_config.py +0 -0
  476. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/utils/_yaml.py +0 -0
  477. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/utils/fs.py +0 -0
  478. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/utils/helpers.py +0 -0
  479. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/utils/logging.py +0 -0
  480. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/utils/py.typed +0 -0
  481. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/utils/singleton.py +0 -0
  482. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/utils/tests/test_config.py +0 -0
  483. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/utils/tests/test_fs.py +0 -0
  484. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/utils/tests/test_helpers.py +0 -0
  485. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer/utils/tests/test_logging.py +0 -0
  486. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer.egg-info/dependency_links.txt +0 -0
  487. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer.egg-info/entry_points.txt +0 -0
  488. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer.egg-info/requires.txt +0 -0
  489. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/junifer.egg-info/top_level.txt +0 -0
  490. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/pyproject.toml +0 -0
  491. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/setup.cfg +0 -0
  492. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/setup.py +0 -0
  493. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/tools/create_aomic1000_example_dataset.py +0 -0
  494. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/tools/create_aomicpiop1_example_dataset.py +0 -0
  495. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/tools/create_aomicpiop2_example_dataset.py +0 -0
  496. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/tools/create_bids_example_dataset.py +0 -0
  497. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/tools/create_bids_example_dataset_sessions.py +0 -0
  498. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
  499. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/tools/create_hcp1200_example_dataset.py +0 -0
  500. {junifer-0.0.6.dev308 → junifer-0.0.6.dev317}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: junifer
3
- Version: 0.0.6.dev308
3
+ Version: 0.0.6.dev317
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 correct return code for ANTs commands while checking presence of external commands by `Synchon Mandal`_
@@ -0,0 +1 @@
1
+ Update Preprocessors to sync data their paths so that the results are idempotent by `Synchon Mandal`_
@@ -0,0 +1 @@
1
+ Allow masks to be warped, if found, in :class:`.SpaceWarper` by `Synchon Mandal`_
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.0.6.dev308'
16
- __version_tuple__ = version_tuple = (0, 0, 6, 'dev308')
15
+ __version__ = version = '0.0.6.dev317'
16
+ __version_tuple__ = version_tuple = (0, 0, 6, 'dev317')
@@ -237,7 +237,7 @@ def _check_ants(commands: Optional[list[str]] = None) -> bool:
237
237
  shell=True, # is unsafe but kept for resolution via PATH
238
238
  check=False,
239
239
  )
240
- command_found = command_process.returncode == 0
240
+ command_found = command_process.returncode == 1
241
241
  commands_found_results[command] = (
242
242
  "found" if command_found else "not found"
243
243
  )
@@ -12,6 +12,7 @@ from typing import (
12
12
  Union,
13
13
  )
14
14
 
15
+ import nibabel as nib
15
16
  import numpy as np
16
17
  import pandas as pd
17
18
  from nilearn import image as nimg
@@ -19,6 +20,7 @@ from nilearn._utils.niimg_conversions import check_niimg_4d
19
20
 
20
21
  from ...api.decorators import register_preprocessor
21
22
  from ...data import get_data
23
+ from ...pipeline import WorkDirManager
22
24
  from ...typing import Dependencies
23
25
  from ...utils import logger, raise_error
24
26
  from ..base import BasePreprocessor
@@ -539,9 +541,17 @@ class fMRIPrepConfoundRemover(BasePreprocessor):
539
541
  logger.info(
540
542
  f"Read t_r from NIfTI header: {t_r}",
541
543
  )
544
+
545
+ # Create element-specific tempdir for storing generated data
546
+ # and / or mask
547
+ element_tempdir = WorkDirManager().get_element_tempdir(
548
+ prefix="fmriprep_confound_remover"
549
+ )
550
+
542
551
  # Set mask data
543
552
  mask_img = None
544
553
  if self.masks is not None:
554
+ # Generate mask
545
555
  logger.debug(f"Masking with {self.masks}")
546
556
  mask_img = get_data(
547
557
  kind="mask",
@@ -549,13 +559,21 @@ class fMRIPrepConfoundRemover(BasePreprocessor):
549
559
  target_data=input,
550
560
  extra_input=extra_input,
551
561
  )
552
- # Return the BOLD mask and link it to the BOLD data type dict;
562
+ # Save generated mask for use later
563
+ generated_mask_img_path = element_tempdir / "generated_mask.nii.gz"
564
+ nib.save(mask_img, generated_mask_img_path)
565
+
566
+ # Save BOLD mask and link it to the BOLD data type dict;
553
567
  # this allows to use "inherit" down the pipeline
554
568
  logger.debug("Setting `BOLD.mask`")
555
569
  input.update(
556
570
  {
557
571
  "mask": {
572
+ # Update path to sync with "data"
573
+ "path": generated_mask_img_path,
574
+ # Update data
558
575
  "data": mask_img,
576
+ # Should be in the same space as target data
559
577
  "space": input["space"],
560
578
  }
561
579
  }
@@ -566,7 +584,9 @@ class fMRIPrepConfoundRemover(BasePreprocessor):
566
584
  logger.debug(f"\tstandardize: {self.standardize}")
567
585
  logger.debug(f"\tlow_pass: {self.low_pass}")
568
586
  logger.debug(f"\thigh_pass: {self.high_pass}")
569
- input["data"] = nimg.clean_img(
587
+
588
+ # Deconfound data
589
+ cleaned_img = nimg.clean_img(
570
590
  imgs=bold_img,
571
591
  detrend=self.detrend,
572
592
  standardize=self.standardize,
@@ -576,5 +596,18 @@ class fMRIPrepConfoundRemover(BasePreprocessor):
576
596
  t_r=t_r,
577
597
  mask_img=mask_img,
578
598
  )
599
+ # Save deconfounded data
600
+ deconfounded_img_path = element_tempdir / "deconfounded_data.nii.gz"
601
+ nib.save(cleaned_img, deconfounded_img_path)
602
+
603
+ logger.debug("Updating `BOLD`")
604
+ input.update(
605
+ {
606
+ # Update path to sync with "data"
607
+ "path": deconfounded_img_path,
608
+ # Update data
609
+ "data": cleaned_img,
610
+ }
611
+ )
579
612
 
580
613
  return input, None
@@ -4,7 +4,7 @@
4
4
  # License: AGPL
5
5
 
6
6
  from typing import (
7
- TYPE_CHECKING,
7
+ Any,
8
8
  ClassVar,
9
9
  Union,
10
10
  )
@@ -16,10 +16,6 @@ from ...typing import Dependencies, ExternalDependencies
16
16
  from ...utils import logger, run_ext_cmd
17
17
 
18
18
 
19
- if TYPE_CHECKING:
20
- from nibabel.nifti1 import Nifti1Image
21
-
22
-
23
19
  __all__ = ["AFNISmoothing"]
24
20
 
25
21
 
@@ -41,23 +37,23 @@ class AFNISmoothing:
41
37
 
42
38
  def preprocess(
43
39
  self,
44
- data: "Nifti1Image",
40
+ input: dict[str, Any],
45
41
  fwhm: Union[int, float],
46
- ) -> "Nifti1Image":
42
+ ) -> dict[str, Any]:
47
43
  """Preprocess using AFNI.
48
44
 
49
45
  Parameters
50
46
  ----------
51
- data : Niimg-like object
52
- Image(s) to preprocess.
47
+ input : dict
48
+ A single input from the Junifer Data object in which to preprocess.
53
49
  fwhm : int or float
54
50
  Smooth until the value. AFNI estimates the smoothing and then
55
51
  applies smoothing to reach ``fwhm``.
56
52
 
57
53
  Returns
58
54
  -------
59
- Niimg-like object
60
- The preprocessed image(s).
55
+ dict
56
+ The ``input`` dictionary with updated values.
61
57
 
62
58
  Notes
63
59
  -----
@@ -71,18 +67,18 @@ class AFNISmoothing:
71
67
  """
72
68
  logger.info("Smoothing using AFNI")
73
69
 
74
- # Create component-scoped tempdir
75
- tempdir = WorkDirManager().get_tempdir(prefix="afni_smoothing")
76
-
77
- # Save target data to a component-scoped tempfile
78
- nifti_in_file_path = tempdir / "input.nii" # needs to be .nii
79
- nib.save(data, nifti_in_file_path)
70
+ # Create element-scoped tempdir so that the output is
71
+ # available later as nibabel stores file path reference for
72
+ # loading on computation
73
+ element_tempdir = WorkDirManager().get_element_tempdir(
74
+ prefix="afni_smoothing"
75
+ )
80
76
 
81
77
  # Set 3dBlurToFWHM command
82
- blur_out_path_prefix = tempdir / "blur"
78
+ blur_out_path_prefix = element_tempdir / "blur"
83
79
  blur_cmd = [
84
80
  "3dBlurToFWHM",
85
- f"-input {nifti_in_file_path.resolve()}",
81
+ f"-input {input['path'].resolve()}",
86
82
  f"-prefix {blur_out_path_prefix.resolve()}",
87
83
  "-automask",
88
84
  f"-FWHM {fwhm}",
@@ -90,28 +86,34 @@ class AFNISmoothing:
90
86
  # Call 3dBlurToFWHM
91
87
  run_ext_cmd(name="3dBlurToFWHM", cmd=blur_cmd)
92
88
 
93
- # Create element-scoped tempdir so that the blurred output is
94
- # available later as nibabel stores file path reference for
95
- # loading on computation
96
- element_tempdir = WorkDirManager().get_element_tempdir(
97
- prefix="afni_blur"
98
- )
89
+ # Read header to get output suffix
90
+ header = input["data"].header
91
+ sform_code = header.get_sform(coded=True)[1]
92
+ if sform_code == 4:
93
+ output_suffix = "tlrc"
94
+ else:
95
+ output_suffix = "orig"
96
+
99
97
  # Convert afni to nifti
100
- blur_afni_to_nifti_out_path = (
101
- element_tempdir / "output.nii" # needs to be .nii
98
+ blur_nifti_out_path = (
99
+ element_tempdir / "smoothed_data.nii" # needs to be .nii
102
100
  )
103
101
  convert_cmd = [
104
102
  "3dAFNItoNIFTI",
105
- f"-prefix {blur_afni_to_nifti_out_path.resolve()}",
106
- f"{blur_out_path_prefix}+orig.BRIK",
103
+ f"-prefix {blur_nifti_out_path.resolve()}",
104
+ f"{blur_out_path_prefix}+{output_suffix}.BRIK",
107
105
  ]
108
106
  # Call 3dAFNItoNIFTI
109
107
  run_ext_cmd(name="3dAFNItoNIFTI", cmd=convert_cmd)
110
108
 
111
- # Load nifti
112
- output_data = nib.load(blur_afni_to_nifti_out_path)
113
-
114
- # Delete tempdir
115
- WorkDirManager().delete_tempdir(tempdir)
109
+ logger.debug("Updating smoothed data")
110
+ input.update(
111
+ {
112
+ # Update path to sync with "data"
113
+ "path": blur_nifti_out_path,
114
+ # Load nifti
115
+ "data": nib.load(blur_nifti_out_path),
116
+ }
117
+ )
116
118
 
117
- return output_data # type: ignore
119
+ return input
@@ -4,7 +4,7 @@
4
4
  # License: AGPL
5
5
 
6
6
  from typing import (
7
- TYPE_CHECKING,
7
+ Any,
8
8
  ClassVar,
9
9
  )
10
10
 
@@ -15,10 +15,6 @@ from ...typing import Dependencies, ExternalDependencies
15
15
  from ...utils import logger, run_ext_cmd
16
16
 
17
17
 
18
- if TYPE_CHECKING:
19
- from nibabel.nifti1 import Nifti1Image
20
-
21
-
22
18
  __all__ = ["FSLSmoothing"]
23
19
 
24
20
 
@@ -40,16 +36,16 @@ class FSLSmoothing:
40
36
 
41
37
  def preprocess(
42
38
  self,
43
- data: "Nifti1Image",
39
+ input: dict[str, Any],
44
40
  brightness_threshold: float,
45
41
  fwhm: float,
46
- ) -> "Nifti1Image":
42
+ ) -> dict[str, Any]:
47
43
  """Preprocess using FSL.
48
44
 
49
45
  Parameters
50
46
  ----------
51
- data : Niimg-like object
52
- Image(s) to preprocess.
47
+ input : dict
48
+ A single input from the Junifer Data object in which to preprocess.
53
49
  brightness_threshold : float
54
50
  Threshold to discriminate between noise and the underlying image.
55
51
  The value should be set greater than the noise level and less than
@@ -59,8 +55,8 @@ class FSLSmoothing:
59
55
 
60
56
  Returns
61
57
  -------
62
- Niimg-like object
63
- The preprocessed image(s).
58
+ dict
59
+ The ``input`` dictionary with updated values.
64
60
 
65
61
  Notes
66
62
  -----
@@ -76,24 +72,17 @@ class FSLSmoothing:
76
72
  """
77
73
  logger.info("Smoothing using FSL")
78
74
 
79
- # Create component-scoped tempdir
80
- tempdir = WorkDirManager().get_tempdir(prefix="fsl_smoothing")
81
-
82
- # Save target data to a component-scoped tempfile
83
- nifti_in_file_path = tempdir / "input.nii.gz"
84
- nib.save(data, nifti_in_file_path)
85
-
86
75
  # Create element-scoped tempdir so that the output is
87
76
  # available later as nibabel stores file path reference for
88
77
  # loading on computation
89
78
  element_tempdir = WorkDirManager().get_element_tempdir(
90
79
  prefix="fsl_susan"
91
80
  )
92
- susan_out_path = element_tempdir / "output.nii.gz"
81
+ susan_out_path = element_tempdir / "smoothed_data.nii.gz"
93
82
  # Set susan command
94
83
  susan_cmd = [
95
84
  "susan",
96
- f"{nifti_in_file_path.resolve()}",
85
+ f"{input['path'].resolve()}",
97
86
  f"{brightness_threshold}",
98
87
  f"{fwhm}",
99
88
  "3", # dimension
@@ -104,10 +93,14 @@ class FSLSmoothing:
104
93
  # Call susan
105
94
  run_ext_cmd(name="susan", cmd=susan_cmd)
106
95
 
107
- # Load nifti
108
- output_data = nib.load(susan_out_path)
109
-
110
- # Delete tempdir
111
- WorkDirManager().delete_tempdir(tempdir)
96
+ logger.debug("Updating smoothed data")
97
+ input.update(
98
+ {
99
+ # Update path to sync with "data"
100
+ "path": susan_out_path,
101
+ # Load nifti
102
+ "data": nib.load(susan_out_path),
103
+ }
104
+ )
112
105
 
113
- return output_data # type: ignore
106
+ return input
@@ -4,23 +4,21 @@
4
4
  # License: AGPL
5
5
 
6
6
  from typing import (
7
- TYPE_CHECKING,
7
+ Any,
8
8
  ClassVar,
9
9
  Literal,
10
10
  Union,
11
11
  )
12
12
 
13
+ import nibabel as nib
13
14
  from nilearn import image as nimg
14
15
  from numpy.typing import ArrayLike
15
16
 
17
+ from ...pipeline import WorkDirManager
16
18
  from ...typing import Dependencies
17
19
  from ...utils import logger
18
20
 
19
21
 
20
- if TYPE_CHECKING:
21
- from nibabel.nifti1 import Nifti1Image
22
-
23
-
24
22
  __all__ = ["NilearnSmoothing"]
25
23
 
26
24
 
@@ -35,15 +33,15 @@ class NilearnSmoothing:
35
33
 
36
34
  def preprocess(
37
35
  self,
38
- data: "Nifti1Image",
36
+ input: dict[str, Any],
39
37
  fwhm: Union[int, float, ArrayLike, Literal["fast"], None],
40
- ) -> "Nifti1Image":
38
+ ) -> dict[str, Any]:
41
39
  """Preprocess using nilearn.
42
40
 
43
41
  Parameters
44
42
  ----------
45
- data : Niimg-like object
46
- Image(s) to preprocess.
43
+ input : dict
44
+ A single input from the Junifer Data object in which to preprocess.
47
45
  fwhm : scalar, ``numpy.ndarray``, tuple or list of scalar, "fast" or \
48
46
  None
49
47
  Smoothing strength, as a full-width at half maximum, in
@@ -61,9 +59,32 @@ class NilearnSmoothing:
61
59
 
62
60
  Returns
63
61
  -------
64
- Niimg-like object
65
- The preprocessed image(s).
62
+ dict
63
+ The ``input`` dictionary with updated values.
66
64
 
67
65
  """
68
66
  logger.info("Smoothing using nilearn")
69
- return nimg.smooth_img(imgs=data, fwhm=fwhm) # type: ignore
67
+
68
+ # Create element-scoped tempdir so that the output is
69
+ # available later as nibabel stores file path reference for
70
+ # loading on computation
71
+ element_tempdir = WorkDirManager().get_element_tempdir(
72
+ prefix="nilearn_smoothing"
73
+ )
74
+
75
+ smoothed_img = nimg.smooth_img(imgs=input["data"], fwhm=fwhm)
76
+
77
+ # Save smoothed output
78
+ smoothed_img_path = element_tempdir / "smoothed_data.nii.gz"
79
+ nib.save(smoothed_img, smoothed_img_path)
80
+
81
+ logger.debug("Updating smoothed data")
82
+ input.update(
83
+ {
84
+ # Update path to sync with "data"
85
+ "path": smoothed_img_path,
86
+ "data": smoothed_img,
87
+ }
88
+ )
89
+
90
+ return input
@@ -164,12 +164,9 @@ class Smoothing(BasePreprocessor):
164
164
  elif self.using == "fsl":
165
165
  preprocessor = FSLSmoothing()
166
166
  # Smooth
167
- output = preprocessor.preprocess( # type: ignore
168
- data=input["data"],
167
+ input = preprocessor.preprocess(
168
+ input=input,
169
169
  **self.smoothing_params,
170
170
  )
171
171
 
172
- # Modify target data
173
- input["data"] = output
174
-
175
172
  return input, None
@@ -58,9 +58,7 @@ class ANTsWarper:
58
58
  Returns
59
59
  -------
60
60
  dict
61
- The ``input`` dictionary with modified ``data`` and ``space`` key
62
- values and new ``reference`` key whose value points to the
63
- reference file used for warping.
61
+ The ``input`` dictionary with updated values.
64
62
 
65
63
  Raises
66
64
  ------
@@ -110,7 +108,7 @@ class ANTsWarper:
110
108
  run_ext_cmd(name="ResampleImage", cmd=resample_image_cmd)
111
109
 
112
110
  # Create a tempfile for warped output
113
- apply_transforms_out_path = element_tempdir / "output.nii.gz"
111
+ apply_transforms_out_path = element_tempdir / "warped_data.nii.gz"
114
112
  # Set antsApplyTransforms command
115
113
  apply_transforms_cmd = [
116
114
  "antsApplyTransforms",
@@ -126,14 +124,59 @@ class ANTsWarper:
126
124
  # Call antsApplyTransforms
127
125
  run_ext_cmd(name="antsApplyTransforms", cmd=apply_transforms_cmd)
128
126
 
129
- # Load nifti
130
- input["data"] = nib.load(apply_transforms_out_path)
131
- # Save resampled reference path
132
- input["reference"] = {"path": resample_image_out_path}
133
- # Keep pre-warp space for further operations
134
- input["prewarp_space"] = input["space"]
135
- # Use reference input's space as warped input's space
136
- input["space"] = extra_input["T1w"]["space"]
127
+ logger.debug("Updating warped data")
128
+ input.update(
129
+ {
130
+ # Update path to sync with "data"
131
+ "path": apply_transforms_out_path,
132
+ # Load nifti
133
+ "data": nib.load(apply_transforms_out_path),
134
+ # Use reference input's space as warped input's space
135
+ "space": extra_input["T1w"]["space"],
136
+ # Save resampled reference path
137
+ "reference": {"path": resample_image_out_path},
138
+ # Keep pre-warp space for further operations
139
+ "prewarp_space": input["space"],
140
+ }
141
+ )
142
+
143
+ # Check for data type's mask and warp if found
144
+ if input.get("mask") is not None:
145
+ # Create a tempfile for warped mask output
146
+ apply_transforms_mask_out_path = (
147
+ element_tempdir / "warped_mask.nii.gz"
148
+ )
149
+ # Set antsApplyTransforms command
150
+ apply_transforms_mask_cmd = [
151
+ "antsApplyTransforms",
152
+ "-d 3",
153
+ "-e 3",
154
+ "-n 'GenericLabel[NearestNeighbor]'",
155
+ f"-i {input['mask']['path'].resolve()}",
156
+ # use resampled reference
157
+ f"-r {input['reference']['path'].resolve()}",
158
+ f"-t {warp_file_path.resolve()}",
159
+ f"-o {apply_transforms_mask_out_path.resolve()}",
160
+ ]
161
+ # Call antsApplyTransforms
162
+ run_ext_cmd(
163
+ name="antsApplyTransforms", cmd=apply_transforms_mask_cmd
164
+ )
165
+
166
+ logger.debug("Updating warped mask data")
167
+ input.update(
168
+ {
169
+ "mask": {
170
+ # Update path to sync with "data"
171
+ "path": apply_transforms_mask_out_path,
172
+ # Load nifti
173
+ "data": nib.load(apply_transforms_mask_out_path),
174
+ # Use reference input's space as warped input
175
+ # mask's space
176
+ "space": extra_input["T1w"]["space"],
177
+ }
178
+ }
179
+ )
137
180
 
138
181
  # Template space warping
139
182
  else:
@@ -149,16 +192,15 @@ class ANTsWarper:
149
192
  target_data=input,
150
193
  extra_input=None,
151
194
  )
152
-
153
- # Create component-scoped tempdir
154
- tempdir = WorkDirManager().get_tempdir(prefix="ants_warper")
155
195
  # Save template
156
- template_space_img_path = tempdir / f"{reference}_T1w.nii.gz"
196
+ template_space_img_path = (
197
+ element_tempdir / f"{reference}_T1w.nii.gz"
198
+ )
157
199
  nib.save(template_space_img, template_space_img_path)
158
200
 
159
201
  # Create a tempfile for warped output
160
202
  warped_output_path = element_tempdir / (
161
- f"data_warped_from_{input['space']}_to_" f"{reference}.nii.gz"
203
+ f"warped_data_from_{input['space']}_to_{reference}.nii.gz"
162
204
  )
163
205
 
164
206
  # Set antsApplyTransforms command
@@ -175,14 +217,58 @@ class ANTsWarper:
175
217
  # Call antsApplyTransforms
176
218
  run_ext_cmd(name="antsApplyTransforms", cmd=apply_transforms_cmd)
177
219
 
178
- # Delete tempdir
179
- WorkDirManager().delete_tempdir(tempdir)
220
+ logger.debug("Updating warped data")
221
+ input.update(
222
+ {
223
+ # Update path to sync with "data"
224
+ "path": warped_output_path,
225
+ # Load nifti
226
+ "data": nib.load(warped_output_path),
227
+ # Update warped input's space
228
+ "space": reference,
229
+ # Save reference path
230
+ "reference": {"path": template_space_img_path},
231
+ # Keep pre-warp space for further operations
232
+ "prewarp_space": input["space"],
233
+ }
234
+ )
235
+
236
+ # Check for data type's mask and warp if found
237
+ if input.get("mask") is not None:
238
+ # Create a tempfile for warped mask output
239
+ apply_transforms_mask_out_path = element_tempdir / (
240
+ f"warped_mask_from_{input['space']}_to_"
241
+ f"{reference}.nii.gz"
242
+ )
243
+ # Set antsApplyTransforms command
244
+ apply_transforms_mask_cmd = [
245
+ "antsApplyTransforms",
246
+ "-d 3",
247
+ "-e 3",
248
+ "-n 'GenericLabel[NearestNeighbor]'",
249
+ f"-i {input['mask']['path'].resolve()}",
250
+ # use resampled reference
251
+ f"-r {input['reference']['path'].resolve()}",
252
+ f"-t {xfm_file_path.resolve()}",
253
+ f"-o {apply_transforms_mask_out_path.resolve()}",
254
+ ]
255
+ # Call antsApplyTransforms
256
+ run_ext_cmd(
257
+ name="antsApplyTransforms", cmd=apply_transforms_mask_cmd
258
+ )
180
259
 
181
- # Modify target data
182
- input["data"] = nib.load(warped_output_path)
183
- # Keep pre-warp space for further operations
184
- input["prewarp_space"] = input["space"]
185
- # Update warped input's space
186
- input["space"] = reference
260
+ logger.debug("Updating warped mask data")
261
+ input.update(
262
+ {
263
+ "mask": {
264
+ # Update path to sync with "data"
265
+ "path": apply_transforms_mask_out_path,
266
+ # Load nifti
267
+ "data": nib.load(apply_transforms_mask_out_path),
268
+ # Update warped input mask's space
269
+ "space": reference,
270
+ }
271
+ }
272
+ )
187
273
 
188
274
  return input