junifer 0.0.7.dev264__tar.gz → 0.0.7.dev294__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 (504) hide show
  1. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/PKG-INFO +1 -1
  2. junifer-0.0.7.dev294/docs/changes/newsfragments/472.enh +1 -0
  3. junifer-0.0.7.dev294/docs/changes/newsfragments/476.enh +1 -0
  4. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/understanding/storage.rst +10 -6
  5. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/_version.py +3 -3
  6. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datareader/default.py +0 -17
  7. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datareader/tests/test_default_reader.py +0 -1
  8. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/pipeline/pipeline_step_mixin.py +2 -20
  9. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -27
  10. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/base.py +0 -17
  11. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +0 -7
  12. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/storage/base.py +52 -49
  13. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/storage/hdf5.py +75 -99
  14. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/storage/pandas_base.py +19 -25
  15. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/storage/sqlite.py +32 -43
  16. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/storage/tests/test_hdf5.py +3 -3
  17. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/storage/tests/test_sqlite.py +1 -1
  18. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/storage/tests/test_storage_base.py +12 -10
  19. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/storage/utils.py +25 -15
  20. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer.egg-info/PKG-INFO +1 -1
  21. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer.egg-info/SOURCES.txt +2 -0
  22. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/.dockerignore +0 -0
  23. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  24. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  25. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
  26. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
  27. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  28. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
  29. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/.github/dependabot.yml +0 -0
  30. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/.github/pull_request_template.md +0 -0
  31. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/.github/workflows/check-stale.yml +0 -0
  32. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/.github/workflows/ci-docs.yml +0 -0
  33. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/.github/workflows/ci.yml +0 -0
  34. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/.github/workflows/docker-ci-publish.yml +0 -0
  35. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/.github/workflows/docker-docs-publish.yml +0 -0
  36. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/.github/workflows/docs-preview.yml +0 -0
  37. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/.github/workflows/docs.yml +0 -0
  38. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/.github/workflows/lint.yml +0 -0
  39. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/.github/workflows/publish.yml +0 -0
  40. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/.gitignore +0 -0
  41. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/.gitmodules +0 -0
  42. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/.pre-commit-config.yaml +0 -0
  43. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/AUTHORS.rst +0 -0
  44. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/Dockerfile-ci +0 -0
  45. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/Dockerfile-docs +0 -0
  46. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/LICENSE.md +0 -0
  47. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/README.md +0 -0
  48. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/codecov.yml +0 -0
  49. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/conda-env.yml +0 -0
  50. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/Makefile +0 -0
  51. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/_static/css/custom.css +0 -0
  52. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/_static/js/custom.js +0 -0
  53. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/_templates/versions.html +0 -0
  54. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/api/api.rst +0 -0
  55. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/api/cli.rst +0 -0
  56. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/api/configs.rst +0 -0
  57. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/api/data.rst +0 -0
  58. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/api/datagrabbers.rst +0 -0
  59. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/api/datareaders.rst +0 -0
  60. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/api/index.rst +0 -0
  61. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/api/markers.rst +0 -0
  62. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/api/nilearn.rst +0 -0
  63. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/api/onthefly.rst +0 -0
  64. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/api/pipeline.rst +0 -0
  65. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/api/preprocessing.rst +0 -0
  66. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/api/stats.rst +0 -0
  67. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/api/storage.rst +0 -0
  68. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/api/testing.rst +0 -0
  69. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/api/utils.rst +0 -0
  70. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/builtin.rst +0 -0
  71. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/contributors.inc +0 -0
  72. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/.gitignore +0 -0
  73. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/231.change +0 -0
  74. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/231.misc +0 -0
  75. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/257.change +0 -0
  76. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/257.enh +0 -0
  77. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/333.enh +0 -0
  78. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/429.change +0 -0
  79. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/429.enh +0 -0
  80. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/432.feature +0 -0
  81. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/441.misc +0 -0
  82. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/443.feature +0 -0
  83. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/444.bugfix +0 -0
  84. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/450.doc +0 -0
  85. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/450.feature +0 -0
  86. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/451.doc +0 -0
  87. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/451.feature +0 -0
  88. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/452.doc +0 -0
  89. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/452.feature +0 -0
  90. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/454.bugfix +0 -0
  91. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/456.misc +0 -0
  92. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/457.misc +0 -0
  93. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/458.change +0 -0
  94. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/458.feature +0 -0
  95. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/458.misc +0 -0
  96. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/460.feature +0 -0
  97. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/462.feature +0 -0
  98. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/464.misc +0 -0
  99. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/465.misc +0 -0
  100. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/466.misc +0 -0
  101. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/467.misc +0 -0
  102. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/468.misc +0 -0
  103. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/470.enh +0 -0
  104. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/470.misc +0 -0
  105. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/changes/newsfragments/473.enh +0 -0
  106. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/conf.py +0 -0
  107. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/contribution.rst +0 -0
  108. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/extending/coordinates.rst +0 -0
  109. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/extending/data_dump_asset.rst +0 -0
  110. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/extending/data_registries.rst +0 -0
  111. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/extending/data_types.rst +0 -0
  112. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/extending/datagrabber.rst +0 -0
  113. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/extending/dependencies.rst +0 -0
  114. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/extending/extension.rst +0 -0
  115. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/extending/index.rst +0 -0
  116. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/extending/maps.rst +0 -0
  117. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/extending/marker.rst +0 -0
  118. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/extending/masks.rst +0 -0
  119. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/extending/parcellations.rst +0 -0
  120. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/extending/plugins.rst +0 -0
  121. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/extending/preprocessor.rst +0 -0
  122. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/faq.rst +0 -0
  123. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/help.rst +0 -0
  124. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/images/junifer_logo.png +0 -0
  125. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/index.rst +0 -0
  126. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/installation.rst +0 -0
  127. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/links.inc +0 -0
  128. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/maintaining.rst +0 -0
  129. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/redirect.html +0 -0
  130. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/starting.rst +0 -0
  131. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/understanding/data.rst +0 -0
  132. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/understanding/datagrabber.rst +0 -0
  133. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/understanding/datareader.rst +0 -0
  134. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/understanding/index.rst +0 -0
  135. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/understanding/marker.rst +0 -0
  136. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/understanding/pipeline.rst +0 -0
  137. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/understanding/preprocess.rst +0 -0
  138. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/using/codeless.rst +0 -0
  139. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/using/configuring.rst +0 -0
  140. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/using/dumping.rst +0 -0
  141. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/using/index.rst +0 -0
  142. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/using/masks.rst +0 -0
  143. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/using/queueing.rst +0 -0
  144. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/using/running.rst +0 -0
  145. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/docs/whats_new.rst +0 -0
  146. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/examples/README.rst +0 -0
  147. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/examples/norun_hcpfc_pearson.py +0 -0
  148. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/examples/norun_ukbvm_gmd.py +0 -0
  149. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/examples/run_compute_parcel_mean.py +0 -0
  150. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/examples/run_datagrabber_bids_datalad.py +0 -0
  151. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/examples/run_ets_rss_marker.py +0 -0
  152. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/examples/run_junifer_julearn.py +0 -0
  153. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/examples/run_run_gmd_mean.py +0 -0
  154. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/examples/yamls/gmd_mean.yaml +0 -0
  155. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
  156. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
  157. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/examples/yamls/ukb_gmd_mean.yaml +0 -0
  158. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/ignore_words.txt +0 -0
  159. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/__init__.py +0 -0
  160. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/__init__.pyi +0 -0
  161. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/__init__.py +0 -0
  162. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/__init__.pyi +0 -0
  163. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/decorators.py +0 -0
  164. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/functions.py +0 -0
  165. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/py.typed +0 -0
  166. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/queue_context/__init__.py +0 -0
  167. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/queue_context/__init__.pyi +0 -0
  168. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/queue_context/gnu_parallel_local_adapter.py +0 -0
  169. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/queue_context/htcondor_adapter.py +0 -0
  170. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/queue_context/py.typed +0 -0
  171. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/queue_context/queue_context_adapter.py +0 -0
  172. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +0 -0
  173. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
  174. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
  175. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/afni/3dRSFC +0 -0
  176. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/afni/3dReHo +0 -0
  177. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/afni/afni +0 -0
  178. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/afni/run_afni_docker.sh +0 -0
  179. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/ants/ResampleImage +0 -0
  180. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/ants/antsApplyTransforms +0 -0
  181. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
  182. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/ants/run_ants_docker.sh +0 -0
  183. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/freesurfer/mri_binarize +0 -0
  184. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/freesurfer/mri_mc +0 -0
  185. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/freesurfer/mri_pretess +0 -0
  186. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/freesurfer/mris_convert +0 -0
  187. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
  188. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/fsl/applywarp +0 -0
  189. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/fsl/flirt +0 -0
  190. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/fsl/img2imgcoord +0 -0
  191. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
  192. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/fsl/std2imgcoord +0 -0
  193. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/run_conda.bash +0 -0
  194. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/run_conda.zsh +0 -0
  195. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/run_venv.bash +0 -0
  196. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/res/run_venv.zsh +0 -0
  197. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/tests/test_decorators.py +0 -0
  198. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/api/tests/test_functions.py +0 -0
  199. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/cli/__init__.py +0 -0
  200. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/cli/__init__.pyi +0 -0
  201. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/cli/cli.py +0 -0
  202. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/cli/parser.py +0 -0
  203. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/cli/py.typed +0 -0
  204. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/cli/tests/data/gmd_mean.yaml +0 -0
  205. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/cli/tests/data/gmd_mean_htcondor.yaml +0 -0
  206. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/cli/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
  207. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/cli/tests/test_cli.py +0 -0
  208. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/cli/tests/test_cli_utils.py +0 -0
  209. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/cli/tests/test_parser.py +0 -0
  210. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/cli/utils.py +0 -0
  211. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/configs/__init__.py +0 -0
  212. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/configs/juseless/__init__.py +0 -0
  213. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/configs/juseless/__init__.pyi +0 -0
  214. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
  215. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/configs/juseless/datagrabbers/__init__.pyi +0 -0
  216. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -0
  217. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -0
  218. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -0
  219. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/configs/juseless/datagrabbers/py.typed +0 -0
  220. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
  221. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
  222. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
  223. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
  224. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
  225. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/configs/juseless/datagrabbers/ucla.py +0 -0
  226. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -0
  227. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/configs/juseless/py.typed +0 -0
  228. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/conftest.py +0 -0
  229. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/__init__.py +0 -0
  230. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/__init__.pyi +0 -0
  231. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/_dispatch.py +0 -0
  232. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/coordinates/__init__.py +0 -0
  233. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/coordinates/__init__.pyi +0 -0
  234. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/coordinates/_ants_coordinates_warper.py +0 -0
  235. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/coordinates/_coordinates.py +0 -0
  236. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/coordinates/_fsl_coordinates_warper.py +0 -0
  237. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/coordinates/tests/test_coordinates.py +0 -0
  238. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/maps/__init__.py +0 -0
  239. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/maps/__init__.pyi +0 -0
  240. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/maps/_ants_maps_warper.py +0 -0
  241. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/maps/_fsl_maps_warper.py +0 -0
  242. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/maps/_maps.py +0 -0
  243. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/maps/tests/test_maps.py +0 -0
  244. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/masks/__init__.py +0 -0
  245. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/masks/__init__.pyi +0 -0
  246. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/masks/_ants_mask_warper.py +0 -0
  247. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/masks/_fsl_mask_warper.py +0 -0
  248. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/masks/_masks.py +0 -0
  249. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/masks/tests/test_masks.py +0 -0
  250. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/parcellations/__init__.py +0 -0
  251. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/parcellations/__init__.pyi +0 -0
  252. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/parcellations/_ants_parcellation_warper.py +0 -0
  253. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/parcellations/_fsl_parcellation_warper.py +0 -0
  254. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/parcellations/_parcellations.py +0 -0
  255. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/parcellations/tests/test_parcellations.py +0 -0
  256. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/pipeline_data_registry_base.py +0 -0
  257. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/py.typed +0 -0
  258. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/template_spaces.py +0 -0
  259. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/tests/test_data_utils.py +0 -0
  260. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/tests/test_dispatch.py +0 -0
  261. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/tests/test_template_spaces.py +0 -0
  262. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/data/utils.py +0 -0
  263. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/__init__.py +0 -0
  264. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/__init__.pyi +0 -0
  265. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/aomic/__init__.py +0 -0
  266. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/aomic/__init__.pyi +0 -0
  267. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/aomic/id1000.py +0 -0
  268. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/aomic/piop1.py +0 -0
  269. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/aomic/piop2.py +0 -0
  270. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/aomic/py.typed +0 -0
  271. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/aomic/tests/test_id1000.py +0 -0
  272. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/aomic/tests/test_piop1.py +0 -0
  273. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/aomic/tests/test_piop2.py +0 -0
  274. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/base.py +0 -0
  275. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/datalad_base.py +0 -0
  276. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/dmcc13_benchmark.py +0 -0
  277. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/hcp1200/__init__.py +0 -0
  278. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/hcp1200/__init__.pyi +0 -0
  279. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +0 -0
  280. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/hcp1200/hcp1200.py +0 -0
  281. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/hcp1200/py.typed +0 -0
  282. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +0 -0
  283. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/multiple.py +0 -0
  284. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/pattern.py +0 -0
  285. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/pattern_datalad.py +0 -0
  286. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/pattern_validation_mixin.py +0 -0
  287. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/py.typed +0 -0
  288. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/tests/test_base.py +0 -0
  289. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
  290. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +0 -0
  291. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/tests/test_multiple.py +0 -0
  292. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/tests/test_pattern.py +0 -0
  293. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
  294. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datagrabber/tests/test_pattern_validation_mixin.py +0 -0
  295. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datareader/__init__.py +0 -0
  296. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datareader/__init__.pyi +0 -0
  297. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/datareader/py.typed +0 -0
  298. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/external/BrainPrint/brainprint/__init__.py +0 -0
  299. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/external/BrainPrint/brainprint/_version.py +0 -0
  300. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/external/BrainPrint/brainprint/asymmetry.py +0 -0
  301. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/external/BrainPrint/brainprint/brainprint.py +0 -0
  302. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/external/BrainPrint/brainprint/surfaces.py +0 -0
  303. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/external/BrainPrint/brainprint/utils/__init__.py +0 -0
  304. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/external/BrainPrint/brainprint/utils/_config.py +0 -0
  305. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/external/BrainPrint/brainprint/utils/utils.py +0 -0
  306. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/external/__init__.py +0 -0
  307. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/external/h5io/h5io/__init__.py +0 -0
  308. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/external/h5io/h5io/_h5io.py +0 -0
  309. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/external/h5io/h5io/_version.py +0 -0
  310. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/external/h5io/h5io/chunked_array.py +0 -0
  311. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/external/h5io/h5io/chunked_list.py +0 -0
  312. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/external/nilearn/__init__.py +0 -0
  313. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/external/nilearn/__init__.pyi +0 -0
  314. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/external/nilearn/junifer_connectivity_measure.py +0 -0
  315. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +0 -0
  316. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/external/nilearn/py.typed +0 -0
  317. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +0 -0
  318. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
  319. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/__init__.py +0 -0
  320. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/__init__.pyi +0 -0
  321. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/base.py +0 -0
  322. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/brainprint.py +0 -0
  323. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/complexity/__init__.py +0 -0
  324. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/complexity/__init__.pyi +0 -0
  325. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/complexity/complexity_base.py +0 -0
  326. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/complexity/hurst_exponent.py +0 -0
  327. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/complexity/multiscale_entropy_auc.py +0 -0
  328. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/complexity/perm_entropy.py +0 -0
  329. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/complexity/py.typed +0 -0
  330. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/complexity/range_entropy.py +0 -0
  331. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/complexity/range_entropy_auc.py +0 -0
  332. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/complexity/sample_entropy.py +0 -0
  333. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
  334. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
  335. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
  336. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
  337. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
  338. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
  339. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
  340. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
  341. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/complexity/weighted_perm_entropy.py +0 -0
  342. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/ets_rss.py +0 -0
  343. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/falff/__init__.py +0 -0
  344. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/falff/__init__.pyi +0 -0
  345. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/falff/_afni_falff.py +0 -0
  346. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/falff/_junifer_falff.py +0 -0
  347. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/falff/falff_base.py +0 -0
  348. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/falff/falff_maps.py +0 -0
  349. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/falff/falff_parcels.py +0 -0
  350. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/falff/falff_spheres.py +0 -0
  351. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/falff/py.typed +0 -0
  352. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/falff/tests/test_falff_maps.py +0 -0
  353. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
  354. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
  355. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/functional_connectivity/__init__.py +0 -0
  356. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/functional_connectivity/__init__.pyi +0 -0
  357. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +0 -0
  358. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/functional_connectivity/edge_functional_connectivity_maps.py +0 -0
  359. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +0 -0
  360. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +0 -0
  361. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/functional_connectivity/functional_connectivity_base.py +0 -0
  362. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/functional_connectivity/functional_connectivity_maps.py +0 -0
  363. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +0 -0
  364. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +0 -0
  365. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/functional_connectivity/py.typed +0 -0
  366. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
  367. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_maps.py +0 -0
  368. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
  369. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
  370. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
  371. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_maps.py +0 -0
  372. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +0 -0
  373. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +0 -0
  374. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/maps_aggregation.py +0 -0
  375. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/parcel_aggregation.py +0 -0
  376. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/py.typed +0 -0
  377. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/reho/__init__.py +0 -0
  378. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/reho/__init__.pyi +0 -0
  379. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/reho/_afni_reho.py +0 -0
  380. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/reho/_junifer_reho.py +0 -0
  381. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/reho/py.typed +0 -0
  382. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/reho/reho_base.py +0 -0
  383. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/reho/reho_maps.py +0 -0
  384. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/reho/reho_parcels.py +0 -0
  385. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/reho/reho_spheres.py +0 -0
  386. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/reho/tests/test_reho_maps.py +0 -0
  387. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
  388. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
  389. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/sphere_aggregation.py +0 -0
  390. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/temporal_snr/__init__.py +0 -0
  391. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/temporal_snr/__init__.pyi +0 -0
  392. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/temporal_snr/py.typed +0 -0
  393. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/temporal_snr/temporal_snr_base.py +0 -0
  394. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/temporal_snr/temporal_snr_maps.py +0 -0
  395. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/temporal_snr/temporal_snr_parcels.py +0 -0
  396. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/temporal_snr/temporal_snr_spheres.py +0 -0
  397. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
  398. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/temporal_snr/tests/test_temporal_snr_maps.py +0 -0
  399. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
  400. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
  401. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/tests/test_brainprint.py +0 -0
  402. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/tests/test_ets_rss.py +0 -0
  403. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/tests/test_maps_aggregation.py +0 -0
  404. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/tests/test_marker_utils.py +0 -0
  405. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/tests/test_markers_base.py +0 -0
  406. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/tests/test_parcel_aggregation.py +0 -0
  407. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/tests/test_sphere_aggregation.py +0 -0
  408. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/markers/utils.py +0 -0
  409. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/onthefly/__init__.py +0 -0
  410. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/onthefly/_brainprint.py +0 -0
  411. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/onthefly/read_transform.py +0 -0
  412. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/onthefly/tests/test_read_transform.py +0 -0
  413. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/pipeline/__init__.py +0 -0
  414. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/pipeline/__init__.pyi +0 -0
  415. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/pipeline/_data_object_dumper.py +0 -0
  416. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/pipeline/marker_collection.py +0 -0
  417. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/pipeline/pipeline_component_registry.py +0 -0
  418. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/pipeline/py.typed +0 -0
  419. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/pipeline/tests/test_data_object_dumper.py +0 -0
  420. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/pipeline/tests/test_marker_collection.py +0 -0
  421. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/pipeline/tests/test_pipeline_component_registry.py +0 -0
  422. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
  423. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
  424. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/pipeline/update_meta_mixin.py +0 -0
  425. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/pipeline/utils.py +0 -0
  426. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/pipeline/workdir_manager.py +0 -0
  427. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/__init__.py +0 -0
  428. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/__init__.pyi +0 -0
  429. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/_temporal_filter.py +0 -0
  430. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/_temporal_slicer.py +0 -0
  431. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/confounds/__init__.py +0 -0
  432. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/confounds/__init__.pyi +0 -0
  433. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/confounds/fmriprep_confound_remover.py +0 -0
  434. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/confounds/py.typed +0 -0
  435. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/py.typed +0 -0
  436. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/smoothing/__init__.py +0 -0
  437. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/smoothing/__init__.pyi +0 -0
  438. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/smoothing/_afni_smoothing.py +0 -0
  439. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/smoothing/_fsl_smoothing.py +0 -0
  440. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/smoothing/_nilearn_smoothing.py +0 -0
  441. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/smoothing/py.typed +0 -0
  442. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/smoothing/smoothing.py +0 -0
  443. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/smoothing/tests/test_smoothing.py +0 -0
  444. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
  445. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/tests/test_temporal_filter.py +0 -0
  446. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/tests/test_temporal_slicer.py +0 -0
  447. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/warping/__init__.py +0 -0
  448. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/warping/__init__.pyi +0 -0
  449. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/warping/_ants_warper.py +0 -0
  450. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/warping/_fsl_warper.py +0 -0
  451. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/warping/py.typed +0 -0
  452. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/warping/space_warper.py +0 -0
  453. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
  454. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/py.typed +0 -0
  455. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/stats.py +0 -0
  456. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/storage/__init__.py +0 -0
  457. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/storage/__init__.pyi +0 -0
  458. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/storage/py.typed +0 -0
  459. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/storage/tests/test_pandas_base.py +0 -0
  460. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/storage/tests/test_utils.py +0 -0
  461. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/testing/__init__.py +0 -0
  462. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/testing/__init__.pyi +0 -0
  463. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
  464. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/testing/datagrabbers.py +0 -0
  465. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/testing/py.typed +0 -0
  466. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/testing/registry.py +0 -0
  467. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
  468. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
  469. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
  470. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/testing/tests/test_testing_registry.py +0 -0
  471. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/testing/utils.py +0 -0
  472. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/tests/test_main.py +0 -0
  473. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/tests/test_stats.py +0 -0
  474. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/typing/__init__.py +0 -0
  475. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/typing/__init__.pyi +0 -0
  476. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/typing/_typing.py +0 -0
  477. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/utils/__init__.py +0 -0
  478. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/utils/__init__.pyi +0 -0
  479. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/utils/_config.py +0 -0
  480. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/utils/_yaml.py +0 -0
  481. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/utils/fs.py +0 -0
  482. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/utils/helpers.py +0 -0
  483. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/utils/logging.py +0 -0
  484. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/utils/py.typed +0 -0
  485. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/utils/singleton.py +0 -0
  486. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/utils/tests/test_config.py +0 -0
  487. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/utils/tests/test_fs.py +0 -0
  488. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/utils/tests/test_helpers.py +0 -0
  489. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer/utils/tests/test_logging.py +0 -0
  490. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer.egg-info/dependency_links.txt +0 -0
  491. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer.egg-info/entry_points.txt +0 -0
  492. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer.egg-info/requires.txt +0 -0
  493. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/junifer.egg-info/top_level.txt +0 -0
  494. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/pyproject.toml +0 -0
  495. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/setup.cfg +0 -0
  496. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/setup.py +0 -0
  497. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/tools/create_aomic1000_example_dataset.py +0 -0
  498. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/tools/create_aomicpiop1_example_dataset.py +0 -0
  499. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/tools/create_aomicpiop2_example_dataset.py +0 -0
  500. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/tools/create_bids_example_dataset.py +0 -0
  501. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/tools/create_bids_example_dataset_sessions.py +0 -0
  502. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
  503. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/tools/create_hcp1200_example_dataset.py +0 -0
  504. {junifer-0.0.7.dev264 → junifer-0.0.7.dev294}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: junifer
3
- Version: 0.0.7.dev264
3
+ Version: 0.0.7.dev294
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
+ Simplify ``Storage`` interface and implementations by `Synchon Mandal`_
@@ -0,0 +1 @@
1
+ Simplify :class:`.PipelineStepMixin` interface by `Synchon Mandal`_
@@ -17,11 +17,11 @@ Storage is meant to be used inside the DataGrabber context but you can operate
17
17
  on them outside the context as long as the processed data is in the memory and
18
18
  the Python runtime has not garbage-collected it.
19
19
 
20
- The :ref:`Markers <marker>` are responsible for defining what *storage kind*
21
- (``matrix``, ``vector``, ``timeseries``, ``scalar_table``) they support for
22
- which :ref:`data type <data_types>` by overriding its ``get_output_type``
23
- method. The storage object in turn declares and provides implementation for
24
- specific *storage kind*. For example, :class:`.SQLiteFeatureStorage` supports
20
+ The :ref:`Markers <marker>` are responsible for mapping the input
21
+ :ref:`data type <data_types>` to its output :ref:`storage type <storage_types>`
22
+ as shown :ref:`here <extending_markers_input_output>`.
23
+ The storage object in turn declares and provides implementation for
24
+ specific *storage type*. For example, :class:`.SQLiteFeatureStorage` supports
25
25
  saving ``matrix``, ``vector`` and ``timeseries`` via ``store_matrix``,
26
26
  ``store_vector`` and ``store_timeseries`` methods respectively.
27
27
 
@@ -57,6 +57,10 @@ Storage Types
57
57
  - A 2D square or non-square matrix of scalar values with column names
58
58
  - ``col_names``
59
59
  - :meth:`.BaseFeatureStorage.store_timeseries`
60
+ * - ``timeseries_2d``
61
+ - A 3D(2D+1D) square or non-square matrix of scalar values with column names across sessions
62
+ - ``col_names``
63
+ - :meth:`.BaseFeatureStorage.store_timeseries_2d`
60
64
  * - ``scalar_table``
61
65
  - | A 2D square or non-square matrix of scalar values with row name, column
62
66
  | name and row header column name
@@ -83,4 +87,4 @@ Storage Interfaces
83
87
  * - :class:`.HDF5FeatureStorage`
84
88
  - ``.hdf5``
85
89
  - HDF5
86
- - ``matrix``, ``vector``, ``timeseries``, ``scalar_table``
90
+ - ``matrix``, ``vector``, ``timeseries``, ``timeseries_2d``, ``scalar_table``
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.0.7.dev264'
32
- __version_tuple__ = version_tuple = (0, 0, 7, 'dev264')
31
+ __version__ = version = '0.0.7.dev294'
32
+ __version_tuple__ = version_tuple = (0, 0, 7, 'dev294')
33
33
 
34
- __commit_id__ = commit_id = 'g6eb48995c'
34
+ __commit_id__ = commit_id = 'gbb87fb782'
@@ -56,23 +56,6 @@ class DefaultDataReader(PipelineStepMixin, UpdateMetaMixin):
56
56
  # Nothing to validate, any input is fine
57
57
  return input
58
58
 
59
- def get_output_type(self, input_type: str) -> str:
60
- """Get output type.
61
-
62
- Parameters
63
- ----------
64
- input_type : str
65
- The data type input to the reader.
66
-
67
- Returns
68
- -------
69
- str
70
- The data type output by the reader.
71
-
72
- """
73
- # It will output the same type of data as the input
74
- return input_type
75
-
76
59
  def _fit_transform(
77
60
  self,
78
61
  input: dict[str, dict],
@@ -30,7 +30,6 @@ def test_DefaultDataReader_validation(type_) -> None:
30
30
  """
31
31
  reader = DefaultDataReader()
32
32
  assert reader.validate_input(type_) == type_
33
- assert reader.get_output_type(type_) == type_
34
33
  assert reader.validate(type_) == type_
35
34
 
36
35
 
@@ -53,25 +53,6 @@ class PipelineStepMixin:
53
53
  klass=NotImplementedError,
54
54
  ) # pragma: no cover
55
55
 
56
- def get_output_type(self, input_type: str) -> str:
57
- """Get output type.
58
-
59
- Parameters
60
- ----------
61
- input_type : str
62
- The data type input to the marker.
63
-
64
- Returns
65
- -------
66
- str
67
- The storage type output by the marker.
68
-
69
- """
70
- raise_error(
71
- msg="Concrete classes need to implement get_output_type().",
72
- klass=NotImplementedError,
73
- ) # pragma: no cover
74
-
75
56
  def _fit_transform(
76
57
  self,
77
58
  input: dict[str, dict],
@@ -223,8 +204,9 @@ class PipelineStepMixin:
223
204
  for val in self._MARKER_INOUT_MAPPINGS[t_input].values()
224
205
  }
225
206
  )
207
+ # Only for datareader and preprocessor
226
208
  else:
227
- outputs = [self.get_output_type(t_input) for t_input in fit_input]
209
+ outputs = fit_input
228
210
  return outputs
229
211
 
230
212
  def fit_transform(
@@ -29,9 +29,6 @@ def test_PipelineStepMixin_correct_dependencies() -> None:
29
29
  def validate_input(self, input: list[str]) -> list[str]:
30
30
  return input
31
31
 
32
- def get_output_type(self, input_type: str) -> str:
33
- return input_type
34
-
35
32
  def _fit_transform(self, input: dict[str, dict]) -> dict[str, dict]:
36
33
  return {"input": input}
37
34
 
@@ -50,9 +47,6 @@ def test_PipelineStepMixin_incorrect_dependencies() -> None:
50
47
  def validate_input(self, input: list[str]) -> list[str]:
51
48
  return input
52
49
 
53
- def get_output_type(self, input_type: str) -> str:
54
- return input_type
55
-
56
50
  def _fit_transform(self, input: dict[str, dict]) -> dict[str, dict]:
57
51
  return {"input": input}
58
52
 
@@ -75,9 +69,6 @@ def test_PipelineStepMixin_correct_ext_dependencies() -> None:
75
69
  def validate_input(self, input: list[str]) -> list[str]:
76
70
  return input
77
71
 
78
- def get_output_type(self, input_type: str) -> str:
79
- return input_type
80
-
81
72
  def _fit_transform(self, input: dict[str, dict]) -> dict[str, dict]:
82
73
  return {"input": input}
83
74
 
@@ -101,9 +92,6 @@ def test_PipelineStepMixin_ext_deps_correct_commands() -> None:
101
92
  def validate_input(self, input: list[str]) -> list[str]:
102
93
  return input
103
94
 
104
- def get_output_type(self, input_type: str) -> str:
105
- return input_type
106
-
107
95
  def _fit_transform(self, input: dict[str, dict]) -> dict[str, dict]:
108
96
  return {"input": input}
109
97
 
@@ -129,9 +117,6 @@ def test_PipelineStepMixin_ext_deps_incorrect_commands() -> None:
129
117
  def validate_input(self, input: list[str]) -> list[str]:
130
118
  return input
131
119
 
132
- def get_output_type(self, input_type: str) -> str:
133
- return input_type
134
-
135
120
  def _fit_transform(self, input: dict[str, dict]) -> dict[str, dict]:
136
121
  return {"input": input}
137
122
 
@@ -153,9 +138,6 @@ def test_PipelineStepMixin_incorrect_ext_dependencies() -> None:
153
138
  def validate_input(self, input: list[str]) -> list[str]:
154
139
  return input
155
140
 
156
- def get_output_type(self, input_type: str) -> str:
157
- return input_type
158
-
159
141
  def _fit_transform(self, input: dict[str, dict]) -> dict[str, dict]:
160
142
  return {"input": input}
161
143
 
@@ -185,9 +167,6 @@ def test_PipelineStepMixin_correct_conditional_dependencies() -> None:
185
167
  def validate_input(self, input: list[str]) -> list[str]:
186
168
  return input
187
169
 
188
- def get_output_type(self, input_type: str) -> str:
189
- return input_type
190
-
191
170
  def _fit_transform(self, input: dict[str, dict]) -> dict[str, dict]:
192
171
  return {"input": input}
193
172
 
@@ -214,9 +193,6 @@ def test_PipelineStepMixin_incorrect_conditional_dependencies() -> None:
214
193
  def validate_input(self, input: list[str]) -> list[str]:
215
194
  return input
216
195
 
217
- def get_output_type(self, input_type: str) -> str:
218
- return input_type
219
-
220
196
  def _fit_transform(self, input: dict[str, dict]) -> dict[str, dict]:
221
197
  return {"input": input}
222
198
 
@@ -249,9 +225,6 @@ def test_PipelineStepMixin_correct_conditional_ext_dependencies() -> None:
249
225
  def validate_input(self, input: list[str]) -> list[str]:
250
226
  return input
251
227
 
252
- def get_output_type(self, input_type: str) -> str:
253
- return input_type
254
-
255
228
  def _fit_transform(self, input: dict[str, dict]) -> dict[str, dict]:
256
229
  return {"input": input}
257
230
 
@@ -115,23 +115,6 @@ class BasePreprocessor(ABC, PipelineStepMixin, UpdateMetaMixin):
115
115
  """
116
116
  return list(self._VALID_DATA_TYPES)
117
117
 
118
- def get_output_type(self, input_type: str) -> str:
119
- """Get output type.
120
-
121
- Parameters
122
- ----------
123
- input_type : str
124
- The data type input to the preprocessor.
125
-
126
- Returns
127
- -------
128
- str
129
- The data type output by the preprocessor.
130
-
131
- """
132
- # Does not add any new keys
133
- return input_type
134
-
135
118
  @abstractmethod
136
119
  def preprocess(
137
120
  self,
@@ -65,13 +65,6 @@ def test_fMRIPrepConfoundRemover_get_valid_inputs() -> None:
65
65
  assert confound_remover.get_valid_inputs() == ["BOLD"]
66
66
 
67
67
 
68
- def test_fMRIPrepConfoundRemover_get_output_type() -> None:
69
- """Test fMRIPrepConfoundRemover get_output_type."""
70
- confound_remover = fMRIPrepConfoundRemover()
71
- # Confound remover works in place
72
- assert confound_remover.get_output_type("BOLD") == "BOLD"
73
-
74
-
75
68
  def test_fMRIPrepConfoundRemover__map_adhoc_to_fmriprep() -> None:
76
69
  """Test fMRIPrepConfoundRemover adhoc to fmriprep spec mapping."""
77
70
  confound_remover = fMRIPrepConfoundRemover()
@@ -5,14 +5,14 @@
5
5
  # License: AGPL
6
6
 
7
7
  from abc import ABC, abstractmethod
8
- from collections.abc import Iterable
8
+ from collections.abc import Sequence
9
9
  from pathlib import Path
10
- from typing import Any, Optional, Union
10
+ from typing import Any, ClassVar, Optional, Union
11
11
 
12
12
  import numpy as np
13
13
  import pandas as pd
14
14
 
15
- from ..utils import raise_error
15
+ from ..utils import logger, raise_error
16
16
  from .utils import process_meta
17
17
 
18
18
 
@@ -22,44 +22,47 @@ __all__ = ["BaseFeatureStorage"]
22
22
  class BaseFeatureStorage(ABC):
23
23
  """Abstract base class for feature storage.
24
24
 
25
- For every interface that is required, one needs to provide a concrete
25
+ For every storage, one needs to provide a concrete
26
26
  implementation of this abstract class.
27
27
 
28
28
  Parameters
29
29
  ----------
30
30
  uri : str or pathlib.Path
31
31
  The path to the storage.
32
- storage_types : str or list of str
33
- The available storage types for the class.
34
32
  single_output : bool, optional
35
33
  Whether to have single output (default True).
36
34
 
37
35
  Raises
38
36
  ------
39
- ValueError
40
- If required storage type(s) is(are) missing from ``storage_types``.
37
+ AttributeError
38
+ If the storage does not have `_STORAGE_TYPES` attribute.
41
39
 
42
40
  """
43
41
 
42
+ _STORAGE_TYPES: ClassVar[Sequence[str]]
43
+
44
44
  def __init__(
45
45
  self,
46
46
  uri: Union[str, Path],
47
- storage_types: Union[list[str], str],
48
47
  single_output: bool = True,
49
48
  ) -> None:
50
- self.uri = uri
51
- # Convert storage_types to list
52
- if not isinstance(storage_types, list):
53
- storage_types = [storage_types]
54
- # Check if required inputs are found
55
- if any(x not in self.get_valid_inputs() for x in storage_types):
56
- wrong_storage_types = [
57
- x for x in storage_types if x not in self.get_valid_inputs()
58
- ]
49
+ # Check for missing storage types attribute
50
+ if not hasattr(self, "_STORAGE_TYPES"):
59
51
  raise_error(
60
- f"{self.__class__.__name__} cannot store {wrong_storage_types}"
52
+ msg="Missing `_STORAGE_TYPES` for the storage",
53
+ klass=AttributeError,
54
+ )
55
+ # Convert str to Path
56
+ if not isinstance(uri, Path):
57
+ uri = Path(uri)
58
+ self.uri = uri
59
+ # Create parent directories if not present
60
+ if not self.uri.parent.exists():
61
+ logger.info(
62
+ f"Output directory: '{self.uri.parent.resolve()}' "
63
+ "does not exist, creating now"
61
64
  )
62
- self._valid_inputs = storage_types
65
+ self.uri.parent.mkdir(parents=True, exist_ok=True)
63
66
  self.single_output = single_output
64
67
 
65
68
  def get_valid_inputs(self) -> list[str]:
@@ -69,13 +72,10 @@ class BaseFeatureStorage(ABC):
69
72
  -------
70
73
  list of str
71
74
  The list of storage types that can be used as input for this
72
- storage interface.
75
+ storage.
73
76
 
74
77
  """
75
- raise_error(
76
- msg="Concrete classes need to implement get_valid_inputs().",
77
- klass=NotImplementedError,
78
- )
78
+ return list(self._STORAGE_TYPES)
79
79
 
80
80
  def validate(self, input_: list[str]) -> None:
81
81
  """Validate the input to the pipeline step.
@@ -91,11 +91,12 @@ class BaseFeatureStorage(ABC):
91
91
  If the ``input_`` is invalid.
92
92
 
93
93
  """
94
- if not any(x in input_ for x in self._valid_inputs):
94
+ # self._STORAGE_TYPES should be there already
95
+ if not any(x in input_ for x in self._STORAGE_TYPES):
95
96
  raise_error(
96
97
  "Input does not have the required data."
97
98
  f"\t Input: {input}"
98
- f"\t Required (any of): {self._valid_inputs}"
99
+ f"\t Required (any of): {self._STORAGE_TYPES}"
99
100
  )
100
101
 
101
102
  @abstractmethod
@@ -113,7 +114,7 @@ class BaseFeatureStorage(ABC):
113
114
  raise_error(
114
115
  msg="Concrete classes need to implement list_features().",
115
116
  klass=NotImplementedError,
116
- )
117
+ ) # pragma: no cover
117
118
 
118
119
  @abstractmethod
119
120
  def read(
@@ -141,7 +142,7 @@ class BaseFeatureStorage(ABC):
141
142
  raise_error(
142
143
  msg="Concrete classes need to implement read().",
143
144
  klass=NotImplementedError,
144
- )
145
+ ) # pragma: no cover
145
146
 
146
147
  @abstractmethod
147
148
  def read_df(
@@ -167,7 +168,7 @@ class BaseFeatureStorage(ABC):
167
168
  raise_error(
168
169
  msg="Concrete classes need to implement read_df().",
169
170
  klass=NotImplementedError,
170
- )
171
+ ) # pragma: no cover
171
172
 
172
173
  @abstractmethod
173
174
  def store_metadata(self, meta_md5: str, element: dict, meta: dict) -> None:
@@ -186,7 +187,7 @@ class BaseFeatureStorage(ABC):
186
187
  raise_error(
187
188
  msg="Concrete classes need to implement store_metadata().",
188
189
  klass=NotImplementedError,
189
- )
190
+ ) # pragma: no cover
190
191
 
191
192
  def store(self, kind: str, **kwargs) -> None:
192
193
  """Store extracted features data.
@@ -206,14 +207,16 @@ class BaseFeatureStorage(ABC):
206
207
  """
207
208
  # Do the check before calling the abstract methods, otherwise the
208
209
  # meta might be stored even if the data is not stored.
209
- if kind not in self._valid_inputs:
210
+ if kind not in self._STORAGE_TYPES:
210
211
  raise_error(
211
212
  msg=f"I don't know how to store {kind}.",
212
213
  klass=ValueError,
213
214
  )
215
+ # Process and store metadata
214
216
  t_meta = kwargs.pop("meta")
215
217
  meta_md5, t_meta, t_element = process_meta(t_meta)
216
218
  self.store_metadata(meta_md5=meta_md5, element=t_element, meta=t_meta)
219
+ # Store data
217
220
  if kind == "matrix":
218
221
  self.store_matrix(meta_md5=meta_md5, element=t_element, **kwargs)
219
222
  elif kind == "timeseries":
@@ -236,8 +239,8 @@ class BaseFeatureStorage(ABC):
236
239
  meta_md5: str,
237
240
  element: dict,
238
241
  data: np.ndarray,
239
- col_names: Optional[Iterable[str]] = None,
240
- row_names: Optional[Iterable[str]] = None,
242
+ col_names: Optional[Sequence[str]] = None,
243
+ row_names: Optional[Sequence[str]] = None,
241
244
  matrix_kind: str = "full",
242
245
  diagonal: bool = True,
243
246
  ) -> None:
@@ -251,9 +254,9 @@ class BaseFeatureStorage(ABC):
251
254
  The element as a dictionary.
252
255
  data : numpy.ndarray
253
256
  The matrix data to store.
254
- col_names : list or tuple of str, optional
257
+ col_names : list-like of str, optional
255
258
  The column labels (default None).
256
- row_names : str, optional
259
+ row_names : list-like of str, optional
257
260
  The row labels (default None).
258
261
  matrix_kind : str, optional
259
262
  The kind of matrix:
@@ -278,7 +281,7 @@ class BaseFeatureStorage(ABC):
278
281
  meta_md5: str,
279
282
  element: dict,
280
283
  data: Union[np.ndarray, list],
281
- col_names: Optional[Iterable[str]] = None,
284
+ col_names: Optional[Sequence[str]] = None,
282
285
  ) -> None:
283
286
  """Store vector.
284
287
 
@@ -290,7 +293,7 @@ class BaseFeatureStorage(ABC):
290
293
  The element as a dictionary.
291
294
  data : numpy.ndarray or list
292
295
  The vector data to store.
293
- col_names : list or tuple of str, optional
296
+ col_names : list-like of str, optional
294
297
  The column labels (default None).
295
298
 
296
299
  """
@@ -304,7 +307,7 @@ class BaseFeatureStorage(ABC):
304
307
  meta_md5: str,
305
308
  element: dict,
306
309
  data: np.ndarray,
307
- col_names: Optional[Iterable[str]] = None,
310
+ col_names: Optional[Sequence[str]] = None,
308
311
  ) -> None:
309
312
  """Store timeseries.
310
313
 
@@ -316,7 +319,7 @@ class BaseFeatureStorage(ABC):
316
319
  The element as a dictionary.
317
320
  data : numpy.ndarray
318
321
  The timeseries data to store.
319
- col_names : list or tuple of str, optional
322
+ col_names : list-like of str, optional
320
323
  The column labels (default None).
321
324
 
322
325
  """
@@ -330,8 +333,8 @@ class BaseFeatureStorage(ABC):
330
333
  meta_md5: str,
331
334
  element: dict,
332
335
  data: np.ndarray,
333
- col_names: Optional[Iterable[str]] = None,
334
- row_names: Optional[Iterable[str]] = None,
336
+ col_names: Optional[Sequence[str]] = None,
337
+ row_names: Optional[Sequence[str]] = None,
335
338
  ) -> None:
336
339
  """Store 2D timeseries.
337
340
 
@@ -343,9 +346,9 @@ class BaseFeatureStorage(ABC):
343
346
  The element as a dictionary.
344
347
  data : numpy.ndarray
345
348
  The timeseries data to store.
346
- col_names : list or tuple of str, optional
349
+ col_names : list-like of str, optional
347
350
  The column labels (default None).
348
- row_names : list or tuple of str, optional
351
+ row_names : list-like of str, optional
349
352
  The row labels (default None).
350
353
 
351
354
  """
@@ -359,8 +362,8 @@ class BaseFeatureStorage(ABC):
359
362
  meta_md5: str,
360
363
  element: dict,
361
364
  data: np.ndarray,
362
- col_names: Optional[Iterable[str]] = None,
363
- row_names: Optional[Iterable[str]] = None,
365
+ col_names: Optional[Sequence[str]] = None,
366
+ row_names: Optional[Sequence[str]] = None,
364
367
  row_header_col_name: Optional[str] = "feature",
365
368
  ) -> None:
366
369
  """Store table with scalar values.
@@ -373,9 +376,9 @@ class BaseFeatureStorage(ABC):
373
376
  The element as a dictionary.
374
377
  data : numpy.ndarray
375
378
  The timeseries data to store.
376
- col_names : list or tuple of str, optional
379
+ col_names : list-like of str, optional
377
380
  The column labels (default None).
378
- row_names : str, optional
381
+ row_names : list-like of str, optional
379
382
  The row labels (default None).
380
383
  row_header_col_name : str, optional
381
384
  The column name for the row header column (default "feature").
@@ -392,7 +395,7 @@ class BaseFeatureStorage(ABC):
392
395
  raise_error(
393
396
  msg="Concrete classes need to implement collect().",
394
397
  klass=NotImplementedError,
395
- )
398
+ ) # pragma: no cover
396
399
 
397
400
  def __str__(self) -> str:
398
401
  """Represent object as string.