junifer 0.0.5.dev98__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.
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/PKG-INFO +1 -1
- junifer-0.0.5.dev110/docs/changes/newsfragments/346.enh +1 -0
- junifer-0.0.5.dev110/docs/changes/newsfragments/346.feature +1 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/understanding/data.rst +9 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/_version.py +2 -2
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/aomic/id1000.py +35 -2
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/aomic/piop1.py +35 -2
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/aomic/piop2.py +35 -2
- junifer-0.0.5.dev110/junifer/datagrabber/aomic/tests/test_id1000.py +124 -0
- junifer-0.0.5.dev110/junifer/datagrabber/aomic/tests/test_piop1.py +166 -0
- junifer-0.0.5.dev110/junifer/datagrabber/aomic/tests/test_piop2.py +146 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/utils.py +11 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datareader/default.py +2 -2
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer.egg-info/PKG-INFO +1 -1
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer.egg-info/SOURCES.txt +2 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/tools/create_aomic1000_example_dataset.py +37 -1
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/tools/create_aomicpiop1_example_dataset.py +37 -1
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/tools/create_aomicpiop2_example_dataset.py +37 -1
- junifer-0.0.5.dev98/junifer/datagrabber/aomic/tests/test_id1000.py +0 -178
- junifer-0.0.5.dev98/junifer/datagrabber/aomic/tests/test_piop1.py +0 -208
- junifer-0.0.5.dev98/junifer/datagrabber/aomic/tests/test_piop2.py +0 -202
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/.github/dependabot.yml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/.github/pull_request_template.md +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/.github/workflows/ci-docs.yml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/.github/workflows/ci.yml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/.github/workflows/docs-preview.yml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/.github/workflows/docs.yml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/.github/workflows/lint.yml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/.github/workflows/pypi.yml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/.gitignore +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/.gitmodules +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/.pre-commit-config.yaml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/AUTHORS.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/LICENSE.md +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/README.md +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/codecov.yml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/conda-env.yml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/Makefile +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/_static/css/custom.css +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/_static/js/custom.js +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/_templates/versions.html +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/api/api.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/api/configs.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/api/data.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/api/datagrabbers.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/api/datareaders.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/api/index.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/api/markers.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/api/nilearn.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/api/onthefly.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/api/pipeline.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/api/preprocessing.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/api/stats.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/api/storage.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/api/testing.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/api/utils.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/builtin.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/changes/contributors.inc +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/changes/newsfragments/.gitignore +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/changes/newsfragments/115.doc +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/changes/newsfragments/161.feature +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/changes/newsfragments/273.feature +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/changes/newsfragments/323.feature +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/changes/newsfragments/324.bugfix +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/changes/newsfragments/330.doc +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/changes/newsfragments/331.bugfix +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/changes/newsfragments/332.bugfix +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/changes/newsfragments/336.removal +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/changes/newsfragments/339.bugfix +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/changes/newsfragments/340.bugfix +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/changes/newsfragments/341.enh +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/changes/newsfragments/342.misc +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/changes/newsfragments/343.feature +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/changes/newsfragments/345.feature +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/conf.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/contribution.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/extending/coordinates.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/extending/datagrabber.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/extending/dependencies.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/extending/extension.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/extending/index.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/extending/marker.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/extending/masks.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/extending/parcellations.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/extending/preprocessor.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/faq.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/help.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/images/junifer_logo.png +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/index.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/installation.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/links.inc +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/maintaining.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/redirect.html +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/sphinxext/gh_substitutions.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/starting.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/understanding/datagrabber.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/understanding/datareader.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/understanding/index.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/understanding/marker.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/understanding/pipeline.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/understanding/preprocess.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/understanding/storage.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/using/codeless.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/using/index.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/using/masks.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/using/queueing.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/using/running.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/docs/whats_new.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/examples/README.rst +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/examples/norun_hcpfc_pearson.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/examples/norun_ukbvm_gmd.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/examples/run_compute_parcel_mean.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/examples/run_datagrabber_bids_datalad.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/examples/run_ets_rss_marker.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/examples/run_junifer_julearn.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/examples/run_run_gmd_mean.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/examples/yamls/gmd_mean.yaml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/examples/yamls/ukb_gmd_mean.yaml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/ignore_words.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/cli.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/decorators.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/functions.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/parser.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/queue_context/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/queue_context/gnu_parallel_local_adapter.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/queue_context/htcondor_adapter.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/queue_context/queue_context_adapter.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/afni/3dRSFC +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/afni/3dReHo +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/afni/afni +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/afni/run_afni_docker.sh +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/ants/ResampleImage +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/ants/antsApplyTransforms +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/ants/run_ants_docker.sh +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/freesurfer/mri_binarize +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/freesurfer/mri_mc +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/freesurfer/mri_pretess +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/freesurfer/mris_convert +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/fsl/applywarp +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/fsl/flirt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/fsl/img2imgcoord +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/fsl/std2imgcoord +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/run_conda.bash +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/run_conda.zsh +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/run_venv.bash +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/res/run_venv.zsh +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/tests/data/gmd_mean.yaml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/tests/data/gmd_mean_htcondor.yaml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/tests/test_api_utils.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/tests/test_cli.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/tests/test_functions.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/tests/test_parser.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/api/utils.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/configs/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/configs/juseless/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/configs/juseless/datagrabbers/ucla.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/AutobiographicalMemory_VOIs.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/CogAC_VOIs.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/CogAR_VOIs.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/DMNBuckner_VOIs.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/Dosenbach2010_MNI_VOIs.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/Empathy_VOIs.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/Motor_VOIs.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/MultiTask_VOIs.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/PhysioStress_VOIs.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/Power2011_MNI_VOIs.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/Power2013_MNI_VOIs.tsv +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/Rew_VOIs.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/Somatosensory_VOIs.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/ToM_VOIs.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/VigAtt_VOIs.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/WM_VOIs.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/eMDN_VOIs.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/eSAD_VOIs.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/VOIs/meta/extDMN_VOIs.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/coordinates.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean.nii.gz +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean_3mm.nii.gz +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/masks/vickery-patil/GMprob0.2_cortex_3mm_NA_rm.nii.gz +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/masks.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/parcellations.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/template_spaces.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/tests/test_coordinates.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/tests/test_data_utils.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/tests/test_masks.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/tests/test_parcellations.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/tests/test_template_spaces.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/data/utils.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/aomic/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/base.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/datalad_base.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/dmcc13_benchmark.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/hcp1200/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/hcp1200/hcp1200.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/multiple.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/pattern.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/pattern_datalad.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/tests/test_base.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/tests/test_datagrabber_utils.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/tests/test_multiple.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/tests/test_pattern.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datareader/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/datareader/tests/test_default_reader.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/external/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/external/h5io/h5io/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/external/h5io/h5io/_h5io.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/external/h5io/h5io/_version.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/external/h5io/h5io/chunked_array.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/external/h5io/h5io/chunked_list.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/external/nilearn/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/base.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/collection.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/complexity/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/complexity/complexity_base.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/complexity/hurst_exponent.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/complexity/multiscale_entropy_auc.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/complexity/perm_entropy.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/complexity/range_entropy.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/complexity/range_entropy_auc.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/complexity/sample_entropy.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/complexity/weighted_perm_entropy.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/ets_rss.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/falff/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/falff/_afni_falff.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/falff/_junifer_falff.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/falff/falff_base.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/falff/falff_parcels.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/falff/falff_spheres.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/functional_connectivity_base.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/parcel_aggregation.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/reho/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/reho/_afni_reho.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/reho/_junifer_reho.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/reho/reho_base.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/reho/reho_parcels.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/reho/reho_spheres.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/sphere_aggregation.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/temporal_snr/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/temporal_snr/temporal_snr_base.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/temporal_snr/temporal_snr_parcels.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/temporal_snr/temporal_snr_spheres.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/tests/test_collection.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/tests/test_ets_rss.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/tests/test_marker_utils.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/tests/test_markers_base.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/tests/test_parcel_aggregation.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/tests/test_sphere_aggregation.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/markers/utils.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/onthefly/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/onthefly/read_transform.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/onthefly/tests/test_read_transform.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/pipeline/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/pipeline/pipeline_step_mixin.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/pipeline/registry.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/pipeline/singleton.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/pipeline/tests/test_registry.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/pipeline/update_meta_mixin.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/pipeline/utils.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/pipeline/workdir_manager.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/preprocess/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/preprocess/base.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/preprocess/confounds/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/preprocess/confounds/fmriprep_confound_remover.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/preprocess/smoothing/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/preprocess/smoothing/_afni_smoothing.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/preprocess/smoothing/_fsl_smoothing.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/preprocess/smoothing/_nilearn_smoothing.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/preprocess/smoothing/smoothing.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/preprocess/smoothing/tests/test_smoothing.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/preprocess/warping/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/preprocess/warping/_ants_warper.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/preprocess/warping/_fsl_warper.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/preprocess/warping/space_warper.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/stats.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/storage/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/storage/base.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/storage/hdf5.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/storage/pandas_base.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/storage/sqlite.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/storage/tests/test_hdf5.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/storage/tests/test_pandas_base.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/storage/tests/test_sqlite.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/storage/tests/test_storage_base.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/storage/tests/test_utils.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/storage/utils.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/testing/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/testing/datagrabbers.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/testing/registry.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/testing/tests/test_testing_registry.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/testing/utils.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/tests/test_main.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/tests/test_stats.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/utils/__init__.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/utils/fs.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/utils/helpers.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/utils/logging.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/utils/tests/test_fs.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/utils/tests/test_helpers.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer/utils/tests/test_logging.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer.egg-info/dependency_links.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer.egg-info/entry_points.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer.egg-info/requires.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/junifer.egg-info/top_level.txt +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/pyproject.toml +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/setup.cfg +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/setup.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/tools/create_bids_example_dataset.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/tools/create_bids_example_dataset_sessions.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
- {junifer-0.0.5.dev98 → junifer-0.0.5.dev110}/tools/create_hcp1200_example_dataset.py +0 -0
- {junifer-0.0.5.dev98 → 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.
|
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
|
+
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`_
|
@@ -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.
|
16
|
-
__version_tuple__ = version_tuple = (0, 0, 5, '
|
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"
|
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"
|
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"
|
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")
|
@@ -0,0 +1,146 @@
|
|
1
|
+
"""Provide tests DataladAOMICPIOP2 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 DataladAOMICPIOP2
|
15
|
+
|
16
|
+
|
17
|
+
URI = "https://gin.g-node.org/juaml/datalad-example-aomicpiop2"
|
18
|
+
|
19
|
+
|
20
|
+
@pytest.mark.parametrize(
|
21
|
+
"type_, nested_types, tasks",
|
22
|
+
[
|
23
|
+
("BOLD", ["confounds", "mask"], None),
|
24
|
+
("BOLD", ["confounds", "mask"], ["restingstate"]),
|
25
|
+
("BOLD", ["confounds", "mask"], ["restingstate", "stopsignal"]),
|
26
|
+
("BOLD", ["confounds", "mask"], ["workingmemory", "stopsignal"]),
|
27
|
+
("BOLD", ["confounds", "mask"], ["workingmemory"]),
|
28
|
+
("T1w", ["mask"], None),
|
29
|
+
("VBM_CSF", None, None),
|
30
|
+
("VBM_GM", None, None),
|
31
|
+
("VBM_WM", None, None),
|
32
|
+
("DWI", None, None),
|
33
|
+
("FreeSurfer", None, None),
|
34
|
+
],
|
35
|
+
)
|
36
|
+
def test_DataladAOMICPIOP2(
|
37
|
+
type_: str,
|
38
|
+
nested_types: Optional[List[str]],
|
39
|
+
tasks: Optional[List[str]],
|
40
|
+
) -> None:
|
41
|
+
"""Test DataladAOMICPIOP2 DataGrabber.
|
42
|
+
|
43
|
+
Parameters
|
44
|
+
----------
|
45
|
+
type_ : str
|
46
|
+
The parametrized type.
|
47
|
+
nested_types : list of str or None
|
48
|
+
The parametrized nested types.
|
49
|
+
tasks : list of str or None
|
50
|
+
The parametrized task values.
|
51
|
+
|
52
|
+
"""
|
53
|
+
dg = DataladAOMICPIOP2(types=type_, tasks=tasks)
|
54
|
+
# Set URI to Gin
|
55
|
+
dg.uri = URI
|
56
|
+
|
57
|
+
with dg:
|
58
|
+
# Get all elements
|
59
|
+
all_elements = dg.get_elements()
|
60
|
+
# Get test element
|
61
|
+
test_element = all_elements[0]
|
62
|
+
# Get test element data
|
63
|
+
out = dg[test_element]
|
64
|
+
# Assert data type
|
65
|
+
assert type_ in out
|
66
|
+
# Check task name if BOLD
|
67
|
+
if type_ == "BOLD" and tasks is not None:
|
68
|
+
assert test_element[1] in out[type_]["path"].name
|
69
|
+
assert out[type_]["path"].exists()
|
70
|
+
assert out[type_]["path"].is_file()
|
71
|
+
# Asserts data type metadata
|
72
|
+
assert "meta" in out[type_]
|
73
|
+
meta = out[type_]["meta"]
|
74
|
+
assert "element" in meta
|
75
|
+
assert "subject" in meta["element"]
|
76
|
+
assert test_element[0] == meta["element"]["subject"]
|
77
|
+
# Assert nested data type if not None
|
78
|
+
if nested_types is not None:
|
79
|
+
for nested_type in nested_types:
|
80
|
+
assert out[type_][nested_type]["path"].exists()
|
81
|
+
assert out[type_][nested_type]["path"].is_file()
|
82
|
+
|
83
|
+
|
84
|
+
@pytest.mark.parametrize(
|
85
|
+
"types",
|
86
|
+
[
|
87
|
+
"BOLD",
|
88
|
+
"T1w",
|
89
|
+
"VBM_CSF",
|
90
|
+
"VBM_GM",
|
91
|
+
"VBM_WM",
|
92
|
+
"DWI",
|
93
|
+
["BOLD", "VBM_CSF"],
|
94
|
+
["T1w", "VBM_CSF"],
|
95
|
+
["VBM_GM", "VBM_WM"],
|
96
|
+
["DWI", "BOLD"],
|
97
|
+
],
|
98
|
+
)
|
99
|
+
def test_DataladAOMICPIOP2_partial_data_access(
|
100
|
+
types: Union[str, List[str]],
|
101
|
+
) -> None:
|
102
|
+
"""Test DataladAOMICPIOP2 DataGrabber partial data access.
|
103
|
+
|
104
|
+
Parameters
|
105
|
+
----------
|
106
|
+
types : str or list of str
|
107
|
+
The parametrized types.
|
108
|
+
|
109
|
+
"""
|
110
|
+
dg = DataladAOMICPIOP2(types=types)
|
111
|
+
# Set URI to Gin
|
112
|
+
dg.uri = URI
|
113
|
+
|
114
|
+
with dg:
|
115
|
+
# Get all elements
|
116
|
+
all_elements = dg.get_elements()
|
117
|
+
# Get test element
|
118
|
+
test_element = all_elements[0]
|
119
|
+
# Get test element data
|
120
|
+
out = dg[test_element]
|
121
|
+
# Assert data type
|
122
|
+
if isinstance(types, list):
|
123
|
+
for type_ in types:
|
124
|
+
assert type_ in out
|
125
|
+
else:
|
126
|
+
assert types in out
|
127
|
+
|
128
|
+
|
129
|
+
def test_DataladAOMICPIOP2_incorrect_data_type() -> None:
|
130
|
+
"""Test DataladAOMICPIOP2 DataGrabber incorrect data type."""
|
131
|
+
with pytest.raises(
|
132
|
+
ValueError, match="`patterns` must contain all `types`"
|
133
|
+
):
|
134
|
+
_ = DataladAOMICPIOP2(types="Vesta")
|
135
|
+
|
136
|
+
|
137
|
+
def test_DataladAOMICPIOP2_invalid_tasks():
|
138
|
+
"""Test DataladAOMICIDPIOP2 DataGrabber invalid tasks."""
|
139
|
+
with pytest.raises(
|
140
|
+
ValueError,
|
141
|
+
match=(
|
142
|
+
"thisisnotarealtask is not a valid task in "
|
143
|
+
"the AOMIC PIOP2 dataset!"
|
144
|
+
),
|
145
|
+
):
|
146
|
+
DataladAOMICPIOP2(tasks="thisisnotarealtask")
|
@@ -53,6 +53,17 @@ PATTERNS_SCHEMA = {
|
|
53
53
|
"mandatory": ["pattern"],
|
54
54
|
"optional": {},
|
55
55
|
},
|
56
|
+
"FreeSurfer": {
|
57
|
+
"mandatory": ["pattern"],
|
58
|
+
"optional": {
|
59
|
+
"aseg": {"mandatory": ["pattern"], "optional": []},
|
60
|
+
"norm": {"mandatory": ["pattern"], "optional": []},
|
61
|
+
"lh_white": {"mandatory": ["pattern"], "optional": []},
|
62
|
+
"rh_white": {"mandatory": ["pattern"], "optional": []},
|
63
|
+
"lh_pial": {"mandatory": ["pattern"], "optional": []},
|
64
|
+
"rh_pial": {"mandatory": ["pattern"], "optional": []},
|
65
|
+
},
|
66
|
+
},
|
56
67
|
}
|
57
68
|
|
58
69
|
|
@@ -103,8 +103,8 @@ class DefaultDataReader(PipelineStepMixin, UpdateMetaMixin):
|
|
103
103
|
params = {}
|
104
104
|
# For each type of data, try to read it
|
105
105
|
for type_key, type_val in input.items():
|
106
|
-
# Skip Warp data type
|
107
|
-
if type_key
|
106
|
+
# Skip Warp and FreeSurfer data type
|
107
|
+
if type_key in ["Warp", "FreeSurfer"]:
|
108
108
|
continue
|
109
109
|
|
110
110
|
# Check for malformed datagrabber specification
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: junifer
|
3
|
-
Version: 0.0.5.
|
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>
|
@@ -72,6 +72,8 @@ docs/changes/newsfragments/341.enh
|
|
72
72
|
docs/changes/newsfragments/342.misc
|
73
73
|
docs/changes/newsfragments/343.feature
|
74
74
|
docs/changes/newsfragments/345.feature
|
75
|
+
docs/changes/newsfragments/346.enh
|
76
|
+
docs/changes/newsfragments/346.feature
|
75
77
|
docs/extending/coordinates.rst
|
76
78
|
docs/extending/datagrabber.rst
|
77
79
|
docs/extending/dependencies.rst
|