junifer 0.0.4.dev691__tar.gz → 0.0.4.dev733__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 (431) hide show
  1. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/PKG-INFO +1 -1
  2. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/builtin.rst +68 -24
  3. junifer-0.0.4.dev733/docs/changes/newsfragments/306.enh +1 -0
  4. junifer-0.0.4.dev733/docs/changes/newsfragments/314.bugfix +1 -0
  5. junifer-0.0.4.dev733/docs/changes/newsfragments/317.doc +1 -0
  6. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/contribution.rst +2 -0
  7. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/extending/coordinates.rst +14 -15
  8. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/extending/datagrabber.rst +45 -28
  9. junifer-0.0.4.dev733/docs/extending/dependencies.rst +141 -0
  10. junifer-0.0.4.dev733/docs/extending/extension.rst +35 -0
  11. junifer-0.0.4.dev733/docs/extending/index.rst +32 -0
  12. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/extending/marker.rst +53 -56
  13. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/extending/masks.rst +21 -18
  14. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/extending/parcellations.rst +34 -30
  15. junifer-0.0.4.dev733/docs/extending/preprocessor.rst +246 -0
  16. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/installation.rst +11 -33
  17. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/links.inc +1 -0
  18. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/starting.rst +18 -18
  19. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/understanding/data.rst +1 -1
  20. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/understanding/datagrabber.rst +8 -8
  21. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/understanding/datareader.rst +4 -4
  22. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/understanding/index.rst +7 -7
  23. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/understanding/marker.rst +3 -3
  24. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/understanding/pipeline.rst +7 -7
  25. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/understanding/preprocess.rst +71 -5
  26. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/understanding/storage.rst +3 -3
  27. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/using/codeless.rst +37 -36
  28. junifer-0.0.4.dev733/docs/using/index.rst +35 -0
  29. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/using/masks.rst +3 -4
  30. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/using/queueing.rst +13 -11
  31. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/_version.py +2 -2
  32. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/functions.py +11 -3
  33. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/queue_context/__init__.py +1 -0
  34. junifer-0.0.4.dev733/junifer/api/queue_context/gnu_parallel_local_adapter.py +258 -0
  35. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/queue_context/htcondor_adapter.py +4 -1
  36. junifer-0.0.4.dev733/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +192 -0
  37. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/tests/test_functions.py +2 -2
  38. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/dmcc13_benchmark.py +4 -1
  39. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer.egg-info/PKG-INFO +1 -1
  40. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer.egg-info/SOURCES.txt +7 -0
  41. junifer-0.0.4.dev691/docs/extending/extension.rst +0 -34
  42. junifer-0.0.4.dev691/docs/extending/index.rst +0 -30
  43. junifer-0.0.4.dev691/docs/using/index.rst +0 -35
  44. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  45. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  46. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
  47. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
  48. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  49. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
  50. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/.github/dependabot.yml +0 -0
  51. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/.github/pull_request_template.md +0 -0
  52. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/.github/workflows/ci-docs.yml +0 -0
  53. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/.github/workflows/ci.yml +0 -0
  54. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/.github/workflows/docs-preview.yml +0 -0
  55. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/.github/workflows/docs.yml +0 -0
  56. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/.github/workflows/lint.yml +0 -0
  57. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/.github/workflows/pypi.yml +0 -0
  58. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/.gitignore +0 -0
  59. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/.gitmodules +0 -0
  60. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/.pre-commit-config.yaml +0 -0
  61. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/AUTHORS.rst +0 -0
  62. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/LICENSE.md +0 -0
  63. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/README.md +0 -0
  64. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/codecov.yml +0 -0
  65. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/conda-env.yml +0 -0
  66. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/Makefile +0 -0
  67. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/_static/css/custom.css +0 -0
  68. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/_static/js/custom.js +0 -0
  69. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/_templates/versions.html +0 -0
  70. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/api/api.rst +0 -0
  71. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/api/configs.rst +0 -0
  72. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/api/data.rst +0 -0
  73. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/api/datagrabbers.rst +0 -0
  74. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/api/datareaders.rst +0 -0
  75. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/api/index.rst +0 -0
  76. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/api/markers.rst +0 -0
  77. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/api/nilearn.rst +0 -0
  78. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/api/onthefly.rst +0 -0
  79. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/api/pipeline.rst +0 -0
  80. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/api/preprocessing.rst +0 -0
  81. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/api/stats.rst +0 -0
  82. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/api/storage.rst +0 -0
  83. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/api/testing.rst +0 -0
  84. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/api/utils.rst +0 -0
  85. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/contributors.inc +0 -0
  86. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/.gitignore +0 -0
  87. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/145.feature +0 -0
  88. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/182.enh +0 -0
  89. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/224.bugfix +0 -0
  90. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/233.bugfix +0 -0
  91. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/240.feature +0 -0
  92. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/245.change +0 -0
  93. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/245.feature +0 -0
  94. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/247.doc +0 -0
  95. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/248.change +0 -0
  96. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/249.feature +0 -0
  97. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/250.feature +0 -0
  98. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/251.doc +0 -0
  99. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/252.change +0 -0
  100. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/252.feature +0 -0
  101. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/253.misc +0 -0
  102. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/254.feature +0 -0
  103. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/258.enh +0 -0
  104. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/259.enh +0 -0
  105. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/260.enh +0 -0
  106. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/261.misc +0 -0
  107. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/262.misc +0 -0
  108. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/263.change +0 -0
  109. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/264.feature +0 -0
  110. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/265.feature +0 -0
  111. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/266.feature +0 -0
  112. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/267.feature +0 -0
  113. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/268.change +0 -0
  114. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/268.enh +0 -0
  115. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/269.misc +0 -0
  116. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/270.misc +0 -0
  117. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/271.feature +0 -0
  118. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/272.bugfix +0 -0
  119. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/274.bugfix +0 -0
  120. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/275.feature +0 -0
  121. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/276.bugfix +0 -0
  122. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/277.misc +0 -0
  123. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/278.bugfix +0 -0
  124. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/279.misc +0 -0
  125. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/280.bugfix +0 -0
  126. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/281.bugfix +0 -0
  127. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/281.misc +0 -0
  128. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/282.bugfix +0 -0
  129. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/283.bugfix +0 -0
  130. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/284.bugfix +0 -0
  131. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/286.bugfix +0 -0
  132. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/287.enh +0 -0
  133. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/288.misc +0 -0
  134. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/291.doc +0 -0
  135. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/293.enh +0 -0
  136. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/293.feature +0 -0
  137. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/293.misc +0 -0
  138. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/294.misc +0 -0
  139. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/295.feature +0 -0
  140. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/297.feature +0 -0
  141. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/298.feature +0 -0
  142. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/300.doc +0 -0
  143. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/300.enh +0 -0
  144. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/300.misc +0 -0
  145. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/301.feature +0 -0
  146. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/301.removal +0 -0
  147. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/302.enh +0 -0
  148. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/309.feature +0 -0
  149. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/310.change +0 -0
  150. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/310.enh +0 -0
  151. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/311.change +0 -0
  152. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/311.enh +0 -0
  153. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/changes/newsfragments/312.bugfix +0 -0
  154. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/conf.py +0 -0
  155. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/faq.rst +0 -0
  156. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/help.rst +0 -0
  157. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/images/junifer_logo.png +0 -0
  158. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/index.rst +0 -0
  159. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/maintaining.rst +0 -0
  160. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/redirect.html +0 -0
  161. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/sphinxext/gh_substitutions.py +0 -0
  162. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/using/running.rst +0 -0
  163. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/docs/whats_new.rst +0 -0
  164. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/examples/README.rst +0 -0
  165. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/examples/norun_hcpfc_pearson.py +0 -0
  166. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/examples/norun_ukbvm_gmd.py +0 -0
  167. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/examples/run_compute_parcel_mean.py +0 -0
  168. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/examples/run_datagrabber_bids_datalad.py +0 -0
  169. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/examples/run_ets_rss_marker.py +0 -0
  170. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/examples/run_junifer_julearn.py +0 -0
  171. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/examples/run_run_gmd_mean.py +0 -0
  172. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/examples/yamls/gmd_mean.yaml +0 -0
  173. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
  174. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/examples/yamls/ukb_gmd_mean.yaml +0 -0
  175. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/ignore_words.txt +0 -0
  176. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/__init__.py +0 -0
  177. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/__init__.py +0 -0
  178. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/cli.py +0 -0
  179. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/decorators.py +0 -0
  180. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/parser.py +0 -0
  181. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/queue_context/queue_context_adapter.py +0 -0
  182. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
  183. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
  184. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/res/afni/3dRSFC +0 -0
  185. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/res/afni/3dReHo +0 -0
  186. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/res/afni/afni +0 -0
  187. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/res/afni/run_afni_docker.sh +0 -0
  188. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/res/ants/ResampleImage +0 -0
  189. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/res/ants/antsApplyTransforms +0 -0
  190. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
  191. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/res/ants/run_ants_docker.sh +0 -0
  192. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/res/fsl/applywarp +0 -0
  193. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/res/fsl/flirt +0 -0
  194. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/res/fsl/img2imgcoord +0 -0
  195. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
  196. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/res/fsl/std2imgcoord +0 -0
  197. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/res/run_conda.sh +0 -0
  198. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/res/run_venv.sh +0 -0
  199. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/tests/data/gmd_mean.yaml +0 -0
  200. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/tests/data/gmd_mean_htcondor.yaml +0 -0
  201. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/tests/test_api_utils.py +0 -0
  202. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/tests/test_cli.py +0 -0
  203. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/tests/test_parser.py +0 -0
  204. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/api/utils.py +0 -0
  205. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/configs/__init__.py +0 -0
  206. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/configs/juseless/__init__.py +0 -0
  207. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
  208. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -0
  209. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -0
  210. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -0
  211. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
  212. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
  213. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
  214. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
  215. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
  216. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/configs/juseless/datagrabbers/ucla.py +0 -0
  217. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -0
  218. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/VOIs/meta/AutobiographicalMemory_VOIs.txt +0 -0
  219. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/VOIs/meta/CogAC_VOIs.txt +0 -0
  220. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/VOIs/meta/CogAR_VOIs.txt +0 -0
  221. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/VOIs/meta/DMNBuckner_VOIs.txt +0 -0
  222. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/VOIs/meta/Dosenbach2010_MNI_VOIs.txt +0 -0
  223. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/VOIs/meta/Empathy_VOIs.txt +0 -0
  224. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/VOIs/meta/Motor_VOIs.txt +0 -0
  225. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/VOIs/meta/MultiTask_VOIs.txt +0 -0
  226. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/VOIs/meta/PhysioStress_VOIs.txt +0 -0
  227. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/VOIs/meta/Power2011_MNI_VOIs.txt +0 -0
  228. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/VOIs/meta/Power2013_MNI_VOIs.tsv +0 -0
  229. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/VOIs/meta/Rew_VOIs.txt +0 -0
  230. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/VOIs/meta/Somatosensory_VOIs.txt +0 -0
  231. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/VOIs/meta/ToM_VOIs.txt +0 -0
  232. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/VOIs/meta/VigAtt_VOIs.txt +0 -0
  233. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/VOIs/meta/WM_VOIs.txt +0 -0
  234. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/VOIs/meta/eMDN_VOIs.txt +0 -0
  235. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/VOIs/meta/eSAD_VOIs.txt +0 -0
  236. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/VOIs/meta/extDMN_VOIs.txt +0 -0
  237. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/__init__.py +0 -0
  238. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/coordinates.py +0 -0
  239. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean.nii.gz +0 -0
  240. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean_3mm.nii.gz +0 -0
  241. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/masks/vickery-patil/GMprob0.2_cortex_3mm_NA_rm.nii.gz +0 -0
  242. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/masks.py +0 -0
  243. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/parcellations.py +0 -0
  244. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/template_spaces.py +0 -0
  245. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/tests/test_coordinates.py +0 -0
  246. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/tests/test_data_utils.py +0 -0
  247. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/tests/test_masks.py +0 -0
  248. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/tests/test_parcellations.py +0 -0
  249. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/tests/test_template_spaces.py +0 -0
  250. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/data/utils.py +0 -0
  251. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/__init__.py +0 -0
  252. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/aomic/__init__.py +0 -0
  253. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/aomic/id1000.py +0 -0
  254. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/aomic/piop1.py +0 -0
  255. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/aomic/piop2.py +0 -0
  256. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/aomic/tests/test_id1000.py +0 -0
  257. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/aomic/tests/test_piop1.py +0 -0
  258. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/aomic/tests/test_piop2.py +0 -0
  259. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/base.py +0 -0
  260. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/datalad_base.py +0 -0
  261. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/hcp1200/__init__.py +0 -0
  262. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +0 -0
  263. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/hcp1200/hcp1200.py +0 -0
  264. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +0 -0
  265. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/multiple.py +0 -0
  266. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/pattern.py +0 -0
  267. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/pattern_datalad.py +0 -0
  268. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/tests/test_base.py +0 -0
  269. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/tests/test_datagrabber_utils.py +0 -0
  270. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
  271. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +0 -0
  272. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/tests/test_multiple.py +0 -0
  273. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/tests/test_pattern.py +0 -0
  274. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
  275. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datagrabber/utils.py +0 -0
  276. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datareader/__init__.py +0 -0
  277. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datareader/default.py +0 -0
  278. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/datareader/tests/test_default_reader.py +0 -0
  279. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/external/__init__.py +0 -0
  280. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/external/h5io/h5io/__init__.py +0 -0
  281. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/external/h5io/h5io/_h5io.py +0 -0
  282. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/external/h5io/h5io/_version.py +0 -0
  283. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/external/h5io/h5io/chunked_array.py +0 -0
  284. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/external/h5io/h5io/chunked_list.py +0 -0
  285. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/external/nilearn/__init__.py +0 -0
  286. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +0 -0
  287. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
  288. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/__init__.py +0 -0
  289. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/base.py +0 -0
  290. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/collection.py +0 -0
  291. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/complexity/__init__.py +0 -0
  292. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/complexity/complexity_base.py +0 -0
  293. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/complexity/hurst_exponent.py +0 -0
  294. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/complexity/multiscale_entropy_auc.py +0 -0
  295. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/complexity/perm_entropy.py +0 -0
  296. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/complexity/range_entropy.py +0 -0
  297. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/complexity/range_entropy_auc.py +0 -0
  298. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/complexity/sample_entropy.py +0 -0
  299. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
  300. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
  301. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
  302. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
  303. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
  304. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
  305. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
  306. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
  307. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/complexity/weighted_perm_entropy.py +0 -0
  308. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/ets_rss.py +0 -0
  309. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/falff/__init__.py +0 -0
  310. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/falff/_afni_falff.py +0 -0
  311. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/falff/_junifer_falff.py +0 -0
  312. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/falff/falff_base.py +0 -0
  313. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/falff/falff_parcels.py +0 -0
  314. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/falff/falff_spheres.py +0 -0
  315. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
  316. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
  317. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/functional_connectivity/__init__.py +0 -0
  318. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +0 -0
  319. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +0 -0
  320. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +0 -0
  321. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/functional_connectivity/functional_connectivity_base.py +0 -0
  322. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +0 -0
  323. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +0 -0
  324. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
  325. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
  326. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
  327. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
  328. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +0 -0
  329. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +0 -0
  330. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/parcel_aggregation.py +0 -0
  331. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/reho/__init__.py +0 -0
  332. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/reho/_afni_reho.py +0 -0
  333. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/reho/_junifer_reho.py +0 -0
  334. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/reho/reho_base.py +0 -0
  335. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/reho/reho_parcels.py +0 -0
  336. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/reho/reho_spheres.py +0 -0
  337. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
  338. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
  339. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/sphere_aggregation.py +0 -0
  340. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/temporal_snr/__init__.py +0 -0
  341. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/temporal_snr/temporal_snr_base.py +0 -0
  342. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/temporal_snr/temporal_snr_parcels.py +0 -0
  343. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/temporal_snr/temporal_snr_spheres.py +0 -0
  344. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
  345. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
  346. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
  347. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/tests/test_collection.py +0 -0
  348. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/tests/test_ets_rss.py +0 -0
  349. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/tests/test_marker_utils.py +0 -0
  350. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/tests/test_markers_base.py +0 -0
  351. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/tests/test_parcel_aggregation.py +0 -0
  352. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/tests/test_sphere_aggregation.py +0 -0
  353. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/markers/utils.py +0 -0
  354. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/onthefly/__init__.py +0 -0
  355. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/onthefly/read_transform.py +0 -0
  356. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/onthefly/tests/test_read_transform.py +0 -0
  357. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/pipeline/__init__.py +0 -0
  358. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/pipeline/pipeline_step_mixin.py +0 -0
  359. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/pipeline/registry.py +0 -0
  360. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/pipeline/singleton.py +0 -0
  361. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
  362. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/pipeline/tests/test_registry.py +0 -0
  363. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
  364. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
  365. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/pipeline/update_meta_mixin.py +0 -0
  366. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/pipeline/utils.py +0 -0
  367. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/pipeline/workdir_manager.py +0 -0
  368. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/preprocess/__init__.py +0 -0
  369. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/preprocess/ants/__init__.py +0 -0
  370. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/preprocess/ants/ants_apply_transforms_warper.py +0 -0
  371. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/preprocess/ants/tests/test_ants_apply_transforms_warper.py +0 -0
  372. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/preprocess/base.py +0 -0
  373. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/preprocess/bold_warper.py +0 -0
  374. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/preprocess/confounds/__init__.py +0 -0
  375. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/preprocess/confounds/fmriprep_confound_remover.py +0 -0
  376. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +0 -0
  377. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/preprocess/fsl/__init__.py +0 -0
  378. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/preprocess/fsl/apply_warper.py +0 -0
  379. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/preprocess/fsl/tests/test_apply_warper.py +0 -0
  380. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/preprocess/tests/test_bold_warper.py +0 -0
  381. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
  382. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/preprocess/warping/__init__.py +0 -0
  383. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/preprocess/warping/_ants_warper.py +0 -0
  384. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/preprocess/warping/_fsl_warper.py +0 -0
  385. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/preprocess/warping/space_warper.py +0 -0
  386. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
  387. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/stats.py +0 -0
  388. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/storage/__init__.py +0 -0
  389. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/storage/base.py +0 -0
  390. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/storage/hdf5.py +0 -0
  391. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/storage/pandas_base.py +0 -0
  392. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/storage/sqlite.py +0 -0
  393. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/storage/tests/test_hdf5.py +0 -0
  394. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/storage/tests/test_pandas_base.py +0 -0
  395. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/storage/tests/test_sqlite.py +0 -0
  396. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/storage/tests/test_storage_base.py +0 -0
  397. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/storage/tests/test_utils.py +0 -0
  398. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/storage/utils.py +0 -0
  399. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/testing/__init__.py +0 -0
  400. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
  401. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/testing/datagrabbers.py +0 -0
  402. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/testing/registry.py +0 -0
  403. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
  404. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
  405. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
  406. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/testing/tests/test_testing_registry.py +0 -0
  407. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/testing/utils.py +0 -0
  408. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/tests/test_main.py +0 -0
  409. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/tests/test_stats.py +0 -0
  410. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/utils/__init__.py +0 -0
  411. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/utils/fs.py +0 -0
  412. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/utils/helpers.py +0 -0
  413. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/utils/logging.py +0 -0
  414. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/utils/tests/test_fs.py +0 -0
  415. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/utils/tests/test_helpers.py +0 -0
  416. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer/utils/tests/test_logging.py +0 -0
  417. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer.egg-info/dependency_links.txt +0 -0
  418. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer.egg-info/entry_points.txt +0 -0
  419. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer.egg-info/requires.txt +0 -0
  420. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/junifer.egg-info/top_level.txt +0 -0
  421. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/pyproject.toml +0 -0
  422. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/setup.cfg +0 -0
  423. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/setup.py +0 -0
  424. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/tools/create_aomic1000_example_dataset.py +0 -0
  425. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/tools/create_aomicpiop1_example_dataset.py +0 -0
  426. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/tools/create_aomicpiop2_example_dataset.py +0 -0
  427. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/tools/create_bids_example_dataset.py +0 -0
  428. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/tools/create_bids_example_dataset_sessions.py +0 -0
  429. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
  430. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/tools/create_hcp1200_example_dataset.py +0 -0
  431. {junifer-0.0.4.dev691 → junifer-0.0.4.dev733}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: junifer
3
- Version: 0.0.4.dev691
3
+ Version: 0.0.4.dev733
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>
@@ -25,7 +25,7 @@ Data Grabber
25
25
  - In Progress
26
26
  - Done
27
27
 
28
- Version added: If the status is "Done", the Junifer version in which the
28
+ Version added: If the status is "Done", the junifer version in which the
29
29
  dataset was added. Else, a link to the Github issue or pull request
30
30
  implementing the dataset. Links to github can be added by using the
31
31
  following syntax: :gh:`<issue number>`
@@ -122,6 +122,54 @@ Planned
122
122
  - :gh:`47`
123
123
 
124
124
 
125
+ Preprocessor
126
+ ------------
127
+
128
+ ..
129
+ Provide a list of the Preprocessors that are implemented or planned.
130
+
131
+ State: this should indicate the state of the preprocessor. Valid options are
132
+ - Planned
133
+ - In Progress
134
+ - Done
135
+
136
+ Version added: If the status is "Done", the junifer version in which the
137
+ preprocessor was added. Else, a link to the Github issue or pull request
138
+ implementing the preprocessor. Links to github can be added by using the
139
+ following syntax: :gh:`<issue number>`
140
+
141
+ Available
142
+ ~~~~~~~~~
143
+
144
+ .. list-table::
145
+ :widths: auto
146
+ :header-rows: 1
147
+
148
+ * - Class
149
+ - Description
150
+ - State
151
+ - Version Added
152
+ * - :class:`.fMRIPrepConfoundRemover`
153
+ - Remove confounds from ``fMRIPrep``-ed data
154
+ - Done
155
+ - 0.0.1
156
+ * - :class:`.SpaceWarper`
157
+ - | Warp / transform data from one space to another
158
+ | (subject-native or other template spaces)
159
+ - Done
160
+ - 0.0.4
161
+ * - ``Smoothing``
162
+ - | Apply smoothing to data, particularly useful when dealing with
163
+ | ``fMRIPrep``-ed data
164
+ - In Progress
165
+ - :gh:`161`
166
+
167
+
168
+ ..
169
+ Planned
170
+ ~~~~~~~
171
+
172
+
125
173
  Marker
126
174
  ------
127
175
 
@@ -133,7 +181,7 @@ Marker
133
181
  - In Progress
134
182
  - Done
135
183
 
136
- Version added: If the status is "Done", the Junifer version in which the
184
+ Version added: If the status is "Done", the junifer version in which the
137
185
  marker was added. Else, a link to the Github issue or pull request
138
186
  implementing the marker. Links to github can be added by using the
139
187
  following syntax: :gh:`<issue number>`
@@ -254,10 +302,6 @@ Planned
254
302
  * - Connectedness
255
303
  - Compute connectedness
256
304
  - :gh:`34`
257
- * - Permutation entropy, Range entropy, Multiscale entropy and Hurst exponent
258
- - | Calculate Permutation entropy, Range entropy, Multiscale entropy and
259
- | Hurst exponent
260
- - :gh:`61`
261
305
 
262
306
  Parcellation
263
307
  ------------
@@ -265,7 +309,7 @@ Parcellation
265
309
  ..
266
310
  Provide a list of the Parcellations that are implemented or planned.
267
311
 
268
- Version added: The Junifer version in which the parcellation was added.
312
+ Version added: The junifer version in which the parcellation was added.
269
313
 
270
314
  Available
271
315
  ~~~~~~~~~
@@ -277,8 +321,8 @@ Available
277
321
  * - Name
278
322
  - Options
279
323
  - Keys
280
- - Spaces
281
- - Version added
324
+ - Template Spaces
325
+ - Version Added
282
326
  - Publication
283
327
  * - Schaefer
284
328
  - ``n_rois``, ``yeo_networks``
@@ -439,7 +483,7 @@ Coordinates
439
483
  ..
440
484
  Provide a list of the Coordinates that are implemented or planned.
441
485
 
442
- Version added: The Junifer version in which the parcellation was added.
486
+ Version added: The junifer version in which the parcellation was added.
443
487
 
444
488
  Available
445
489
  ~~~~~~~~~
@@ -450,7 +494,7 @@ Available
450
494
 
451
495
  * - Name
452
496
  - Keys
453
- - Version added
497
+ - Version Added
454
498
  - Publication
455
499
  * - Cognitive action control
456
500
  - ``CogAC``
@@ -635,7 +679,7 @@ Mask
635
679
  ..
636
680
  Provide a list of the masks that are implemented or planned.
637
681
 
638
- Version added: The Junifer version in which the mask was added.
682
+ Version added: The junifer version in which the mask was added.
639
683
 
640
684
  Available
641
685
  ~~~~~~~~~
@@ -646,8 +690,8 @@ Available
646
690
 
647
691
  * - Name
648
692
  - Keys
649
- - Spaces
650
- - Version added
693
+ - Template Space
694
+ - Version Added
651
695
  - Description - Publication
652
696
  * - Vickery-Patil (Gray Matter)
653
697
  - | ``GM_prob0.2``
@@ -663,14 +707,14 @@ Available
663
707
  - | Vickery, Sam, & Patil, Kaustubh. (2022).
664
708
  | Chimpanzee and Human Gray Matter Masks [Data set]. Zenodo.
665
709
  | https://doi.org/10.5281/zenodo.6463123
666
- * - Nilearn's MNI152 1mm-resolution mask
710
+ * - ``junifer``'s custom brain mask
667
711
  - | ``compute_brain_mask``
668
712
  - Adapts to the target data
669
713
  - 0.0.2
670
- - | Compute the whole-brain mask. This mask is calculated using
671
- | MNI152 1mm-resolution template mask onto the target image.
672
- | See :func:`nilearn.masking.compute_brain_mask`
673
- * - Nilearn's mask computed from FMRI data
714
+ - | Compute the whole-brain, gray-matter or white-matter mask using
715
+ | the template and the resolution from the target image. The
716
+ | templates are obtained via ``templateflow``.
717
+ * - ``nilearn``'s mask computed from fMRI data
674
718
  - | ``compute_epi_mask``
675
719
  - Adapts to the target data
676
720
  - 0.0.2
@@ -678,15 +722,14 @@ Available
678
722
  | proposed by T.Nichols: find the least dense point of the histogram,
679
723
  | between fractions ``lower_cutoff`` and ``upper_cutoff`` of the total
680
724
  | image histogram. See :func:`nilearn.masking.compute_epi_mask`
681
- * - Nilearn's background mask
725
+ * - ``nilearn``'s background mask
682
726
  - | ``compute_background_mask``
683
727
  - Adapts to the target data
684
728
  - 0.0.2
685
729
  - | Compute a brain mask for the images by guessing the value of the
686
730
  | background from the border of the image.
687
731
  | See :func:`nilearn.masking.compute_background_mask`
688
-
689
- * - Nilearn's ICBM152 template gray-matter mask
732
+ * - ``nilearn``'s ICBM152 template gray-matter mask
690
733
  - | ``fetch_icbm152_brain_gm_mask``
691
734
  - ``MNI152NLin2009aAsym``
692
735
  - 0.0.2
@@ -695,8 +738,9 @@ Available
695
738
  | See :func:`nilearn.datasets.fetch_icbm152_brain_gm_mask`
696
739
 
697
740
 
698
- Planned
699
- ~~~~~~~
741
+ ..
742
+ Planned
743
+ ~~~~~~~
700
744
 
701
745
  ..
702
746
  helpful site for creating tables: https://rest-sphinx-memo.readthedocs.io/en/latest/ReST.html#tables
@@ -0,0 +1 @@
1
+ Add support for local ``junifer queue`` via GNU Parallel by `Synchon Mandal`_
@@ -0,0 +1 @@
1
+ Fix element access for :class:`.DMCC13Benchmark` DataGrabber by `Synchon Mandal`_
@@ -0,0 +1 @@
1
+ Improve documentation by adding information about space transformation and writing custom Preprocessors by `Synchon Mandal`_
@@ -164,6 +164,8 @@ In case you remove some files or change their filenames, you can run into
164
164
  errors when using ``make local``. In this situation you can use ``make clean``
165
165
  to clean up the already build files and then re-run ``make local``.
166
166
 
167
+ Also, we follow British English for the documentation.
168
+
167
169
 
168
170
  Writing Examples
169
171
  ----------------
@@ -6,19 +6,20 @@ Adding Coordinates
6
6
  ==================
7
7
 
8
8
  Instead of using whole-brain parcellations to aggregate voxel-wise signals from
9
- MR images (as for example in the :class:`.ParcelAggregation` marker), junifer
9
+ MR images (as for example in the :class:`.ParcelAggregation` marker), ``junifer``
10
10
  allows you to specify a set of coordinates around which to draw spheres to
11
11
  aggregate (for example using the :class:`.SphereAggregation` marker) the MR
12
12
  signals from individual voxels. Now, before you start specifying your own sets
13
- of coordinates, check the coordinates that junifer already has
13
+ of coordinates, check the coordinates that ``junifer`` already has
14
14
  :ref:`built in <builtin>`. If you simply want to use a well known set of
15
- coordinates from the literature, there is a reasonable chance, that junifer
15
+ coordinates from the literature, there is a reasonable chance, that ``junifer``
16
16
  provides them already.
17
17
 
18
18
  If you checked the in-built coordinates, and they are not there already (for
19
- example if you came up with your own set of coordinates), then junifer provides
20
- an easy way for you to register them using the :func:`.register_coordinates`
21
- function, so you can use your own set of coordinates within a junifer pipeline.
19
+ example if you came up with your own set of coordinates), then ``junifer``
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
22
+ coordinates within a ``junifer`` pipeline.
22
23
 
23
24
  From the API reference, we can see that it has 4 positional arguments
24
25
  (``name``, ``coordinates``, ``voi_names`` and ``space``) as well as one
@@ -26,7 +27,7 @@ optional keyword argument (``overwrite``).
26
27
 
27
28
  The ``name`` argument takes a string indicating the name you want to give to
28
29
  this set of coordinates. This ``name`` can be used to obtain and operate on a
29
- set of coordinates in junifer. For example, you can obtain your coordinates
30
+ set of coordinates in ``junifer``. For example, you can obtain your coordinates
30
31
  after registration by providing ``name`` to :func:`.load_coordinates`. We could
31
32
  simply call it ``"my_set_of_coordinates"``, but likely you want a more
32
33
  descriptive and more informative name most of the time.
@@ -36,9 +37,7 @@ The ``coordinates`` argument takes the actual coordinates as a 2-dimensional
36
37
  columns (one for each spatial dimension). That is, the first, second, and third
37
38
  columns indicate the x-, y-, and z-coordinates in MNI space respectively.
38
39
  The number of rows in the array correspond to the number of coordinates that
39
- belong to this set. Note, that junifer (as of yet) only works in MNI space, and
40
- so therefore these coordinates should always be real-world coordinates of the
41
- MNI space.
40
+ belong to this set.
42
41
 
43
42
  The ``voi_names`` argument takes a list of strings
44
43
  indicating the names of each coordinate (i.e. volume-of-interest) in the
@@ -47,7 +46,7 @@ the number of rows in the coordinates array. Now, we know everything we need to
47
46
  know to register a set of coordinates.
48
47
 
49
48
  Lastly, we specify the ``space`` that the coordinates are in, for example,
50
- ``"MNI"`` or ``"Native"`` (scanner-native space).
49
+ ``"MNI"`` or ``"native"`` (scanner-native space).
51
50
 
52
51
  Step 1: Prepare code to register a set of coordinates
53
52
  -----------------------------------------------------
@@ -62,8 +61,8 @@ packages:
62
61
  import numpy as np
63
62
 
64
63
  For the sake of this example, we can create a set of coordinates that belong
65
- to the default mode network (DMN), and register this set of coordinates with
66
- junifer. Note, that junifer already has a
64
+ to the Default Mode Network (DMN), and register this set of coordinates with
65
+ ``junifer``. Note, that ``junifer`` already has a
67
66
  :ref:`set of coordinates built-in <builtin>` ("DMNBuckner") that is associated
68
67
  with the DMN. Here, we use the DMN coordinates used in a
69
68
  `nilearn example <https://nilearn.github.io/dev/auto_examples/03_connectivity/plot_sphere_based_connectome.html>`_.
@@ -97,7 +96,7 @@ simply use this to register our coordinates:
97
96
  space="MNI"
98
97
  )
99
98
 
100
- Now, when we run this script, junifer registers these coordinates and we can
99
+ Now, when we run this script, ``junifer`` registers these coordinates and we can
101
100
  use them in subsequent analyses. Let's now consider how to use coordinate
102
101
  registration in combination with
103
102
  :ref:`codeless configuration using a YAML file <codeless>`.
@@ -106,7 +105,7 @@ Step 2: Add coordinate registration to the YAML file
106
105
  ----------------------------------------------------
107
106
 
108
107
  In order to register your coordinates for a pipeline configured by a YAML file,
109
- you can use the ``with`` keyword provided by junifer:
108
+ you can use the ``with`` keyword provided by ``junifer``:
110
109
 
111
110
  .. code-block:: yaml
112
111
 
@@ -12,8 +12,8 @@ the structure of a dataset and provide two specific functionalities:
12
12
  element (e.g. the path to the T1 image, the path to the T2 image, etc.)
13
13
  #. Provide the list of *elements* available in the dataset.
14
14
 
15
- In this section, we will see how to create a datagrabber for a dataset. Basic
16
- aspects of datagrabbers are covered in the
15
+ In this section, we will see how to create a DataGrabber for a dataset. Basic
16
+ aspects of DataGrabbers are covered in the
17
17
  :ref:`Understanding Data Grabbers <datagrabber>` section.
18
18
 
19
19
  .. _extending_datagrabbers_think:
@@ -22,7 +22,7 @@ Step 1: Think about the element
22
22
  -------------------------------
23
23
 
24
24
  Like with any programming-related task, the first step is to think. When
25
- creating a Data Grabber, we need to first define what an *element* is.
25
+ creating a DataGrabber, we need to first define what an *element* is.
26
26
  The *element* should be the smallest unit of data that can be processed. That
27
27
  is, for each element, there should be a set of data that can be processed, but
28
28
  only one of each *data type* (see :ref:`data_types`).
@@ -42,28 +42,28 @@ then the *element* should be composed of 3 items:
42
42
  If any of these items were not part of the element, then we will have more than
43
43
  one ``T1w`` and / or ``BOLD`` image for each subject, which is not allowed.
44
44
 
45
- Importantly, nothing prevents that one image is part of two different elements.
46
- For example, it is usually the case that the ``T1w`` image is not acquired for
47
- each task, but once in the entire session. So in this case, the ``T1w`` image
48
- for the element (``sub001``, ``ses1``, ``rest``) will be the same as the
49
- ``T1w`` image for the element (``sub001``, ``ses1``, ``stroop``).
45
+ Importantly, nothing prevents that one image being part of two different
46
+ elements. For example, it is usually the case that the ``T1w`` image is not
47
+ acquired for each task, but once in the entire session. So in this case, the
48
+ ``T1w`` image for the element (``sub001``, ``ses1``, ``rest``) will be the same
49
+ as the ``T1w`` image for the element (``sub001``, ``ses1``, ``stroop``).
50
50
 
51
51
  We will now continue this section using as an example, a dataset in BIDS format
52
52
  in which 9 subjects (``sub-01`` to ``sub-09``) were scanned each during 3
53
53
  sessions (``ses-01``, ``ses-02``, ``ses-03``) and each session included a
54
54
  ``T1w`` and a ``BOLD`` image (resting-state), except for ``ses-03`` which was
55
- only anatomical.
55
+ only anatomical data.
56
56
 
57
57
  Step 2: Think about the dataset's structure
58
58
  -------------------------------------------
59
59
 
60
60
  Now that we have our element defined, we need to think about the structure of
61
61
  the dataset. Mainly, because the structure of the dataset will determine how
62
- the Data Grabber needs to be implemented.
62
+ the DataGrabber needs to be implemented.
63
63
 
64
- Junifer provides an abstract class to deal with datasets that can be thought in
65
- terms of *patterns*. A *pattern* is a string that contains placeholders that are
66
- replaced by the actual values of the element. In our BIDS example, the path
64
+ ``junifer`` provides an abstract class to deal with datasets that can be thought
65
+ in terms of *patterns*. A *pattern* is a string that contains placeholders that
66
+ are replaced by the actual values of the element. In our BIDS example, the path
67
67
  to the T1w image of subject ``sub-01`` and session ``ses-01``, relative to the
68
68
  dataset location, is ``sub-01/ses-01/anat/sub-01_ses-01_T1w.nii.gz``. By
69
69
  replacing ``sub-01`` with ``sub-02``, we can obtain the T1w image of the first
@@ -88,7 +88,7 @@ discussion in the `junifer Discussions`_ page. Most probably we can help you
88
88
  get your dataset in order.
89
89
 
90
90
  If there is no other way, then you can follow :ref:`extending_datagrabbers_base`
91
- to create a Data Grabber from scratch.
91
+ to create a DataGrabber from scratch.
92
92
 
93
93
  .. _extending_datagrabbers_pattern:
94
94
 
@@ -101,7 +101,7 @@ Option A: Extending from PatternDataGrabber
101
101
  The :class:`.PatternDataGrabber` class is an abstract class that has the
102
102
  functionality of understanding patterns embedded in it.
103
103
 
104
- Before creating the datagrabber, we need to define 3 variables:
104
+ Before creating the DataGrabber, we need to define 3 variables:
105
105
 
106
106
  * ``types``: A list with the available :ref:`data_types` in our dataset.
107
107
  * ``patterns``: A dictionary that specifies the pattern for each data type.
@@ -126,7 +126,7 @@ where the dataset is located. For example, if the dataset is located in
126
126
  location of the dataset, we can expose the variable in the constructor, as in
127
127
  the following example.
128
128
 
129
- With the variables defined above, we can create our datagrabber and name it
129
+ With the variables defined above, we can create our DataGrabber and name it
130
130
  ``ExampleBIDSDataGrabber``:
131
131
 
132
132
  .. code-block:: python
@@ -152,7 +152,7 @@ With the variables defined above, we can create our datagrabber and name it
152
152
  replacements=replacements,
153
153
  )
154
154
 
155
- Our datagrabber is ready to be used by junifer. However, it is still unknown
155
+ Our DataGrabber is ready to be used by ``junifer``. However, it is still unknown
156
156
  to the library. We need to register it in the library. To do so, we need to
157
157
  use the :func:`.register_datagrabber` decorator.
158
158
 
@@ -183,9 +183,9 @@ use the :func:`.register_datagrabber` decorator.
183
183
  )
184
184
 
185
185
 
186
- Now, we can use our datagrabber in junifer, by setting the ``datagrabber`` kind
187
- in the yaml file to ``ExampleBIDSDataGrabber``. Remember that we still need to
188
- set the ``datadir``.
186
+ Now, we can use our DataGrabber in ``junifer``, by setting the ``datagrabber``
187
+ kind in the yaml file to ``ExampleBIDSDataGrabber``. Remember that we still need
188
+ to set the ``datadir``.
189
189
 
190
190
  .. code-block:: yaml
191
191
 
@@ -209,7 +209,7 @@ temporary directory. To set the location of the dataset, you can use the
209
209
  be used to specify the path to the root directory of the dataset after doing
210
210
  ``datalad clone``.
211
211
 
212
- In the example, the dataset is hosted in gin
212
+ In the example, the dataset is hosted in Gin
213
213
  (``https://gin.g-node.org/juaml/datalad-example-bids``).
214
214
 
215
215
  When we clone this dataset, we will see the following structure:
@@ -238,7 +238,7 @@ Now we have our 2 additional variables:
238
238
  uri = "https://gin.g-node.org/juaml/datalad-example-bids"
239
239
  rootdir = "example_bids_ses"
240
240
 
241
- And we can create our datagrabber:
241
+ And we can create our DataGrabber:
242
242
 
243
243
  .. code-block:: python
244
244
 
@@ -267,17 +267,34 @@ And we can create our datagrabber:
267
267
  replacements=replacements,
268
268
  )
269
269
 
270
+ This approach can be used directly from the YAML, like so:
271
+
272
+ .. code-block:: yaml
273
+
274
+ datagrabber:
275
+ - kind: PatternDataladDataGrabber
276
+ types:
277
+ - BOLD
278
+ - T1w
279
+ patterns:
280
+ BOLD: "{subject}/{session}/func/{subject}_{session}_task-rest_bold.nii.gz"
281
+ T1w: "{subject}/{session}/anat/{subject}_{session}_T1w.nii.gz"
282
+ replacements:
283
+ - subject
284
+ - session
285
+ uri: "https://gin.g-node.org/juaml/datalad-example-bids"
286
+ rootdir: "example_bids_ses"
270
287
 
271
288
  .. _extending_datagrabbers_base:
272
289
 
273
290
  Option B: Extending from BaseDataGrabber
274
291
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
275
292
 
276
- While we could not think of a use case in which the pattern-based datagrabber
277
- would not be suitable, it is still possible to create a datagrabber extending
293
+ While we could not think of a use case in which the pattern-based DataGrabber
294
+ would not be suitable, it is still possible to create a DataGrabber extending
278
295
  from the :class:`.BaseDataGrabber` class.
279
296
 
280
- In order to create a datagrabber extending from :class:`.BaseDataGrabber`, we
297
+ In order to create a DataGrabber extending from :class:`.BaseDataGrabber`, we
281
298
  need to implement the following methods:
282
299
 
283
300
  - ``get_item``: to get a single item from the dataset.
@@ -287,7 +304,7 @@ need to implement the following methods:
287
304
  .. note::
288
305
 
289
306
  The ``__init__`` method could also be implemented, but it is not mandatory.
290
- This is required if the datagrabber requires any extra parameter.
307
+ This is required if the DataGrabber requires any extra parameter.
291
308
 
292
309
  We will now implement our BIDS example with this method.
293
310
 
@@ -339,7 +356,7 @@ method, in the same order.
339
356
  return ["subject", "session"]
340
357
 
341
358
 
342
- So, to summarize, our datagrabber will look like this:
359
+ So, to summarise, our DataGrabber will look like this:
343
360
 
344
361
  .. code-block:: python
345
362
 
@@ -403,7 +420,7 @@ not standardised.
403
420
  The ``mappings`` key is only required if the ``format`` is ``adhoc``. If the
404
421
  ``format`` is ``fmriprep``, the ``mappings`` key is not required.
405
422
 
406
- Currently, junifer provides only one confound remover step
423
+ Currently, ``junifer`` provides only one confound remover step
407
424
  (:class:`.fMRIPrepConfoundRemover`), which relies entirely on the ``fmriprep``
408
425
  confound variable names. Thus, if the confounds are not in ``fmriprep`` format,
409
426
  the user will need to provide the mappings between the *ad-hoc* variable names
@@ -0,0 +1,141 @@
1
+ .. include:: ../links.inc
2
+
3
+ .. _specifying_dependencies:
4
+
5
+ Specifying Dependencies
6
+ =======================
7
+
8
+ This section describes how you can tackle different situations when writing
9
+ your custom Marker and / or Preprocessor and take care of the dependencies for
10
+ them.
11
+
12
+ You might have already come across listing out dependencies for your
13
+ :ref:`custom Markers <extending_markers>` and / or
14
+ :ref:`custom Preprocessors <extending_preprocessors>`, if not, check them out
15
+ first. If you have already gone through them, you are already familiar with using
16
+ class attribute ``_DEPENDENCIES`` to keep track of its dependencies. ``junifer``
17
+ is a bit more sophisticated about them and we will see here how you can make the
18
+ best use of them.
19
+
20
+ .. _component_dependencies:
21
+
22
+ Handling dependencies that come as Python packages
23
+ --------------------------------------------------
24
+
25
+ You have already seen this case handled by having a class attribute
26
+ ``_DEPENDENCIES`` whose value is a set of all the package names that the
27
+ component depends on. For example, for :class:`.RSSETSMarker`, we have:
28
+
29
+ .. code-block:: python
30
+
31
+ _DEPENDENCIES: ClassVar[Set[str]] = {"nilearn"}
32
+
33
+ The type annotation is for documentation and static type checking purposes.
34
+ Although not required, we highly recommend you use them, your future self
35
+ and others who use it will thank you.
36
+
37
+ .. _component_external_dependencies:
38
+
39
+ Handling external dependencies from toolboxes
40
+ ---------------------------------------------
41
+
42
+ You can also specify dependencies of external toolboxes like AFIN, FSL and ANTs,
43
+ by having a class attribute like so:
44
+
45
+ .. code-block:: python
46
+
47
+ _EXT_DEPENDENCIES: ClassVar[List[Dict[str, Union[str, List[str]]]]] = [
48
+ {
49
+ "name": "afni",
50
+ "commands": ["3dReHo", "3dAFNItoNIFTI"],
51
+ },
52
+ ]
53
+
54
+ The above example is taken from the class which computes regional homogeneity
55
+ (ReHo) using AFNI. The general pattern is that you need to have the value of
56
+ ``_EXT_DEPENDENCIES`` as a list of dictionary with two keys:
57
+
58
+ * ``name`` (str) : lowercased name of the toolbox
59
+ * ``commands`` (list of str) : actual names of the commands you need to use
60
+
61
+ This is simple but powerful as we will see in the following sub-sections.
62
+
63
+ .. _component_conditional_dependencies:
64
+
65
+ Handling conditional dependencies
66
+ ---------------------------------
67
+
68
+ You might encounter situations where your Marker or Preprocessor needs to have
69
+ option for the user to either use a dependency that comes as a package or
70
+ use a dependency that relies on external toolboxes. With the foundation we laid
71
+ above, it is really simple to solve it while having validation before running
72
+ and letting the user know if some dependency is missing.
73
+
74
+ Let's look at an actual implementation, in this case :class:`.SpaceWarper`, so
75
+ that it shows the problem a bit better and how we solve it:
76
+
77
+ .. code-block:: python
78
+
79
+ class SpaceWarper(BasePreprocessor):
80
+ # docstring
81
+ _CONDITIONAL_DEPENDENCIES: ClassVar[List[Dict[str, Union[str, Type]]]] = [
82
+ {
83
+ "using": "fsl",
84
+ "depends_on": FSLWarper,
85
+ },
86
+ {
87
+ "using": "ants",
88
+ "depends_on": ANTsWarper,
89
+ },
90
+ ]
91
+
92
+ def __init__(
93
+ self, using: str, reference: str, on: Union[List[str], str]
94
+ ) -> None:
95
+ # validation and setting up
96
+
97
+
98
+ Here, you see a new class attribute ``_CONDITIONAL_DEPENDENCIES`` which is a
99
+ list of dictionaries with two keys:
100
+
101
+ * ``using`` (str) : lowercased name of the toolbox
102
+ * ``depends_on`` (object) : a class which implements the particular tool's use
103
+
104
+ It is mandatory to have the ``using`` positional argument in the constructor in
105
+ this case as the validation starts with this and moves further. It is also
106
+ mandatory to only allow the value of ``using`` argument to be one of them
107
+ specified in the ``using`` key of ``_CONDITIONAL_DEPENDENCIES`` entries.
108
+
109
+ For brevity, we only show the ``FSLWarper`` here but ``ANTsWarper`` looks very
110
+ similar. ``FSLWarper`` looks like this (only the relevant part is shown here):
111
+
112
+ .. code-block:: python
113
+
114
+ class FSLWarper:
115
+ # docstring
116
+
117
+ _EXT_DEPENDENCIES: ClassVar[List[Dict[str, Union[str, List[str]]]]] = [
118
+ {
119
+ "name": "fsl",
120
+ "commands": ["flirt", "applywarp"],
121
+ },
122
+ ]
123
+
124
+ _DEPENDENCIES: ClassVar[Set[str]] = {"numpy", "nibabel"}
125
+
126
+ def preprocess(
127
+ self,
128
+ input: Dict[str, Any],
129
+ extra_input: Dict[str, Any],
130
+ ) -> Dict[str, Any]:
131
+ # implementation
132
+
133
+ Here you can see the familiar ``_DEPENDENCIES`` and ``_EXT_DEPENDENCIES`` class
134
+ attributes. The validation process starts by looking up the ``using`` value of
135
+ the ``_CONDITIONAL_DEPENDENCIES`` entries and then retrieves the object pointed
136
+ by ``depends_on``. After that, the ``_DEPENDENCIES`` and ``_EXT_DEPENDENCIES``
137
+ class attributes are checked.
138
+
139
+ This might be a bit too much to get it right away so feel free to check the code
140
+ for a better understanding. You can also check ``ALFFBase`` for a Marker
141
+ having this pattern.
@@ -0,0 +1,35 @@
1
+ .. include:: ../links.inc
2
+
3
+ .. _extending_extension:
4
+
5
+ Creating a ``junifer`` extension
6
+ ================================
7
+
8
+ ``junifer`` is designed to be easily extensible. Through the use of a registry
9
+ and decorators, you can easily add new functionality to ``junifer`` during
10
+ runtime. This is done by creating a new Python module and importing it before
11
+ running ``junifer``.
12
+
13
+ A special consideration has to be made when using the
14
+ :ref:`code-less configuration<codeless>`. In this case, the
15
+ ``with`` statement can be used to import a module or run a Python file.
16
+
17
+ In the following example, we instruct ``junifer`` to first import ``my_module``
18
+ and then run the ``my_file.py`` file:
19
+
20
+ .. code-block:: yaml
21
+
22
+ with:
23
+ - my_module
24
+ - my_file.py
25
+
26
+ Thus, the code from ``my_file.py`` will be executed before running ``junifer``.
27
+ This is the ideal place to include ``junifer`` extensions.
28
+
29
+ .. important::
30
+
31
+ Some ``junifer`` commands will not consider files imported from files included
32
+ in the ``with`` statement. If ``my_file.py`` imports ``my_other_file.py``,
33
+ some of the ``junifer`` commands will not consider ``my_other_file.py``. Either
34
+ place all the code in one file or add multiple files to the ``with``
35
+ statement.