junifer 0.0.8.dev24__tar.gz → 0.0.8.dev189__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.dev24 → junifer-0.0.8.dev189}/PKG-INFO +6 -1
  2. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/api/onthefly.rst +1 -1
  3. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/builtin.rst +3 -3
  4. junifer-0.0.8.dev189/docs/changes/newsfragments/239.enh +1 -0
  5. junifer-0.0.8.dev189/docs/changes/newsfragments/364.doc +1 -0
  6. junifer-0.0.8.dev189/docs/changes/newsfragments/364.enh +1 -0
  7. junifer-0.0.8.dev189/docs/changes/newsfragments/364.feature +1 -0
  8. junifer-0.0.8.dev189/docs/changes/newsfragments/502.bugfix +1 -0
  9. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/conf.py +12 -0
  10. junifer-0.0.8.dev189/docs/extending/confounds_format.rst +22 -0
  11. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/extending/datagrabber.rst +51 -66
  12. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/extending/dependencies.rst +9 -11
  13. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/extending/index.rst +2 -0
  14. junifer-0.0.8.dev189/docs/extending/logging.rst +38 -0
  15. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/extending/marker.rst +40 -48
  16. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/extending/parcellations.rst +1 -1
  17. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/extending/preprocessor.rst +19 -25
  18. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/whats_new.rst +1 -1
  19. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/examples/run_compute_parcel_mean.py +9 -2
  20. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/examples/run_datagrabber_bids_datalad.py +2 -2
  21. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/examples/run_junifer_julearn.py +1 -1
  22. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/_version.py +3 -3
  23. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/functions.py +8 -1
  24. junifer-0.0.8.dev189/junifer/api/queue_context/__init__.pyi +13 -0
  25. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/queue_context/gnu_parallel_local_adapter.py +73 -113
  26. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/queue_context/htcondor_adapter.py +106 -172
  27. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/queue_context/queue_context_adapter.py +51 -3
  28. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +3 -27
  29. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/queue_context/tests/test_htcondor_adapter.py +4 -40
  30. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/tests/test_functions.py +1 -1
  31. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/cli/parser.py +5 -1
  32. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/cli/tests/data/gmd_mean_htcondor.yaml +1 -0
  33. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/cli/tests/test_cli_utils.py +3 -0
  34. junifer-0.0.8.dev189/junifer/configs/__init__.py +9 -0
  35. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/configs/juseless/datagrabbers/__init__.pyi +4 -2
  36. junifer-0.0.8.dev189/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +42 -0
  37. junifer-0.0.8.dev189/junifer/configs/juseless/datagrabbers/camcan_vbm.py +45 -0
  38. junifer-0.0.8.dev189/junifer/configs/juseless/datagrabbers/ixi_vbm.py +68 -0
  39. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -7
  40. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -16
  41. junifer-0.0.8.dev189/junifer/configs/juseless/datagrabbers/ucla.py +156 -0
  42. junifer-0.0.8.dev189/junifer/configs/juseless/datagrabbers/ukb_vbm.py +45 -0
  43. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/conftest.py +4 -3
  44. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/_dispatch.py +1 -1
  45. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/coordinates/_ants_coordinates_warper.py +4 -1
  46. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/coordinates/_coordinates.py +5 -1
  47. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/coordinates/_fsl_coordinates_warper.py +4 -1
  48. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/maps/_ants_maps_warper.py +4 -1
  49. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/maps/_fsl_maps_warper.py +4 -1
  50. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/maps/_maps.py +5 -1
  51. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/masks/_ants_mask_warper.py +4 -1
  52. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/masks/_fsl_mask_warper.py +4 -1
  53. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/masks/_masks.py +5 -1
  54. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/masks/tests/test_masks.py +6 -6
  55. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/parcellations/_ants_parcellation_warper.py +4 -1
  56. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/parcellations/_fsl_parcellation_warper.py +4 -1
  57. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/parcellations/_parcellations.py +11 -3
  58. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/template_spaces.py +5 -1
  59. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/utils.py +4 -1
  60. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/datagrabber/__init__.pyi +38 -5
  61. junifer-0.0.8.dev189/junifer/datagrabber/aomic/__init__.pyi +12 -0
  62. junifer-0.0.8.dev189/junifer/datagrabber/aomic/_types.py +22 -0
  63. junifer-0.0.8.dev189/junifer/datagrabber/aomic/id1000.py +245 -0
  64. junifer-0.0.8.dev189/junifer/datagrabber/aomic/piop1.py +315 -0
  65. junifer-0.0.8.dev189/junifer/datagrabber/aomic/piop2.py +298 -0
  66. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/datagrabber/aomic/tests/test_id1000.py +33 -50
  67. junifer-0.0.8.dev189/junifer/datagrabber/aomic/tests/test_piop1.py +156 -0
  68. junifer-0.0.8.dev189/junifer/datagrabber/aomic/tests/test_piop2.py +141 -0
  69. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/datagrabber/base.py +80 -46
  70. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/datagrabber/datalad_base.py +117 -72
  71. junifer-0.0.8.dev189/junifer/datagrabber/dmcc13_benchmark.py +380 -0
  72. junifer-0.0.8.dev189/junifer/datagrabber/hcp1200/__init__.pyi +9 -0
  73. junifer-0.0.8.dev189/junifer/datagrabber/hcp1200/datalad_hcp1200.py +69 -0
  74. junifer-0.0.8.dev189/junifer/datagrabber/hcp1200/hcp1200.py +212 -0
  75. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +54 -127
  76. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/datagrabber/multiple.py +36 -20
  77. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/datagrabber/pattern.py +61 -168
  78. junifer-0.0.8.dev189/junifer/datagrabber/pattern_datalad.py +63 -0
  79. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/datagrabber/pattern_validation_mixin.py +22 -50
  80. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/datagrabber/tests/test_base.py +4 -4
  81. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/datagrabber/tests/test_datalad_base.py +14 -25
  82. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +62 -116
  83. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/datagrabber/tests/test_multiple.py +29 -26
  84. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/datagrabber/tests/test_pattern.py +19 -24
  85. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/datagrabber/tests/test_pattern_datalad.py +68 -106
  86. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/datagrabber/tests/test_pattern_validation_mixin.py +6 -47
  87. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/datareader/default.py +6 -2
  88. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/datareader/tests/test_default_reader.py +1 -1
  89. junifer-0.0.8.dev189/junifer/external/BrainPrint/.codecov.yml +2 -0
  90. junifer-0.0.8.dev189/junifer/external/BrainPrint/.codespellignore +2 -0
  91. junifer-0.0.8.dev189/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/bug-report.md +45 -0
  92. junifer-0.0.8.dev189/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/documentation.md +12 -0
  93. junifer-0.0.8.dev189/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/feature-request.md +24 -0
  94. junifer-0.0.8.dev189/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/questions-help-support.md +28 -0
  95. junifer-0.0.8.dev189/junifer/external/BrainPrint/.github/dependabot.yml +6 -0
  96. junifer-0.0.8.dev189/junifer/external/BrainPrint/.github/workflows/build.yml +53 -0
  97. junifer-0.0.8.dev189/junifer/external/BrainPrint/.github/workflows/code-style.yml +44 -0
  98. junifer-0.0.8.dev189/junifer/external/BrainPrint/.github/workflows/doc.yml +65 -0
  99. junifer-0.0.8.dev189/junifer/external/BrainPrint/.github/workflows/publish.yml +31 -0
  100. junifer-0.0.8.dev189/junifer/external/BrainPrint/.github/workflows/pytest.yml +54 -0
  101. junifer-0.0.8.dev189/junifer/external/BrainPrint/.gitignore +123 -0
  102. junifer-0.0.8.dev189/junifer/external/BrainPrint/LICENSE +21 -0
  103. junifer-0.0.8.dev189/junifer/external/BrainPrint/README.md +108 -0
  104. junifer-0.0.8.dev189/junifer/external/BrainPrint/brainprint/cli/__init__.py +11 -0
  105. junifer-0.0.8.dev189/junifer/external/BrainPrint/brainprint/cli/help_text.py +169 -0
  106. junifer-0.0.8.dev189/junifer/external/BrainPrint/brainprint/cli/parser.py +150 -0
  107. junifer-0.0.8.dev189/junifer/external/BrainPrint/brainprint/cli/utils.py +14 -0
  108. junifer-0.0.8.dev189/junifer/external/BrainPrint/brainprint/commands/sys_info.py +18 -0
  109. junifer-0.0.8.dev189/junifer/external/BrainPrint/brainprint/utils/tests/test_config.py +33 -0
  110. junifer-0.0.8.dev189/junifer/external/BrainPrint/doc/Makefile +20 -0
  111. junifer-0.0.8.dev189/junifer/external/BrainPrint/doc/_templates/autosummary/class.rst +10 -0
  112. junifer-0.0.8.dev189/junifer/external/BrainPrint/doc/_templates/autosummary/function.rst +8 -0
  113. junifer-0.0.8.dev189/junifer/external/BrainPrint/doc/_templates/autosummary/module.rst +6 -0
  114. junifer-0.0.8.dev189/junifer/external/BrainPrint/doc/api/index.rst +11 -0
  115. junifer-0.0.8.dev189/junifer/external/BrainPrint/doc/conf.py +272 -0
  116. junifer-0.0.8.dev189/junifer/external/BrainPrint/doc/index.rst +140 -0
  117. junifer-0.0.8.dev189/junifer/external/BrainPrint/doc/links.inc +36 -0
  118. junifer-0.0.8.dev189/junifer/external/BrainPrint/doc/make.bat +35 -0
  119. junifer-0.0.8.dev189/junifer/external/BrainPrint/doc/references.bib +23 -0
  120. junifer-0.0.8.dev189/junifer/external/BrainPrint/pyproject.toml +170 -0
  121. junifer-0.0.8.dev189/junifer/external/BrainPrint/setup.py +3 -0
  122. junifer-0.0.8.dev189/junifer/external/__init__.py +9 -0
  123. junifer-0.0.8.dev189/junifer/external/h5io/.coveragerc +7 -0
  124. junifer-0.0.8.dev189/junifer/external/h5io/.gitattributes +1 -0
  125. junifer-0.0.8.dev189/junifer/external/h5io/.gitignore +16 -0
  126. junifer-0.0.8.dev189/junifer/external/h5io/.travis.yml +58 -0
  127. junifer-0.0.8.dev189/junifer/external/h5io/.vscode/launch.json +17 -0
  128. junifer-0.0.8.dev189/junifer/external/h5io/.vscode/settings.json +8 -0
  129. junifer-0.0.8.dev189/junifer/external/h5io/LICENSE.txt +24 -0
  130. junifer-0.0.8.dev189/junifer/external/h5io/MANIFEST.in +2 -0
  131. junifer-0.0.8.dev189/junifer/external/h5io/Makefile +45 -0
  132. junifer-0.0.8.dev189/junifer/external/h5io/README.rst +94 -0
  133. junifer-0.0.8.dev189/junifer/external/h5io/azure-pipelines.yml +39 -0
  134. junifer-0.0.8.dev189/junifer/external/h5io/h5io/tests/test_chunked_array.py +82 -0
  135. junifer-0.0.8.dev189/junifer/external/h5io/h5io/tests/test_chunked_list.py +46 -0
  136. junifer-0.0.8.dev189/junifer/external/h5io/h5io/tests/test_io.py +312 -0
  137. junifer-0.0.8.dev189/junifer/external/h5io/setup.cfg +14 -0
  138. junifer-0.0.8.dev189/junifer/external/h5io/setup.py +63 -0
  139. junifer-0.0.8.dev189/junifer/external/h5io/versioneer.py +1822 -0
  140. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/__init__.pyi +6 -3
  141. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/base.py +110 -71
  142. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/brainprint.py +28 -35
  143. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/complexity/complexity_base.py +30 -29
  144. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/complexity/hurst_exponent.py +22 -33
  145. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/complexity/multiscale_entropy_auc.py +23 -33
  146. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/complexity/perm_entropy.py +22 -34
  147. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/complexity/range_entropy.py +22 -33
  148. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/complexity/range_entropy_auc.py +22 -33
  149. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/complexity/sample_entropy.py +22 -34
  150. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/complexity/tests/test_hurst_exponent.py +2 -1
  151. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +2 -1
  152. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/complexity/tests/test_perm_entropy.py +2 -1
  153. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/complexity/tests/test_range_entropy.py +2 -1
  154. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/complexity/tests/test_range_entropy_auc.py +2 -1
  155. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/complexity/tests/test_sample_entropy.py +2 -1
  156. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +2 -1
  157. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/complexity/weighted_perm_entropy.py +22 -34
  158. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/ets_rss.py +26 -27
  159. junifer-0.0.8.dev189/junifer/markers/falff/__init__.pyi +11 -0
  160. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/falff/_afni_falff.py +9 -5
  161. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/falff/_junifer_falff.py +1 -1
  162. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/falff/falff_base.py +59 -58
  163. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/falff/falff_maps.py +14 -38
  164. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/falff/falff_parcels.py +24 -49
  165. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/falff/falff_spheres.py +32 -59
  166. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/falff/tests/test_falff_maps.py +11 -11
  167. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/falff/tests/test_falff_parcels.py +12 -9
  168. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/falff/tests/test_falff_spheres.py +12 -9
  169. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +31 -33
  170. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/functional_connectivity/edge_functional_connectivity_maps.py +10 -23
  171. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +18 -33
  172. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +23 -43
  173. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/functional_connectivity/functional_connectivity_base.py +36 -35
  174. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/functional_connectivity/functional_connectivity_maps.py +10 -23
  175. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +18 -33
  176. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +23 -44
  177. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +8 -4
  178. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_maps.py +2 -2
  179. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +4 -3
  180. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +4 -3
  181. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_maps.py +2 -2
  182. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +5 -4
  183. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +4 -11
  184. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/maps_aggregation.py +67 -51
  185. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/parcel_aggregation.py +82 -64
  186. junifer-0.0.8.dev189/junifer/markers/reho/__init__.pyi +11 -0
  187. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/reho/_afni_reho.py +9 -5
  188. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/reho/_junifer_reho.py +2 -1
  189. junifer-0.0.8.dev189/junifer/markers/reho/reho_base.py +195 -0
  190. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/reho/reho_maps.py +12 -28
  191. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/reho/reho_parcels.py +21 -38
  192. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/reho/reho_spheres.py +28 -51
  193. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/reho/tests/test_reho_maps.py +9 -9
  194. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/reho/tests/test_reho_parcels.py +13 -8
  195. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/reho/tests/test_reho_spheres.py +11 -8
  196. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/sphere_aggregation.py +84 -70
  197. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/temporal_snr/temporal_snr_base.py +24 -24
  198. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/temporal_snr/temporal_snr_maps.py +7 -16
  199. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/temporal_snr/temporal_snr_parcels.py +18 -26
  200. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/temporal_snr/temporal_snr_spheres.py +26 -40
  201. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +2 -2
  202. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/temporal_snr/tests/test_temporal_snr_maps.py +3 -4
  203. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +3 -3
  204. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +3 -11
  205. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/tests/test_brainprint.py +10 -9
  206. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/tests/test_ets_rss.py +2 -2
  207. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/tests/test_maps_aggregation.py +34 -34
  208. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/tests/test_markers_base.py +6 -6
  209. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/tests/test_parcel_aggregation.py +49 -46
  210. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/tests/test_sphere_aggregation.py +39 -36
  211. junifer-0.0.8.dev189/junifer/onthefly/__init__.py +9 -0
  212. junifer-0.0.8.dev24/junifer/onthefly/__init__.py → junifer-0.0.8.dev189/junifer/onthefly/__init__.pyi +1 -7
  213. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/onthefly/read_transform.py +5 -1
  214. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/onthefly/tests/test_read_transform.py +7 -7
  215. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/pipeline/__init__.pyi +4 -2
  216. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/pipeline/marker_collection.py +10 -5
  217. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/pipeline/pipeline_component_registry.py +16 -2
  218. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/pipeline/pipeline_step_mixin.py +4 -3
  219. junifer-0.0.8.dev189/junifer/pipeline/py.typed +0 -0
  220. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/pipeline/tests/test_marker_collection.py +3 -3
  221. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/pipeline/tests/test_pipeline_step_mixin.py +9 -26
  222. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/pipeline/tests/test_update_meta_mixin.py +3 -2
  223. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/pipeline/update_meta_mixin.py +2 -4
  224. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/pipeline/utils.py +17 -12
  225. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/pipeline/workdir_manager.py +5 -5
  226. junifer-0.0.8.dev189/junifer/preprocess/__init__.pyi +20 -0
  227. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/preprocess/_temporal_filter.py +17 -23
  228. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/preprocess/_temporal_slicer.py +11 -26
  229. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/preprocess/base.py +95 -52
  230. junifer-0.0.8.dev189/junifer/preprocess/confounds/__init__.pyi +11 -0
  231. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/preprocess/confounds/fmriprep_confound_remover.py +68 -97
  232. junifer-0.0.8.dev189/junifer/preprocess/confounds/py.typed +0 -0
  233. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +32 -37
  234. junifer-0.0.8.dev189/junifer/preprocess/py.typed +0 -0
  235. junifer-0.0.8.dev189/junifer/preprocess/smoothing/__init__.pyi +3 -0
  236. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/preprocess/smoothing/_afni_smoothing.py +4 -3
  237. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/preprocess/smoothing/_fsl_smoothing.py +4 -3
  238. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/preprocess/smoothing/_nilearn_smoothing.py +1 -1
  239. junifer-0.0.8.dev189/junifer/preprocess/smoothing/py.typed +0 -0
  240. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/preprocess/smoothing/smoothing.py +58 -39
  241. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/preprocess/smoothing/tests/test_smoothing.py +4 -4
  242. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/preprocess/tests/test_preprocess_base.py +3 -5
  243. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/preprocess/tests/test_temporal_filter.py +3 -3
  244. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/preprocess/tests/test_temporal_slicer.py +0 -8
  245. junifer-0.0.8.dev189/junifer/preprocess/warping/__init__.pyi +3 -0
  246. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/preprocess/warping/_ants_warper.py +4 -3
  247. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/preprocess/warping/_fsl_warper.py +4 -3
  248. junifer-0.0.8.dev189/junifer/preprocess/warping/py.typed +0 -0
  249. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/preprocess/warping/space_warper.py +69 -63
  250. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/preprocess/warping/tests/test_space_warper.py +43 -41
  251. junifer-0.0.8.dev189/junifer/py.typed +0 -0
  252. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/stats.py +41 -30
  253. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/storage/__init__.pyi +8 -4
  254. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/storage/base.py +54 -43
  255. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/storage/hdf5.py +33 -72
  256. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/storage/pandas_base.py +5 -13
  257. junifer-0.0.8.dev189/junifer/storage/py.typed +0 -0
  258. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/storage/sqlite.py +27 -40
  259. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/storage/tests/test_hdf5.py +0 -12
  260. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/storage/tests/test_sqlite.py +7 -17
  261. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/storage/tests/test_storage_base.py +15 -20
  262. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/storage/tests/test_utils.py +0 -10
  263. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/storage/utils.py +31 -31
  264. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/testing/datagrabbers.py +33 -34
  265. junifer-0.0.8.dev189/junifer/testing/py.typed +0 -0
  266. junifer-0.0.8.dev189/junifer/testing/tests/test_testing_registry.py +39 -0
  267. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/tests/test_stats.py +0 -2
  268. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/typing/_typing.py +29 -12
  269. junifer-0.0.8.dev189/junifer/typing/py.typed +0 -0
  270. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/utils/__init__.pyi +3 -1
  271. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/utils/helpers.py +20 -1
  272. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/utils/logging.py +2 -1
  273. junifer-0.0.8.dev189/junifer/utils/py.typed +0 -0
  274. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer.egg-info/PKG-INFO +6 -1
  275. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer.egg-info/SOURCES.txt +71 -0
  276. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer.egg-info/requires.txt +7 -0
  277. junifer-0.0.8.dev189/junifer.egg-info/scm_file_list.json +541 -0
  278. junifer-0.0.8.dev189/junifer.egg-info/scm_version.json +8 -0
  279. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/pyproject.toml +5 -0
  280. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/uv.lock +525 -0
  281. junifer-0.0.8.dev24/junifer/api/queue_context/__init__.pyi +0 -5
  282. junifer-0.0.8.dev24/junifer/configs/__init__.py +0 -4
  283. junifer-0.0.8.dev24/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -47
  284. junifer-0.0.8.dev24/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -51
  285. junifer-0.0.8.dev24/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -75
  286. junifer-0.0.8.dev24/junifer/configs/juseless/datagrabbers/ucla.py +0 -146
  287. junifer-0.0.8.dev24/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -50
  288. junifer-0.0.8.dev24/junifer/datagrabber/aomic/__init__.pyi +0 -5
  289. junifer-0.0.8.dev24/junifer/datagrabber/aomic/id1000.py +0 -234
  290. junifer-0.0.8.dev24/junifer/datagrabber/aomic/piop1.py +0 -311
  291. junifer-0.0.8.dev24/junifer/datagrabber/aomic/piop2.py +0 -296
  292. junifer-0.0.8.dev24/junifer/datagrabber/aomic/tests/test_piop1.py +0 -198
  293. junifer-0.0.8.dev24/junifer/datagrabber/aomic/tests/test_piop2.py +0 -177
  294. junifer-0.0.8.dev24/junifer/datagrabber/dmcc13_benchmark.py +0 -367
  295. junifer-0.0.8.dev24/junifer/datagrabber/hcp1200/__init__.pyi +0 -4
  296. junifer-0.0.8.dev24/junifer/datagrabber/hcp1200/datalad_hcp1200.py +0 -75
  297. junifer-0.0.8.dev24/junifer/datagrabber/hcp1200/hcp1200.py +0 -202
  298. junifer-0.0.8.dev24/junifer/datagrabber/pattern_datalad.py +0 -163
  299. junifer-0.0.8.dev24/junifer/external/__init__.py +0 -4
  300. junifer-0.0.8.dev24/junifer/markers/falff/__init__.pyi +0 -5
  301. junifer-0.0.8.dev24/junifer/markers/reho/__init__.pyi +0 -5
  302. junifer-0.0.8.dev24/junifer/markers/reho/reho_base.py +0 -138
  303. junifer-0.0.8.dev24/junifer/preprocess/__init__.pyi +0 -15
  304. junifer-0.0.8.dev24/junifer/preprocess/confounds/__init__.pyi +0 -3
  305. junifer-0.0.8.dev24/junifer/preprocess/smoothing/__init__.pyi +0 -3
  306. junifer-0.0.8.dev24/junifer/preprocess/warping/__init__.pyi +0 -3
  307. junifer-0.0.8.dev24/junifer/testing/tests/test_testing_registry.py +0 -16
  308. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.dockerignore +0 -0
  309. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  310. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  311. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
  312. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
  313. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  314. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
  315. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.github/dependabot.yml +0 -0
  316. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.github/pull_request_template.md +0 -0
  317. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.github/workflows/check-stale.yml +0 -0
  318. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.github/workflows/ci-docs.yml +0 -0
  319. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.github/workflows/ci.yml +0 -0
  320. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.github/workflows/docker-ci-publish.yml +0 -0
  321. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.github/workflows/docker-docs-publish.yml +0 -0
  322. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.github/workflows/docker-publish.yml +0 -0
  323. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.github/workflows/docs-preview.yml +0 -0
  324. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.github/workflows/docs.yml +0 -0
  325. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.github/workflows/lint.yml +0 -0
  326. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.github/workflows/publish.yml +0 -0
  327. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.gitignore +0 -0
  328. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.gitmodules +0 -0
  329. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.pre-commit-config.yaml +0 -0
  330. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/.python-version +0 -0
  331. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/AUTHORS.rst +0 -0
  332. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/Dockerfile +0 -0
  333. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/Dockerfile-ci +0 -0
  334. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/Dockerfile-docs +0 -0
  335. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/LICENSE.md +0 -0
  336. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/README.md +0 -0
  337. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/codecov.yml +0 -0
  338. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/conda-env.yml +0 -0
  339. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/Makefile +0 -0
  340. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/_static/css/custom.css +0 -0
  341. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/_static/js/custom.js +0 -0
  342. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/_templates/versions.html +0 -0
  343. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/api/api.rst +0 -0
  344. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/api/cli.rst +0 -0
  345. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/api/configs.rst +0 -0
  346. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/api/data.rst +0 -0
  347. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/api/datagrabbers.rst +0 -0
  348. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/api/datareaders.rst +0 -0
  349. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/api/index.rst +0 -0
  350. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/api/markers.rst +0 -0
  351. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/api/nilearn.rst +0 -0
  352. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/api/pipeline.rst +0 -0
  353. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/api/preprocessing.rst +0 -0
  354. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/api/stats.rst +0 -0
  355. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/api/storage.rst +0 -0
  356. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/api/testing.rst +0 -0
  357. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/api/utils.rst +0 -0
  358. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/changes/contributors.inc +0 -0
  359. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/changes/newsfragments/.gitignore +0 -0
  360. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/changes/newsfragments/474.misc +0 -0
  361. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/changes/newsfragments/482.bugfix +0 -0
  362. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/changes/newsfragments/492.bugfix +0 -0
  363. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/contribution.rst +0 -0
  364. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/extending/coordinates.rst +0 -0
  365. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/extending/data_dump_asset.rst +0 -0
  366. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/extending/data_registries.rst +0 -0
  367. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/extending/data_types.rst +0 -0
  368. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/extending/extension.rst +0 -0
  369. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/extending/maps.rst +0 -0
  370. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/extending/masks.rst +0 -0
  371. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/extending/plugins.rst +0 -0
  372. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/faq.rst +0 -0
  373. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/help.rst +0 -0
  374. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/images/junifer_logo.png +0 -0
  375. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/index.rst +0 -0
  376. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/installation.rst +0 -0
  377. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/links.inc +0 -0
  378. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/maintaining.rst +0 -0
  379. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/redirect.html +0 -0
  380. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/starting.rst +0 -0
  381. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/understanding/data.rst +0 -0
  382. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/understanding/datagrabber.rst +0 -0
  383. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/understanding/datareader.rst +0 -0
  384. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/understanding/index.rst +0 -0
  385. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/understanding/marker.rst +0 -0
  386. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/understanding/pipeline.rst +0 -0
  387. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/understanding/preprocess.rst +0 -0
  388. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/understanding/storage.rst +0 -0
  389. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/using/codeless.rst +0 -0
  390. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/using/configuring.rst +0 -0
  391. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/using/dumping.rst +0 -0
  392. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/using/index.rst +0 -0
  393. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/using/masks.rst +0 -0
  394. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/using/queueing.rst +0 -0
  395. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/docs/using/running.rst +0 -0
  396. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/examples/README.rst +0 -0
  397. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/examples/norun_hcpfc_pearson.py +0 -0
  398. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/examples/norun_ukbvm_gmd.py +0 -0
  399. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/examples/run_ets_rss_marker.py +0 -0
  400. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/examples/run_run_gmd_mean.py +0 -0
  401. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/examples/yamls/gmd_mean.yaml +0 -0
  402. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
  403. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
  404. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/examples/yamls/ukb_gmd_mean.yaml +0 -0
  405. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/ignore_words.txt +0 -0
  406. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/__init__.py +0 -0
  407. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/__init__.pyi +0 -0
  408. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/__init__.py +0 -0
  409. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/__init__.pyi +0 -0
  410. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/decorators.py +0 -0
  411. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/py.typed +0 -0
  412. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/queue_context/__init__.py +0 -0
  413. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/queue_context/py.typed +0 -0
  414. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
  415. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/afni/3dRSFC +0 -0
  416. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/afni/3dReHo +0 -0
  417. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/afni/afni +0 -0
  418. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/afni/run_afni_docker.sh +0 -0
  419. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/ants/ResampleImage +0 -0
  420. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/ants/antsApplyTransforms +0 -0
  421. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
  422. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/ants/run_ants_docker.sh +0 -0
  423. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/freesurfer/mri_binarize +0 -0
  424. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/freesurfer/mri_mc +0 -0
  425. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/freesurfer/mri_pretess +0 -0
  426. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/freesurfer/mris_convert +0 -0
  427. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
  428. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/fsl/applywarp +0 -0
  429. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/fsl/flirt +0 -0
  430. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/fsl/img2imgcoord +0 -0
  431. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
  432. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/fsl/std2imgcoord +0 -0
  433. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/run_conda.bash +0 -0
  434. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/run_conda.zsh +0 -0
  435. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/run_venv.bash +0 -0
  436. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/res/run_venv.zsh +0 -0
  437. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/api/tests/test_decorators.py +0 -0
  438. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/cli/__init__.py +0 -0
  439. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/cli/__init__.pyi +0 -0
  440. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/cli/cli.py +0 -0
  441. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/cli/py.typed +0 -0
  442. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/cli/tests/data/gmd_mean.yaml +0 -0
  443. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/cli/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
  444. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/cli/tests/test_cli.py +0 -0
  445. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/cli/tests/test_parser.py +0 -0
  446. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/cli/utils.py +0 -0
  447. /junifer-0.0.8.dev24/junifer/configs/juseless/datagrabbers/py.typed → /junifer-0.0.8.dev189/junifer/configs/__init__.pyi +0 -0
  448. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/configs/juseless/__init__.py +0 -0
  449. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/configs/juseless/__init__.pyi +0 -0
  450. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
  451. {junifer-0.0.8.dev24/junifer/configs/juseless → junifer-0.0.8.dev189/junifer/configs/juseless/datagrabbers}/py.typed +0 -0
  452. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
  453. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
  454. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
  455. {junifer-0.0.8.dev24/junifer/data → junifer-0.0.8.dev189/junifer/configs/juseless}/py.typed +0 -0
  456. {junifer-0.0.8.dev24/junifer/datagrabber/aomic → junifer-0.0.8.dev189/junifer/configs}/py.typed +0 -0
  457. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/__init__.py +0 -0
  458. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/__init__.pyi +0 -0
  459. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/coordinates/__init__.py +0 -0
  460. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/coordinates/__init__.pyi +0 -0
  461. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/coordinates/tests/test_coordinates.py +0 -0
  462. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/maps/__init__.py +0 -0
  463. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/maps/__init__.pyi +0 -0
  464. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/maps/tests/test_maps.py +0 -0
  465. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/masks/__init__.py +0 -0
  466. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/masks/__init__.pyi +0 -0
  467. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/parcellations/__init__.py +0 -0
  468. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/parcellations/__init__.pyi +0 -0
  469. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/parcellations/tests/test_parcellations.py +0 -0
  470. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/pipeline_data_registry_base.py +0 -0
  471. {junifer-0.0.8.dev24/junifer/datagrabber/hcp1200 → junifer-0.0.8.dev189/junifer/data}/py.typed +0 -0
  472. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/tests/test_data_utils.py +0 -0
  473. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/tests/test_dispatch.py +0 -0
  474. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/data/tests/test_template_spaces.py +0 -0
  475. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/datagrabber/__init__.py +0 -0
  476. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/datagrabber/aomic/__init__.py +0 -0
  477. {junifer-0.0.8.dev24/junifer/datagrabber → junifer-0.0.8.dev189/junifer/datagrabber/aomic}/py.typed +0 -0
  478. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/datagrabber/hcp1200/__init__.py +0 -0
  479. {junifer-0.0.8.dev24/junifer/datareader → junifer-0.0.8.dev189/junifer/datagrabber/hcp1200}/py.typed +0 -0
  480. {junifer-0.0.8.dev24/junifer/external/nilearn → junifer-0.0.8.dev189/junifer/datagrabber}/py.typed +0 -0
  481. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/datareader/__init__.py +0 -0
  482. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/datareader/__init__.pyi +0 -0
  483. {junifer-0.0.8.dev24/junifer/markers/complexity → junifer-0.0.8.dev189/junifer/datareader}/py.typed +0 -0
  484. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/external/BrainPrint/brainprint/__init__.py +0 -0
  485. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/external/BrainPrint/brainprint/_version.py +0 -0
  486. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/external/BrainPrint/brainprint/asymmetry.py +0 -0
  487. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/external/BrainPrint/brainprint/brainprint.py +0 -0
  488. /junifer-0.0.8.dev24/junifer/markers/falff/py.typed → /junifer-0.0.8.dev189/junifer/external/BrainPrint/brainprint/commands/__init__.py +0 -0
  489. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/external/BrainPrint/brainprint/surfaces.py +0 -0
  490. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/external/BrainPrint/brainprint/utils/__init__.py +0 -0
  491. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/external/BrainPrint/brainprint/utils/_config.py +0 -0
  492. /junifer-0.0.8.dev24/junifer/markers/functional_connectivity/py.typed → /junifer-0.0.8.dev189/junifer/external/BrainPrint/brainprint/utils/tests/__init__.py +0 -0
  493. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/external/BrainPrint/brainprint/utils/utils.py +0 -0
  494. /junifer-0.0.8.dev24/junifer/markers/py.typed → /junifer-0.0.8.dev189/junifer/external/BrainPrint/doc/_static/.gitkeep +0 -0
  495. /junifer-0.0.8.dev24/junifer/markers/reho/py.typed → /junifer-0.0.8.dev189/junifer/external/__init__.pyi +0 -0
  496. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/external/h5io/h5io/__init__.py +0 -0
  497. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/external/h5io/h5io/_h5io.py +0 -0
  498. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/external/h5io/h5io/_version.py +0 -0
  499. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/external/h5io/h5io/chunked_array.py +0 -0
  500. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/external/h5io/h5io/chunked_list.py +0 -0
  501. /junifer-0.0.8.dev24/junifer/markers/temporal_snr/py.typed → /junifer-0.0.8.dev189/junifer/external/h5io/h5io/tests/__init__.py +0 -0
  502. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/external/nilearn/__init__.py +0 -0
  503. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/external/nilearn/__init__.pyi +0 -0
  504. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/external/nilearn/junifer_connectivity_measure.py +0 -0
  505. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +0 -0
  506. {junifer-0.0.8.dev24/junifer/pipeline → junifer-0.0.8.dev189/junifer/external/nilearn}/py.typed +0 -0
  507. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +0 -0
  508. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
  509. {junifer-0.0.8.dev24/junifer/preprocess/confounds → junifer-0.0.8.dev189/junifer/external}/py.typed +0 -0
  510. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/__init__.py +0 -0
  511. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/complexity/__init__.py +0 -0
  512. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/complexity/__init__.pyi +0 -0
  513. {junifer-0.0.8.dev24/junifer/preprocess → junifer-0.0.8.dev189/junifer/markers/complexity}/py.typed +0 -0
  514. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
  515. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/falff/__init__.py +0 -0
  516. {junifer-0.0.8.dev24/junifer/preprocess/smoothing → junifer-0.0.8.dev189/junifer/markers/falff}/py.typed +0 -0
  517. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/functional_connectivity/__init__.py +0 -0
  518. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/functional_connectivity/__init__.pyi +0 -0
  519. {junifer-0.0.8.dev24/junifer/preprocess/warping → junifer-0.0.8.dev189/junifer/markers/functional_connectivity}/py.typed +0 -0
  520. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
  521. {junifer-0.0.8.dev24/junifer → junifer-0.0.8.dev189/junifer/markers}/py.typed +0 -0
  522. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/reho/__init__.py +0 -0
  523. {junifer-0.0.8.dev24/junifer/storage → junifer-0.0.8.dev189/junifer/markers/reho}/py.typed +0 -0
  524. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/temporal_snr/__init__.py +0 -0
  525. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/temporal_snr/__init__.pyi +0 -0
  526. {junifer-0.0.8.dev24/junifer/testing → junifer-0.0.8.dev189/junifer/markers/temporal_snr}/py.typed +0 -0
  527. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/tests/test_marker_utils.py +0 -0
  528. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/markers/utils.py +0 -0
  529. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/onthefly/_brainprint.py +0 -0
  530. {junifer-0.0.8.dev24/junifer/utils → junifer-0.0.8.dev189/junifer/onthefly}/py.typed +0 -0
  531. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/pipeline/__init__.py +0 -0
  532. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/pipeline/_data_object_dumper.py +0 -0
  533. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/pipeline/tests/test_data_object_dumper.py +0 -0
  534. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/pipeline/tests/test_pipeline_component_registry.py +0 -0
  535. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
  536. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/preprocess/__init__.py +0 -0
  537. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/preprocess/confounds/__init__.py +0 -0
  538. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/preprocess/smoothing/__init__.py +0 -0
  539. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/preprocess/warping/__init__.py +0 -0
  540. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/storage/__init__.py +0 -0
  541. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/storage/tests/test_pandas_base.py +0 -0
  542. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/testing/__init__.py +0 -0
  543. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/testing/__init__.pyi +0 -0
  544. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
  545. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/testing/registry.py +0 -0
  546. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
  547. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
  548. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
  549. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/testing/utils.py +0 -0
  550. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/tests/test_main.py +0 -0
  551. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/typing/__init__.py +0 -0
  552. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/typing/__init__.pyi +0 -0
  553. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/utils/__init__.py +0 -0
  554. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/utils/_config.py +0 -0
  555. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/utils/_yaml.py +0 -0
  556. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/utils/fs.py +0 -0
  557. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/utils/singleton.py +0 -0
  558. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/utils/tests/test_config.py +0 -0
  559. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/utils/tests/test_fs.py +0 -0
  560. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/utils/tests/test_helpers.py +0 -0
  561. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer/utils/tests/test_logging.py +0 -0
  562. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer.egg-info/dependency_links.txt +0 -0
  563. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer.egg-info/entry_points.txt +0 -0
  564. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/junifer.egg-info/top_level.txt +0 -0
  565. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/justfile +0 -0
  566. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/setup.cfg +0 -0
  567. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/setup.py +0 -0
  568. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/tools/create_aomic1000_example_dataset.py +0 -0
  569. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/tools/create_aomicpiop1_example_dataset.py +0 -0
  570. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/tools/create_aomicpiop2_example_dataset.py +0 -0
  571. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/tools/create_bids_example_dataset.py +0 -0
  572. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/tools/create_bids_example_dataset_sessions.py +0 -0
  573. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
  574. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/tools/create_hcp1200_example_dataset.py +0 -0
  575. {junifer-0.0.8.dev24 → junifer-0.0.8.dev189}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: junifer
3
- Version: 0.0.8.dev24
3
+ Version: 0.0.8.dev189
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>
@@ -46,6 +46,9 @@ Requires-Dist: importlib_metadata; python_version < "3.9"
46
46
  Requires-Dist: looseversion==1.3.0; python_version >= "3.12"
47
47
  Requires-Dist: junifer_data==1.3.0
48
48
  Requires-Dist: structlog<26.0.0,>=25.0.0
49
+ Requires-Dist: pydantic>=2.11.4
50
+ Requires-Dist: aenum<3.2.0,>=3.1.0
51
+ Requires-Dist: typing_extensions<4.16.0,>=4.15.0; python_version < "3.12"
49
52
  Provides-Extra: all
50
53
  Requires-Dist: bctpy==0.6.0; extra == "all"
51
54
  Requires-Dist: neurokit2>=0.1.7; extra == "all"
@@ -72,6 +75,8 @@ Requires-Dist: towncrier<=25.8.0,>=24.7.0; extra == "docs"
72
75
  Requires-Dist: sphinxcontrib-mermaid<=1.0.0,>=0.8.1; extra == "docs"
73
76
  Requires-Dist: sphinxcontrib-towncrier==0.5.0a0; extra == "docs"
74
77
  Requires-Dist: setuptools-scm>=8; extra == "docs"
78
+ Requires-Dist: autodoc_pydantic>=2.0.0; extra == "docs"
79
+ Requires-Dist: enum-tools[sphinx]<0.14.0,>=0.13.0; extra == "docs"
75
80
  Dynamic: license-file
76
81
 
77
82
  ![Junifer logo](docs/images/junifer_logo.png "junifer logo")
@@ -5,5 +5,5 @@ On-the-fly
5
5
  :members:
6
6
  :imported-members:
7
7
 
8
- .. automodule:: junifer.onthefly.brainprint
8
+ .. automodule:: junifer.onthefly._brainprint
9
9
  :members:
@@ -158,16 +158,16 @@ Available
158
158
  | (subject-native or other template spaces)
159
159
  - Done
160
160
  - 0.0.4
161
- * - ``Smoothing``
161
+ * - :class:`.Smoothing`
162
162
  - | Apply smoothing to data, particularly useful when dealing with
163
163
  | ``fMRIPrep``-ed data
164
164
  - In Progress
165
165
  - :gh:`161`
166
- * - ``TemporalSlicer``
166
+ * - :class:`.TemporalSlicer`
167
167
  - Slice ``BOLD`` data temporally
168
168
  - | Done
169
169
  - :gh:`443`
170
- * - ``TemporalFilter``
170
+ * - :class:`.TemporalFilter`
171
171
  - Filter (clean) ``BOLD`` data temporally
172
172
  - | Done
173
173
  - :gh:`432`
@@ -0,0 +1 @@
1
+ Improve logging consistency of components by `Synchon Mandal`_
@@ -0,0 +1 @@
1
+ Add documentation on adding confounds format by `Synchon Mandal`_
@@ -0,0 +1 @@
1
+ Adopt Pydantic for user-facing core objects to perform automatic validation using typing annotations by `Synchon Mandal`_
@@ -0,0 +1 @@
1
+ Enable confounds format to be added by introducing :func:`.register_confounds_format` by `Synchon Mandal`_
@@ -0,0 +1 @@
1
+ Fix type issues and update model configs for :class:`.BaseDataGrabber`, :class:`.BasePreprocessor`, :class:`.BaseMarker` and :class:`.BaseStorage` by `Synchon Mandal`_
@@ -65,6 +65,8 @@ extensions = [
65
65
  "sphinx_copybutton", # copy button for code blocks
66
66
  "sphinxcontrib.mermaid", # mermaid support
67
67
  "sphinxcontrib.towncrier.ext", # towncrier fragment support
68
+ "sphinxcontrib.autodoc_pydantic", # autodoc support for pydantic models
69
+ "enum_tools.autoenum", # enum support
68
70
  ]
69
71
 
70
72
  if use_multiversion:
@@ -97,6 +99,15 @@ nitpick_ignore_regex = [
97
99
  ("py:class", "pipeline.Pipeline"), # nilearn
98
100
  ("py:obj", "neurokit2.*"), # ignore neurokit2
99
101
  ("py:obj", "datalad.*"), # ignore datalad
102
+ ("py:obj", "junifer.*"), # ignore junifer internal
103
+ ("py:class", "annotated_types.*"), # ignore pydantic annotated types
104
+ ("py:obj", "variants"), # ignore variants
105
+ ("py:obj", "them"), # ignore them
106
+ ("py:class", "junifer.utils.helpers.ensure_list"), # ignore ensure_list
107
+ ("py:class", "junifer.utils.helpers.ensure_list_or_none"), # ignore ensure_list_or_none
108
+ ("py:class", "PydanticUndefined"), # ignore PydanticUndefined
109
+ ("py:class", "FieldInfo"), # ignore FieldInfo
110
+ ("py:class", "NoneType"), # ignore NoneType
100
111
  ]
101
112
 
102
113
  # -- Options for HTML output -------------------------------------------------
@@ -154,6 +165,7 @@ intersphinx_mapping = {
154
165
  "pandas": ("https://pandas.pydata.org/pandas-docs/dev", None),
155
166
  # "sqlalchemy": ("https://docs.sqlalchemy.org/en/20/", None),
156
167
  "scipy": ("https://docs.scipy.org/doc/scipy/", None),
168
+ "pydantic": ("https://docs.pydantic.dev/latest/", None),
157
169
  }
158
170
 
159
171
  # -- sphinx.ext.extlinks configuration ---------------------------------------
@@ -0,0 +1,22 @@
1
+ .. include:: ../links.inc
2
+
3
+ .. _adding_confounds_format:
4
+
5
+ Adding Confounds Format
6
+ =======================
7
+
8
+ #. Check :ref:`extending junifer <extending_extension>` on how to create a
9
+ *junifer extension* if you have not done so.
10
+ #. Register the confounds format before defining / using a DataGrabber like so:
11
+
12
+ .. code-block:: python
13
+
14
+ from junifer.datagrabber import register_confounds_format
15
+ ...
16
+
17
+
18
+ # registers the confounds format as "confounds" and accessible as
19
+ # ``ConfoundsFormat.Confounds``
20
+ register_confounds_format(name="Confounds", alias="confounds")
21
+
22
+ ...
@@ -140,29 +140,24 @@ With the variables defined above, we can create our DataGrabber and name it
140
140
 
141
141
  from pathlib import Path
142
142
 
143
- from junifer.datagrabber import PatternDataGrabber
143
+ from junifer.datagrabber import PatternDataGrabber, DataType
144
+ from junifer.typing import DataGrabberPatterns
144
145
 
145
146
 
146
147
  class ExampleBIDSDataGrabber(PatternDataGrabber):
147
- def __init__(self, datadir: str | Path) -> None:
148
- types = ["T1w", "BOLD"]
149
- patterns = {
150
- "T1w": {
151
- "pattern": "{subject}/{session}/anat/{subject}_{session}_T1w.nii.gz",
152
- "space": "native",
153
- },
154
- "BOLD": {
155
- "pattern": "{subject}/{session}/func/{subject}_{session}_task-rest_bold.nii.gz",
156
- "space": "MNI152NLin6Asym",
157
- },
158
- }
159
- replacements = ["subject", "session"]
160
- super().__init__(
161
- datadir=datadir,
162
- types=types,
163
- patterns=patterns,
164
- replacements=replacements,
165
- )
148
+
149
+ types: list[DataType] = [DataType.T1w, DataType.BOLD]
150
+ patterns: DataGrabberPatterns = {
151
+ "T1w": {
152
+ "pattern": "{subject}/{session}/anat/{subject}_{session}_T1w.nii.gz",
153
+ "space": "native",
154
+ },
155
+ "BOLD": {
156
+ "pattern": "{subject}/{session}/func/{subject}_{session}_task-rest_bold.nii.gz",
157
+ "space": "MNI152NLin6Asym",
158
+ },
159
+ }
160
+ replacements: list[str] = ["subject", "session"]
166
161
 
167
162
  Our DataGrabber is ready to be used by ``junifer``. However, it is still unknown
168
163
  to the library. We need to register it in the library. To do so, we need to
@@ -175,29 +170,24 @@ use the :func:`.register_datagrabber` decorator.
175
170
 
176
171
  from junifer.api.decorators import register_datagrabber
177
172
  from junifer.datagrabber import PatternDataGrabber
173
+ from junifer.typing import DataGrabberPatterns
178
174
 
179
175
 
180
176
  @register_datagrabber
181
177
  class ExampleBIDSDataGrabber(PatternDataGrabber):
182
- def __init__(self, datadir: str | Path) -> None:
183
- types = ["T1w", "BOLD"]
184
- patterns = {
185
- "T1w": {
186
- "pattern": "{subject}/{session}/anat/{subject}_{session}_T1w.nii.gz",
187
- "space": "native",
188
- },
189
- "BOLD": {
190
- "pattern": "{subject}/{session}/func/{subject}_{session}_task-rest_bold.nii.gz",
191
- "space": "MNI152NLin6Asym",
192
- },
193
- }
194
- replacements = ["subject", "session"]
195
- super().__init__(
196
- datadir=datadir,
197
- types=types,
198
- patterns=patterns,
199
- replacements=replacements,
200
- )
178
+
179
+ types: list[DataType] = [DataType.T1w, DataType.BOLD]
180
+ patterns: DataGrabberPatterns = {
181
+ "T1w": {
182
+ "pattern": "{subject}/{session}/anat/{subject}_{session}_T1w.nii.gz",
183
+ "space": "native",
184
+ },
185
+ "BOLD": {
186
+ "pattern": "{subject}/{session}/func/{subject}_{session}_task-rest_bold.nii.gz",
187
+ "space": "MNI152NLin6Asym",
188
+ },
189
+ }
190
+ replacements: list[str] = ["subject", "session"]
201
191
 
202
192
 
203
193
  Now, we can use our DataGrabber in ``junifer``, by setting the ``datagrabber``
@@ -259,35 +249,30 @@ And we can create our DataGrabber:
259
249
 
260
250
  .. code-block:: python
261
251
 
252
+ from pathlib import Path
253
+
262
254
  from junifer.api.decorators import register_datagrabber
263
255
  from junifer.datagrabber import PatternDataladDataGrabber
256
+ from pydantic import AnyUrl
264
257
 
265
258
 
266
259
  @register_datagrabber
267
260
  class ExampleBIDSDataGrabber(PatternDataladDataGrabber):
268
- def __init__(self) -> None:
269
- types = ["T1w", "BOLD"]
270
- patterns = {
271
- "T1w": {
272
- "pattern": "{subject}/{session}/anat/{subject}_{session}_T1w.nii.gz",
273
- "space": "native",
274
- },
275
- "BOLD": {
276
- "pattern": "{subject}/{session}/func/{subject}_{session}_task-rest_bold.nii.gz",
277
- "space": "MNI152NLin6Asym",
278
- },
279
- }
280
- replacements = ["subject", "session"]
281
- uri = "https://gin.g-node.org/juaml/datalad-example-bids"
282
- rootdir = "example_bids_ses"
283
- super().__init__(
284
- datadir=None,
285
- uri=uri,
286
- rootdir=rootdir,
287
- types=types,
288
- patterns=patterns,
289
- replacements=replacements,
290
- )
261
+
262
+ uri: AnyUrl = "https://gin.g-node.org/juaml/datalad-example-bids"
263
+ types: list[DataType] = ["T1w", "BOLD"]
264
+ patterns: DataGrabberPatterns = {
265
+ "T1w": {
266
+ "pattern": "{subject}/{session}/anat/{subject}_{session}_T1w.nii.gz",
267
+ "space": "native",
268
+ },
269
+ "BOLD": {
270
+ "pattern": "{subject}/{session}/func/{subject}_{session}_task-rest_bold.nii.gz",
271
+ "space": "MNI152NLin6Asym",
272
+ },
273
+ }
274
+ replacements: list[str] = ["subject", "session"]
275
+ rootdir: Path = "example_bids_ses"
291
276
 
292
277
  This approach can be used directly from the YAML, like so:
293
278
 
@@ -376,8 +361,8 @@ need to implement the following methods:
376
361
 
377
362
  .. note::
378
363
 
379
- The ``__init__`` method could also be implemented, but it is not mandatory.
380
- This is required if the DataGrabber requires any extra parameter.
364
+ If the DataGrabber requires any extra parameter, they could be defined as
365
+ class attributes.
381
366
 
382
367
  We will now implement our BIDS example with this method.
383
368
 
@@ -494,8 +479,8 @@ more information about the format of the confounds file. Thus, the
494
479
  ``BOLD.confounds`` element is a dictionary with the following keys:
495
480
 
496
481
  - ``path``: the path to the confounds file.
497
- - ``format``: the format of the confounds file. Currently, this can be either
498
- ``fmriprep`` or ``adhoc``.
482
+ - ``format``: the format of the confounds file. Check :enum:`.ConfoundsFormat`
483
+ for options.
499
484
 
500
485
  The ``fmriprep`` format corresponds to the format of the confounds files
501
486
  generated by `fMRIPrep`_. The ``adhoc`` format corresponds to a format that is
@@ -46,7 +46,7 @@ by having a class attribute like so:
46
46
 
47
47
  _EXT_DEPENDENCIES: ClassVar[ExternalDependencies] = [
48
48
  {
49
- "name": "afni",
49
+ "name": ExtDep.AFNI,
50
50
  "commands": ["3dReHo", "3dAFNItoNIFTI"],
51
51
  },
52
52
  ]
@@ -55,7 +55,7 @@ The above example is taken from the class which computes regional homogeneity
55
55
  (ReHo) using AFNI. The general pattern is that you need to have the value of
56
56
  ``_EXT_DEPENDENCIES`` as a list of dictionary with two keys:
57
57
 
58
- * ``name`` (str) : lowercased name of the toolbox
58
+ * ``name`` (:enum:`.ExtDep`) : name of the toolbox
59
59
  * ``commands`` (list of str) : actual names of the commands you need to use
60
60
 
61
61
  This is simple but powerful as we will see in the following sub-sections.
@@ -81,11 +81,11 @@ that it shows the problem a bit better and how we solve it:
81
81
  _CONDITIONAL_DEPENDENCIES: ClassVar[ConditionalDependencies] = [
82
82
  {
83
83
  "using": "fsl",
84
- "depends_on": FSLWarper,
84
+ "depends_on": [FSLWarper],
85
85
  },
86
86
  {
87
87
  "using": "ants",
88
- "depends_on": ANTsWarper,
88
+ "depends_on": [ANTSWarper],
89
89
  },
90
90
  {
91
91
  "using": "auto",
@@ -93,18 +93,16 @@ that it shows the problem a bit better and how we solve it:
93
93
  },
94
94
  ]
95
95
 
96
- def __init__(
97
- self, using: str, reference: str, on: Union[List[str], str]
98
- ) -> None:
99
- # validation and setting up
100
- ...
96
+ using: str
97
+ reference: str
98
+ on: List[DataType]
101
99
 
102
100
 
103
101
  Here, you see a new class attribute ``_CONDITIONAL_DEPENDENCIES`` which is a
104
102
  list of dictionaries with two keys:
105
103
 
106
104
  * ``using`` (str) : lowercased name of the toolbox
107
- * ``depends_on`` (object or list of objects) : a class or list of classes which \
105
+ * ``depends_on`` (list of objects) : list of classes which \
108
106
  implements the particular tool's use
109
107
 
110
108
  It is mandatory to have the ``using`` positional argument in the constructor in
@@ -128,7 +126,7 @@ similar. ``FSLWarper`` looks like this (only the relevant part is shown here):
128
126
 
129
127
  _EXT_DEPENDENCIES: ClassVar[ExternalDependencies] = [
130
128
  {
131
- "name": "fsl",
129
+ "name": ExtDep.FSL,
132
130
  "commands": ["flirt", "applywarp"],
133
131
  },
134
132
  ]
@@ -23,6 +23,7 @@ DataGrabbers, Preprocessors, Markers, etc., following the *junifer* way.
23
23
  :caption: Contents:
24
24
 
25
25
  extension
26
+ logging
26
27
  datagrabber
27
28
  marker
28
29
  preprocessor
@@ -34,4 +35,5 @@ DataGrabbers, Preprocessors, Markers, etc., following the *junifer* way.
34
35
  plugins
35
36
  data_registries
36
37
  data_types
38
+ confounds_format
37
39
  data_dump_asset
@@ -0,0 +1,38 @@
1
+ .. include:: ../links.inc
2
+
3
+ .. _logging_in_extension:
4
+
5
+ Logging in a ``junifer`` extension
6
+ ==================================
7
+
8
+ It is important to have proper logging in your code and ``junifer`` makes it trivial to do so for your extensions.
9
+
10
+ For DataGrabber:
11
+
12
+ .. code-block:: python
13
+
14
+ from junifer.datagrabber import logger
15
+
16
+
17
+ For Preprocessor:
18
+
19
+ .. code-block:: python
20
+
21
+ from junifer.preprocess import logger
22
+
23
+
24
+ For Marker:
25
+
26
+ .. code-block:: python
27
+
28
+ from junifer.marker import logger
29
+
30
+
31
+ For Storage:
32
+
33
+ .. code-block:: python
34
+
35
+ from junifer.storage import logger
36
+
37
+
38
+ Importing the correct logger will give you a properly set up logger which will fit right in with the rest of ``junifer``\'s log output.
@@ -14,7 +14,7 @@ Most of the functionality of a ``junifer`` Marker has been taken care by the
14
14
  :class:`.BaseMarker` class. Thus, only a few methods and class attributes are
15
15
  required:
16
16
 
17
- #. ``__init__``: The initialisation method, where the Marker is configured.
17
+ #. (optional) ``validate_marker_params``: The method to perform logical validation of parameters (if required).
18
18
  #. ``compute``: The method that given the data, computes the Marker.
19
19
 
20
20
  As an example, we will develop a ``ParcelMean`` Marker, a Marker that first
@@ -29,8 +29,8 @@ Step 1: Configure input and output
29
29
  This step is quite simple: we need to define the input and output of the Marker.
30
30
  Based on the current :ref:`data types <data_types>`, we can have ``BOLD``,
31
31
  ``VBM_WM`` and ``VBM_GM`` as valid inputs. The output of the Marker depends on
32
- the input. For ``BOLD``, it will be ``timeseries``, while for the rest of the
33
- inputs, it will be ``vector``. Thus, we have a class attribute like so:
32
+ the input. For ``BOLD``, it will be ``Timeseries``, while for the rest of the
33
+ inputs, it will be ``Vector``. Thus, we have a class attribute like so:
34
34
 
35
35
  .. code-block:: python
36
36
 
@@ -38,14 +38,14 @@ inputs, it will be ``vector``. Thus, we have a class attribute like so:
38
38
  # You can have multiple features for one data type,
39
39
  # each feature having same or different storage type
40
40
  _MARKER_INOUT_MAPPINGS = {
41
- "BOLD": {
42
- "parcel_mean": "timeseries",
41
+ DataType.BOLD: {
42
+ "parcel_mean": StorageType.Timeseries,
43
43
  },
44
- "VBM_WM": {
45
- "parcel_mean": "vector",
44
+ DataType.VBM_WM: {
45
+ "parcel_mean": StorageType.Vector,
46
46
  },
47
- "VBM_GM": {
48
- "parcel_mean": "vector",
47
+ DataType.VBM_GM: {
48
+ "parcel_mean": StorageType.Vector,
49
49
  },
50
50
  }
51
51
 
@@ -57,13 +57,11 @@ Step 2: Initialise the Marker
57
57
  In this step we need to define the parameters of the Marker the user can provide
58
58
  to configure how the Marker will behave.
59
59
 
60
- The parameters of the Marker are defined in the ``__init__`` method. The
61
- :class:`.BaseMarker` class requires two optional parameters:
60
+ The parameters of the Marker are defined as class attributes. The
61
+ :class:`.BaseMarker` class defines two optional parameters:
62
62
 
63
- 1. ``name``: the name of the Marker. This is used to identify the Marker in the
64
- configuration file.
65
- 2. ``on``: a list or string with the data types that the Marker will be applied
66
- to.
63
+ 1. ``name``: the name of the Marker. This is used to identify the Marker in the configuration file.
64
+ 2. ``on``: a list of :enum:`.DataType` with the data types that the Marker will be applied to.
67
65
 
68
66
  .. attention::
69
67
 
@@ -72,18 +70,11 @@ The parameters of the Marker are defined in the ``__init__`` method. The
72
70
  JSON format, and JSON only supports these types.
73
71
 
74
72
  In this example, only parameter required for the computation is the name of the
75
- parcellation to use. Thus, we can define the ``__init__`` method as follows:
73
+ parcellation to use. Thus, we can define as follows:
76
74
 
77
75
  .. code-block:: python
78
76
 
79
- def __init__(
80
- self,
81
- parcellation: str,
82
- on: str | list[str] | None = None,
83
- name: str | None = None,
84
- ) -> None:
85
- self.parcellation = parcellation
86
- super().__init__(on=on, name=name)
77
+ parcellation: str
87
78
 
88
79
  .. caution::
89
80
 
@@ -121,14 +112,14 @@ and the values would be a dictionary of storage type specific key-value pairs.
121
112
 
122
113
  To simplify the ``store`` method, define keys of the dictionary based on the
123
114
  corresponding store functions in the :ref:`storage types <storage_types>`.
124
- For example, if the output is a ``vector``, the keys of the dictionary should
115
+ For example, if the output is a ``Vector``, the keys of the dictionary should
125
116
  be ``data`` and ``col_names``.
126
117
 
127
118
  .. code-block:: python
128
119
 
129
120
  from typing import Any
130
121
 
131
- from junifer.data import get_parcellation
122
+ from junifer.data import get_data
132
123
  from nilearn.maskers import NiftiLabelsMasker
133
124
 
134
125
 
@@ -141,8 +132,9 @@ and the values would be a dictionary of storage type specific key-value pairs.
141
132
  data = input["data"]
142
133
 
143
134
  # Get the parcellation tailored for the target
144
- t_parcellation, t_labels, _ = get_parcellation(
145
- name=self.parcellation_name,
135
+ t_parcellation, t_labels, _ = get_data(
136
+ kind="parcellation",
137
+ name=[self.parcellation],
146
138
  target_data=input,
147
139
  extra_input=extra_input,
148
140
  )
@@ -194,8 +186,10 @@ Finally, we need to register the Marker using the ``@register_marker`` decorator
194
186
  from typing import Any, ClassVar
195
187
 
196
188
  from junifer.api.decorators import register_marker
197
- from junifer.data import get_parcellation
189
+ from junifer.data import get_data
190
+ from junifer.datagrabber import DataType
198
191
  from junifer.markers import BaseMarker
192
+ from junifer.storage import StorageType
199
193
  from junifer.typing import Dependencies, MarkerInOutMappings
200
194
  from nilearn.maskers import NiftiLabelsMasker
201
195
 
@@ -206,25 +200,18 @@ Finally, we need to register the Marker using the ``@register_marker`` decorator
206
200
  _DEPENDENCIES: ClassVar[Dependencies] = {"nilearn", "numpy"}
207
201
 
208
202
  _MARKER_INOUT_MAPPINGS: ClassVar[MarkerInOutMappings] = {
209
- "BOLD": {
210
- "parcel_mean": "timeseries",
203
+ DataType.BOLD: {
204
+ "parcel_mean": StorageType.Timeseries,
211
205
  },
212
- "VBM_WM": {
213
- "parcel_mean": "vector",
206
+ DataType.VBM_WM: {
207
+ "parcel_mean": StorageType.Vector,
214
208
  },
215
- "VBM_GM": {
216
- "parcel_mean": "vector",
209
+ DataType.VBM_GM: {
210
+ "parcel_mean": StorageType.Vector,
217
211
  },
218
212
  }
219
213
 
220
- def __init__(
221
- self,
222
- parcellation: str,
223
- on: str | list[str] | None = None,
224
- name: str | None = None,
225
- ) -> None:
226
- self.parcellation = parcellation
227
- super().__init__(on=on, name=name)
214
+ parcellation: str
228
215
 
229
216
  def compute(
230
217
  self,
@@ -235,8 +222,9 @@ Finally, we need to register the Marker using the ``@register_marker`` decorator
235
222
  data = input["data"]
236
223
 
237
224
  # Get the parcellation tailored for the target
238
- t_parcellation, t_labels, _ = get_parcellation(
239
- name=self.parcellation_name,
225
+ t_parcellation, t_labels, _ = get_data(
226
+ kind="parcellation",
227
+ name=[self.parcellation],
240
228
  target_data=input,
241
229
  extra_input=extra_input,
242
230
  )
@@ -280,9 +268,13 @@ Template for a custom Marker
280
268
  # TODO: add the input-output mappings
281
269
  _MARKER_INOUT_MAPPINGS = {}
282
270
 
283
- def __init__(self, on=None, name=None):
284
- # TODO: add marker-specific parameters
285
- super().__init__(on=on, name=name)
271
+ # TODO: define marker-specific parameters
272
+
273
+ # optional
274
+ def validate_marker_params(self):
275
+ # TODO: add validation logic for marker parameters
276
+ pass
286
277
 
287
278
  def compute(self, input, extra_input):
288
279
  # TODO: compute the marker and create the output dictionary
280
+ return {}
@@ -124,7 +124,7 @@ parcellation when registering it. For example, we can add a
124
124
  markers:
125
125
  - name: CustomParcellation_mean
126
126
  kind: ParcelAggregation
127
- parcellation: my_custom_parcellation
127
+ parcellation: <my_custom_parcellation>
128
128
  method: mean
129
129
 
130
130
  Now, you can simply use this YAML file to run your pipeline.