junifer 0.0.8.dev264__tar.gz → 0.0.8.dev270__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 (575) hide show
  1. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/Dockerfile-ci +2 -2
  2. {junifer-0.0.8.dev264/junifer.egg-info → junifer-0.0.8.dev270}/PKG-INFO +2 -2
  3. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/marker.rst +2 -2
  4. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/understanding/preprocess.rst +4 -2
  5. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/using/codeless.rst +1 -1
  6. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/_version.py +3 -3
  7. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/nilearn/junifer_connectivity_measure.py +92 -27
  8. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +22 -16
  9. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +29 -17
  10. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +14 -22
  11. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/maps_aggregation.py +6 -3
  12. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/parcel_aggregation.py +2 -1
  13. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/sphere_aggregation.py +3 -1
  14. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/tests/test_parcel_aggregation.py +5 -7
  15. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/tests/test_sphere_aggregation.py +4 -2
  16. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/tests/test_data_object_dumper.py +1 -1
  17. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/_temporal_filter.py +12 -5
  18. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/confounds/fmriprep_confound_remover.py +12 -5
  19. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +17 -3
  20. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/tests/test_temporal_filter.py +22 -8
  21. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/datagrabbers.py +8 -8
  22. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/tests/test_spmauditory_datagrabber.py +3 -0
  23. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/__init__.pyi +8 -1
  24. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/helpers.py +42 -1
  25. junifer-0.0.8.dev270/junifer/utils/tests/test_helpers.py +70 -0
  26. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270/junifer.egg-info}/PKG-INFO +2 -2
  27. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer.egg-info/requires.txt +1 -1
  28. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer.egg-info/scm_version.json +2 -2
  29. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/pyproject.toml +6 -1
  30. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/uv.lock +61 -156
  31. junifer-0.0.8.dev264/junifer/utils/tests/test_helpers.py +0 -35
  32. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.dockerignore +0 -0
  33. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  34. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  35. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
  36. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
  37. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  38. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
  39. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/dependabot.yml +0 -0
  40. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/pull_request_template.md +0 -0
  41. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/workflows/check-stale.yml +0 -0
  42. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/workflows/ci.yml +0 -0
  43. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/workflows/docker-publish.yml +0 -0
  44. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/workflows/docs-preview.yml +0 -0
  45. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/workflows/docs.yml +0 -0
  46. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/workflows/lint.yml +0 -0
  47. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/workflows/publish.yml +0 -0
  48. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.gitignore +0 -0
  49. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.gitmodules +0 -0
  50. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.pre-commit-config.yaml +0 -0
  51. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.python-version +0 -0
  52. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/AUTHORS.rst +0 -0
  53. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/Dockerfile +0 -0
  54. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/LICENSE.md +0 -0
  55. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/README.md +0 -0
  56. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/codecov.yml +0 -0
  57. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/conda-env.yml +0 -0
  58. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/Makefile +0 -0
  59. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/_static/css/custom.css +0 -0
  60. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/_static/css/version_selector.css +0 -0
  61. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/_static/js/custom.js +0 -0
  62. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/_templates/versions.html +0 -0
  63. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/api.rst +0 -0
  64. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/cli.rst +0 -0
  65. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/configs.rst +0 -0
  66. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/data.rst +0 -0
  67. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/datagrabbers.rst +0 -0
  68. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/datareaders.rst +0 -0
  69. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/index.rst +0 -0
  70. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/markers.rst +0 -0
  71. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/nilearn.rst +0 -0
  72. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/onthefly.rst +0 -0
  73. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/pipeline.rst +0 -0
  74. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/preprocessing.rst +0 -0
  75. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/stats.rst +0 -0
  76. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/storage.rst +0 -0
  77. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/testing.rst +0 -0
  78. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/utils.rst +0 -0
  79. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/builtin.rst +0 -0
  80. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/contributors.inc +0 -0
  81. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/.gitignore +0 -0
  82. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/239.enh +0 -0
  83. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/364.doc +0 -0
  84. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/364.enh +0 -0
  85. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/364.feature +0 -0
  86. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/474.misc +0 -0
  87. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/482.bugfix +0 -0
  88. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/492.bugfix +0 -0
  89. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/499.enh +0 -0
  90. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/502.bugfix +0 -0
  91. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/503.enh +0 -0
  92. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/510.bugfix +0 -0
  93. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/511.bugfix +0 -0
  94. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/511.bugfix.1 +0 -0
  95. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/511.change +0 -0
  96. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/511.enh +0 -0
  97. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/511.enh.1 +0 -0
  98. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/511.feature +0 -0
  99. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/511.misc +0 -0
  100. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/511.misc.1 +0 -0
  101. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/513.doc +0 -0
  102. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/513.misc +0 -0
  103. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/514.bugfix +0 -0
  104. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/514.bugfix.1 +0 -0
  105. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/514.enh +0 -0
  106. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/515.doc +0 -0
  107. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/515.enh +0 -0
  108. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/515.enh.1 +0 -0
  109. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/515.misc +0 -0
  110. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/515.misc.1 +0 -0
  111. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/conf.py +0 -0
  112. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/contribution.rst +0 -0
  113. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/confounds_format.rst +0 -0
  114. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/coordinates.rst +0 -0
  115. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/data_dump_asset.rst +0 -0
  116. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/data_registries.rst +0 -0
  117. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/data_types.rst +0 -0
  118. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/datagrabber.rst +0 -0
  119. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/dependencies.rst +0 -0
  120. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/extension.rst +0 -0
  121. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/index.rst +0 -0
  122. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/logging.rst +0 -0
  123. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/maps.rst +0 -0
  124. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/masks.rst +0 -0
  125. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/parcellations.rst +0 -0
  126. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/plugins.rst +0 -0
  127. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/preprocessor.rst +0 -0
  128. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/faq.rst +0 -0
  129. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/help.rst +0 -0
  130. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/images/junifer_logo.png +0 -0
  131. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/index.rst +0 -0
  132. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/installation.rst +0 -0
  133. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/links.inc +0 -0
  134. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/maintaining.rst +0 -0
  135. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/poly.py +0 -0
  136. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/poly_files/patches/version_banner.html +0 -0
  137. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/poly_files/patches/versions.html +0 -0
  138. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/poly_files/templates/index.html +0 -0
  139. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/starting.rst +0 -0
  140. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/understanding/data.rst +0 -0
  141. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/understanding/datagrabber.rst +0 -0
  142. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/understanding/datareader.rst +0 -0
  143. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/understanding/index.rst +0 -0
  144. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/understanding/marker.rst +0 -0
  145. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/understanding/pipeline.rst +0 -0
  146. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/understanding/storage.rst +0 -0
  147. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/using/configuring.rst +0 -0
  148. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/using/dumping.rst +0 -0
  149. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/using/index.rst +0 -0
  150. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/using/masks.rst +0 -0
  151. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/using/queueing.rst +0 -0
  152. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/using/running.rst +0 -0
  153. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/whats_new.rst +0 -0
  154. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/README.rst +0 -0
  155. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/norun_hcpfc_pearson.py +0 -0
  156. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/norun_ukbvm_gmd.py +0 -0
  157. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/run_compute_parcel_mean.py +0 -0
  158. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/run_datagrabber_bids_datalad.py +0 -0
  159. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/run_ets_rss_marker.py +0 -0
  160. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/run_junifer_julearn.py +0 -0
  161. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/run_run_gmd_mean.py +0 -0
  162. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/yamls/gmd_mean.yaml +0 -0
  163. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
  164. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
  165. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/yamls/ukb_gmd_mean.yaml +0 -0
  166. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/ignore_words.txt +0 -0
  167. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/__init__.py +0 -0
  168. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/__init__.pyi +0 -0
  169. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/__init__.py +0 -0
  170. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/__init__.pyi +0 -0
  171. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/decorators.py +0 -0
  172. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/functions.py +0 -0
  173. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/py.typed +0 -0
  174. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/queue_context/__init__.py +0 -0
  175. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/queue_context/__init__.pyi +0 -0
  176. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/queue_context/gnu_parallel_local_adapter.py +0 -0
  177. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/queue_context/htcondor_adapter.py +0 -0
  178. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/queue_context/py.typed +0 -0
  179. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/queue_context/queue_context_adapter.py +0 -0
  180. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +0 -0
  181. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
  182. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
  183. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/afni/3dRSFC +0 -0
  184. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/afni/3dReHo +0 -0
  185. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/afni/afni +0 -0
  186. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/afni/run_afni_docker.sh +0 -0
  187. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/ants/ResampleImage +0 -0
  188. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/ants/antsApplyTransforms +0 -0
  189. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
  190. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/ants/run_ants_docker.sh +0 -0
  191. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/freesurfer/mri_binarize +0 -0
  192. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/freesurfer/mri_mc +0 -0
  193. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/freesurfer/mri_pretess +0 -0
  194. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/freesurfer/mris_convert +0 -0
  195. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
  196. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/fsl/applywarp +0 -0
  197. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/fsl/flirt +0 -0
  198. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/fsl/img2imgcoord +0 -0
  199. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
  200. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/fsl/std2imgcoord +0 -0
  201. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/run_conda.bash +0 -0
  202. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/run_conda.zsh +0 -0
  203. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/run_venv.bash +0 -0
  204. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/run_venv.zsh +0 -0
  205. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/tests/test_decorators.py +0 -0
  206. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/tests/test_functions.py +0 -0
  207. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/cli/__init__.py +0 -0
  208. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/cli/__init__.pyi +0 -0
  209. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/cli/cli.py +0 -0
  210. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/cli/parser.py +0 -0
  211. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/cli/py.typed +0 -0
  212. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/cli/tests/data/gmd_mean.yaml +0 -0
  213. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/cli/tests/data/gmd_mean_htcondor.yaml +0 -0
  214. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/cli/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
  215. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/cli/tests/test_cli.py +0 -0
  216. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/cli/tests/test_cli_utils.py +0 -0
  217. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/cli/utils.py +0 -0
  218. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/__init__.py +0 -0
  219. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/__init__.pyi +0 -0
  220. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/__init__.py +0 -0
  221. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/__init__.pyi +0 -0
  222. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
  223. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/__init__.pyi +0 -0
  224. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -0
  225. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -0
  226. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -0
  227. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/py.typed +0 -0
  228. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
  229. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
  230. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
  231. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
  232. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
  233. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/ucla.py +0 -0
  234. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -0
  235. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/py.typed +0 -0
  236. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/py.typed +0 -0
  237. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/conftest.py +0 -0
  238. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/__init__.py +0 -0
  239. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/__init__.pyi +0 -0
  240. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/_dispatch.py +0 -0
  241. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/coordinates/__init__.py +0 -0
  242. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/coordinates/__init__.pyi +0 -0
  243. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/coordinates/_ants_coordinates_warper.py +0 -0
  244. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/coordinates/_coordinates.py +0 -0
  245. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/coordinates/_fsl_coordinates_warper.py +0 -0
  246. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/coordinates/tests/test_coordinates.py +0 -0
  247. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/coordinates/tests/test_coordinates_names.py +0 -0
  248. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/maps/__init__.py +0 -0
  249. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/maps/__init__.pyi +0 -0
  250. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/maps/_ants_maps_warper.py +0 -0
  251. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/maps/_fsl_maps_warper.py +0 -0
  252. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/maps/_maps.py +0 -0
  253. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/maps/tests/test_maps.py +0 -0
  254. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/masks/__init__.py +0 -0
  255. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/masks/__init__.pyi +0 -0
  256. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/masks/_ants_mask_warper.py +0 -0
  257. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/masks/_fsl_mask_warper.py +0 -0
  258. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/masks/_masks.py +0 -0
  259. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/masks/tests/test_masks.py +0 -0
  260. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/parcellations/__init__.py +0 -0
  261. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/parcellations/__init__.pyi +0 -0
  262. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/parcellations/_ants_parcellation_warper.py +0 -0
  263. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/parcellations/_fsl_parcellation_warper.py +0 -0
  264. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/parcellations/_parcellations.py +0 -0
  265. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/parcellations/tests/test_parcellations.py +0 -0
  266. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/pipeline_data_registry_base.py +0 -0
  267. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/py.typed +0 -0
  268. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/template_spaces.py +0 -0
  269. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/tests/test_data_utils.py +0 -0
  270. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/tests/test_dispatch.py +0 -0
  271. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/tests/test_template_spaces.py +0 -0
  272. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/utils.py +0 -0
  273. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/__init__.py +0 -0
  274. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/__init__.pyi +0 -0
  275. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/aomic/__init__.py +0 -0
  276. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/aomic/__init__.pyi +0 -0
  277. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/aomic/_types.py +0 -0
  278. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/aomic/id1000.py +0 -0
  279. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/aomic/piop1.py +0 -0
  280. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/aomic/piop2.py +0 -0
  281. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/aomic/py.typed +0 -0
  282. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/aomic/tests/test_id1000.py +0 -0
  283. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/aomic/tests/test_piop1.py +0 -0
  284. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/aomic/tests/test_piop2.py +0 -0
  285. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/base.py +0 -0
  286. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/datalad_base.py +0 -0
  287. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/dmcc13_benchmark.py +0 -0
  288. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/hcp1200/__init__.py +0 -0
  289. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/hcp1200/__init__.pyi +0 -0
  290. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +0 -0
  291. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/hcp1200/hcp1200.py +0 -0
  292. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/hcp1200/py.typed +0 -0
  293. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +0 -0
  294. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/multiple.py +0 -0
  295. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/pattern.py +0 -0
  296. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/pattern_datalad.py +0 -0
  297. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/pattern_validation_mixin.py +0 -0
  298. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/py.typed +0 -0
  299. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/tests/test_base.py +0 -0
  300. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
  301. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +0 -0
  302. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/tests/test_multiple.py +0 -0
  303. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/tests/test_pattern.py +0 -0
  304. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
  305. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/tests/test_pattern_validation_mixin.py +0 -0
  306. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datareader/__init__.py +0 -0
  307. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datareader/__init__.pyi +0 -0
  308. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datareader/default.py +0 -0
  309. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datareader/py.typed +0 -0
  310. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datareader/tests/test_default_reader.py +0 -0
  311. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.codecov.yml +0 -0
  312. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.codespellignore +0 -0
  313. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/bug-report.md +0 -0
  314. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/documentation.md +0 -0
  315. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/feature-request.md +0 -0
  316. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/questions-help-support.md +0 -0
  317. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.github/dependabot.yml +0 -0
  318. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.github/workflows/build.yml +0 -0
  319. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.github/workflows/code-style.yml +0 -0
  320. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.github/workflows/doc.yml +0 -0
  321. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.github/workflows/publish.yml +0 -0
  322. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.github/workflows/pytest.yml +0 -0
  323. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.gitignore +0 -0
  324. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/LICENSE +0 -0
  325. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/README.md +0 -0
  326. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/__init__.py +0 -0
  327. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/_version.py +0 -0
  328. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/asymmetry.py +0 -0
  329. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/brainprint.py +0 -0
  330. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/cli/__init__.py +0 -0
  331. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/cli/help_text.py +0 -0
  332. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/cli/parser.py +0 -0
  333. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/cli/utils.py +0 -0
  334. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/commands/__init__.py +0 -0
  335. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/commands/sys_info.py +0 -0
  336. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/surfaces.py +0 -0
  337. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/utils/__init__.py +0 -0
  338. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/utils/_config.py +0 -0
  339. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/utils/tests/__init__.py +0 -0
  340. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/utils/tests/test_config.py +0 -0
  341. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/utils/utils.py +0 -0
  342. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/doc/Makefile +0 -0
  343. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/doc/_static/.gitkeep +0 -0
  344. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/doc/_templates/autosummary/class.rst +0 -0
  345. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/doc/_templates/autosummary/function.rst +0 -0
  346. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/doc/_templates/autosummary/module.rst +0 -0
  347. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/doc/api/index.rst +0 -0
  348. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/doc/conf.py +0 -0
  349. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/doc/index.rst +0 -0
  350. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/doc/links.inc +0 -0
  351. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/doc/make.bat +0 -0
  352. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/doc/references.bib +0 -0
  353. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/pyproject.toml +0 -0
  354. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/setup.py +0 -0
  355. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/__init__.py +0 -0
  356. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/__init__.pyi +0 -0
  357. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/.coveragerc +0 -0
  358. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/.gitattributes +0 -0
  359. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/.gitignore +0 -0
  360. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/.travis.yml +0 -0
  361. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/.vscode/launch.json +0 -0
  362. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/.vscode/settings.json +0 -0
  363. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/LICENSE.txt +0 -0
  364. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/MANIFEST.in +0 -0
  365. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/Makefile +0 -0
  366. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/README.rst +0 -0
  367. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/azure-pipelines.yml +0 -0
  368. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/h5io/__init__.py +0 -0
  369. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/h5io/_h5io.py +0 -0
  370. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/h5io/_version.py +0 -0
  371. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/h5io/chunked_array.py +0 -0
  372. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/h5io/chunked_list.py +0 -0
  373. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/h5io/tests/__init__.py +0 -0
  374. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/h5io/tests/test_chunked_array.py +0 -0
  375. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/h5io/tests/test_chunked_list.py +0 -0
  376. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/h5io/tests/test_io.py +0 -0
  377. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/setup.cfg +0 -0
  378. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/setup.py +0 -0
  379. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/versioneer.py +0 -0
  380. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/nilearn/__init__.py +0 -0
  381. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/nilearn/__init__.pyi +0 -0
  382. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/nilearn/py.typed +0 -0
  383. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/py.typed +0 -0
  384. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/__init__.py +0 -0
  385. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/__init__.pyi +0 -0
  386. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/base.py +0 -0
  387. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/brainprint.py +0 -0
  388. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/__init__.py +0 -0
  389. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/__init__.pyi +0 -0
  390. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/complexity_base.py +0 -0
  391. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/hurst_exponent.py +0 -0
  392. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/multiscale_entropy_auc.py +0 -0
  393. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/perm_entropy.py +0 -0
  394. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/py.typed +0 -0
  395. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/range_entropy.py +0 -0
  396. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/range_entropy_auc.py +0 -0
  397. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/sample_entropy.py +0 -0
  398. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
  399. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
  400. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
  401. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
  402. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
  403. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
  404. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
  405. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
  406. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/weighted_perm_entropy.py +0 -0
  407. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/ets_rss.py +0 -0
  408. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/__init__.py +0 -0
  409. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/__init__.pyi +0 -0
  410. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/_afni_falff.py +0 -0
  411. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/_junifer_falff.py +0 -0
  412. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/falff_base.py +0 -0
  413. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/falff_maps.py +0 -0
  414. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/falff_parcels.py +0 -0
  415. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/falff_spheres.py +0 -0
  416. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/py.typed +0 -0
  417. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/tests/test_falff_maps.py +0 -0
  418. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
  419. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
  420. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/__init__.py +0 -0
  421. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/__init__.pyi +0 -0
  422. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +0 -0
  423. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/edge_functional_connectivity_maps.py +0 -0
  424. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +0 -0
  425. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +0 -0
  426. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/functional_connectivity_base.py +0 -0
  427. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/functional_connectivity_maps.py +0 -0
  428. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +0 -0
  429. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +0 -0
  430. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/py.typed +0 -0
  431. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
  432. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_maps.py +0 -0
  433. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
  434. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
  435. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
  436. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_maps.py +0 -0
  437. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +0 -0
  438. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +0 -0
  439. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/py.typed +0 -0
  440. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/__init__.py +0 -0
  441. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/__init__.pyi +0 -0
  442. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/_afni_reho.py +0 -0
  443. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/_junifer_reho.py +0 -0
  444. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/py.typed +0 -0
  445. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/reho_base.py +0 -0
  446. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/reho_maps.py +0 -0
  447. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/reho_parcels.py +0 -0
  448. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/reho_spheres.py +0 -0
  449. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/tests/test_junifer_reho.py +0 -0
  450. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/tests/test_reho_maps.py +0 -0
  451. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
  452. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
  453. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/temporal_snr/__init__.py +0 -0
  454. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/temporal_snr/__init__.pyi +0 -0
  455. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/temporal_snr/py.typed +0 -0
  456. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/temporal_snr/temporal_snr_base.py +0 -0
  457. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/temporal_snr/temporal_snr_maps.py +0 -0
  458. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/temporal_snr/temporal_snr_parcels.py +0 -0
  459. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/temporal_snr/temporal_snr_spheres.py +0 -0
  460. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
  461. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/temporal_snr/tests/test_temporal_snr_maps.py +0 -0
  462. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
  463. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
  464. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/tests/test_brainprint.py +0 -0
  465. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/tests/test_ets_rss.py +0 -0
  466. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/tests/test_maps_aggregation.py +0 -0
  467. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/tests/test_marker_utils.py +0 -0
  468. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/tests/test_markers_base.py +0 -0
  469. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/utils.py +0 -0
  470. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/onthefly/__init__.py +0 -0
  471. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/onthefly/__init__.pyi +0 -0
  472. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/onthefly/_brainprint.py +0 -0
  473. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/onthefly/py.typed +0 -0
  474. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/onthefly/read_transform.py +0 -0
  475. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/onthefly/tests/test_read_transform.py +0 -0
  476. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/__init__.py +0 -0
  477. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/__init__.pyi +0 -0
  478. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/_data_object_dumper.py +0 -0
  479. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/marker_collection.py +0 -0
  480. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/pipeline_component_registry.py +0 -0
  481. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/pipeline_step_mixin.py +0 -0
  482. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/py.typed +0 -0
  483. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/tests/test_marker_collection.py +0 -0
  484. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/tests/test_pipeline_component_registry.py +0 -0
  485. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
  486. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
  487. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
  488. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/update_meta_mixin.py +0 -0
  489. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/utils.py +0 -0
  490. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/workdir_manager.py +0 -0
  491. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/__init__.py +0 -0
  492. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/__init__.pyi +0 -0
  493. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/_temporal_slicer.py +0 -0
  494. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/base.py +0 -0
  495. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/confounds/__init__.py +0 -0
  496. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/confounds/__init__.pyi +0 -0
  497. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/confounds/py.typed +0 -0
  498. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/py.typed +0 -0
  499. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/smoothing/__init__.py +0 -0
  500. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/smoothing/__init__.pyi +0 -0
  501. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/smoothing/_afni_smoothing.py +0 -0
  502. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/smoothing/_fsl_smoothing.py +0 -0
  503. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/smoothing/_nilearn_smoothing.py +0 -0
  504. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/smoothing/py.typed +0 -0
  505. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/smoothing/smoothing.py +0 -0
  506. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/smoothing/tests/test_smoothing.py +0 -0
  507. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
  508. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/tests/test_temporal_slicer.py +0 -0
  509. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/warping/__init__.py +0 -0
  510. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/warping/__init__.pyi +0 -0
  511. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/warping/_ants_warper.py +0 -0
  512. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/warping/_fsl_warper.py +0 -0
  513. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/warping/py.typed +0 -0
  514. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/warping/space_warper.py +0 -0
  515. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
  516. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/py.typed +0 -0
  517. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/stats.py +0 -0
  518. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/__init__.py +0 -0
  519. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/__init__.pyi +0 -0
  520. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/base.py +0 -0
  521. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/hdf5.py +0 -0
  522. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/pandas_base.py +0 -0
  523. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/py.typed +0 -0
  524. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/sqlite.py +0 -0
  525. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/tests/test_hdf5.py +0 -0
  526. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/tests/test_pandas_base.py +0 -0
  527. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/tests/test_sqlite.py +0 -0
  528. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/tests/test_storage_base.py +0 -0
  529. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/tests/test_utils.py +0 -0
  530. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/utils.py +0 -0
  531. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/__init__.py +0 -0
  532. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/__init__.pyi +0 -0
  533. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
  534. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/py.typed +0 -0
  535. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/registry.py +0 -0
  536. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/tests/test_adhdtesting_datagrabber.py +0 -0
  537. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
  538. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
  539. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/tests/test_testing_registry.py +0 -0
  540. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/tests/test_testing_utils.py +0 -0
  541. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/tests/test_uclacnpvbmtesting_datagrabber.py +0 -0
  542. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/utils.py +0 -0
  543. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/tests/test_main.py +0 -0
  544. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/tests/test_stats.py +0 -0
  545. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/typing/__init__.py +0 -0
  546. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/typing/__init__.pyi +0 -0
  547. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/typing/_typing.py +0 -0
  548. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/typing/py.typed +0 -0
  549. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/__init__.py +0 -0
  550. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/_config.py +0 -0
  551. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/_yaml.py +0 -0
  552. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/fs.py +0 -0
  553. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/logging.py +0 -0
  554. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/py.typed +0 -0
  555. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/singleton.py +0 -0
  556. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/tests/test_config.py +0 -0
  557. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/tests/test_fs.py +0 -0
  558. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/tests/test_logging.py +0 -0
  559. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer.egg-info/SOURCES.txt +0 -0
  560. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer.egg-info/dependency_links.txt +0 -0
  561. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer.egg-info/entry_points.txt +0 -0
  562. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer.egg-info/scm_file_list.json +0 -0
  563. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer.egg-info/top_level.txt +0 -0
  564. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/justfile +0 -0
  565. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/scripts/start.sh +0 -0
  566. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/setup.cfg +0 -0
  567. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/setup.py +0 -0
  568. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/tools/create_aomic1000_example_dataset.py +0 -0
  569. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/tools/create_aomicpiop1_example_dataset.py +0 -0
  570. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/tools/create_aomicpiop2_example_dataset.py +0 -0
  571. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/tools/create_bids_example_dataset.py +0 -0
  572. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/tools/create_bids_example_dataset_sessions.py +0 -0
  573. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
  574. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/tools/create_hcp1200_example_dataset.py +0 -0
  575. {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/tox.ini +0 -0
@@ -115,11 +115,11 @@ RUN set -eux; \
115
115
  echo "${DATA_VERSION}" > "$HOME/junifer-data-version"
116
116
 
117
117
  # --- nilearn datasets used by junifer.testing (no downloads at test time) ---
118
- ARG NILEARN_VERSION=0.10.4
118
+ ARG NILEARN_VERSION=0.14.1
119
119
  RUN <<'EOF'
120
120
  set -eux
121
121
  python3 -m venv /tmp/nilearn-venv
122
- /tmp/nilearn-venv/bin/pip install --no-cache-dir -q "nilearn==${NILEARN_VERSION}" "numpy<2.4"
122
+ /tmp/nilearn-venv/bin/pip install --no-cache-dir -q "nilearn==${NILEARN_VERSION}"
123
123
  /tmp/nilearn-venv/bin/python - <<'PY'
124
124
  from nilearn import datasets
125
125
  datasets.fetch_oasis_vbm(n_subjects=10)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: junifer
3
- Version: 0.0.8.dev264
3
+ Version: 0.0.8.dev270
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>
@@ -34,7 +34,7 @@ Requires-Dist: scipy<1.17.0,>=1.10.0
34
34
  Requires-Dist: datalad<1.3.0,>=1.0.0
35
35
  Requires-Dist: pandas<2.4.0,>=2.0.0
36
36
  Requires-Dist: nibabel<5.4.0,>=5.2.0
37
- Requires-Dist: nilearn<=0.10.4,>=0.10.3
37
+ Requires-Dist: nilearn<0.15,>=0.14.0
38
38
  Requires-Dist: sqlalchemy<=2.1.0,>=2.0.25
39
39
  Requires-Dist: ruamel.yaml<0.19,>=0.17
40
40
  Requires-Dist: h5py>=3.10
@@ -142,7 +142,7 @@ and the values would be a dictionary of storage type specific key-value pairs.
142
142
  # Create a masker
143
143
  masker = NiftiLabelsMasker(
144
144
  labels_img=t_parcellation,
145
- standardize=True,
145
+ standardize="zscore_sample",
146
146
  memory="nilearn_cache",
147
147
  verbose=5,
148
148
  )
@@ -232,7 +232,7 @@ Finally, we need to register the Marker using the ``@register_marker`` decorator
232
232
  # Create a masker
233
233
  masker = NiftiLabelsMasker(
234
234
  labels_img=t_parcellation,
235
- standardize=True,
235
+ standardize="zscore_sample",
236
236
  memory="nilearn_cache",
237
237
  verbose=5,
238
238
  )
@@ -108,8 +108,10 @@ parameters:
108
108
  - Apply detrending on timeseries, before confound removal.
109
109
  - activated
110
110
  * - ``standardize``
111
- - Scale signals to unit variance.
112
- - activated
111
+ - | Strategy to standardize the signals: ``zscore_sample`` (zero mean
112
+ | and unit variance), ``psc`` (percent signal change) or ``null``
113
+ | (no standardization).
114
+ - ``zscore_sample``
113
115
  * - ``low_pass``
114
116
  - Low cutoff frequencies, in Hertz.
115
117
  - deactivated
@@ -146,7 +146,7 @@ need to specify its name as the ``kind`` key, as well as its parameters.
146
146
  global_signal: basic
147
147
  spike: 0.2
148
148
  detrend: false
149
- standardize: true
149
+ standardize: zscore_sample
150
150
 
151
151
 
152
152
  For the ``UCLA CNP VBM Testing dataset`` example, we will not specify a
@@ -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.dev264'
22
- __version_tuple__ = version_tuple = (0, 0, 8, 'dev264')
21
+ __version__ = version = '0.0.8.dev270'
22
+ __version_tuple__ = version_tuple = (0, 0, 8, 'dev270')
23
23
 
24
- __commit_id__ = commit_id = 'gecb1e7f7c'
24
+ __commit_id__ = commit_id = 'gcf60784bf'
@@ -18,7 +18,7 @@ from scipy import linalg, stats
18
18
  from sklearn.base import clone
19
19
  from sklearn.covariance import EmpiricalCovariance
20
20
 
21
- from ...utils import logger, raise_error, warn_with_log
21
+ from ...utils import check_standardize, logger, raise_error, warn_with_log
22
22
 
23
23
 
24
24
  __all__ = ["JuniferConnectivityMeasure"]
@@ -313,9 +313,19 @@ class JuniferConnectivityMeasure(ConnectivityMeasure):
313
313
  following ways:
314
314
 
315
315
  * default ``cov_estimator`` is
316
- :class:`sklearn.covariance.EmpiricalCovariance`
317
- * default ``kind`` is ``"correlation"``
316
+ :class:`sklearn.covariance.EmpiricalCovariance` instead of
317
+ :class:`sklearn.covariance.LedoitWolf`, and ``cov_estimator=None`` is
318
+ not supported
319
+ * default ``kind`` is ``"correlation"`` instead of ``"covariance"``
318
320
  * supports Spearman's correlation via ``kind="spearman correlation"``
321
+ * supports Chatterjee's xi correlation via ``kind="xi correlation"``
322
+ * ``kind`` is validated when computing the matrices instead of when
323
+ fitting
324
+ * no ``verbose`` parameter, so nothing is logged while fitting
325
+ * ``inverse_transform()`` only knows the diagonal of
326
+ ``"correlation"`` and ``"partial correlation"`` matrices, so with
327
+ ``discard_diagonal=True`` the other kinds (including
328
+ ``"spearman correlation"``) need the ``diagonal`` to be passed
319
329
 
320
330
  Parameters
321
331
  ----------
@@ -329,7 +339,10 @@ class JuniferConnectivityMeasure(ConnectivityMeasure):
329
339
  If ``"spearman correlation"`` is used, the data will be ranked before
330
340
  estimating the covariance. For ``"xi correlation"``, the coefficient
331
341
  is not symmetric and should be interpreted as a measure of dependence
332
- [2]_ . For the use of ``"tangent"`` see [1]_ (default "correlation").
342
+ [2]_ ; ``cov_estimator`` and ``standardize`` are not used, ``mean_``
343
+ is symmetrized and, if ``vectorize=True``, only the lower triangular
344
+ part is kept. For the use of ``"tangent"`` see [1]_
345
+ (default "correlation").
333
346
  vectorize : bool, optional
334
347
  If True, connectivity matrices are reshaped into 1D arrays and only
335
348
  their flattened lower triangular parts are returned (default False).
@@ -337,17 +350,13 @@ class JuniferConnectivityMeasure(ConnectivityMeasure):
337
350
  If True, vectorized connectivity coefficients do not include the
338
351
  matrices diagonal elements. Used only when vectorize is set to True
339
352
  (default False).
340
- standardize : bool, optional
341
- If standardize is True, the data are centered and normed: their mean
342
- is put to 0 and their variance is put to 1 in the time dimension
343
- (default True).
344
-
345
- .. note::
346
-
347
- Added to control passing value to ``standardize`` of
348
- ``signal.clean`` to call new behavior since passing ``"zscore"`` or
349
- True (default) is deprecated. This parameter will be deprecated in
350
- version 0.13 and removed in version 0.15.
353
+ standardize : {"zscore_sample", "psc"} or None, optional
354
+ The strategy to standardize the signals before estimating the
355
+ covariance. ``"zscore_sample"`` sets them to zero mean and unit
356
+ variance (using the sample standard deviation), ``"psc"`` converts
357
+ them to percent signal change and None does not standardize them.
358
+ Only used for ``"correlation"`` and ``"spearman correlation"``
359
+ (default "zscore_sample").
351
360
 
352
361
  Attributes
353
362
  ----------
@@ -389,7 +398,7 @@ class JuniferConnectivityMeasure(ConnectivityMeasure):
389
398
  kind="correlation",
390
399
  vectorize=False,
391
400
  discard_diagonal=False,
392
- standardize=True,
401
+ standardize="zscore_sample",
393
402
  ):
394
403
  super().__init__(
395
404
  cov_estimator=cov_estimator,
@@ -399,6 +408,59 @@ class JuniferConnectivityMeasure(ConnectivityMeasure):
399
408
  standardize=standardize,
400
409
  )
401
410
 
411
+ def _validate_input(
412
+ self,
413
+ X, # noqa: N803
414
+ do_transform=False,
415
+ confounds=None,
416
+ ):
417
+ """Validate the input of ``_fit_transform``.
418
+
419
+ Parameters
420
+ ----------
421
+ X : iterable of numpy.ndarray
422
+ The time series of each subject.
423
+ do_transform : bool, optional
424
+ Whether the input will be transformed (default False).
425
+ confounds : numpy.ndarray, optional
426
+ The confounds (default None).
427
+
428
+ Returns
429
+ -------
430
+ list of numpy.ndarray
431
+ The time series of each subject.
432
+
433
+ Raises
434
+ ------
435
+ TypeError
436
+ If ``X`` is not iterable.
437
+ ValueError
438
+ If ``standardize`` is a boolean or
439
+ if ``X`` is a single subject and ``kind="tangent"``.
440
+
441
+ """
442
+ check_standardize(self.standardize)
443
+ if not hasattr(X, "__iter__"):
444
+ raise_error(
445
+ "Input must be an iterable of numpy arrays. "
446
+ f"Got {X.__class__.__name__}",
447
+ klass=TypeError,
448
+ )
449
+ # A single subject can be passed as a 2D array
450
+ if isinstance(X, np.ndarray) and X.ndim == 2:
451
+ X = [X]
452
+ self._check_input(X, confounds=confounds)
453
+ if do_transform and self.kind == "tangent" and len(X) <= 1:
454
+ # Check that people are applying transform to a group of subjects
455
+ # We can only impose this in transform,
456
+ # as it is legit to fit only on a single given reference point
457
+ raise_error(
458
+ "Tangent space parametrization can only be applied to a "
459
+ "group of subjects, as it returns deviations to the mean. "
460
+ f"You provided {X!r}"
461
+ )
462
+ return X
463
+
402
464
  def _fit_transform(
403
465
  self,
404
466
  X, # noqa: N803
@@ -407,9 +469,19 @@ class JuniferConnectivityMeasure(ConnectivityMeasure):
407
469
  confounds=None,
408
470
  ):
409
471
  """Avoid duplication of computation."""
410
- self._check_input(X, confounds=confounds)
472
+ X = self._validate_input(
473
+ X, do_transform=do_transform, confounds=confounds
474
+ )
411
475
  if do_fit:
476
+ if not hasattr(self.cov_estimator, "fit"):
477
+ raise_error(
478
+ "'cov_estimator' must be an estimator with '.fit()' and "
479
+ "'.covariance_' (e.g., from `sklearn.covariance` or a "
480
+ "custom estimator constructed similarly). Got: "
481
+ f"`{type(self.cov_estimator).__name__}`."
482
+ )
412
483
  self.cov_estimator_ = clone(self.cov_estimator)
484
+ self.n_features_in_ = next(iter(s.shape[1] for s in X))
413
485
 
414
486
  # Compute all the matrices, stored in "connectivities"
415
487
  if self.kind in ["correlation", "spearman correlation"]:
@@ -452,10 +524,12 @@ class JuniferConnectivityMeasure(ConnectivityMeasure):
452
524
  ]
453
525
  else:
454
526
  allowed_kinds = (
527
+ "covariance",
455
528
  "correlation",
529
+ "spearman correlation",
456
530
  "partial correlation",
531
+ "xi correlation",
457
532
  "tangent",
458
- "covariance",
459
533
  "precision",
460
534
  )
461
535
  raise_error(
@@ -490,15 +564,6 @@ class JuniferConnectivityMeasure(ConnectivityMeasure):
490
564
 
491
565
  connectivities = np.array(connectivities)
492
566
 
493
- if confounds is not None and not self.vectorize:
494
- error_message = (
495
- "'confounds' are provided but vectorize=False. "
496
- "Confounds are only cleaned on vectorized matrices "
497
- "as second level connectome regression "
498
- "but not on symmetric matrices."
499
- )
500
- raise_error(error_message)
501
-
502
567
  if self.vectorize:
503
568
  connectivities = sym_matrix_to_vec(
504
569
  connectivities, discard_diagonal=self.discard_diagonal
@@ -8,16 +8,12 @@ from typing import TYPE_CHECKING, Union
8
8
 
9
9
  import numpy as np
10
10
  from nilearn import image, masking
11
- from nilearn._utils.class_inspect import get_params
12
- from nilearn._utils.niimg import img_data_dtype
13
- from nilearn._utils.niimg_conversions import (
14
- check_niimg_3d,
15
- check_niimg_4d,
16
- safe_get_data,
17
- )
11
+ from nilearn._utils.niimg import img_data_dtype, safe_get_data
12
+ from nilearn.image import check_niimg_3d, check_niimg_4d, load_img
18
13
  from nilearn.maskers import NiftiSpheresMasker
19
- from nilearn.maskers.base_masker import _filter_and_extract
14
+ from nilearn.maskers.base_masker import filter_and_extract
20
15
  from sklearn import neighbors
16
+ from sklearn.utils.validation import check_is_fitted
21
17
 
22
18
  from ...utils import raise_error, warn_with_log
23
19
 
@@ -366,6 +362,7 @@ class JuniferNiftiSpheresMasker(NiftiSpheresMasker):
366
362
  radius=radius,
367
363
  mask_img=mask_img,
368
364
  allow_overlap=allow_overlap,
365
+ dtype=dtype,
369
366
  **kwargs,
370
367
  )
371
368
 
@@ -410,16 +407,19 @@ class JuniferNiftiSpheresMasker(NiftiSpheresMasker):
410
407
  inputs.
411
408
 
412
409
  """
413
- self._check_fitted()
410
+ check_is_fitted(self)
414
411
 
415
- params = get_params(NiftiSpheresMasker, self)
416
-
417
- # New in nilearn 0.10.1
418
- if hasattr(self, "clean_kwargs"):
419
- params["clean_kwargs"] = self.clean_kwargs
412
+ # The parameters are taken from NiftiSpheresMasker, as the ones not
413
+ # in this class' signature are passed as keyword arguments
414
+ params = {
415
+ k: getattr(self, k)
416
+ for k in NiftiSpheresMasker._get_param_names()
417
+ if k not in {"memory", "memory_level", "verbose", "copy", "n_jobs"}
418
+ }
419
+ params["clean_kwargs"] = self.clean_args_
420
420
 
421
421
  signals, _ = self._cache(
422
- _filter_and_extract, ignore=["verbose", "memory", "memory_level"]
422
+ filter_and_extract, ignore=["verbose", "memory", "memory_level"]
423
423
  )(
424
424
  imgs,
425
425
  _JuniferExtractionFunctor(
@@ -435,12 +435,18 @@ class JuniferNiftiSpheresMasker(NiftiSpheresMasker):
435
435
  confounds=confounds,
436
436
  sample_mask=sample_mask,
437
437
  dtype=self.dtype,
438
+ sklearn_output_config=getattr(
439
+ self, "_sklearn_output_config", None
440
+ ),
438
441
  # Caching
439
- memory=self.memory,
442
+ memory=self.memory_,
440
443
  memory_level=self.memory_level,
441
444
  # kwargs
442
445
  verbose=self.verbose,
443
446
  )
447
+ target_dtype = self._get_target_dtype(load_img(imgs))
448
+ if target_dtype is not None:
449
+ signals = signals.astype(target_dtype)
444
450
  return signals
445
451
 
446
452
  def inverse_transform(self, region_signals: "ArrayLike") -> "Nifti1Image":
@@ -12,6 +12,10 @@ from typing import TYPE_CHECKING, Optional
12
12
  import numpy as np
13
13
  import pytest
14
14
  from nilearn.connectome.connectivity_matrices import sym_matrix_to_vec
15
+
16
+ # Not part of nilearn's public API, so it might move in future versions.
17
+ # Importing it evaluates the markers of nilearn's test module, which need to
18
+ # be registered in the pytest markers (see pyproject.toml).
15
19
  from nilearn.tests.test_signal import generate_signals
16
20
  from numpy.testing import (
17
21
  assert_allclose,
@@ -21,6 +25,7 @@ from numpy.testing import (
21
25
  from pandas import DataFrame
22
26
  from scipy import linalg
23
27
  from sklearn.covariance import EmpiricalCovariance, LedoitWolf
28
+ from sklearn.exceptions import NotFittedError
24
29
 
25
30
  from junifer.external.nilearn import JuniferConnectivityMeasure
26
31
  from junifer.external.nilearn.junifer_connectivity_measure import (
@@ -587,9 +592,7 @@ def test_connectivity_measure_errors():
587
592
  # Raising error for input subjects not iterable
588
593
  conn_measure = JuniferConnectivityMeasure()
589
594
 
590
- with pytest.raises(
591
- ValueError, match=r"'subjects' input argument must be an iterable"
592
- ):
595
+ with pytest.raises(TypeError, match=r"Input must be an iterable"):
593
596
  conn_measure.fit(1.0)
594
597
 
595
598
  # input subjects not 2D numpy.ndarrays
@@ -605,6 +608,15 @@ def test_connectivity_measure_errors():
605
608
  ):
606
609
  conn_measure.fit([np.ones((100, 40)), np.ones((100, 41))])
607
610
 
611
+ # invalid kind, listing all the allowed kinds
612
+ conn_measure = JuniferConnectivityMeasure(kind="foo")
613
+ with pytest.raises(
614
+ ValueError,
615
+ match=r"Allowed connectivity kinds .*'spearman correlation'.*"
616
+ r"'xi correlation'.* Got kind foo",
617
+ ):
618
+ conn_measure.fit([np.ones((100, 40))])
619
+
608
620
  # fit_transform with a single subject and kind=tangent
609
621
  conn_measure = JuniferConnectivityMeasure(kind="tangent")
610
622
 
@@ -874,7 +886,7 @@ def test_connectivity_measure_check_vectorization_option(
874
886
  )
875
887
 
876
888
  # Check not fitted error
877
- with pytest.raises(ValueError, match=r"has not been fitted. "):
889
+ with pytest.raises(NotFittedError):
878
890
  JuniferConnectivityMeasure().inverse_transform(
879
891
  vectorized_connectivities
880
892
  )
@@ -1053,15 +1065,15 @@ def test_confounds_connectivity_measure_errors() -> None:
1053
1065
  conn_measure = JuniferConnectivityMeasure(vectorize=True)
1054
1066
  msg = r"'confounds' input argument must be an iterable"
1055
1067
 
1056
- with pytest.raises(ValueError, match=msg):
1068
+ with pytest.raises(TypeError, match=msg):
1057
1069
  conn_measure._check_input(X=signals, confounds=1.0)
1058
1070
 
1059
- with pytest.raises(ValueError, match=msg):
1071
+ with pytest.raises(TypeError, match=msg):
1060
1072
  conn_measure._fit_transform(
1061
1073
  X=signals, do_fit=True, do_transform=True, confounds=1.0
1062
1074
  )
1063
1075
 
1064
- with pytest.raises(ValueError, match=msg):
1076
+ with pytest.raises(TypeError, match=msg):
1065
1077
  conn_measure.fit_transform(X=signals, y=None, confounds=1.0)
1066
1078
 
1067
1079
  # Raising error for input confounds are given but not vectorize=True
@@ -1075,7 +1087,7 @@ def test_confounds_connectivity_measure_errors() -> None:
1075
1087
  def test_connectivity_measure_standardize(
1076
1088
  signals: list[np.ndarray],
1077
1089
  ) -> None:
1078
- """Check warning is raised and then suppressed with setting standardize.
1090
+ """Check standardize strategies and the error for booleans.
1079
1091
 
1080
1092
  Parameters
1081
1093
  ----------
@@ -1083,17 +1095,17 @@ def test_connectivity_measure_standardize(
1083
1095
  The input signals.
1084
1096
 
1085
1097
  """
1086
- match = r"default strategy for standardize"
1087
-
1088
- with pytest.warns(DeprecationWarning, match=match):
1098
+ # No warnings about standardize with the default strategy
1099
+ with warnings.catch_warnings(record=True) as record:
1100
+ warnings.simplefilter("always")
1089
1101
  JuniferConnectivityMeasure(kind="correlation").fit_transform(signals)
1102
+ assert not [m for m in record if "standardize" in str(m.message)]
1090
1103
 
1091
- with warnings.catch_warnings(record=True) as record:
1092
- JuniferConnectivityMeasure(
1093
- kind="correlation", standardize="zscore_sample"
1094
- ).fit_transform(signals)
1095
- for m in record:
1096
- assert match not in m.message
1104
+ for standardize in (True, False):
1105
+ with pytest.raises(ValueError, match="does not accept booleans"):
1106
+ JuniferConnectivityMeasure(
1107
+ kind="correlation", standardize=standardize
1108
+ ).fit_transform(signals)
1097
1109
 
1098
1110
 
1099
1111
  @pytest.mark.skipif(
@@ -3,8 +3,6 @@
3
3
  # Authors: Synchon Mandal <s.mandal@fz-juelich.de>
4
4
  # License: AGPL
5
5
 
6
- import warnings
7
-
8
6
  import nibabel
9
7
  import numpy as np
10
8
  import pytest
@@ -262,13 +260,16 @@ def test_standardization() -> None:
262
260
  data = np.random.RandomState(42).random_sample((3, 3, 3, 5))
263
261
  img = nibabel.Nifti1Image(data, np.eye(4))
264
262
 
265
- # test zscore
266
- masker = JuniferNiftiSpheresMasker(seeds=[(1, 1, 1)], standardize="zscore")
263
+ # test zscore_sample
264
+ masker = JuniferNiftiSpheresMasker(
265
+ seeds=[(1, 1, 1)], standardize="zscore_sample"
266
+ )
267
267
  # Test the fit
268
268
  s = masker.fit_transform(img)
269
269
 
270
270
  np.testing.assert_almost_equal(s.mean(), 0)
271
- np.testing.assert_almost_equal(s.std(), 1)
271
+ # Uses the sample standard deviation
272
+ np.testing.assert_almost_equal(s.std(ddof=1), 1)
272
273
 
273
274
  # test psc
274
275
  masker = JuniferNiftiSpheresMasker(seeds=[(1, 1, 1)], standardize="psc")
@@ -294,10 +295,10 @@ def test_nifti_spheres_masker_inverse_transform() -> None:
294
295
 
295
296
 
296
297
  def test_nifti_spheres_masker_io_shapes() -> None:
297
- """Ensure that masker handles 1D/2D/3D/4D data appropriately.
298
+ """Ensure that masker handles 3D/4D data appropriately.
298
299
 
299
- transform(4D image) --> 2D output, no warning
300
- transform(3D image) --> 2D output, DeprecationWarning
300
+ transform(4D image) --> 2D output
301
+ transform(3D image) --> 1D output
301
302
 
302
303
  """
303
304
  n_regions, n_volumes = 2, 5
@@ -318,20 +319,11 @@ def test_nifti_spheres_masker_io_shapes() -> None:
318
319
  )
319
320
  masker.fit()
320
321
 
321
- # DeprecationWarning *should* be raised for 3D inputs
322
- with pytest.warns(DeprecationWarning, match=r"Starting in version 0.12"):
323
- test_data = masker.transform(img_3d)
324
- assert test_data.shape == (1, n_regions)
325
-
326
- # DeprecationWarning should *not* be raised for 4D inputs
327
- with warnings.catch_warnings():
328
- warnings.filterwarnings(
329
- "error",
330
- message="Starting in version 0.12",
331
- category=DeprecationWarning,
332
- )
333
- test_data = masker.transform(img_4d)
334
- assert test_data.shape == (n_volumes, n_regions)
322
+ test_data = masker.transform(img_3d)
323
+ assert test_data.shape == (n_regions,)
324
+
325
+ test_data = masker.transform(img_4d)
326
+ assert test_data.shape == (n_volumes, n_regions)
335
327
 
336
328
 
337
329
  @pytest.mark.parametrize(
@@ -5,6 +5,7 @@
5
5
 
6
6
  from typing import Annotated, Any, ClassVar, Literal
7
7
 
8
+ import numpy as np
8
9
  from nilearn.maskers import NiftiMapsMasker
9
10
  from pydantic import BeforeValidator
10
11
 
@@ -185,15 +186,17 @@ class MapsAggregation(BaseMarker):
185
186
  extra_input=extra_input,
186
187
  )
187
188
 
188
- # Initialize masker
189
+ # Initialize masker; the maps (and mask) are already tailored to the
190
+ # input image, so no resampling is needed
189
191
  logger.debug("Masking")
190
192
  masker = NiftiMapsMasker(
191
193
  maps_img=maps_img,
192
194
  mask_img=mask_img,
193
- target_affine=t_input_img.affine,
195
+ resampling_target=None,
194
196
  )
195
197
  # Mask the input data and extract data
196
- data = masker.fit_transform(t_input_img)
198
+ # nilearn maskers return 1D arrays for 3D images, keep 2D
199
+ data = np.atleast_2d(masker.fit_transform(t_input_img))
197
200
 
198
201
  # Apply time dimension aggregation if required
199
202
  if self.time_method is not None:
@@ -222,7 +222,8 @@ class ParcelAggregation(BaseMarker):
222
222
  logger.debug("Masking")
223
223
  masker = NiftiMasker(parcellation_bin)
224
224
  # Mask the input data and the parcellation
225
- data = masker.fit_transform(t_input_img)
225
+ # nilearn maskers return 1D arrays for 3D images, keep 2D
226
+ data = np.atleast_2d(masker.fit_transform(t_input_img))
226
227
  parcellation_values = np.squeeze(
227
228
  masker.transform(parcellation_img)
228
229
  ).astype(int)
@@ -6,6 +6,7 @@
6
6
 
7
7
  from typing import Annotated, Any, ClassVar, Literal
8
8
 
9
+ import numpy as np
9
10
  from pydantic import BeforeValidator, PositiveFloat
10
11
 
11
12
  from ..api.decorators import register_marker
@@ -221,7 +222,8 @@ class SphereAggregation(BaseMarker):
221
222
  agg_func=agg_func,
222
223
  )
223
224
  # Fit and transform the marker on the data
224
- out_values = masker.fit_transform(t_input_img)
225
+ # nilearn maskers return 1D arrays for 3D images, keep 2D
226
+ out_values = np.atleast_2d(masker.fit_transform(t_input_img))
225
227
 
226
228
  # Apply time dimension aggregation if required
227
229
  if self.time_method is not None:
@@ -115,10 +115,7 @@ def test_ParcelAggregation_3D() -> None:
115
115
  img=testing_parcellation,
116
116
  )
117
117
  # Create NiftiMasker
118
- masker = NiftiMasker(
119
- testing_parcellation_bin,
120
- target_affine=element_data["BOLD"]["data"].affine,
121
- )
118
+ masker = NiftiMasker(testing_parcellation_bin)
122
119
  data = masker.fit_transform(element_data["BOLD"]["data"])
123
120
  parcellation_values = np.squeeze(
124
121
  masker.transform(testing_parcellation)
@@ -225,9 +222,10 @@ def test_ParcelAggregation_VBM() -> None:
225
222
  assert_array_equal(tailored.get_fdata(), raw.get_fdata())
226
223
 
227
224
  # Compare with nilearn
228
- nifti_labels_masked_vbm = NiftiLabelsMasker(
229
- labels_img=raw
230
- ).fit_transform(vbm["data"])
225
+ # nilearn returns a 1D array for 3D images
226
+ nifti_labels_masked_vbm = np.atleast_2d(
227
+ NiftiLabelsMasker(labels_img=raw).fit_transform(vbm["data"])
228
+ )
231
229
  assert parcel_agg_vbm_data.shape == (1, 16)
232
230
  assert_array_almost_equal(nifti_labels_masked_vbm, parcel_agg_vbm_data)
233
231
 
@@ -6,6 +6,7 @@
6
6
 
7
7
  from pathlib import Path
8
8
 
9
+ import numpy as np
9
10
  import pytest
10
11
  from nilearn.maskers import NiftiSpheresMasker
11
12
  from numpy.testing import assert_array_equal
@@ -111,8 +112,9 @@ def test_SphereAggregation_3D() -> None:
111
112
  nifti_spheres_masker = NiftiSpheresMasker(
112
113
  seeds=testing_coords, radius=RADIUS
113
114
  )
114
- nifti_spheres_masked_vbm_gm = nifti_spheres_masker.fit_transform(
115
- element_data["VBM_GM"]["data"]
115
+ # nilearn returns a 1D array for 3D images
116
+ nifti_spheres_masked_vbm_gm = np.atleast_2d(
117
+ nifti_spheres_masker.fit_transform(element_data["VBM_GM"]["data"])
116
118
  )
117
119
 
118
120
  assert sphere_agg_vbm_gm_data.ndim == 2
@@ -159,7 +159,7 @@ def test_data_object_dumper(
159
159
  "wm_csf": "full",
160
160
  },
161
161
  detrend=True,
162
- standardize=True,
162
+ standardize="zscore_sample",
163
163
  ),
164
164
  ],
165
165
  markers=[