junifer 0.0.5.dev219__tar.gz → 0.0.5.dev242__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.dev219 → junifer-0.0.5.dev242}/PKG-INFO +1 -1
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/whats_new.rst +121 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/_version.py +2 -2
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/__init__.py +2 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/base.py +10 -6
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/hcp1200/hcp1200.py +1 -1
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/multiple.py +42 -6
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/pattern.py +33 -10
- junifer-0.0.5.dev242/junifer/datagrabber/pattern_validation_mixin.py +388 -0
- junifer-0.0.5.dev242/junifer/datagrabber/tests/test_multiple.py +280 -0
- junifer-0.0.5.dev219/junifer/datagrabber/tests/test_datagrabber_utils.py → junifer-0.0.5.dev242/junifer/datagrabber/tests/test_pattern_validation_mixin.py +133 -108
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/utils/__init__.py +2 -1
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/utils/helpers.py +30 -2
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/utils/logging.py +18 -1
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/utils/tests/test_logging.py +8 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer.egg-info/PKG-INFO +1 -1
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer.egg-info/SOURCES.txt +2 -31
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/tools/create_aomic1000_example_dataset.py +2 -1
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/tools/create_aomicpiop1_example_dataset.py +1 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/tools/create_aomicpiop2_example_dataset.py +1 -0
- junifer-0.0.5.dev242/tools/create_bids_example_dataset.py +40 -0
- junifer-0.0.5.dev242/tools/create_bids_example_dataset_sessions.py +50 -0
- junifer-0.0.5.dev219/docs/changes/newsfragments/115.doc +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/136.enh +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/161.feature +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/273.feature +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/318.misc +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/323.feature +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/324.bugfix +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/327.doc +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/330.doc +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/331.bugfix +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/332.bugfix +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/336.removal +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/337.misc +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/339.bugfix +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/340.bugfix +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/341.enh +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/342.misc +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/343.feature +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/344.feature +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/345.feature +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/346.enh +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/346.feature +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/347.misc +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/348.change +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/348.enh +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/348.feature +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/349.change +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/349.enh +0 -1
- junifer-0.0.5.dev219/docs/changes/newsfragments/350.enh +0 -1
- junifer-0.0.5.dev219/junifer/datagrabber/tests/test_multiple.py +0 -203
- junifer-0.0.5.dev219/junifer/datagrabber/utils.py +0 -317
- junifer-0.0.5.dev219/tools/create_bids_example_dataset.py +0 -34
- junifer-0.0.5.dev219/tools/create_bids_example_dataset_sessions.py +0 -41
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/.github/dependabot.yml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/.github/pull_request_template.md +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/.github/workflows/ci-docs.yml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/.github/workflows/ci.yml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/.github/workflows/docs-preview.yml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/.github/workflows/docs.yml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/.github/workflows/lint.yml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/.github/workflows/pypi.yml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/.gitignore +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/.gitmodules +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/.pre-commit-config.yaml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/AUTHORS.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/LICENSE.md +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/README.md +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/codecov.yml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/conda-env.yml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/Makefile +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/_static/css/custom.css +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/_static/js/custom.js +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/_templates/versions.html +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/api/api.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/api/configs.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/api/data.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/api/datagrabbers.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/api/datareaders.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/api/index.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/api/markers.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/api/nilearn.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/api/onthefly.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/api/pipeline.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/api/preprocessing.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/api/stats.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/api/storage.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/api/testing.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/api/utils.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/builtin.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/changes/contributors.inc +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/changes/newsfragments/.gitignore +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/conf.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/contribution.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/extending/coordinates.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/extending/datagrabber.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/extending/dependencies.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/extending/extension.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/extending/index.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/extending/marker.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/extending/masks.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/extending/parcellations.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/extending/preprocessor.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/faq.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/help.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/images/junifer_logo.png +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/index.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/installation.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/links.inc +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/maintaining.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/redirect.html +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/sphinxext/gh_substitutions.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/starting.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/understanding/data.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/understanding/datagrabber.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/understanding/datareader.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/understanding/index.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/understanding/marker.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/understanding/pipeline.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/understanding/preprocess.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/understanding/storage.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/using/codeless.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/using/index.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/using/masks.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/using/queueing.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/docs/using/running.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/examples/README.rst +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/examples/norun_hcpfc_pearson.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/examples/norun_ukbvm_gmd.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/examples/run_compute_parcel_mean.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/examples/run_datagrabber_bids_datalad.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/examples/run_ets_rss_marker.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/examples/run_junifer_julearn.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/examples/run_run_gmd_mean.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/examples/yamls/gmd_mean.yaml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/examples/yamls/ukb_gmd_mean.yaml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/ignore_words.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/cli.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/decorators.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/functions.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/parser.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/queue_context/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/queue_context/gnu_parallel_local_adapter.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/queue_context/htcondor_adapter.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/queue_context/queue_context_adapter.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/afni/3dRSFC +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/afni/3dReHo +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/afni/afni +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/afni/run_afni_docker.sh +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/ants/ResampleImage +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/ants/antsApplyTransforms +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/ants/run_ants_docker.sh +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/freesurfer/mri_binarize +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/freesurfer/mri_mc +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/freesurfer/mri_pretess +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/freesurfer/mris_convert +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/fsl/applywarp +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/fsl/flirt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/fsl/img2imgcoord +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/fsl/std2imgcoord +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/run_conda.bash +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/run_conda.zsh +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/run_venv.bash +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/res/run_venv.zsh +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/tests/data/gmd_mean.yaml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/tests/data/gmd_mean_htcondor.yaml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/tests/test_api_utils.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/tests/test_cli.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/tests/test_functions.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/tests/test_parser.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/api/utils.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/configs/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/configs/juseless/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/configs/juseless/datagrabbers/ucla.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/VOIs/meta/AutobiographicalMemory_VOIs.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/VOIs/meta/CogAC_VOIs.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/VOIs/meta/CogAR_VOIs.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/VOIs/meta/DMNBuckner_VOIs.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/VOIs/meta/Dosenbach2010_MNI_VOIs.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/VOIs/meta/Empathy_VOIs.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/VOIs/meta/Motor_VOIs.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/VOIs/meta/MultiTask_VOIs.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/VOIs/meta/PhysioStress_VOIs.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/VOIs/meta/Power2011_MNI_VOIs.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/VOIs/meta/Power2013_MNI_VOIs.tsv +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/VOIs/meta/Rew_VOIs.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/VOIs/meta/Somatosensory_VOIs.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/VOIs/meta/ToM_VOIs.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/VOIs/meta/VigAtt_VOIs.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/VOIs/meta/WM_VOIs.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/VOIs/meta/eMDN_VOIs.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/VOIs/meta/eSAD_VOIs.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/VOIs/meta/extDMN_VOIs.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/coordinates.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/masks/ukb/UKB_15K_GM_template.nii.gz +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean.nii.gz +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean_3mm.nii.gz +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/masks/vickery-patil/GMprob0.2_cortex_3mm_NA_rm.nii.gz +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/masks.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/parcellations.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/template_spaces.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/tests/test_coordinates.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/tests/test_data_utils.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/tests/test_masks.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/tests/test_parcellations.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/tests/test_template_spaces.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/data/utils.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/aomic/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/aomic/id1000.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/aomic/piop1.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/aomic/piop2.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/aomic/tests/test_id1000.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/aomic/tests/test_piop1.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/aomic/tests/test_piop2.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/datalad_base.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/dmcc13_benchmark.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/hcp1200/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/pattern_datalad.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/tests/test_base.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/tests/test_pattern.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datareader/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datareader/default.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/datareader/tests/test_default_reader.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/external/BrainPrint/brainprint/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/external/BrainPrint/brainprint/_version.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/external/BrainPrint/brainprint/asymmetry.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/external/BrainPrint/brainprint/brainprint.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/external/BrainPrint/brainprint/surfaces.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/external/BrainPrint/brainprint/utils/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/external/BrainPrint/brainprint/utils/_config.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/external/BrainPrint/brainprint/utils/utils.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/external/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/external/h5io/h5io/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/external/h5io/h5io/_h5io.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/external/h5io/h5io/_version.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/external/h5io/h5io/chunked_array.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/external/h5io/h5io/chunked_list.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/external/nilearn/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/external/nilearn/junifer_connectivity_measure.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/base.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/brainprint.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/collection.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/complexity/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/complexity/complexity_base.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/complexity/hurst_exponent.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/complexity/multiscale_entropy_auc.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/complexity/perm_entropy.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/complexity/range_entropy.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/complexity/range_entropy_auc.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/complexity/sample_entropy.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/complexity/weighted_perm_entropy.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/ets_rss.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/falff/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/falff/_afni_falff.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/falff/_junifer_falff.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/falff/falff_base.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/falff/falff_parcels.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/falff/falff_spheres.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/functional_connectivity/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/functional_connectivity/functional_connectivity_base.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/parcel_aggregation.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/reho/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/reho/_afni_reho.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/reho/_junifer_reho.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/reho/reho_base.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/reho/reho_parcels.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/reho/reho_spheres.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/sphere_aggregation.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/temporal_snr/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/temporal_snr/temporal_snr_base.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/temporal_snr/temporal_snr_parcels.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/temporal_snr/temporal_snr_spheres.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/tests/test_brainprint.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/tests/test_collection.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/tests/test_ets_rss.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/tests/test_marker_utils.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/tests/test_markers_base.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/tests/test_parcel_aggregation.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/tests/test_sphere_aggregation.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/markers/utils.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/onthefly/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/onthefly/read_transform.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/onthefly/tests/test_read_transform.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/pipeline/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/pipeline/pipeline_step_mixin.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/pipeline/registry.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/pipeline/singleton.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/pipeline/tests/test_registry.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/pipeline/update_meta_mixin.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/pipeline/utils.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/pipeline/workdir_manager.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/preprocess/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/preprocess/base.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/preprocess/confounds/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/preprocess/confounds/fmriprep_confound_remover.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/preprocess/smoothing/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/preprocess/smoothing/_afni_smoothing.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/preprocess/smoothing/_fsl_smoothing.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/preprocess/smoothing/_nilearn_smoothing.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/preprocess/smoothing/smoothing.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/preprocess/smoothing/tests/test_smoothing.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/preprocess/warping/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/preprocess/warping/_ants_warper.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/preprocess/warping/_fsl_warper.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/preprocess/warping/space_warper.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/stats.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/storage/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/storage/base.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/storage/hdf5.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/storage/pandas_base.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/storage/sqlite.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/storage/tests/test_hdf5.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/storage/tests/test_pandas_base.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/storage/tests/test_sqlite.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/storage/tests/test_storage_base.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/storage/tests/test_utils.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/storage/utils.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/testing/__init__.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/testing/datagrabbers.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/testing/registry.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/testing/tests/test_testing_registry.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/testing/utils.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/tests/test_main.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/tests/test_stats.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/utils/fs.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/utils/tests/test_fs.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer/utils/tests/test_helpers.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer.egg-info/dependency_links.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer.egg-info/entry_points.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer.egg-info/requires.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/junifer.egg-info/top_level.txt +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/pyproject.toml +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/setup.cfg +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/setup.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/tools/create_hcp1200_example_dataset.py +0 -0
- {junifer-0.0.5.dev219 → junifer-0.0.5.dev242}/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.dev242
|
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>
|
@@ -8,6 +8,127 @@ What's new
|
|
8
8
|
|
9
9
|
.. towncrier release notes start
|
10
10
|
|
11
|
+
Junifer 0.0.5 (2024-07-22)
|
12
|
+
--------------------------
|
13
|
+
|
14
|
+
Bugfixes
|
15
|
+
^^^^^^^^
|
16
|
+
|
17
|
+
- Remove extra dimension from parcellations warped via ANTs to other template
|
18
|
+
spaces by `Synchon Mandal`_ (:gh:`324`)
|
19
|
+
- Remove extra dimension from parcellations warped via ANTs when merging
|
20
|
+
parcellations by `Synchon Mandal`_ (:gh:`331`)
|
21
|
+
- Fix ``junifer reset`` to properly delete storage directory and handle
|
22
|
+
``junifer_jobs`` deletion if not empty by `Synchon Mandal`_ (:gh:`332`)
|
23
|
+
- Fix validation failure of multiple Preprocessors with different input data
|
24
|
+
types requirement by `Synchon Mandal`_ (:gh:`339`)
|
25
|
+
- Remove extra dimension from masks warped via ANTs by `Synchon Mandal`_
|
26
|
+
(:gh:`340`)
|
27
|
+
|
28
|
+
|
29
|
+
API Changes
|
30
|
+
^^^^^^^^^^^
|
31
|
+
|
32
|
+
- For :class:`.CrossParcellationFC`, ``aggregation_method`` and
|
33
|
+
``correlation_method`` have been renamed to ``agg_method`` and
|
34
|
+
``corr_method`` respectively and ``agg_method_params`` has been added; for
|
35
|
+
``FunctionalConnectivityBase``, :class:`.FunctionalConnectivityParcels`,
|
36
|
+
:class:`.FunctionalConnectivitySpheres`, :class:`.EdgeCentricFCParcels` and
|
37
|
+
:class:`.EdgeCentricFCSpheres`, ``cor_method`` and ``cor_method_params`` have
|
38
|
+
been renamed to ``conn_method`` and ``conn_method_params`` by `Synchon
|
39
|
+
Mandal`_ (:gh:`348`)
|
40
|
+
- ``fractional`` parameter for ``ALFFBase``, :class:`.ALFFParcels` and
|
41
|
+
:class:`.ALFFSpheres` have been removed in favour of returning both ALFF and
|
42
|
+
fALFF by `Synchon Mandal`_ (:gh:`349`)
|
43
|
+
- Add ``partial_pattern_ok`` argument to :class:`.PatternDataGrabber` to not
|
44
|
+
raise error on missing mandatory key checks for data types by `Synchon
|
45
|
+
Mandal`_ (:gh:`351`)
|
46
|
+
|
47
|
+
|
48
|
+
Improved Documentation
|
49
|
+
^^^^^^^^^^^^^^^^^^^^^^
|
50
|
+
|
51
|
+
- Improve sub-package level docstrings to better reflect their purposes by
|
52
|
+
`Synchon Mandal`_ (:gh:`115`)
|
53
|
+
- Update "Queueing Jobs (HPC, HTC)" section by `Synchon Mandal`_ (:gh:`327`)
|
54
|
+
- Add missing DataGrabber ``types`` options in respective docstrings of
|
55
|
+
:class:`.DataladAOMICID1000`, :class:`.DataladAOMICPIOP1`,
|
56
|
+
:class:`.DataladAOMICPIOP2` and :class:`.DMCC13Benchmark` by `Synchon
|
57
|
+
Mandal`_ (:gh:`330`)
|
58
|
+
|
59
|
+
|
60
|
+
Enhancements
|
61
|
+
^^^^^^^^^^^^
|
62
|
+
|
63
|
+
- Add test to be sure that :class:`.JuniferNiftiSpheresMasker` with mean
|
64
|
+
aggregation function behaves exactly as
|
65
|
+
:class:`nilearn.maskers.NiftiSpheresMasker` by `Synchon Mandal`_ (:gh:`136`)
|
66
|
+
- Refactor DataGrabber ``patterns`` to make helper types like ``*_mask`` as
|
67
|
+
"nested types" of the actual data type by `Synchon Mandal`_ (:gh:`341`)
|
68
|
+
- Adapt :class:`.DataladAOMICID1000`, :class:`.DataladAOMICPIOP1` and
|
69
|
+
:class:`.DataladAOMICPIOP2` to support ``FreeSurfer`` data type by `Synchon
|
70
|
+
Mandal`_ (:gh:`346`)
|
71
|
+
- ``FunctionalConnectivity``-family Markers now use
|
72
|
+
:class:`sklearn.covariance.EmpiricalCovariance` as the default covariance
|
73
|
+
estimator and ``correlation`` as the default connecivity matrix kind by
|
74
|
+
`Synchon Mandal`_ (:gh:`348`)
|
75
|
+
- Enable Markers to output multiple features by `Synchon Mandal`_ (:gh:`349`)
|
76
|
+
- Add support for ``UKB_15K_GM`` mask by `Synchon Mandal`_ (:gh:`350`)
|
77
|
+
- Adapt :class:`.MultipleDataGrabber` to handle "nested types" introduced in
|
78
|
+
:gh:`341` by `Synchon Mandal`_ (:gh:`351`)
|
79
|
+
|
80
|
+
|
81
|
+
Features
|
82
|
+
^^^^^^^^
|
83
|
+
|
84
|
+
- Introduce :class:`.Smoothing` for smoothing / blurring images as a
|
85
|
+
preprocessing step by `Synchon Mandal`_ (:gh:`161`)
|
86
|
+
- Add support for choosing between ``bash`` and ``zsh`` shells when queueing by
|
87
|
+
`Synchon Mandal`_ (:gh:`273`)
|
88
|
+
- Add ``junifer list-elements`` to list out available elements for a
|
89
|
+
DataGrabber based on filtering via ``--element`` by `Synchon Mandal`_
|
90
|
+
(:gh:`323`)
|
91
|
+
- Introduce new storage type ``scalar_table`` and adapt
|
92
|
+
:class:`.HDF5FeatureStorage` to support it by `Synchon Mandal`_ (:gh:`343`)
|
93
|
+
- Add support for `BrainPrint
|
94
|
+
<https://github.com/Deep-MI/BrainPrint?tab=readme-ov-file>`_ marker by
|
95
|
+
`Synchon Mandal`_ (:gh:`344`)
|
96
|
+
- Allow Unix path expansion directives to be used in
|
97
|
+
:class:`.PatternDataGrabber` ``patterns`` by `Synchon Mandal`_ (:gh:`345`)
|
98
|
+
- Add support for ``FreeSurfer`` data type for :class:`.PatternDataGrabber` by
|
99
|
+
`Synchon Mandal`_ (:gh:`346`)
|
100
|
+
- Introduce :class:`.JuniferConnectivityMeasure` for customising functional
|
101
|
+
connectivity matrix kinds and measurements by `Synchon Mandal`_ (:gh:`348`)
|
102
|
+
- Introduce :class:`.PatternValidationMixin` to simplify validation for
|
103
|
+
pattern-based DataGrabbers and :func:`.deep_update` for updating dictionary
|
104
|
+
with varying width and depth by `Synchon Mandal`_ (:gh:`351`)
|
105
|
+
|
106
|
+
|
107
|
+
Miscellaneous
|
108
|
+
^^^^^^^^^^^^^
|
109
|
+
|
110
|
+
- Improve CI to allow external tool installation to fail gracefully and update
|
111
|
+
necessary dependency version and conditional checks by `Synchon Mandal`_
|
112
|
+
(:gh:`318`)
|
113
|
+
- Update ``pre-commit`` dependency versions, add ``blacken-docs`` to
|
114
|
+
``pre-commit``, add ``__all__`` for modules, sub-packages and package, update
|
115
|
+
``ruff`` and ``pytest`` configs in ``pyproject.toml`` by `Synchon Mandal`_
|
116
|
+
(:gh:`337`)
|
117
|
+
- Add support for accessing FreeSurfer via Docker wrapper along with
|
118
|
+
``mri_binarize``, ``mri_pretess``, ``mri_mc`` and ``mris_convert`` by
|
119
|
+
`Synchon Mandal`_ (:gh:`342`)
|
120
|
+
- Update core and docs dependencies by `Synchon Mandal`_ (:gh:`347`)
|
121
|
+
- Integrate ``warnings`` with ``logging`` respecting filters by `Fede
|
122
|
+
Raimondo`_ (:gh:`351`)
|
123
|
+
|
124
|
+
|
125
|
+
Deprecations and Removals
|
126
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^
|
127
|
+
|
128
|
+
- Remove ``Power`` coordinates, ``fetch_icbm152_brain_gm_mask`` mask,
|
129
|
+
``BOLDWarper`` Preprocessor by `Synchon Mandal`_ (:gh:`336`)
|
130
|
+
|
131
|
+
|
11
132
|
Junifer 0.0.4 (2024-04-05)
|
12
133
|
--------------------------
|
13
134
|
|
@@ -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.dev242'
|
16
|
+
__version_tuple__ = version_tuple = (0, 0, 5, 'dev242')
|
@@ -17,6 +17,7 @@ from .hcp1200 import HCP1200, DataladHCP1200
|
|
17
17
|
from .multiple import MultipleDataGrabber
|
18
18
|
from .dmcc13_benchmark import DMCC13Benchmark
|
19
19
|
|
20
|
+
from .pattern_validation_mixin import PatternValidationMixin
|
20
21
|
|
21
22
|
__all__ = [
|
22
23
|
"BaseDataGrabber",
|
@@ -30,4 +31,5 @@ __all__ = [
|
|
30
31
|
"DataladHCP1200",
|
31
32
|
"MultipleDataGrabber",
|
32
33
|
"DMCC13Benchmark",
|
34
|
+
"PatternValidationMixin",
|
33
35
|
]
|
@@ -11,7 +11,6 @@ from typing import Dict, Iterator, List, Tuple, Union
|
|
11
11
|
|
12
12
|
from ..pipeline import UpdateMetaMixin
|
13
13
|
from ..utils import logger, raise_error
|
14
|
-
from .utils import validate_types
|
15
14
|
|
16
15
|
|
17
16
|
__all__ = ["BaseDataGrabber"]
|
@@ -30,16 +29,21 @@ class BaseDataGrabber(ABC, UpdateMetaMixin):
|
|
30
29
|
datadir : str or pathlib.Path
|
31
30
|
The directory where the data is / will be stored.
|
32
31
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
32
|
+
Raises
|
33
|
+
------
|
34
|
+
TypeError
|
35
|
+
If ``types`` is not a list or if the values are not string.
|
37
36
|
|
38
37
|
"""
|
39
38
|
|
40
39
|
def __init__(self, types: List[str], datadir: Union[str, Path]) -> None:
|
41
40
|
# Validate types
|
42
|
-
|
41
|
+
if not isinstance(types, list):
|
42
|
+
raise_error(msg="`types` must be a list", klass=TypeError)
|
43
|
+
if any(not isinstance(x, str) for x in types):
|
44
|
+
raise_error(
|
45
|
+
msg="`types` must be a list of strings", klass=TypeError
|
46
|
+
)
|
43
47
|
self.types = types
|
44
48
|
|
45
49
|
# Convert str to Path
|
@@ -10,8 +10,8 @@ from pathlib import Path
|
|
10
10
|
from typing import Dict, List, Union
|
11
11
|
|
12
12
|
from ...api.decorators import register_datagrabber
|
13
|
+
from ...utils import raise_error
|
13
14
|
from ..pattern import PatternDataGrabber
|
14
|
-
from ..utils import raise_error
|
15
15
|
|
16
16
|
|
17
17
|
__all__ = ["HCP1200"]
|
@@ -7,13 +7,15 @@
|
|
7
7
|
|
8
8
|
from typing import Dict, List, Tuple, Union
|
9
9
|
|
10
|
-
from ..
|
10
|
+
from ..api.decorators import register_datagrabber
|
11
|
+
from ..utils import deep_update, raise_error
|
11
12
|
from .base import BaseDataGrabber
|
12
13
|
|
13
14
|
|
14
15
|
__all__ = ["MultipleDataGrabber"]
|
15
16
|
|
16
17
|
|
18
|
+
@register_datagrabber
|
17
19
|
class MultipleDataGrabber(BaseDataGrabber):
|
18
20
|
"""Concrete implementation for multi sourced data fetching.
|
19
21
|
|
@@ -27,19 +29,53 @@ class MultipleDataGrabber(BaseDataGrabber):
|
|
27
29
|
**kwargs
|
28
30
|
Keyword arguments passed to superclass.
|
29
31
|
|
32
|
+
Raises
|
33
|
+
------
|
34
|
+
RuntimeError
|
35
|
+
If ``datagrabbers`` have different element keys or
|
36
|
+
overlapping data types or nested data types.
|
37
|
+
|
30
38
|
"""
|
31
39
|
|
32
40
|
def __init__(self, datagrabbers: List[BaseDataGrabber], **kwargs) -> None:
|
33
41
|
# Check datagrabbers consistency
|
34
|
-
#
|
42
|
+
# Check for same element keys
|
35
43
|
first_keys = datagrabbers[0].get_element_keys()
|
36
44
|
for dg in datagrabbers[1:]:
|
37
45
|
if dg.get_element_keys() != first_keys:
|
38
|
-
raise_error(
|
39
|
-
|
46
|
+
raise_error(
|
47
|
+
msg="DataGrabbers have different element keys",
|
48
|
+
klass=RuntimeError,
|
49
|
+
)
|
50
|
+
# Check for no overlapping types (and nested data types)
|
40
51
|
types = [x for dg in datagrabbers for x in dg.get_types()]
|
41
52
|
if len(types) != len(set(types)):
|
42
|
-
|
53
|
+
if all(hasattr(dg, "patterns") for dg in datagrabbers):
|
54
|
+
first_patterns = datagrabbers[0].patterns
|
55
|
+
for dg in datagrabbers[1:]:
|
56
|
+
for data_type in set(types):
|
57
|
+
dtype_pattern = dg.patterns.get(data_type)
|
58
|
+
if dtype_pattern is None:
|
59
|
+
continue
|
60
|
+
# Check if first-level keys of data type are same
|
61
|
+
if (
|
62
|
+
dtype_pattern.keys()
|
63
|
+
== first_patterns[data_type].keys()
|
64
|
+
):
|
65
|
+
raise_error(
|
66
|
+
msg=(
|
67
|
+
"DataGrabbers have overlapping mandatory "
|
68
|
+
"and / or optional key(s) for data type: "
|
69
|
+
f"`{data_type}`"
|
70
|
+
),
|
71
|
+
klass=RuntimeError,
|
72
|
+
)
|
73
|
+
else:
|
74
|
+
# Can't check further
|
75
|
+
raise_error(
|
76
|
+
msg="DataGrabbers have overlapping types",
|
77
|
+
klass=RuntimeError,
|
78
|
+
)
|
43
79
|
self._datagrabbers = datagrabbers
|
44
80
|
|
45
81
|
def __getitem__(self, element: Union[str, Tuple]) -> Dict:
|
@@ -65,7 +101,7 @@ class MultipleDataGrabber(BaseDataGrabber):
|
|
65
101
|
metas = []
|
66
102
|
for dg in self._datagrabbers:
|
67
103
|
t_out = dg[element]
|
68
|
-
out
|
104
|
+
deep_update(out, t_out)
|
69
105
|
# Now get the meta for this datagrabber
|
70
106
|
t_meta = {}
|
71
107
|
dg.update_meta(t_meta, "datagrabber")
|
@@ -15,7 +15,7 @@ import numpy as np
|
|
15
15
|
from ..api.decorators import register_datagrabber
|
16
16
|
from ..utils import logger, raise_error
|
17
17
|
from .base import BaseDataGrabber
|
18
|
-
from .
|
18
|
+
from .pattern_validation_mixin import PatternValidationMixin
|
19
19
|
|
20
20
|
|
21
21
|
__all__ = ["PatternDataGrabber"]
|
@@ -26,7 +26,7 @@ _CONFOUNDS_FORMATS = ("fmriprep", "adhoc")
|
|
26
26
|
|
27
27
|
|
28
28
|
@register_datagrabber
|
29
|
-
class PatternDataGrabber(BaseDataGrabber):
|
29
|
+
class PatternDataGrabber(BaseDataGrabber, PatternValidationMixin):
|
30
30
|
"""Concrete implementation for pattern-based data fetching.
|
31
31
|
|
32
32
|
Implements a DataGrabber that understands patterns to grab data.
|
@@ -142,6 +142,13 @@ class PatternDataGrabber(BaseDataGrabber):
|
|
142
142
|
The directory where the data is / will be stored.
|
143
143
|
confounds_format : {"fmriprep", "adhoc"} or None, optional
|
144
144
|
The format of the confounds for the dataset (default None).
|
145
|
+
partial_pattern_ok : bool, optional
|
146
|
+
Whether to raise error if partial pattern for a data type is found.
|
147
|
+
This allows to bypass mandatory key check and issue a warning
|
148
|
+
instead of raising error. This allows one to have a DataGrabber
|
149
|
+
with data types without the corresponding mandatory keys and is
|
150
|
+
powerful when used with :class:`.MultipleDataGrabber`
|
151
|
+
(default True).
|
145
152
|
|
146
153
|
Raises
|
147
154
|
------
|
@@ -157,17 +164,21 @@ class PatternDataGrabber(BaseDataGrabber):
|
|
157
164
|
replacements: Union[List[str], str],
|
158
165
|
datadir: Union[str, Path],
|
159
166
|
confounds_format: Optional[str] = None,
|
167
|
+
partial_pattern_ok: bool = False,
|
160
168
|
) -> None:
|
161
|
-
# Validate patterns
|
162
|
-
validate_patterns(types=types, patterns=patterns)
|
163
|
-
self.patterns = patterns
|
164
|
-
|
165
169
|
# Convert replacements to list if not already
|
166
170
|
if not isinstance(replacements, list):
|
167
171
|
replacements = [replacements]
|
168
|
-
# Validate
|
169
|
-
|
172
|
+
# Validate patterns
|
173
|
+
self.validate_patterns(
|
174
|
+
types=types,
|
175
|
+
replacements=replacements,
|
176
|
+
patterns=patterns,
|
177
|
+
partial_pattern_ok=partial_pattern_ok,
|
178
|
+
)
|
170
179
|
self.replacements = replacements
|
180
|
+
self.patterns = patterns
|
181
|
+
self.partial_pattern_ok = partial_pattern_ok
|
171
182
|
|
172
183
|
# Validate confounds format
|
173
184
|
if (
|
@@ -436,14 +447,26 @@ class PatternDataGrabber(BaseDataGrabber):
|
|
436
447
|
for t_idx in reversed(order):
|
437
448
|
t_type = self.types[t_idx]
|
438
449
|
types_element = set()
|
439
|
-
|
450
|
+
|
451
|
+
# Get the pattern dict
|
440
452
|
t_pattern = self.patterns[t_type]
|
453
|
+
# Conditional fetch of base pattern for getting elements
|
454
|
+
pattern = None
|
455
|
+
# Try for data type pattern
|
456
|
+
pattern = t_pattern.get("pattern")
|
457
|
+
# Try for nested data type pattern
|
458
|
+
if pattern is None and self.partial_pattern_ok:
|
459
|
+
for v in t_pattern.values():
|
460
|
+
if isinstance(v, dict) and "pattern" in v:
|
461
|
+
pattern = v["pattern"]
|
462
|
+
break
|
463
|
+
|
441
464
|
# Replace the pattern
|
442
465
|
(
|
443
466
|
re_pattern,
|
444
467
|
glob_pattern,
|
445
468
|
t_replacements,
|
446
|
-
) = self._replace_patterns_regex(
|
469
|
+
) = self._replace_patterns_regex(pattern)
|
447
470
|
for fname in self.datadir.glob(glob_pattern):
|
448
471
|
suffix = fname.relative_to(self.datadir).as_posix()
|
449
472
|
m = re.match(re_pattern, suffix)
|