junifer 0.0.6.dev175__tar.gz → 0.0.6.dev194__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 (478) hide show
  1. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/workflows/docs.yml +4 -5
  2. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/Dockerfile-ci +3 -3
  3. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/PKG-INFO +1 -1
  4. junifer-0.0.6.dev194/docs/api/data.rst +6 -0
  5. junifer-0.0.6.dev194/docs/changes/newsfragments/387.change +1 -0
  6. junifer-0.0.6.dev194/docs/changes/newsfragments/387.feature +1 -0
  7. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/extending/coordinates.rst +23 -10
  8. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/extending/masks.rst +21 -7
  9. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/extending/parcellations.rst +18 -7
  10. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/using/masks.rst +2 -2
  11. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/whats_new.rst +12 -12
  12. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/_version.py +2 -2
  13. junifer-0.0.6.dev194/junifer/data/__init__.pyi +29 -0
  14. junifer-0.0.6.dev194/junifer/data/_dispatch.py +251 -0
  15. junifer-0.0.6.dev194/junifer/data/coordinates/__init__.py +9 -0
  16. junifer-0.0.6.dev194/junifer/data/coordinates/__init__.pyi +5 -0
  17. junifer-0.0.6.dev194/junifer/data/coordinates/_ants_coordinates_warper.py +96 -0
  18. junifer-0.0.6.dev194/junifer/data/coordinates/_coordinates.py +356 -0
  19. junifer-0.0.6.dev194/junifer/data/coordinates/_fsl_coordinates_warper.py +83 -0
  20. {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/tests/test_coordinates.py +25 -31
  21. junifer-0.0.6.dev194/junifer/data/masks/__init__.py +9 -0
  22. junifer-0.0.6.dev194/junifer/data/masks/__init__.pyi +6 -0
  23. junifer-0.0.6.dev194/junifer/data/masks/_ants_mask_warper.py +144 -0
  24. junifer-0.0.6.dev194/junifer/data/masks/_fsl_mask_warper.py +87 -0
  25. junifer-0.0.6.dev194/junifer/data/masks/_masks.py +624 -0
  26. {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/masks}/tests/test_masks.py +63 -58
  27. junifer-0.0.6.dev194/junifer/data/parcellations/__init__.py +9 -0
  28. junifer-0.0.6.dev194/junifer/data/parcellations/__init__.pyi +6 -0
  29. junifer-0.0.6.dev194/junifer/data/parcellations/_ants_parcellation_warper.py +154 -0
  30. junifer-0.0.6.dev194/junifer/data/parcellations/_fsl_parcellation_warper.py +91 -0
  31. junifer-0.0.6.dev175/junifer/data/parcellations.py → junifer-0.0.6.dev194/junifer/data/parcellations/_parcellations.py +450 -473
  32. {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/parcellations}/tests/test_parcellations.py +73 -81
  33. junifer-0.0.6.dev194/junifer/data/pipeline_data_registry_base.py +74 -0
  34. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/data/utils.py +4 -0
  35. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/hurst_exponent.py +2 -2
  36. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/multiscale_entropy_auc.py +2 -2
  37. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/perm_entropy.py +2 -2
  38. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/range_entropy.py +2 -2
  39. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/range_entropy_auc.py +2 -2
  40. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/sample_entropy.py +2 -2
  41. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/weighted_perm_entropy.py +2 -2
  42. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/ets_rss.py +2 -2
  43. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/falff/falff_parcels.py +2 -2
  44. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/falff/falff_spheres.py +2 -2
  45. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +1 -1
  46. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +1 -1
  47. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +1 -1
  48. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +1 -1
  49. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +3 -3
  50. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +2 -2
  51. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/parcel_aggregation.py +11 -7
  52. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/reho/reho_parcels.py +2 -2
  53. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/reho/reho_spheres.py +2 -2
  54. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/sphere_aggregation.py +11 -7
  55. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/temporal_snr_parcels.py +2 -2
  56. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/temporal_snr_spheres.py +2 -2
  57. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/tests/test_ets_rss.py +3 -3
  58. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/tests/test_parcel_aggregation.py +24 -24
  59. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/tests/test_sphere_aggregation.py +6 -6
  60. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/pipeline_component_registry.py +1 -1
  61. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/confounds/fmriprep_confound_remover.py +6 -3
  62. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer.egg-info/PKG-INFO +1 -1
  63. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer.egg-info/SOURCES.txt +41 -25
  64. junifer-0.0.6.dev175/docs/api/data.rst +0 -26
  65. junifer-0.0.6.dev175/junifer/data/__init__.pyi +0 -43
  66. junifer-0.0.6.dev175/junifer/data/coordinates.py +0 -408
  67. junifer-0.0.6.dev175/junifer/data/masks.py +0 -670
  68. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.dockerignore +0 -0
  69. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  70. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  71. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
  72. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
  73. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  74. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
  75. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/dependabot.yml +0 -0
  76. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/pull_request_template.md +0 -0
  77. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/workflows/ci-docs.yml +0 -0
  78. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/workflows/ci.yml +0 -0
  79. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/workflows/docker-ci-publish.yml +0 -0
  80. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/workflows/docker-docs-publish.yml +0 -0
  81. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/workflows/docs-preview.yml +0 -0
  82. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/workflows/lint.yml +0 -0
  83. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/workflows/pypi.yml +0 -0
  84. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.gitignore +0 -0
  85. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.gitmodules +0 -0
  86. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.pre-commit-config.yaml +0 -0
  87. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/AUTHORS.rst +0 -0
  88. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/Dockerfile-docs +0 -0
  89. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/LICENSE.md +0 -0
  90. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/README.md +0 -0
  91. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/codecov.yml +0 -0
  92. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/conda-env.yml +0 -0
  93. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/Makefile +0 -0
  94. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/_static/css/custom.css +0 -0
  95. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/_static/js/custom.js +0 -0
  96. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/_templates/versions.html +0 -0
  97. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/api.rst +0 -0
  98. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/cli.rst +0 -0
  99. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/configs.rst +0 -0
  100. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/datagrabbers.rst +0 -0
  101. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/datareaders.rst +0 -0
  102. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/index.rst +0 -0
  103. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/markers.rst +0 -0
  104. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/nilearn.rst +0 -0
  105. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/onthefly.rst +0 -0
  106. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/pipeline.rst +0 -0
  107. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/preprocessing.rst +0 -0
  108. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/stats.rst +0 -0
  109. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/storage.rst +0 -0
  110. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/testing.rst +0 -0
  111. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/utils.rst +0 -0
  112. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/builtin.rst +0 -0
  113. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/contributors.inc +0 -0
  114. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/.gitignore +0 -0
  115. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/335.enh +0 -0
  116. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/354.feature +0 -0
  117. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/355.misc +0 -0
  118. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/356.bugfix +0 -0
  119. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/357.enh +0 -0
  120. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/358.doc +0 -0
  121. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/359.doc +0 -0
  122. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/360.bugfix +0 -0
  123. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/361.misc +0 -0
  124. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/362.feature +0 -0
  125. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/367.enh +0 -0
  126. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/368.enh +0 -0
  127. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/369.bugfix +0 -0
  128. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/370.bugfix +0 -0
  129. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/372.misc +0 -0
  130. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/373.misc +0 -0
  131. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/374.misc +0 -0
  132. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/380.misc +0 -0
  133. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/382.misc +0 -0
  134. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/384.misc +0 -0
  135. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/conf.py +0 -0
  136. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/contribution.rst +0 -0
  137. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/extending/datagrabber.rst +0 -0
  138. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/extending/dependencies.rst +0 -0
  139. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/extending/extension.rst +0 -0
  140. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/extending/index.rst +0 -0
  141. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/extending/marker.rst +0 -0
  142. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/extending/preprocessor.rst +0 -0
  143. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/faq.rst +0 -0
  144. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/help.rst +0 -0
  145. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/images/junifer_logo.png +0 -0
  146. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/index.rst +0 -0
  147. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/installation.rst +0 -0
  148. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/links.inc +0 -0
  149. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/maintaining.rst +0 -0
  150. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/redirect.html +0 -0
  151. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/starting.rst +0 -0
  152. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/understanding/data.rst +0 -0
  153. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/understanding/datagrabber.rst +0 -0
  154. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/understanding/datareader.rst +0 -0
  155. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/understanding/index.rst +0 -0
  156. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/understanding/marker.rst +0 -0
  157. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/understanding/pipeline.rst +0 -0
  158. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/understanding/preprocess.rst +0 -0
  159. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/understanding/storage.rst +0 -0
  160. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/using/codeless.rst +0 -0
  161. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/using/index.rst +0 -0
  162. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/using/queueing.rst +0 -0
  163. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/using/running.rst +0 -0
  164. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/README.rst +0 -0
  165. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/norun_hcpfc_pearson.py +0 -0
  166. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/norun_ukbvm_gmd.py +0 -0
  167. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/run_compute_parcel_mean.py +0 -0
  168. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/run_datagrabber_bids_datalad.py +0 -0
  169. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/run_ets_rss_marker.py +0 -0
  170. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/run_junifer_julearn.py +0 -0
  171. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/run_run_gmd_mean.py +0 -0
  172. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/yamls/gmd_mean.yaml +0 -0
  173. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
  174. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
  175. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/yamls/ukb_gmd_mean.yaml +0 -0
  176. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/ignore_words.txt +0 -0
  177. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/__init__.py +0 -0
  178. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/__init__.pyi +0 -0
  179. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/__init__.py +0 -0
  180. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/__init__.pyi +0 -0
  181. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/decorators.py +0 -0
  182. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/functions.py +0 -0
  183. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/py.typed +0 -0
  184. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/queue_context/__init__.py +0 -0
  185. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/queue_context/__init__.pyi +0 -0
  186. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/queue_context/gnu_parallel_local_adapter.py +0 -0
  187. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/queue_context/htcondor_adapter.py +0 -0
  188. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/queue_context/py.typed +0 -0
  189. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/queue_context/queue_context_adapter.py +0 -0
  190. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +0 -0
  191. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
  192. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
  193. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/afni/3dRSFC +0 -0
  194. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/afni/3dReHo +0 -0
  195. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/afni/afni +0 -0
  196. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/afni/run_afni_docker.sh +0 -0
  197. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/ants/ResampleImage +0 -0
  198. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/ants/antsApplyTransforms +0 -0
  199. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
  200. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/ants/run_ants_docker.sh +0 -0
  201. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/freesurfer/mri_binarize +0 -0
  202. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/freesurfer/mri_mc +0 -0
  203. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/freesurfer/mri_pretess +0 -0
  204. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/freesurfer/mris_convert +0 -0
  205. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
  206. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/fsl/applywarp +0 -0
  207. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/fsl/flirt +0 -0
  208. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/fsl/img2imgcoord +0 -0
  209. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
  210. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/fsl/std2imgcoord +0 -0
  211. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/run_conda.bash +0 -0
  212. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/run_conda.zsh +0 -0
  213. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/run_venv.bash +0 -0
  214. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/run_venv.zsh +0 -0
  215. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/tests/test_functions.py +0 -0
  216. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/__init__.py +0 -0
  217. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/__init__.pyi +0 -0
  218. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/cli.py +0 -0
  219. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/parser.py +0 -0
  220. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/py.typed +0 -0
  221. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/tests/data/gmd_mean.yaml +0 -0
  222. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/tests/data/gmd_mean_htcondor.yaml +0 -0
  223. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
  224. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/tests/test_cli.py +0 -0
  225. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/tests/test_cli_utils.py +0 -0
  226. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/tests/test_parser.py +0 -0
  227. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/utils.py +0 -0
  228. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/__init__.py +0 -0
  229. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/__init__.py +0 -0
  230. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/__init__.pyi +0 -0
  231. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
  232. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/__init__.pyi +0 -0
  233. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -0
  234. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -0
  235. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -0
  236. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/py.typed +0 -0
  237. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
  238. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
  239. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
  240. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
  241. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
  242. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/ucla.py +0 -0
  243. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -0
  244. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/py.typed +0 -0
  245. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/data/__init__.py +0 -0
  246. {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/AutobiographicalMemory_VOIs.txt +0 -0
  247. {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/CogAC_VOIs.txt +0 -0
  248. {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/CogAR_VOIs.txt +0 -0
  249. {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/DMNBuckner_VOIs.txt +0 -0
  250. {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/Dosenbach2010_MNI_VOIs.txt +0 -0
  251. {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/Empathy_VOIs.txt +0 -0
  252. {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/Motor_VOIs.txt +0 -0
  253. {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/MultiTask_VOIs.txt +0 -0
  254. {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/PhysioStress_VOIs.txt +0 -0
  255. {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/Power2011_MNI_VOIs.txt +0 -0
  256. {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/Power2013_MNI_VOIs.tsv +0 -0
  257. {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/Rew_VOIs.txt +0 -0
  258. {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/Somatosensory_VOIs.txt +0 -0
  259. {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/ToM_VOIs.txt +0 -0
  260. {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/VigAtt_VOIs.txt +0 -0
  261. {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/WM_VOIs.txt +0 -0
  262. {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/eMDN_VOIs.txt +0 -0
  263. {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/eSAD_VOIs.txt +0 -0
  264. {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/extDMN_VOIs.txt +0 -0
  265. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/data/masks/ukb/UKB_15K_GM_template.nii.gz +0 -0
  266. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean.nii.gz +0 -0
  267. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean_3mm.nii.gz +0 -0
  268. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/data/masks/vickery-patil/GMprob0.2_cortex_3mm_NA_rm.nii.gz +0 -0
  269. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/data/py.typed +0 -0
  270. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/data/template_spaces.py +0 -0
  271. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/data/tests/test_data_utils.py +0 -0
  272. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/data/tests/test_template_spaces.py +0 -0
  273. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/__init__.py +0 -0
  274. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/__init__.pyi +0 -0
  275. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/__init__.py +0 -0
  276. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/__init__.pyi +0 -0
  277. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/id1000.py +0 -0
  278. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/piop1.py +0 -0
  279. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/piop2.py +0 -0
  280. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/py.typed +0 -0
  281. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/tests/test_id1000.py +0 -0
  282. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/tests/test_piop1.py +0 -0
  283. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/tests/test_piop2.py +0 -0
  284. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/base.py +0 -0
  285. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/datalad_base.py +0 -0
  286. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/dmcc13_benchmark.py +0 -0
  287. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/hcp1200/__init__.py +0 -0
  288. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/hcp1200/__init__.pyi +0 -0
  289. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +0 -0
  290. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/hcp1200/hcp1200.py +0 -0
  291. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/hcp1200/py.typed +0 -0
  292. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +0 -0
  293. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/multiple.py +0 -0
  294. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/pattern.py +0 -0
  295. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/pattern_datalad.py +0 -0
  296. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/pattern_validation_mixin.py +0 -0
  297. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/py.typed +0 -0
  298. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/tests/test_base.py +0 -0
  299. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
  300. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +0 -0
  301. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/tests/test_multiple.py +0 -0
  302. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/tests/test_pattern.py +0 -0
  303. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
  304. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/tests/test_pattern_validation_mixin.py +0 -0
  305. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datareader/__init__.py +0 -0
  306. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datareader/__init__.pyi +0 -0
  307. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datareader/default.py +0 -0
  308. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datareader/py.typed +0 -0
  309. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datareader/tests/test_default_reader.py +0 -0
  310. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/__init__.py +0 -0
  311. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/_version.py +0 -0
  312. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/asymmetry.py +0 -0
  313. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/brainprint.py +0 -0
  314. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/surfaces.py +0 -0
  315. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/utils/__init__.py +0 -0
  316. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/utils/_config.py +0 -0
  317. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/utils/utils.py +0 -0
  318. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/__init__.py +0 -0
  319. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/h5io/h5io/__init__.py +0 -0
  320. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/h5io/h5io/_h5io.py +0 -0
  321. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/h5io/h5io/_version.py +0 -0
  322. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/h5io/h5io/chunked_array.py +0 -0
  323. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/h5io/h5io/chunked_list.py +0 -0
  324. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/nilearn/__init__.py +0 -0
  325. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/nilearn/__init__.pyi +0 -0
  326. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/nilearn/junifer_connectivity_measure.py +0 -0
  327. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +0 -0
  328. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/nilearn/py.typed +0 -0
  329. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +0 -0
  330. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
  331. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/__init__.py +0 -0
  332. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/__init__.pyi +0 -0
  333. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/base.py +0 -0
  334. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/brainprint.py +0 -0
  335. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/__init__.py +0 -0
  336. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/__init__.pyi +0 -0
  337. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/complexity_base.py +0 -0
  338. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/py.typed +0 -0
  339. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
  340. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
  341. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
  342. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
  343. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
  344. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
  345. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
  346. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
  347. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/falff/__init__.py +0 -0
  348. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/falff/__init__.pyi +0 -0
  349. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/falff/_afni_falff.py +0 -0
  350. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/falff/_junifer_falff.py +0 -0
  351. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/falff/falff_base.py +0 -0
  352. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/falff/py.typed +0 -0
  353. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
  354. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
  355. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/__init__.py +0 -0
  356. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/__init__.pyi +0 -0
  357. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +0 -0
  358. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/functional_connectivity_base.py +0 -0
  359. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/py.typed +0 -0
  360. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
  361. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
  362. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
  363. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
  364. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/py.typed +0 -0
  365. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/reho/__init__.py +0 -0
  366. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/reho/__init__.pyi +0 -0
  367. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/reho/_afni_reho.py +0 -0
  368. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/reho/_junifer_reho.py +0 -0
  369. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/reho/py.typed +0 -0
  370. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/reho/reho_base.py +0 -0
  371. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
  372. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
  373. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/__init__.py +0 -0
  374. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/__init__.pyi +0 -0
  375. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/py.typed +0 -0
  376. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/temporal_snr_base.py +0 -0
  377. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
  378. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
  379. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
  380. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/tests/test_brainprint.py +0 -0
  381. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/tests/test_marker_utils.py +0 -0
  382. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/tests/test_markers_base.py +0 -0
  383. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/utils.py +0 -0
  384. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/onthefly/__init__.py +0 -0
  385. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/onthefly/_brainprint.py +0 -0
  386. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/onthefly/read_transform.py +0 -0
  387. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/onthefly/tests/test_read_transform.py +0 -0
  388. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/__init__.py +0 -0
  389. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/__init__.pyi +0 -0
  390. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/marker_collection.py +0 -0
  391. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/pipeline_step_mixin.py +0 -0
  392. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/py.typed +0 -0
  393. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/singleton.py +0 -0
  394. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/tests/test_marker_collection.py +0 -0
  395. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/tests/test_pipeline_component_registry.py +0 -0
  396. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
  397. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
  398. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
  399. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/update_meta_mixin.py +0 -0
  400. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/utils.py +0 -0
  401. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/workdir_manager.py +0 -0
  402. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/__init__.py +0 -0
  403. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/__init__.pyi +0 -0
  404. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/base.py +0 -0
  405. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/confounds/__init__.py +0 -0
  406. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/confounds/__init__.pyi +0 -0
  407. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/confounds/py.typed +0 -0
  408. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +0 -0
  409. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/py.typed +0 -0
  410. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/__init__.py +0 -0
  411. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/__init__.pyi +0 -0
  412. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/_afni_smoothing.py +0 -0
  413. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/_fsl_smoothing.py +0 -0
  414. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/_nilearn_smoothing.py +0 -0
  415. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/py.typed +0 -0
  416. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/smoothing.py +0 -0
  417. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/tests/test_smoothing.py +0 -0
  418. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
  419. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/warping/__init__.py +0 -0
  420. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/warping/__init__.pyi +0 -0
  421. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/warping/_ants_warper.py +0 -0
  422. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/warping/_fsl_warper.py +0 -0
  423. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/warping/py.typed +0 -0
  424. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/warping/space_warper.py +0 -0
  425. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
  426. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/py.typed +0 -0
  427. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/stats.py +0 -0
  428. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/__init__.py +0 -0
  429. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/__init__.pyi +0 -0
  430. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/base.py +0 -0
  431. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/hdf5.py +0 -0
  432. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/pandas_base.py +0 -0
  433. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/py.typed +0 -0
  434. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/sqlite.py +0 -0
  435. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/tests/test_hdf5.py +0 -0
  436. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/tests/test_pandas_base.py +0 -0
  437. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/tests/test_sqlite.py +0 -0
  438. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/tests/test_storage_base.py +0 -0
  439. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/tests/test_utils.py +0 -0
  440. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/utils.py +0 -0
  441. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/testing/__init__.py +0 -0
  442. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/testing/__init__.pyi +0 -0
  443. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
  444. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/testing/datagrabbers.py +0 -0
  445. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/testing/py.typed +0 -0
  446. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/testing/registry.py +0 -0
  447. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
  448. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
  449. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
  450. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/testing/tests/test_testing_registry.py +0 -0
  451. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/testing/utils.py +0 -0
  452. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/tests/test_main.py +0 -0
  453. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/tests/test_stats.py +0 -0
  454. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/utils/__init__.py +0 -0
  455. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/utils/__init__.pyi +0 -0
  456. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/utils/_yaml.py +0 -0
  457. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/utils/fs.py +0 -0
  458. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/utils/helpers.py +0 -0
  459. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/utils/logging.py +0 -0
  460. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/utils/py.typed +0 -0
  461. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/utils/tests/test_fs.py +0 -0
  462. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/utils/tests/test_helpers.py +0 -0
  463. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/utils/tests/test_logging.py +0 -0
  464. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer.egg-info/dependency_links.txt +0 -0
  465. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer.egg-info/entry_points.txt +0 -0
  466. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer.egg-info/requires.txt +0 -0
  467. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer.egg-info/top_level.txt +0 -0
  468. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/pyproject.toml +0 -0
  469. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/setup.cfg +0 -0
  470. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/setup.py +0 -0
  471. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/tools/create_aomic1000_example_dataset.py +0 -0
  472. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/tools/create_aomicpiop1_example_dataset.py +0 -0
  473. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/tools/create_aomicpiop2_example_dataset.py +0 -0
  474. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/tools/create_bids_example_dataset.py +0 -0
  475. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/tools/create_bids_example_dataset_sessions.py +0 -0
  476. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
  477. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/tools/create_hcp1200_example_dataset.py +0 -0
  478. {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/tox.ini +0 -0
@@ -8,16 +8,13 @@ on:
8
8
  # Sequence of patterns matched against refs/tags
9
9
  tags:
10
10
  - v*
11
- workflow_dispatch: {}
11
+ workflow_dispatch: {}
12
12
 
13
13
  jobs:
14
14
  build-docs:
15
15
  runs-on: ubuntu-latest
16
16
  # Use custom docs CI image
17
- container:
18
- image: ghcr.io/juaml/junifer-docs:main
19
- # https://github.com/actions/runner/issues/2033#issuecomment-1598547465
20
- options: --user 1001
17
+ container: ghcr.io/juaml/junifer-docs:main
21
18
  steps:
22
19
  - name: Check ANTs
23
20
  run: |
@@ -63,6 +60,8 @@ jobs:
63
60
  - name: Build docs
64
61
  # Use the args we normally pass to sphinx-build, but run sphinx-multiversion
65
62
  run: |
63
+ # https://github.com/actions/checkout/issues/1169#issuecomment-2291682583
64
+ git config --system --add safe.directory $(pwd)
66
65
  make -C docs/ html
67
66
  touch docs/_build/.nojekyll
68
67
  cp docs/redirect.html docs/_build/index.html
@@ -63,9 +63,9 @@ RUN ln -s /usr/lib/x86_64-linux-gnu/libgsl.so.27 /usr/lib/x86_64-linux-gnu/libgs
63
63
  RUN curl https://fsl.fmrib.ox.ac.uk/fsldownloads/fslconda/releases/fslinstaller.py | \
64
64
  python - -d /opt/fsl/ --skip_registration
65
65
  # Set env vars for FSL
66
- ENV FSLDIR="/opt/fsl" \
67
- FSLOUTPUTTYPE="NIFTI_GZ" \
68
- PATH="/opt/fsl/bin:$PATH"
66
+ ENV FSLDIR=/opt/fsl \
67
+ FSLOUTPUTTYPE=NIFTI_GZ \
68
+ PATH="/opt/fsl/share/fsl/bin:$PATH"
69
69
 
70
70
  # Clean apt cache
71
71
  RUN apt-get autoremove --purge && apt-get clean
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: junifer
3
- Version: 0.0.6.dev175
3
+ Version: 0.0.6.dev194
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,6 @@
1
+ Data
2
+ ====
3
+
4
+ .. automodule:: junifer.data
5
+ :members:
6
+ :imported-members:
@@ -0,0 +1 @@
1
+ ``get_parcellation``, ``load_parcellation``, ``list_parcellation``, ``register_parcellation`` , ``get_coordinates``, ``load_coordinates``, ``list_coordinates``, ``register_coordinates``, ``get_mask``, ``load_mask``, ``list_mask``, ``register_mask`` have been removed in favour of :func:`.get_data`, :func:`.load_data`, :func:`.list_data`, :func:`.register_data` and :func:`.deregister_data` by `Synchon Mandal`_
@@ -0,0 +1 @@
1
+ Introduce :class:`junifer.data.CoordinatesRegistry`, :class:`junifer.data.ParcellationRegistry` and :class:`junifer.data.MaskRegistry` to centralise data management by `Synchon Mandal`_
@@ -18,19 +18,28 @@ provides them already.
18
18
  If you checked the in-built coordinates, and they are not there already (for
19
19
  example if you came up with your own set of coordinates), then ``junifer``
20
20
  provides an easy way for you to register them using the
21
- :func:`.register_coordinates` function, so you can use your own set of
21
+ :func:`.register_data` function, so you can use your own set of
22
22
  coordinates within a ``junifer`` pipeline.
23
23
 
24
- From the API reference, we can see that it has 4 positional arguments
25
- (``name``, ``coordinates``, ``voi_names`` and ``space``) as well as one
26
- optional keyword argument (``overwrite``).
24
+ From the API reference, we can see that it has 3 positional arguments:
25
+
26
+ * ``kind``
27
+ * ``name``
28
+ * ``space``
29
+
30
+ as well as one optional keyword argument: ``overwrite``.
31
+ As the ``kind`` needs to be ``"coordinates"``, we can check
32
+ ``CoordinatesRegistry.register`` for keyword arguments to be passed:
33
+
34
+ * ``coordinates``
35
+ * ``voi_names``
27
36
 
28
37
  The ``name`` argument takes a string indicating the name you want to give to
29
38
  this set of coordinates. This ``name`` can be used to obtain and operate on a
30
39
  set of coordinates in ``junifer``. For example, you can obtain your coordinates
31
- after registration by providing ``name`` to :func:`.load_coordinates`. We could
32
- simply call it ``"my_set_of_coordinates"``, but likely you want a more
33
- descriptive and more informative name most of the time.
40
+ after registration by providing ``name`` to :func:`.load_data` with
41
+ ``kind="coordinates"``. We could simply call it ``"my_set_of_coordinates"``,
42
+ but likely you want a more descriptive and more informative name most of the time.
34
43
 
35
44
  The ``coordinates`` argument takes the actual coordinates as a 2-dimensional
36
45
  :class:`numpy.ndarray`. It contains one row for every location, and three
@@ -57,8 +66,8 @@ packages:
57
66
 
58
67
  .. code-block:: python
59
68
 
60
- from junifer.data import register_coordinates
61
69
  import numpy as np
70
+ from junifer.data import register_data
62
71
 
63
72
  For the sake of this example, we can create a set of coordinates that belong
64
73
  to the Default Mode Network (DMN), and register this set of coordinates with
@@ -86,8 +95,12 @@ simply use this to register our coordinates:
86
95
 
87
96
  .. code-block:: python
88
97
 
89
- register_coordinates(
90
- name="DMNCustom", coordinates=dmn_coords, voi_names=voi_names, space="MNI"
98
+ register_data(
99
+ kind="coordinates",
100
+ name="DMNCustom",
101
+ coordinates=dmn_coords,
102
+ voi_names=voi_names,
103
+ space="MNI",
91
104
  )
92
105
 
93
106
  Now, when we run this script, ``junifer`` registers these coordinates and we can
@@ -14,16 +14,25 @@ suit your needs, and you have found that they don't, you can come back here to
14
14
  learn how to use your own masks.
15
15
 
16
16
  The principle is fairly simple and quite similar to :ref:`adding_parcellations`
17
- and :ref:`adding_coordinates`. ``junifer`` provides a :func:`.register_mask`
17
+ and :ref:`adding_coordinates`. ``junifer`` provides a :func:`.register_data`
18
18
  function that lets you register your own custom masks. It consists of three
19
- positional arguments (``name``, ``mask_path`` and ``space``) and one optional
20
- keyword argument (``overwrite``).
19
+ positional arguments:
20
+
21
+ * ``kind``
22
+ * ``name``
23
+ * ``space``
24
+
25
+ and one optional keyword argument: ``overwrite``.
26
+ As the ``kind`` needs to be ``"mask"``, we can check
27
+ ``MaskRegistry.register`` for keyword arguments to be passed:
28
+
29
+ * ``mask_path``
21
30
 
22
31
  The ``name`` argument is a string indicating the name of the mask. This name
23
32
  is used to refer to that mask in ``junifer`` internally in order to obtain the
24
33
  actual mask data and perform operations on it. For example, using the name you
25
- can load a mask after registration using the
26
- :func:`.load_mask` function.
34
+ can load a mask after registration using the :func:`.load_data` with
35
+ ``kind="mask"``.
27
36
 
28
37
  The ``mask_path`` should contain the path to a valid NIfTI image with binary
29
38
  voxel values (i.e. 0 or 1). This data can then be used by ``junifer`` to mask
@@ -42,14 +51,19 @@ look as follows:
42
51
 
43
52
  from pathlib import Path
44
53
 
45
- from junifer.data import register_mask
54
+ from junifer.data import register_data
46
55
 
47
56
 
48
57
  # this path is only an example, of course use the correct path
49
58
  # on your system:
50
59
  mask_path = Path("..") / ".." / "my_custom_mask.nii.gz"
51
60
 
52
- register_mask(name="my_custom_mask", mask_path=mask_path, space="native")
61
+ register_data(
62
+ kind="mask",
63
+ name="my_custom_mask",
64
+ mask_path=mask_path,
65
+ space="native",
66
+ )
53
67
 
54
68
  Simple, right? Now we just have to configure a YAML file to register this mask
55
69
  so we can use it for :ref:`codeless configuration of junifer <codeless>`.
@@ -17,13 +17,22 @@ this?
17
17
 
18
18
  Since both of these use-cases are quite common, and not being able to use your
19
19
  favourite parcellation is of course quite a buzzkill, ``junifer`` actually
20
- provides the easy-to-use :func:`.register_parcellation` function to do just that.
20
+ provides the easy-to-use :func:`.register_data` function to do just that.
21
21
  Let's try to understand the API reference and then use this function to register our
22
22
  own parcellation.
23
23
 
24
- From the API reference, we can see that it has 4 positional arguments
25
- (``name``, ``parcellation_path``, ``parcels_labels`` and ``space``) as well as
26
- one optional keyword argument (``overwrite``).
24
+ From the API reference, we can see that it has 3 positional arguments:
25
+
26
+ * ``kind``
27
+ * ``name``
28
+ * ``space``
29
+
30
+ as well as one optional keyword argument: ``overwrite``.
31
+ As the ``kind`` needs to be ``"parcellation"``, we can check
32
+ ``ParcellationRegistry.register`` for keyword arguments to be passed:
33
+
34
+ * ``parcellation_path``
35
+ * ``parcels_labels``
27
36
 
28
37
  The ``name`` of the parcellation is up to you and will be the name that
29
38
  ``junifer`` will use to refer to this particular parcellation. You can think of
@@ -64,10 +73,11 @@ look like this:
64
73
 
65
74
  .. code-block:: python
66
75
 
67
- from junifer.data import register_parcellation
68
-
69
76
  from pathlib import Path
77
+
70
78
  import numpy as np
79
+ from junifer.data import register_data
80
+
71
81
 
72
82
  # these are of course just example paths, replace it with your own:
73
83
  path_to_parcellation = (
@@ -79,7 +89,8 @@ look like this:
79
89
 
80
90
  my_labels = list(np.loadtxt(path_to_labels, dtype=str))
81
91
 
82
- register_parcellation(
92
+ register_data(
93
+ kind="parcellation",
83
94
  name="my_custom_parcellation",
84
95
  parcellation_path=path_to_parcellation,
85
96
  parcels_labels=my_labels,
@@ -13,8 +13,8 @@ ensuring that the features are not extracted from voxels that contain mostly
13
13
  white matter or cerebrospinal fluid, which could add noise to the BOLD signal.
14
14
 
15
15
  ``junifer`` provides a number of built-in masks, which can be listed using
16
- :func:`.list_masks`. Some masks are images, while other masks can be computed
17
- using :ref:`nilearn` functions.
16
+ :func:`.list_data` with ``kind="mask"``. Some masks are images, while other
17
+ masks can be computed using :ref:`nilearn` functions.
18
18
 
19
19
  For markers and steps that accept ``masks`` as an argument, the mask can be
20
20
  specified as a string, which will be the name of a built-in mask, or as a
@@ -190,10 +190,10 @@ API Changes
190
190
  - Modify ``preprocessor`` to ``preprocessors`` in :func:`.run` and
191
191
  ``preprocessing`` to ``preprocessors`` in :class:`.MarkerCollection` to
192
192
  accept multiple preprocessors by `Synchon Mandal`_ (:gh:`263`)
193
- - Add ``space`` parameter to :func:`.register_coordinates`,
194
- :func:`.register_parcellation` and :func:`.register_mask` and return space
195
- from :func:`.load_coordinates`, :func:`.load_parcellation` and
196
- :func:`.load_mask` by `Synchon Mandal`_ and `Fede Raimondo`_ (:gh:`268`)
193
+ - Add ``space`` parameter to ``register_coordinates``,
194
+ ``register_parcellation`` and ``register_mask`` and return space
195
+ from ``load_coordinates``, ``load_parcellation`` and
196
+ ``load_mask`` by `Synchon Mandal`_ and `Fede Raimondo`_ (:gh:`268`)
197
197
  - Add ``template_type`` parameter to :func:`.get_template` by `Synchon Mandal`_
198
198
  (:gh:`299`)
199
199
  - Change :meth:`.BasePreprocessor.preprocess` return values to preprocessed
@@ -245,7 +245,7 @@ Enhancements
245
245
  :func:`.get_aggfunc_by_name` by `Synchon Mandal`_ (:gh:`287`)
246
246
  - Adapt ``BOLDWarper`` to use FSL or ANTs depending on warp file
247
247
  extension by `Synchon Mandal`_ (:gh:`293`)
248
- - Rewrite :func:`.compute_brain_mask` to allow variable template fetching via
248
+ - Rewrite ``compute_brain_mask`` to allow variable template fetching via
249
249
  templateflow, according to target data by `Synchon Mandal`_ (:gh:`299`)
250
250
  - Replace ``requests`` with ``httpx`` for fetching parcellations by `Synchon
251
251
  Mandal`_ (:gh:`300`)
@@ -285,9 +285,9 @@ Features
285
285
  - Introduce :class:`junifer.pipeline.WorkDirManager` singleton class to manage
286
286
  working and temporary directories across pipeline by `Synchon Mandal`_
287
287
  (:gh:`254`)
288
- - Introduce :func:`.get_parcellation` to fetch parcellation tailored for the
288
+ - Introduce ``get_parcellation`` to fetch parcellation tailored for the
289
289
  data by `Synchon Mandal`_ (:gh:`264`)
290
- - Introduce :func:`.get_coordinates` to fetch coordinates tailored for the data
290
+ - Introduce ``get_coordinates`` to fetch coordinates tailored for the data
291
291
  by `Synchon Mandal`_ (:gh:`265`)
292
292
  - Introduce ``junifer.preprocess.fsl.apply_warper._ApplyWarper`` to wrap FSL's
293
293
  ``applywarp`` by `Synchon Mandal`_ (:gh:`266`)
@@ -309,7 +309,7 @@ Features
309
309
  - Introduce :func:`.get_template` to fetch template space image tailored to a
310
310
  target data by `Synchon Mandal`_ (:gh:`298`)
311
311
  - Add support for on-the-fly template space transformation in
312
- :func:`.get_parcellation` and :func:`.get_mask` to allow parcellation and
312
+ ``get_parcellation`` and ``get_mask`` to allow parcellation and
313
313
  mask in different template spaces to work with a ``DataGrabber``'s data in a
314
314
  specified template space. (:gh:`299`)
315
315
  - Introduce :class:`.SpaceWarper` for warping ``T1w``, ``BOLD``, ``VBM_GM``,
@@ -480,7 +480,7 @@ Bugfixes
480
480
  - Fix an issue with datalad cache and locks in which the overridden settings in
481
481
  Junifer were not propagated to subprocesses, resulting in using the default
482
482
  settings by `Fede Raimondo`_ (:gh:`199`)
483
- - Fix a bug in which :func:`.get_mask` fails for FunctionalConnectivityBase
483
+ - Fix a bug in which ``get_mask`` fails for ``FunctionalConnectivityBase``
484
484
  class, because of missing extra_input parameter by `Leonard Sasse`_
485
485
  (:gh:`200`)
486
486
  - Fix the output of :class:`.RSSETSMarker` to be 2D by `Synchon Mandal`_
@@ -560,7 +560,7 @@ Features
560
560
 
561
561
  - Add :class:`.EdgeCentricFCParcels` and :class:`.EdgeCentricFCSpheres` by
562
562
  `Leonard Sasse`_ (:gh:`64`)
563
- - Expose a :func:`.merge_parcellations` function to merge a list of
563
+ - Expose a ``merge_parcellations`` function to merge a list of
564
564
  parcellations by `Leonard Sasse`_ (:gh:`146`)
565
565
  - Add support for HDF5 feature storage via :class:`.HDF5FeatureStorage` by
566
566
  `Synchon Mandal`_ (:gh:`147`)
@@ -670,8 +670,8 @@ Features
670
670
  connectivity using a parcellation by `Amir Omidvarnia`_ and
671
671
  `Kaustubh R. Patil`_ (:gh:`41`)
672
672
 
673
- - Implement :func:`.register_coordinates`, :func:`.list_coordinates` and
674
- :func:`.load_coordinates` by `Fede Raimondo`_ (:gh:`11`)
673
+ - Implement ``register_coordinates``, ``list_coordinates`` and
674
+ ``load_coordinates`` by `Fede Raimondo`_ (:gh:`11`)
675
675
 
676
676
  - Add :class:`.DataladAOMICID1000` datagrabber for AOMIC ID1000 dataset
677
677
  including tests and creation of mock dataset for testing by
@@ -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.dev175'
16
- __version_tuple__ = version_tuple = (0, 0, 6, 'dev175')
15
+ __version__ = version = '0.0.6.dev194'
16
+ __version_tuple__ = version_tuple = (0, 0, 6, 'dev194')
@@ -0,0 +1,29 @@
1
+ __all__ = [
2
+ "CoordinatesRegistry",
3
+ "ParcellationRegistry",
4
+ "MaskRegistry",
5
+ "get_data",
6
+ "list_data",
7
+ "load_data",
8
+ "register_data",
9
+ "deregister_data",
10
+ "get_template",
11
+ "get_xfm",
12
+ "utils",
13
+ ]
14
+
15
+ from .coordinates import CoordinatesRegistry
16
+ from .parcellations import ParcellationRegistry
17
+ from .masks import MaskRegistry
18
+
19
+ from ._dispatch import (
20
+ get_data,
21
+ list_data,
22
+ load_data,
23
+ register_data,
24
+ deregister_data,
25
+ )
26
+
27
+ from .template_spaces import get_template, get_xfm
28
+
29
+ from . import utils
@@ -0,0 +1,251 @@
1
+ """Provide dispatch functions for pipeline data registries."""
2
+
3
+ # Authors: Synchon Mandal <s.mandal@fz-juelich.de>
4
+ # License: AGPL
5
+
6
+ from pathlib import Path
7
+ from typing import (
8
+ TYPE_CHECKING,
9
+ Any,
10
+ Callable,
11
+ Dict,
12
+ List,
13
+ Optional,
14
+ Tuple,
15
+ Union,
16
+ )
17
+
18
+ from numpy.typing import ArrayLike
19
+
20
+ from ..utils import raise_error
21
+ from .coordinates import CoordinatesRegistry
22
+ from .masks import MaskRegistry
23
+ from .parcellations import ParcellationRegistry
24
+
25
+
26
+ if TYPE_CHECKING:
27
+ from nibabel.nifti1 import Nifti1Image
28
+
29
+
30
+ __all__ = [
31
+ "get_data",
32
+ "list_data",
33
+ "load_data",
34
+ "register_data",
35
+ "deregister_data",
36
+ ]
37
+
38
+
39
+ def get_data(
40
+ kind: str,
41
+ names: Union[
42
+ str, # coordinates, parcellation, mask
43
+ List[str], # parcellation, mask
44
+ Dict, # mask
45
+ List[Dict], # mask
46
+ ],
47
+ target_data: Dict[str, Any],
48
+ extra_input: Optional[Dict[str, Any]] = None,
49
+ ) -> Union[
50
+ Tuple[ArrayLike, List[str]], # coordinates
51
+ Tuple["Nifti1Image", List[str]], # parcellation
52
+ "Nifti1Image", # mask
53
+ ]:
54
+ """Get tailored ``kind`` for ``target_data``.
55
+
56
+ Parameters
57
+ ----------
58
+ kind : {"coordinates", "parcellation", "mask"}
59
+ Kind of data to fetch and apply.
60
+ names : str or dict or list of str / dict
61
+ The registered name(s) of the data.
62
+ target_data : dict
63
+ The corresponding item of the data object to which the data
64
+ will be applied.
65
+ extra_input : dict, optional
66
+ The other fields in the data object. Useful for accessing other
67
+ data types that need to be used in the computation of data
68
+ (default None).
69
+
70
+ Returns
71
+ -------
72
+ tuple of numpy.ndarray, list of str; \
73
+ tuple of nibabel.nifti1.Nifti1Image, list of str; \
74
+ nibabel.nifti1.Nifti1Image
75
+
76
+ Raises
77
+ ------
78
+ ValueError
79
+ If ``kind`` is invalid value.
80
+
81
+ """
82
+
83
+ if kind == "coordinates":
84
+ return CoordinatesRegistry().get(
85
+ coords=names,
86
+ target_data=target_data,
87
+ extra_input=extra_input,
88
+ )
89
+ elif kind == "parcellation":
90
+ return ParcellationRegistry().get(
91
+ parcellations=names,
92
+ target_data=target_data,
93
+ extra_input=extra_input,
94
+ )
95
+ elif kind == "mask":
96
+ return MaskRegistry().get(
97
+ masks=names,
98
+ target_data=target_data,
99
+ extra_input=extra_input,
100
+ )
101
+ else:
102
+ raise_error(f"Unknown data kind: {kind}")
103
+
104
+
105
+ def list_data(kind: str) -> List[str]:
106
+ """List available data for ``kind``.
107
+
108
+ Parameters
109
+ ----------
110
+ kind : {"coordinates", "parcellation", "mask"}
111
+ Kind of data registry to list.
112
+
113
+ Returns
114
+ -------
115
+ list of str
116
+ Available data for the registry.
117
+
118
+ Raises
119
+ ------
120
+ ValueError
121
+ If ``kind`` is invalid value.
122
+
123
+ """
124
+
125
+ if kind == "coordinates":
126
+ return CoordinatesRegistry().list
127
+ elif kind == "parcellation":
128
+ return ParcellationRegistry().list
129
+ elif kind == "mask":
130
+ return MaskRegistry().list
131
+ else:
132
+ raise_error(f"Unknown data kind: {kind}")
133
+
134
+
135
+ def load_data(
136
+ kind: str,
137
+ name: str,
138
+ **kwargs,
139
+ ) -> Union[
140
+ Tuple[ArrayLike, List[str], str], # coordinates
141
+ Tuple[Optional["Nifti1Image"], List[str], Path, str], # parcellation
142
+ Tuple[
143
+ Optional[Union["Nifti1Image", Callable]], Optional[Path], str
144
+ ], # mask
145
+ ]:
146
+ """Load ``kind`` named ``name``.
147
+
148
+ Parameters
149
+ ----------
150
+ kind : {"coordinates", "parcellation", "mask"}
151
+ Kind of data to load.
152
+ name : str
153
+ The registered name of the data.
154
+ **kwargs
155
+ Keyword arguments are passed to respective registry class method.
156
+
157
+ Returns
158
+ -------
159
+ tuple of numpy.ndarray, list of str, str; \
160
+ tuple of nibabel.nifti1.Nifti1Image or None, \
161
+ list of str, pathlib.Path, str; \
162
+ tuple of nibabel.nifti1.Nifti1Image or callable or None, \
163
+ pathlib.Path or None, str
164
+
165
+ Raises
166
+ ------
167
+ ValueError
168
+ If ``kind`` is invalid value.
169
+
170
+ """
171
+
172
+ if kind == "coordinates":
173
+ return CoordinatesRegistry().load(name=name)
174
+ elif kind == "parcellation":
175
+ return ParcellationRegistry().load(name=name, **kwargs)
176
+ elif kind == "mask":
177
+ return MaskRegistry().load(name=name, **kwargs)
178
+ else:
179
+ raise_error(f"Unknown data kind: {kind}")
180
+
181
+
182
+ def register_data(
183
+ kind: str,
184
+ name: str,
185
+ space: str,
186
+ overwrite: bool = False,
187
+ **kwargs,
188
+ ) -> None:
189
+ """Register ``name`` under ``kind``.
190
+
191
+ Parameters
192
+ ----------
193
+ kind : {"coordinates", "parcellation", "mask"}
194
+ Kind of data to register.
195
+ name : str
196
+ The name to register.
197
+ space : str
198
+ The template space of the data.
199
+ overwrite : bool, optional
200
+ If True, overwrite an existing data with the same name.
201
+ **kwargs
202
+ Keyword arguments are passed to respective registry class method.
203
+
204
+ Raises
205
+ ------
206
+ ValueError
207
+ If ``kind`` is invalid value.
208
+
209
+ """
210
+
211
+ if kind == "coordinates":
212
+ return CoordinatesRegistry().register(
213
+ name=name, space=space, overwrite=overwrite, **kwargs
214
+ )
215
+ elif kind == "parcellation":
216
+ return ParcellationRegistry().register(
217
+ name=name, space=space, overwrite=overwrite, **kwargs
218
+ )
219
+ elif kind == "mask":
220
+ return MaskRegistry().load(
221
+ name=name, space=space, overwrite=overwrite, **kwargs
222
+ )
223
+ else:
224
+ raise_error(f"Unknown data kind: {kind}")
225
+
226
+
227
+ def deregister_data(kind: str, name: str) -> None:
228
+ """De-register ``name`` from ``kind``.
229
+
230
+ Parameters
231
+ ----------
232
+ kind : {"coordinates", "parcellation", "mask"}
233
+ Kind of data to register.
234
+ name : str
235
+ The name to de-register.
236
+
237
+ Raises
238
+ ------
239
+ ValueError
240
+ If ``kind`` is invalid value.
241
+
242
+ """
243
+
244
+ if kind == "coordinates":
245
+ return CoordinatesRegistry().deregister(name=name)
246
+ elif kind == "parcellation":
247
+ return ParcellationRegistry().register(name=name)
248
+ elif kind == "mask":
249
+ return MaskRegistry().load(name=name)
250
+ else:
251
+ raise_error(f"Unknown data kind: {kind}")
@@ -0,0 +1,9 @@
1
+ """Coordinates."""
2
+
3
+ # Authors: Synchon Mandal <s.mandal@fz-juelich.de>
4
+ # License: AGPL
5
+
6
+ import lazy_loader as lazy
7
+
8
+
9
+ __getattr__, __dir__, __all__ = lazy.attach_stub(__name__, __file__)
@@ -0,0 +1,5 @@
1
+ __all__ = [
2
+ "CoordinatesRegistry",
3
+ ]
4
+
5
+ from ._coordinates import CoordinatesRegistry