junifer 0.0.5.dev93__tar.gz → 0.0.5.dev110__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 (385) hide show
  1. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/PKG-INFO +1 -1
  2. junifer-0.0.5.dev110/docs/changes/newsfragments/345.feature +1 -0
  3. junifer-0.0.5.dev110/docs/changes/newsfragments/346.enh +1 -0
  4. junifer-0.0.5.dev110/docs/changes/newsfragments/346.feature +1 -0
  5. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/extending/datagrabber.rst +47 -0
  6. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/understanding/data.rst +9 -0
  7. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/_version.py +2 -2
  8. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/aomic/id1000.py +35 -2
  9. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/aomic/piop1.py +35 -2
  10. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/aomic/piop2.py +35 -2
  11. junifer-0.0.5.dev110/junifer/datagrabber/aomic/tests/test_id1000.py +124 -0
  12. junifer-0.0.5.dev110/junifer/datagrabber/aomic/tests/test_piop1.py +166 -0
  13. junifer-0.0.5.dev110/junifer/datagrabber/aomic/tests/test_piop2.py +146 -0
  14. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/pattern.py +17 -6
  15. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/tests/test_pattern.py +45 -0
  16. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/utils.py +11 -0
  17. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datareader/default.py +2 -2
  18. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer.egg-info/PKG-INFO +1 -1
  19. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer.egg-info/SOURCES.txt +3 -0
  20. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/tools/create_aomic1000_example_dataset.py +37 -1
  21. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/tools/create_aomicpiop1_example_dataset.py +37 -1
  22. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/tools/create_aomicpiop2_example_dataset.py +37 -1
  23. junifer-0.0.5.dev93/junifer/datagrabber/aomic/tests/test_id1000.py +0 -178
  24. junifer-0.0.5.dev93/junifer/datagrabber/aomic/tests/test_piop1.py +0 -208
  25. junifer-0.0.5.dev93/junifer/datagrabber/aomic/tests/test_piop2.py +0 -202
  26. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  27. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  28. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
  29. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
  30. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  31. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
  32. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/.github/dependabot.yml +0 -0
  33. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/.github/pull_request_template.md +0 -0
  34. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/.github/workflows/ci-docs.yml +0 -0
  35. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/.github/workflows/ci.yml +0 -0
  36. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/.github/workflows/docs-preview.yml +0 -0
  37. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/.github/workflows/docs.yml +0 -0
  38. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/.github/workflows/lint.yml +0 -0
  39. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/.github/workflows/pypi.yml +0 -0
  40. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/.gitignore +0 -0
  41. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/.gitmodules +0 -0
  42. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/.pre-commit-config.yaml +0 -0
  43. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/AUTHORS.rst +0 -0
  44. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/LICENSE.md +0 -0
  45. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/README.md +0 -0
  46. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/codecov.yml +0 -0
  47. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/conda-env.yml +0 -0
  48. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/Makefile +0 -0
  49. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/_static/css/custom.css +0 -0
  50. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/_static/js/custom.js +0 -0
  51. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/_templates/versions.html +0 -0
  52. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/api/api.rst +0 -0
  53. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/api/configs.rst +0 -0
  54. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/api/data.rst +0 -0
  55. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/api/datagrabbers.rst +0 -0
  56. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/api/datareaders.rst +0 -0
  57. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/api/index.rst +0 -0
  58. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/api/markers.rst +0 -0
  59. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/api/nilearn.rst +0 -0
  60. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/api/onthefly.rst +0 -0
  61. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/api/pipeline.rst +0 -0
  62. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/api/preprocessing.rst +0 -0
  63. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/api/stats.rst +0 -0
  64. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/api/storage.rst +0 -0
  65. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/api/testing.rst +0 -0
  66. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/api/utils.rst +0 -0
  67. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/builtin.rst +0 -0
  68. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/changes/contributors.inc +0 -0
  69. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/changes/newsfragments/.gitignore +0 -0
  70. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/changes/newsfragments/115.doc +0 -0
  71. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/changes/newsfragments/161.feature +0 -0
  72. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/changes/newsfragments/273.feature +0 -0
  73. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/changes/newsfragments/323.feature +0 -0
  74. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/changes/newsfragments/324.bugfix +0 -0
  75. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/changes/newsfragments/330.doc +0 -0
  76. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/changes/newsfragments/331.bugfix +0 -0
  77. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/changes/newsfragments/332.bugfix +0 -0
  78. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/changes/newsfragments/336.removal +0 -0
  79. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/changes/newsfragments/339.bugfix +0 -0
  80. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/changes/newsfragments/340.bugfix +0 -0
  81. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/changes/newsfragments/341.enh +0 -0
  82. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/changes/newsfragments/342.misc +0 -0
  83. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/changes/newsfragments/343.feature +0 -0
  84. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/conf.py +0 -0
  85. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/contribution.rst +0 -0
  86. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/extending/coordinates.rst +0 -0
  87. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/extending/dependencies.rst +0 -0
  88. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/extending/extension.rst +0 -0
  89. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/extending/index.rst +0 -0
  90. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/extending/marker.rst +0 -0
  91. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/extending/masks.rst +0 -0
  92. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/extending/parcellations.rst +0 -0
  93. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/extending/preprocessor.rst +0 -0
  94. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/faq.rst +0 -0
  95. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/help.rst +0 -0
  96. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/images/junifer_logo.png +0 -0
  97. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/index.rst +0 -0
  98. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/installation.rst +0 -0
  99. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/links.inc +0 -0
  100. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/maintaining.rst +0 -0
  101. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/redirect.html +0 -0
  102. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/sphinxext/gh_substitutions.py +0 -0
  103. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/starting.rst +0 -0
  104. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/understanding/datagrabber.rst +0 -0
  105. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/understanding/datareader.rst +0 -0
  106. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/understanding/index.rst +0 -0
  107. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/understanding/marker.rst +0 -0
  108. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/understanding/pipeline.rst +0 -0
  109. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/understanding/preprocess.rst +0 -0
  110. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/understanding/storage.rst +0 -0
  111. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/using/codeless.rst +0 -0
  112. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/using/index.rst +0 -0
  113. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/using/masks.rst +0 -0
  114. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/using/queueing.rst +0 -0
  115. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/using/running.rst +0 -0
  116. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/docs/whats_new.rst +0 -0
  117. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/examples/README.rst +0 -0
  118. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/examples/norun_hcpfc_pearson.py +0 -0
  119. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/examples/norun_ukbvm_gmd.py +0 -0
  120. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/examples/run_compute_parcel_mean.py +0 -0
  121. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/examples/run_datagrabber_bids_datalad.py +0 -0
  122. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/examples/run_ets_rss_marker.py +0 -0
  123. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/examples/run_junifer_julearn.py +0 -0
  124. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/examples/run_run_gmd_mean.py +0 -0
  125. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/examples/yamls/gmd_mean.yaml +0 -0
  126. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
  127. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
  128. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/examples/yamls/ukb_gmd_mean.yaml +0 -0
  129. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/ignore_words.txt +0 -0
  130. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/__init__.py +0 -0
  131. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/__init__.py +0 -0
  132. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/cli.py +0 -0
  133. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/decorators.py +0 -0
  134. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/functions.py +0 -0
  135. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/parser.py +0 -0
  136. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/queue_context/__init__.py +0 -0
  137. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/queue_context/gnu_parallel_local_adapter.py +0 -0
  138. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/queue_context/htcondor_adapter.py +0 -0
  139. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/queue_context/queue_context_adapter.py +0 -0
  140. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +0 -0
  141. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
  142. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
  143. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/afni/3dRSFC +0 -0
  144. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/afni/3dReHo +0 -0
  145. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/afni/afni +0 -0
  146. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/afni/run_afni_docker.sh +0 -0
  147. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/ants/ResampleImage +0 -0
  148. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/ants/antsApplyTransforms +0 -0
  149. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
  150. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/ants/run_ants_docker.sh +0 -0
  151. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/freesurfer/mri_binarize +0 -0
  152. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/freesurfer/mri_mc +0 -0
  153. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/freesurfer/mri_pretess +0 -0
  154. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/freesurfer/mris_convert +0 -0
  155. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
  156. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/fsl/applywarp +0 -0
  157. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/fsl/flirt +0 -0
  158. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/fsl/img2imgcoord +0 -0
  159. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
  160. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/fsl/std2imgcoord +0 -0
  161. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/run_conda.bash +0 -0
  162. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/run_conda.zsh +0 -0
  163. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/run_venv.bash +0 -0
  164. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/res/run_venv.zsh +0 -0
  165. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/tests/data/gmd_mean.yaml +0 -0
  166. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/tests/data/gmd_mean_htcondor.yaml +0 -0
  167. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
  168. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/tests/test_api_utils.py +0 -0
  169. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/tests/test_cli.py +0 -0
  170. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/tests/test_functions.py +0 -0
  171. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/tests/test_parser.py +0 -0
  172. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/api/utils.py +0 -0
  173. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/configs/__init__.py +0 -0
  174. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/configs/juseless/__init__.py +0 -0
  175. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
  176. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -0
  177. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -0
  178. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -0
  179. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
  180. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
  181. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
  182. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
  183. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
  184. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/configs/juseless/datagrabbers/ucla.py +0 -0
  185. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -0
  186. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/AutobiographicalMemory_VOIs.txt +0 -0
  187. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/CogAC_VOIs.txt +0 -0
  188. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/CogAR_VOIs.txt +0 -0
  189. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/DMNBuckner_VOIs.txt +0 -0
  190. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/Dosenbach2010_MNI_VOIs.txt +0 -0
  191. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/Empathy_VOIs.txt +0 -0
  192. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/Motor_VOIs.txt +0 -0
  193. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/MultiTask_VOIs.txt +0 -0
  194. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/PhysioStress_VOIs.txt +0 -0
  195. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/Power2011_MNI_VOIs.txt +0 -0
  196. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/Power2013_MNI_VOIs.tsv +0 -0
  197. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/Rew_VOIs.txt +0 -0
  198. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/Somatosensory_VOIs.txt +0 -0
  199. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/ToM_VOIs.txt +0 -0
  200. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/VigAtt_VOIs.txt +0 -0
  201. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/WM_VOIs.txt +0 -0
  202. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/eMDN_VOIs.txt +0 -0
  203. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/eSAD_VOIs.txt +0 -0
  204. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/extDMN_VOIs.txt +0 -0
  205. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/__init__.py +0 -0
  206. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/coordinates.py +0 -0
  207. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean.nii.gz +0 -0
  208. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean_3mm.nii.gz +0 -0
  209. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/masks/vickery-patil/GMprob0.2_cortex_3mm_NA_rm.nii.gz +0 -0
  210. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/masks.py +0 -0
  211. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/parcellations.py +0 -0
  212. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/template_spaces.py +0 -0
  213. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/tests/test_coordinates.py +0 -0
  214. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/tests/test_data_utils.py +0 -0
  215. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/tests/test_masks.py +0 -0
  216. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/tests/test_parcellations.py +0 -0
  217. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/tests/test_template_spaces.py +0 -0
  218. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/data/utils.py +0 -0
  219. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/__init__.py +0 -0
  220. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/aomic/__init__.py +0 -0
  221. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/base.py +0 -0
  222. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/datalad_base.py +0 -0
  223. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/dmcc13_benchmark.py +0 -0
  224. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/hcp1200/__init__.py +0 -0
  225. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +0 -0
  226. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/hcp1200/hcp1200.py +0 -0
  227. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +0 -0
  228. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/multiple.py +0 -0
  229. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/pattern_datalad.py +0 -0
  230. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/tests/test_base.py +0 -0
  231. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/tests/test_datagrabber_utils.py +0 -0
  232. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
  233. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +0 -0
  234. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/tests/test_multiple.py +0 -0
  235. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
  236. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datareader/__init__.py +0 -0
  237. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/datareader/tests/test_default_reader.py +0 -0
  238. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/external/__init__.py +0 -0
  239. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/external/h5io/h5io/__init__.py +0 -0
  240. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/external/h5io/h5io/_h5io.py +0 -0
  241. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/external/h5io/h5io/_version.py +0 -0
  242. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/external/h5io/h5io/chunked_array.py +0 -0
  243. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/external/h5io/h5io/chunked_list.py +0 -0
  244. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/external/nilearn/__init__.py +0 -0
  245. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +0 -0
  246. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
  247. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/__init__.py +0 -0
  248. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/base.py +0 -0
  249. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/collection.py +0 -0
  250. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/complexity/__init__.py +0 -0
  251. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/complexity/complexity_base.py +0 -0
  252. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/complexity/hurst_exponent.py +0 -0
  253. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/complexity/multiscale_entropy_auc.py +0 -0
  254. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/complexity/perm_entropy.py +0 -0
  255. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/complexity/range_entropy.py +0 -0
  256. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/complexity/range_entropy_auc.py +0 -0
  257. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/complexity/sample_entropy.py +0 -0
  258. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
  259. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
  260. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
  261. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
  262. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
  263. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
  264. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
  265. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
  266. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/complexity/weighted_perm_entropy.py +0 -0
  267. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/ets_rss.py +0 -0
  268. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/falff/__init__.py +0 -0
  269. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/falff/_afni_falff.py +0 -0
  270. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/falff/_junifer_falff.py +0 -0
  271. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/falff/falff_base.py +0 -0
  272. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/falff/falff_parcels.py +0 -0
  273. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/falff/falff_spheres.py +0 -0
  274. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
  275. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
  276. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/__init__.py +0 -0
  277. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +0 -0
  278. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +0 -0
  279. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +0 -0
  280. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/functional_connectivity_base.py +0 -0
  281. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +0 -0
  282. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +0 -0
  283. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
  284. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
  285. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
  286. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
  287. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +0 -0
  288. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +0 -0
  289. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/parcel_aggregation.py +0 -0
  290. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/reho/__init__.py +0 -0
  291. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/reho/_afni_reho.py +0 -0
  292. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/reho/_junifer_reho.py +0 -0
  293. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/reho/reho_base.py +0 -0
  294. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/reho/reho_parcels.py +0 -0
  295. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/reho/reho_spheres.py +0 -0
  296. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
  297. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
  298. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/sphere_aggregation.py +0 -0
  299. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/temporal_snr/__init__.py +0 -0
  300. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/temporal_snr/temporal_snr_base.py +0 -0
  301. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/temporal_snr/temporal_snr_parcels.py +0 -0
  302. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/temporal_snr/temporal_snr_spheres.py +0 -0
  303. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
  304. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
  305. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
  306. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/tests/test_collection.py +0 -0
  307. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/tests/test_ets_rss.py +0 -0
  308. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/tests/test_marker_utils.py +0 -0
  309. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/tests/test_markers_base.py +0 -0
  310. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/tests/test_parcel_aggregation.py +0 -0
  311. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/tests/test_sphere_aggregation.py +0 -0
  312. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/markers/utils.py +0 -0
  313. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/onthefly/__init__.py +0 -0
  314. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/onthefly/read_transform.py +0 -0
  315. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/onthefly/tests/test_read_transform.py +0 -0
  316. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/pipeline/__init__.py +0 -0
  317. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/pipeline/pipeline_step_mixin.py +0 -0
  318. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/pipeline/registry.py +0 -0
  319. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/pipeline/singleton.py +0 -0
  320. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
  321. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/pipeline/tests/test_registry.py +0 -0
  322. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
  323. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
  324. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/pipeline/update_meta_mixin.py +0 -0
  325. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/pipeline/utils.py +0 -0
  326. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/pipeline/workdir_manager.py +0 -0
  327. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/preprocess/__init__.py +0 -0
  328. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/preprocess/base.py +0 -0
  329. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/preprocess/confounds/__init__.py +0 -0
  330. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/preprocess/confounds/fmriprep_confound_remover.py +0 -0
  331. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +0 -0
  332. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/preprocess/smoothing/__init__.py +0 -0
  333. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/preprocess/smoothing/_afni_smoothing.py +0 -0
  334. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/preprocess/smoothing/_fsl_smoothing.py +0 -0
  335. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/preprocess/smoothing/_nilearn_smoothing.py +0 -0
  336. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/preprocess/smoothing/smoothing.py +0 -0
  337. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/preprocess/smoothing/tests/test_smoothing.py +0 -0
  338. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
  339. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/preprocess/warping/__init__.py +0 -0
  340. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/preprocess/warping/_ants_warper.py +0 -0
  341. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/preprocess/warping/_fsl_warper.py +0 -0
  342. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/preprocess/warping/space_warper.py +0 -0
  343. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
  344. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/stats.py +0 -0
  345. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/storage/__init__.py +0 -0
  346. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/storage/base.py +0 -0
  347. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/storage/hdf5.py +0 -0
  348. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/storage/pandas_base.py +0 -0
  349. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/storage/sqlite.py +0 -0
  350. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/storage/tests/test_hdf5.py +0 -0
  351. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/storage/tests/test_pandas_base.py +0 -0
  352. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/storage/tests/test_sqlite.py +0 -0
  353. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/storage/tests/test_storage_base.py +0 -0
  354. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/storage/tests/test_utils.py +0 -0
  355. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/storage/utils.py +0 -0
  356. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/testing/__init__.py +0 -0
  357. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
  358. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/testing/datagrabbers.py +0 -0
  359. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/testing/registry.py +0 -0
  360. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
  361. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
  362. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
  363. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/testing/tests/test_testing_registry.py +0 -0
  364. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/testing/utils.py +0 -0
  365. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/tests/test_main.py +0 -0
  366. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/tests/test_stats.py +0 -0
  367. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/utils/__init__.py +0 -0
  368. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/utils/fs.py +0 -0
  369. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/utils/helpers.py +0 -0
  370. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/utils/logging.py +0 -0
  371. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/utils/tests/test_fs.py +0 -0
  372. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/utils/tests/test_helpers.py +0 -0
  373. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer/utils/tests/test_logging.py +0 -0
  374. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer.egg-info/dependency_links.txt +0 -0
  375. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer.egg-info/entry_points.txt +0 -0
  376. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer.egg-info/requires.txt +0 -0
  377. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/junifer.egg-info/top_level.txt +0 -0
  378. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/pyproject.toml +0 -0
  379. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/setup.cfg +0 -0
  380. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/setup.py +0 -0
  381. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/tools/create_bids_example_dataset.py +0 -0
  382. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/tools/create_bids_example_dataset_sessions.py +0 -0
  383. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
  384. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/tools/create_hcp1200_example_dataset.py +0 -0
  385. {junifer-0.0.5.dev93 → junifer-0.0.5.dev110}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: junifer
3
- Version: 0.0.5.dev93
3
+ Version: 0.0.5.dev110
4
4
  Summary: JUelich NeuroImaging FEature extractoR
5
5
  Author-email: Fede Raimondo <f.raimondo@fz-juelich.de>, Synchon Mandal <s.mandal@fz-juelich.de>
6
6
  Maintainer-email: Fede Raimondo <f.raimondo@fz-juelich.de>, Synchon Mandal <s.mandal@fz-juelich.de>
@@ -0,0 +1 @@
1
+ Allow Unix path expansion directives to be used in :class:`.PatternDataGrabber` ``patterns`` by `Synchon Mandal`_
@@ -0,0 +1 @@
1
+ Adapt :class:`.DataladAOMICID1000`, :class:`.DataladAOMICPIOP1` and :class:`.DataladAOMICPIOP2` to support ``FreeSurfer`` data type by `Synchon Mandal`_
@@ -0,0 +1 @@
1
+ Add support for ``FreeSurfer`` data type for :class:`.PatternDataGrabber` by `Synchon Mandal`_
@@ -314,6 +314,53 @@ This approach can be used directly from the YAML, like so:
314
314
  uri: "https://gin.g-node.org/juaml/datalad-example-bids"
315
315
  rootdir: example_bids_ses
316
316
 
317
+ Advanced: Using Unix-like path expansion directives
318
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
319
+
320
+ It is also possible to use some advanced Unix-like path expansion tricks to
321
+ define our patterns.
322
+
323
+ A very common thing would be to use ``*`` to match any number of
324
+ characters but we cannot use it right after a replacement like:
325
+
326
+ .. code-block:: python
327
+
328
+ "derivatives/freesurfer/{subject}*"
329
+
330
+ or if there are multiple files or no files which can be globbed.
331
+
332
+ We can also use ``[]`` and ``[!]`` to glob certain tricky files like with the
333
+ case of FreeSurfer derivatives. The file structure seen in a typical
334
+ FreeSurfer derivative of a dataset (like ``AOMIC`` ones) is like so:
335
+
336
+ .. code-block::
337
+
338
+ .
339
+ └── derivatives
340
+ └── freesurfer
341
+ ├── fsaverage
342
+ │ ├── mri
343
+ │ | ├── T1.mgz
344
+ │ | └── ...
345
+ │ └── ...
346
+ ├── sub-01
347
+ │ ├── mri
348
+ │ | ├── T1.mgz
349
+ │ | └── ...
350
+ │ | └── ...
351
+ │ └── ...
352
+ ...
353
+
354
+ With a structure like this, it would be cumbersome to write custom methods
355
+ for the class and thus we could use a pattern like this:
356
+
357
+ .. code-block:: python
358
+
359
+ "derivatives/freesurfer/[!f]{subject}/mri/T1.mg[z]"
360
+
361
+ This would ignore the ``fsaverage`` directory as a subject and let ``T1.mgz`` be
362
+ fetched as there can be many files with the same prefix.
363
+
317
364
  .. _extending_datagrabbers_base:
318
365
 
319
366
  Option B: Extending from BaseDataGrabber
@@ -115,6 +115,9 @@ Data Types
115
115
  * - ``VBM_WM``
116
116
  - VBM White Matter segmentation (3D)
117
117
  - CAT output (`m0wp2` images)
118
+ * - ``VBM_CSF``
119
+ - VBM Central Spinal Fluid segmentation (3D)
120
+ - CAT output (`m0wp3` images)
118
121
  * - ``fALFF``
119
122
  - Voxel-wise fALFF image (3D)
120
123
  - fALFF computed with CONN toolbox
@@ -124,3 +127,9 @@ Data Types
124
127
  * - ``LCOR``
125
128
  - Local Correlation image (3D)
126
129
  - LCOR computed with CONN toolbox
130
+ * - ``DWI``
131
+ - Diffusion-weighted image (3D)
132
+ - Diffusion-weighted image (FSL or MRtrix output)
133
+ * - ``FreeSurfer``
134
+ - T1 image (3D)
135
+ - T1 image computed by FreeSurfer
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.0.5.dev93'
16
- __version_tuple__ = version_tuple = (0, 0, 5, 'dev93')
15
+ __version__ = version = '0.0.5.dev110'
16
+ __version_tuple__ = version_tuple = (0, 0, 5, 'dev110')
@@ -24,8 +24,8 @@ class DataladAOMICID1000(PatternDataladDataGrabber):
24
24
  The directory where the datalad dataset will be cloned. If None,
25
25
  the datalad dataset will be cloned into a temporary directory
26
26
  (default None).
27
- types: {"BOLD", "T1w", "VBM_CSF", "VBM_GM", "VBM_WM", "DWI"} or \
28
- list of the options, optional
27
+ types: {"BOLD", "T1w", "VBM_CSF", "VBM_GM", "VBM_WM", "DWI", \
28
+ "FreeSurfer"} or list of the options, optional
29
29
  AOMIC data types. If None, all available data types are selected.
30
30
  (default None).
31
31
  native_t1w : bool, optional
@@ -112,6 +112,39 @@ class DataladAOMICID1000(PatternDataladDataGrabber):
112
112
  "{subject}_desc-preproc_dwi.nii.gz"
113
113
  ),
114
114
  },
115
+ "FreeSurfer": {
116
+ "pattern": "derivatives/freesurfer/[!f]{subject}/mri/T1.mg[z]",
117
+ "aseg": {
118
+ "pattern": (
119
+ "derivatives/freesurfer/[!f]{subject}/mri/aseg.mg[z]"
120
+ )
121
+ },
122
+ "norm": {
123
+ "pattern": (
124
+ "derivatives/freesurfer/[!f]{subject}/mri/norm.mg[z]"
125
+ )
126
+ },
127
+ "lh_white": {
128
+ "pattern": (
129
+ "derivatives/freesurfer/[!f]{subject}/surf/lh.whit[e]"
130
+ )
131
+ },
132
+ "rh_white": {
133
+ "pattern": (
134
+ "derivatives/freesurfer/[!f]{subject}/surf/rh.whit[e]"
135
+ )
136
+ },
137
+ "lh_pial": {
138
+ "pattern": (
139
+ "derivatives/freesurfer/[!f]{subject}/surf/lh.pia[l]"
140
+ )
141
+ },
142
+ "rh_pial": {
143
+ "pattern": (
144
+ "derivatives/freesurfer/[!f]{subject}/surf/rh.pia[l]"
145
+ )
146
+ },
147
+ },
115
148
  }
116
149
  # Use native T1w assets
117
150
  self.native_t1w = False
@@ -26,8 +26,8 @@ class DataladAOMICPIOP1(PatternDataladDataGrabber):
26
26
  The directory where the datalad dataset will be cloned. If None,
27
27
  the datalad dataset will be cloned into a temporary directory
28
28
  (default None).
29
- types: {"BOLD", "T1w", "VBM_CSF", "VBM_GM", "VBM_WM", "DWI"} or \
30
- list of the options, optional
29
+ types: {"BOLD", "T1w", "VBM_CSF", "VBM_GM", "VBM_WM", "DWI", \
30
+ "FreeSurfer"} or list of the options, optional
31
31
  AOMIC data types. If None, all available data types are selected.
32
32
  (default None).
33
33
  tasks : {"restingstate", "anticipation", "emomatching", "faces", \
@@ -147,6 +147,39 @@ class DataladAOMICPIOP1(PatternDataladDataGrabber):
147
147
  "{subject}_desc-preproc_dwi.nii.gz"
148
148
  ),
149
149
  },
150
+ "FreeSurfer": {
151
+ "pattern": "derivatives/freesurfer/[!f]{subject}/mri/T1.mg[z]",
152
+ "aseg": {
153
+ "pattern": (
154
+ "derivatives/freesurfer/[!f]{subject}/mri/aseg.mg[z]"
155
+ )
156
+ },
157
+ "norm": {
158
+ "pattern": (
159
+ "derivatives/freesurfer/[!f]{subject}/mri/norm.mg[z]"
160
+ )
161
+ },
162
+ "lh_white": {
163
+ "pattern": (
164
+ "derivatives/freesurfer/[!f]{subject}/surf/lh.whit[e]"
165
+ )
166
+ },
167
+ "rh_white": {
168
+ "pattern": (
169
+ "derivatives/freesurfer/[!f]{subject}/surf/rh.whit[e]"
170
+ )
171
+ },
172
+ "lh_pial": {
173
+ "pattern": (
174
+ "derivatives/freesurfer/[!f]{subject}/surf/lh.pia[l]"
175
+ )
176
+ },
177
+ "rh_pial": {
178
+ "pattern": (
179
+ "derivatives/freesurfer/[!f]{subject}/surf/rh.pia[l]"
180
+ )
181
+ },
182
+ },
150
183
  }
151
184
  # Use native T1w assets
152
185
  self.native_t1w = False
@@ -26,8 +26,8 @@ class DataladAOMICPIOP2(PatternDataladDataGrabber):
26
26
  The directory where the datalad dataset will be cloned. If None,
27
27
  the datalad dataset will be cloned into a temporary directory
28
28
  (default None).
29
- types: {"BOLD", "T1w", "VBM_CSF", "VBM_GM", "VBM_WM", "DWI"} or \
30
- list of the options, optional
29
+ types: {"BOLD", "T1w", "VBM_CSF", "VBM_GM", "VBM_WM", "DWI", \
30
+ "FreeSurfer"} or list of the options, optional
31
31
  AOMIC data types. If None, all available data types are selected.
32
32
  (default None).
33
33
  tasks : {"restingstate", "stopsignal", "workingmemory"} or \
@@ -144,6 +144,39 @@ class DataladAOMICPIOP2(PatternDataladDataGrabber):
144
144
  "{subject}_desc-preproc_dwi.nii.gz"
145
145
  ),
146
146
  },
147
+ "FreeSurfer": {
148
+ "pattern": "derivatives/freesurfer/[!f]{subject}/mri/T1.mg[z]",
149
+ "aseg": {
150
+ "pattern": (
151
+ "derivatives/freesurfer/[!f]{subject}/mri/aseg.mg[z]"
152
+ )
153
+ },
154
+ "norm": {
155
+ "pattern": (
156
+ "derivatives/freesurfer/[!f]{subject}/mri/norm.mg[z]"
157
+ )
158
+ },
159
+ "lh_white": {
160
+ "pattern": (
161
+ "derivatives/freesurfer/[!f]{subject}/surf/lh.whit[e]"
162
+ )
163
+ },
164
+ "rh_white": {
165
+ "pattern": (
166
+ "derivatives/freesurfer/[!f]{subject}/surf/rh.whit[e]"
167
+ )
168
+ },
169
+ "lh_pial": {
170
+ "pattern": (
171
+ "derivatives/freesurfer/[!f]{subject}/surf/lh.pia[l]"
172
+ )
173
+ },
174
+ "rh_pial": {
175
+ "pattern": (
176
+ "derivatives/freesurfer/[!f]{subject}/surf/rh.pia[l]"
177
+ )
178
+ },
179
+ },
147
180
  }
148
181
  # Use native T1w assets
149
182
  self.native_t1w = False
@@ -0,0 +1,124 @@
1
+ """Provide tests for DataladAOMICID1000 DataGrabber."""
2
+
3
+ # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
+ # Vera Komeyer <v.komeyer@fz-juelich.de>
5
+ # Xuan Li <xu.li@fz-juelich.de>
6
+ # Leonard Sasse <l.sasse@fz-juelich.de>
7
+ # Synchon Mandal <s.mandal@fz-juelich.de>
8
+ # License: AGPL
9
+
10
+ from typing import List, Optional, Union
11
+
12
+ import pytest
13
+
14
+ from junifer.datagrabber.aomic.id1000 import DataladAOMICID1000
15
+
16
+
17
+ URI = "https://gin.g-node.org/juaml/datalad-example-aomic1000"
18
+
19
+
20
+ @pytest.mark.parametrize(
21
+ "type_, nested_types",
22
+ [
23
+ ("BOLD", ["confounds", "mask"]),
24
+ ("T1w", ["mask"]),
25
+ ("VBM_CSF", None),
26
+ ("VBM_GM", None),
27
+ ("VBM_WM", None),
28
+ ("DWI", None),
29
+ ("FreeSurfer", None),
30
+ ],
31
+ )
32
+ def test_DataladAOMICID1000(
33
+ type_: str,
34
+ nested_types: Optional[List[str]],
35
+ ) -> None:
36
+ """Test DataladAOMICID1000 DataGrabber.
37
+
38
+ Parameters
39
+ ----------
40
+ type_ : str
41
+ The parametrized type.
42
+ nested_types : list of str or None
43
+ The parametrized nested types.
44
+
45
+ """
46
+ dg = DataladAOMICID1000(types=type_)
47
+ # Set URI to Gin
48
+ dg.uri = URI
49
+
50
+ with dg:
51
+ # Get all elements
52
+ all_elements = dg.get_elements()
53
+ # Get test element
54
+ test_element = all_elements[0]
55
+ # Get test element data
56
+ out = dg[test_element]
57
+ # Assert data type
58
+ assert type_ in out
59
+ assert out[type_]["path"].exists()
60
+ assert out[type_]["path"].is_file()
61
+ # Asserts data type metadata
62
+ assert "meta" in out[type_]
63
+ meta = out[type_]["meta"]
64
+ assert "element" in meta
65
+ assert "subject" in meta["element"]
66
+ assert test_element == meta["element"]["subject"]
67
+ # Assert nested data type if not None
68
+ if nested_types is not None:
69
+ for nested_type in nested_types:
70
+ assert out[type_][nested_type]["path"].exists()
71
+ assert out[type_][nested_type]["path"].is_file()
72
+
73
+
74
+ @pytest.mark.parametrize(
75
+ "types",
76
+ [
77
+ "BOLD",
78
+ "T1w",
79
+ "VBM_CSF",
80
+ "VBM_GM",
81
+ "VBM_WM",
82
+ "DWI",
83
+ ["BOLD", "VBM_CSF"],
84
+ ["T1w", "VBM_CSF"],
85
+ ["VBM_GM", "VBM_WM"],
86
+ ["DWI", "BOLD"],
87
+ ],
88
+ )
89
+ def test_DataladAOMICID1000_partial_data_access(
90
+ types: Union[str, List[str]],
91
+ ) -> None:
92
+ """Test DataladAOMICID1000 DataGrabber partial data access.
93
+
94
+ Parameters
95
+ ----------
96
+ types : str or list of str
97
+ The parametrized types.
98
+
99
+ """
100
+ dg = DataladAOMICID1000(types=types)
101
+ # Set URI to Gin
102
+ dg.uri = URI
103
+
104
+ with dg:
105
+ # Get all elements
106
+ all_elements = dg.get_elements()
107
+ # Get test element
108
+ test_element = all_elements[0]
109
+ # Get test element data
110
+ out = dg[test_element]
111
+ # Assert data type
112
+ if isinstance(types, list):
113
+ for type_ in types:
114
+ assert type_ in out
115
+ else:
116
+ assert types in out
117
+
118
+
119
+ def test_DataladAOMICID1000_incorrect_data_type() -> None:
120
+ """Test DataladAOMICID1000 DataGrabber incorrect data type."""
121
+ with pytest.raises(
122
+ ValueError, match="`patterns` must contain all `types`"
123
+ ):
124
+ _ = DataladAOMICID1000(types="Scooby-Doo")
@@ -0,0 +1,166 @@
1
+ """Provide tests for DataladAOMICPIOP1 DataGrabber."""
2
+
3
+ # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
+ # Vera Komeyer <v.komeyer@fz-juelich.de>
5
+ # Xuan Li <xu.li@fz-juelich.de>
6
+ # Leonard Sasse <l.sasse@fz-juelich.de>
7
+ # Synchon Mandal <s.mandal@fz-juelich.de>
8
+ # License: AGPL
9
+
10
+ from typing import List, Optional, Union
11
+
12
+ import pytest
13
+
14
+ from junifer.datagrabber import DataladAOMICPIOP1
15
+
16
+
17
+ URI = "https://gin.g-node.org/juaml/datalad-example-aomicpiop1"
18
+
19
+
20
+ @pytest.mark.parametrize(
21
+ "type_, nested_types, tasks",
22
+ [
23
+ ("BOLD", ["confounds", "mask"], None),
24
+ ("BOLD", ["confounds", "mask"], ["anticipation"]),
25
+ ("BOLD", ["confounds", "mask"], ["emomatching", "faces"]),
26
+ ("BOLD", ["confounds", "mask"], ["restingstate"]),
27
+ ("BOLD", ["confounds", "mask"], ["workingmemory", "gstroop"]),
28
+ (
29
+ "BOLD",
30
+ ["confounds", "mask"],
31
+ ["anticipation", "faces", "restingstate"],
32
+ ),
33
+ ("T1w", ["mask"], None),
34
+ ("VBM_CSF", None, None),
35
+ ("VBM_GM", None, None),
36
+ ("VBM_WM", None, None),
37
+ ("DWI", None, None),
38
+ ("FreeSurfer", None, None),
39
+ ],
40
+ )
41
+ def test_DataladAOMICPIOP1(
42
+ type_: str,
43
+ nested_types: Optional[List[str]],
44
+ tasks: Optional[List[str]],
45
+ ) -> None:
46
+ """Test DataladAOMICPIOP1 DataGrabber.
47
+
48
+ Parameters
49
+ ----------
50
+ type_ : str
51
+ The parametrized type.
52
+ nested_types : list of str or None
53
+ The parametrized nested types.
54
+ tasks : list of str or None
55
+ The parametrized task values.
56
+
57
+ """
58
+ dg = DataladAOMICPIOP1(types=type_, tasks=tasks)
59
+ # Set URI to Gin
60
+ dg.uri = URI
61
+
62
+ with dg:
63
+ # Get all elements
64
+ all_elements = dg.get_elements()
65
+ # Get test element
66
+ test_element = all_elements[0]
67
+ # Get test element data
68
+ out = dg[test_element]
69
+ # Get all elements
70
+ all_elements = dg.get_elements()
71
+ # Get test element
72
+ test_element = all_elements[0]
73
+ # Get test element data
74
+ out = dg[test_element]
75
+ # Assert data type
76
+ assert type_ in out
77
+ # Check task name if BOLD
78
+ if type_ == "BOLD" and tasks is not None:
79
+ # Depending on task 'acquisition is different'
80
+ task_acqs = {
81
+ "anticipation": "seq",
82
+ "emomatching": "seq",
83
+ "faces": "mb3",
84
+ "gstroop": "seq",
85
+ "restingstate": "mb3",
86
+ "workingmemory": "seq",
87
+ }
88
+ assert task_acqs[test_element[1]] in out[type_]["path"].name
89
+ assert out[type_]["path"].exists()
90
+ assert out[type_]["path"].is_file()
91
+ # Asserts data type metadata
92
+ assert "meta" in out[type_]
93
+ meta = out[type_]["meta"]
94
+ assert "element" in meta
95
+ assert "subject" in meta["element"]
96
+ assert test_element[0] == meta["element"]["subject"]
97
+ # Assert nested data type if not None
98
+ if nested_types is not None:
99
+ for nested_type in nested_types:
100
+ assert out[type_][nested_type]["path"].exists()
101
+ assert out[type_][nested_type]["path"].is_file()
102
+
103
+
104
+ @pytest.mark.parametrize(
105
+ "types",
106
+ [
107
+ "BOLD",
108
+ "T1w",
109
+ "VBM_CSF",
110
+ "VBM_GM",
111
+ "VBM_WM",
112
+ "DWI",
113
+ ["BOLD", "VBM_CSF"],
114
+ ["T1w", "VBM_CSF"],
115
+ ["VBM_GM", "VBM_WM"],
116
+ ["DWI", "BOLD"],
117
+ ],
118
+ )
119
+ def test_DataladAOMICPIOP1_partial_data_access(
120
+ types: Union[str, List[str]],
121
+ ) -> None:
122
+ """Test DataladAOMICPIOP1 DataGrabber partial data access.
123
+
124
+ Parameters
125
+ ----------
126
+ types : str or list of str
127
+ The parametrized types.
128
+
129
+ """
130
+ dg = DataladAOMICPIOP1(types=types)
131
+ # Set URI to Gin
132
+ dg.uri = URI
133
+
134
+ with dg:
135
+ # Get all elements
136
+ all_elements = dg.get_elements()
137
+ # Get test element
138
+ test_element = all_elements[0]
139
+ # Get test element data
140
+ out = dg[test_element]
141
+ # Assert data type
142
+ if isinstance(types, list):
143
+ for type_ in types:
144
+ assert type_ in out
145
+ else:
146
+ assert types in out
147
+
148
+
149
+ def test_DataladAOMICPIOP1_incorrect_data_type() -> None:
150
+ """Test DataladAOMICPIOP1 DataGrabber incorrect data type."""
151
+ with pytest.raises(
152
+ ValueError, match="`patterns` must contain all `types`"
153
+ ):
154
+ _ = DataladAOMICPIOP1(types="Ceres")
155
+
156
+
157
+ def test_DataladAOMICPIOP1_invalid_tasks():
158
+ """Test DataladAOMICIDPIOP1 DataGrabber invalid tasks."""
159
+ with pytest.raises(
160
+ ValueError,
161
+ match=(
162
+ "thisisnotarealtask is not a valid task in "
163
+ "the AOMIC PIOP1 dataset!"
164
+ ),
165
+ ):
166
+ DataladAOMICPIOP1(tasks="thisisnotarealtask")