junifer 0.0.5.dev131__tar.gz → 0.0.5.dev145__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.dev131 → junifer-0.0.5.dev145}/.pre-commit-config.yaml +12 -5
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/PKG-INFO +1 -1
- junifer-0.0.5.dev145/docs/changes/newsfragments/337.misc +1 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/extending/coordinates.rst +2 -8
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/extending/datagrabber.rst +114 -118
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/extending/dependencies.rst +2 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/extending/marker.rst +14 -15
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/extending/parcellations.rst +1 -1
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/extending/preprocessor.rst +12 -3
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/understanding/data.rst +5 -4
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/understanding/preprocess.rst +2 -6
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/__init__.py +17 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/_version.py +2 -2
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/__init__.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/decorators.py +9 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/functions.py +7 -4
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/parser.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/queue_context/__init__.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/afni/run_afni_docker.sh +1 -1
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/ants/run_ants_docker.sh +1 -1
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/fsl/run_fsl_docker.sh +1 -1
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/configs/juseless/__init__.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/configs/juseless/datagrabbers/__init__.py +9 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/configs/juseless/datagrabbers/ucla.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/__init__.py +20 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/coordinates.py +8 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/masks.py +10 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/parcellations.py +9 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/template_spaces.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/utils.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/__init__.py +15 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/aomic/__init__.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/aomic/id1000.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/aomic/piop1.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/aomic/piop2.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/base.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/datalad_base.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/hcp1200/__init__.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/hcp1200/hcp1200.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/multiple.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/pattern.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/pattern_datalad.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/utils.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datareader/__init__.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datareader/default.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/__init__.py +21 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/base.py +21 -7
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/brainprint.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/collection.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/complexity/__init__.py +10 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/complexity/complexity_base.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/complexity/hurst_exponent.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/complexity/multiscale_entropy_auc.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/complexity/perm_entropy.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/complexity/range_entropy.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/complexity/range_entropy_auc.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/complexity/sample_entropy.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/complexity/tests/test_hurst_exponent.py +7 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +7 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/complexity/tests/test_perm_entropy.py +7 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/complexity/tests/test_range_entropy.py +7 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/complexity/tests/test_range_entropy_auc.py +7 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/complexity/tests/test_sample_entropy.py +7 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +7 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/complexity/weighted_perm_entropy.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/ets_rss.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/falff/__init__.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/falff/_afni_falff.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/falff/_junifer_falff.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/falff/falff_base.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/falff/falff_parcels.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/falff/falff_spheres.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/functional_connectivity/__init__.py +9 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/functional_connectivity/functional_connectivity_base.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/parcel_aggregation.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/reho/__init__.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/reho/_afni_reho.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/reho/_junifer_reho.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/reho/reho_base.py +2 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/reho/reho_parcels.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/reho/reho_spheres.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/sphere_aggregation.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/temporal_snr/__init__.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/temporal_snr/temporal_snr_base.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/temporal_snr/temporal_snr_parcels.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/temporal_snr/temporal_snr_spheres.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/onthefly/__init__.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/onthefly/read_transform.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/pipeline/__init__.py +8 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/pipeline/pipeline_step_mixin.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/pipeline/registry.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/pipeline/singleton.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/pipeline/update_meta_mixin.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/pipeline/utils.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/pipeline/workdir_manager.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/preprocess/__init__.py +8 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/preprocess/base.py +4 -1
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/preprocess/confounds/__init__.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/preprocess/confounds/fmriprep_confound_remover.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/preprocess/smoothing/__init__.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/preprocess/warping/__init__.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/preprocess/warping/_ants_warper.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/preprocess/warping/_fsl_warper.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/stats.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/storage/__init__.py +8 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/storage/base.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/storage/hdf5.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/storage/pandas_base.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/storage/sqlite.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/storage/utils.py +9 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/testing/__init__.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/testing/datagrabbers.py +7 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/testing/utils.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/utils/__init__.py +10 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/utils/fs.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/utils/helpers.py +3 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/utils/logging.py +10 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer.egg-info/PKG-INFO +1 -1
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer.egg-info/SOURCES.txt +1 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/pyproject.toml +23 -11
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/.github/dependabot.yml +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/.github/pull_request_template.md +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/.github/workflows/ci-docs.yml +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/.github/workflows/ci.yml +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/.github/workflows/docs-preview.yml +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/.github/workflows/docs.yml +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/.github/workflows/lint.yml +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/.github/workflows/pypi.yml +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/.gitignore +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/.gitmodules +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/AUTHORS.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/LICENSE.md +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/README.md +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/codecov.yml +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/conda-env.yml +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/Makefile +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/_static/css/custom.css +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/_static/js/custom.js +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/_templates/versions.html +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/api/api.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/api/configs.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/api/data.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/api/datagrabbers.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/api/datareaders.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/api/index.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/api/markers.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/api/nilearn.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/api/onthefly.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/api/pipeline.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/api/preprocessing.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/api/stats.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/api/storage.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/api/testing.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/api/utils.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/builtin.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/changes/contributors.inc +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/changes/newsfragments/.gitignore +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/changes/newsfragments/115.doc +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/changes/newsfragments/161.feature +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/changes/newsfragments/273.feature +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/changes/newsfragments/323.feature +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/changes/newsfragments/324.bugfix +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/changes/newsfragments/330.doc +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/changes/newsfragments/331.bugfix +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/changes/newsfragments/332.bugfix +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/changes/newsfragments/336.removal +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/changes/newsfragments/339.bugfix +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/changes/newsfragments/340.bugfix +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/changes/newsfragments/341.enh +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/changes/newsfragments/342.misc +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/changes/newsfragments/343.feature +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/changes/newsfragments/344.feature +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/changes/newsfragments/345.feature +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/changes/newsfragments/346.enh +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/changes/newsfragments/346.feature +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/conf.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/contribution.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/extending/extension.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/extending/index.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/extending/masks.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/faq.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/help.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/images/junifer_logo.png +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/index.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/installation.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/links.inc +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/maintaining.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/redirect.html +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/sphinxext/gh_substitutions.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/starting.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/understanding/datagrabber.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/understanding/datareader.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/understanding/index.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/understanding/marker.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/understanding/pipeline.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/understanding/storage.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/using/codeless.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/using/index.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/using/masks.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/using/queueing.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/using/running.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/docs/whats_new.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/examples/README.rst +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/examples/norun_hcpfc_pearson.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/examples/norun_ukbvm_gmd.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/examples/run_compute_parcel_mean.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/examples/run_datagrabber_bids_datalad.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/examples/run_ets_rss_marker.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/examples/run_junifer_julearn.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/examples/run_run_gmd_mean.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/examples/yamls/gmd_mean.yaml +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/examples/yamls/ukb_gmd_mean.yaml +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/ignore_words.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/cli.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/queue_context/gnu_parallel_local_adapter.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/queue_context/htcondor_adapter.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/queue_context/queue_context_adapter.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/afni/3dRSFC +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/afni/3dReHo +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/afni/afni +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/ants/ResampleImage +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/ants/antsApplyTransforms +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/freesurfer/mri_binarize +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/freesurfer/mri_mc +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/freesurfer/mri_pretess +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/freesurfer/mris_convert +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/fsl/applywarp +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/fsl/flirt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/fsl/img2imgcoord +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/fsl/std2imgcoord +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/run_conda.bash +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/run_conda.zsh +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/run_venv.bash +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/res/run_venv.zsh +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/tests/data/gmd_mean.yaml +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/tests/data/gmd_mean_htcondor.yaml +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/tests/test_api_utils.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/tests/test_cli.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/tests/test_functions.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/tests/test_parser.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/api/utils.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/configs/__init__.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/VOIs/meta/AutobiographicalMemory_VOIs.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/VOIs/meta/CogAC_VOIs.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/VOIs/meta/CogAR_VOIs.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/VOIs/meta/DMNBuckner_VOIs.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/VOIs/meta/Dosenbach2010_MNI_VOIs.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/VOIs/meta/Empathy_VOIs.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/VOIs/meta/Motor_VOIs.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/VOIs/meta/MultiTask_VOIs.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/VOIs/meta/PhysioStress_VOIs.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/VOIs/meta/Power2011_MNI_VOIs.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/VOIs/meta/Power2013_MNI_VOIs.tsv +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/VOIs/meta/Rew_VOIs.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/VOIs/meta/Somatosensory_VOIs.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/VOIs/meta/ToM_VOIs.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/VOIs/meta/VigAtt_VOIs.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/VOIs/meta/WM_VOIs.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/VOIs/meta/eMDN_VOIs.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/VOIs/meta/eSAD_VOIs.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/VOIs/meta/extDMN_VOIs.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean.nii.gz +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean_3mm.nii.gz +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/masks/vickery-patil/GMprob0.2_cortex_3mm_NA_rm.nii.gz +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/tests/test_coordinates.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/tests/test_data_utils.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/tests/test_masks.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/tests/test_parcellations.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/data/tests/test_template_spaces.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/aomic/tests/test_id1000.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/aomic/tests/test_piop1.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/aomic/tests/test_piop2.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/dmcc13_benchmark.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/tests/test_base.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/tests/test_datagrabber_utils.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/tests/test_multiple.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/tests/test_pattern.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/datareader/tests/test_default_reader.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/external/BrainPrint/brainprint/__init__.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/external/BrainPrint/brainprint/_version.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/external/BrainPrint/brainprint/asymmetry.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/external/BrainPrint/brainprint/brainprint.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/external/BrainPrint/brainprint/surfaces.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/external/BrainPrint/brainprint/utils/__init__.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/external/BrainPrint/brainprint/utils/_config.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/external/BrainPrint/brainprint/utils/utils.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/external/__init__.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/external/h5io/h5io/__init__.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/external/h5io/h5io/_h5io.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/external/h5io/h5io/_version.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/external/h5io/h5io/chunked_array.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/external/h5io/h5io/chunked_list.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/external/nilearn/__init__.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/tests/test_brainprint.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/tests/test_collection.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/tests/test_ets_rss.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/tests/test_marker_utils.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/tests/test_markers_base.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/tests/test_parcel_aggregation.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/tests/test_sphere_aggregation.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/markers/utils.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/onthefly/tests/test_read_transform.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/pipeline/tests/test_registry.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/preprocess/smoothing/_afni_smoothing.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/preprocess/smoothing/_fsl_smoothing.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/preprocess/smoothing/_nilearn_smoothing.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/preprocess/smoothing/smoothing.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/preprocess/smoothing/tests/test_smoothing.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/preprocess/warping/space_warper.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/storage/tests/test_hdf5.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/storage/tests/test_pandas_base.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/storage/tests/test_sqlite.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/storage/tests/test_storage_base.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/storage/tests/test_utils.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/testing/registry.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/testing/tests/test_testing_registry.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/tests/test_main.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/tests/test_stats.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/utils/tests/test_fs.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/utils/tests/test_helpers.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer/utils/tests/test_logging.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer.egg-info/dependency_links.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer.egg-info/entry_points.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer.egg-info/requires.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/junifer.egg-info/top_level.txt +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/setup.cfg +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/setup.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/tools/create_aomic1000_example_dataset.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/tools/create_aomicpiop1_example_dataset.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/tools/create_aomicpiop2_example_dataset.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/tools/create_bids_example_dataset.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/tools/create_bids_example_dataset_sessions.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/tools/create_hcp1200_example_dataset.py +0 -0
- {junifer-0.0.5.dev131 → junifer-0.0.5.dev145}/tox.ini +0 -0
@@ -4,7 +4,7 @@ ci:
|
|
4
4
|
|
5
5
|
repos:
|
6
6
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
7
|
-
rev: v4.
|
7
|
+
rev: v4.6.0
|
8
8
|
hooks:
|
9
9
|
- id: check-ast
|
10
10
|
- id: check-docstring-first
|
@@ -20,14 +20,14 @@ repos:
|
|
20
20
|
rev: v0.16
|
21
21
|
hooks:
|
22
22
|
- id: validate-pyproject
|
23
|
-
- repo: https://github.com/psf/black
|
24
|
-
rev: 24.
|
23
|
+
- repo: https://github.com/psf/black-pre-commit-mirror
|
24
|
+
rev: 24.4.2
|
25
25
|
hooks:
|
26
26
|
- id: black
|
27
27
|
exclude: ^(docs/|examples/|tools/)
|
28
28
|
args: [--check]
|
29
29
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
30
|
-
rev: v0.
|
30
|
+
rev: v0.4.2
|
31
31
|
hooks:
|
32
32
|
- id: ruff
|
33
33
|
types_or: [python, jupyter]
|
@@ -38,7 +38,7 @@ repos:
|
|
38
38
|
hooks:
|
39
39
|
- id: codespell
|
40
40
|
exclude: ^(.github/|docs/)
|
41
|
-
args: [--
|
41
|
+
args: [--toml, pyproject.toml]
|
42
42
|
- repo: https://github.com/pre-commit/pygrep-hooks
|
43
43
|
rev: v1.10.0
|
44
44
|
hooks:
|
@@ -47,3 +47,10 @@ repos:
|
|
47
47
|
- id: rst-backticks
|
48
48
|
- id: rst-directive-colons
|
49
49
|
- id: rst-inline-touching-normal
|
50
|
+
- repo: https://github.com/adamchainz/blacken-docs
|
51
|
+
rev: "1.16.0"
|
52
|
+
hooks:
|
53
|
+
- id: blacken-docs
|
54
|
+
additional_dependencies:
|
55
|
+
- black==24.4.2
|
56
|
+
args: [-l 79]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: junifer
|
3
|
-
Version: 0.0.5.
|
3
|
+
Version: 0.0.5.dev145
|
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
|
+
Update ``pre-commit`` dependency versions, add ``blacken-docs`` to ``pre-commit``, add ``__all__`` for modules, sub-packages and package, update ``ruff`` and ``pytest`` configs in ``pyproject.toml`` by `Synchon Mandal`_
|
@@ -70,10 +70,7 @@ with the DMN. Here, we use the DMN coordinates used in a
|
|
70
70
|
.. code-block:: python
|
71
71
|
|
72
72
|
dmn_coords = np.array(
|
73
|
-
[[0, -52, 18],
|
74
|
-
[-46, -68, 32],
|
75
|
-
[46, -68, 32],
|
76
|
-
[1, 50, -5]]
|
73
|
+
[[0, -52, 18], [-46, -68, 32], [46, -68, 32], [1, 50, -5]]
|
77
74
|
)
|
78
75
|
voi_names = [
|
79
76
|
"Posterior Cingulate Cortex",
|
@@ -90,10 +87,7 @@ simply use this to register our coordinates:
|
|
90
87
|
.. code-block:: python
|
91
88
|
|
92
89
|
register_coordinates(
|
93
|
-
name="DMNCustom",
|
94
|
-
coordinates=dmn_coords,
|
95
|
-
voi_names=voi_names,
|
96
|
-
space="MNI"
|
90
|
+
name="DMNCustom", coordinates=dmn_coords, voi_names=voi_names, space="MNI"
|
97
91
|
)
|
98
92
|
|
99
93
|
Now, when we run this script, ``junifer`` registers these coordinates and we can
|
@@ -115,14 +115,14 @@ For example, in our BIDS example, the variables will be:
|
|
115
115
|
|
116
116
|
types = ["T1w", "BOLD"]
|
117
117
|
patterns = {
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
118
|
+
"T1w": {
|
119
|
+
"pattern": "{subject}/{session}/anat/{subject}_{session}_T1w.nii.gz",
|
120
|
+
"space": "native",
|
121
|
+
},
|
122
|
+
"BOLD": {
|
123
|
+
"pattern": "{subject}/{session}/func/{subject}_{session}_task-rest_bold.nii.gz",
|
124
|
+
"space": "MNI152NLin6Asym",
|
125
|
+
},
|
126
126
|
}
|
127
127
|
replacements = ["subject", "session"]
|
128
128
|
|
@@ -144,25 +144,24 @@ With the variables defined above, we can create our DataGrabber and name it
|
|
144
144
|
|
145
145
|
|
146
146
|
class ExampleBIDSDataGrabber(PatternDataGrabber):
|
147
|
-
|
148
147
|
def __init__(self, datadir: str | Path) -> None:
|
149
148
|
types = ["T1w", "BOLD"]
|
150
149
|
patterns = {
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
150
|
+
"T1w": {
|
151
|
+
"pattern": "{subject}/{session}/anat/{subject}_{session}_T1w.nii.gz",
|
152
|
+
"space": "native",
|
153
|
+
},
|
154
|
+
"BOLD": {
|
155
|
+
"pattern": "{subject}/{session}/func/{subject}_{session}_task-rest_bold.nii.gz",
|
156
|
+
"space": "MNI152NLin6Asym",
|
157
|
+
},
|
159
158
|
}
|
160
159
|
replacements = ["subject", "session"]
|
161
160
|
super().__init__(
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
161
|
+
datadir=datadir,
|
162
|
+
types=types,
|
163
|
+
patterns=patterns,
|
164
|
+
replacements=replacements,
|
166
165
|
)
|
167
166
|
|
168
167
|
Our DataGrabber is ready to be used by ``junifer``. However, it is still unknown
|
@@ -180,25 +179,24 @@ use the :func:`.register_datagrabber` decorator.
|
|
180
179
|
|
181
180
|
@register_datagrabber
|
182
181
|
class ExampleBIDSDataGrabber(PatternDataGrabber):
|
183
|
-
|
184
182
|
def __init__(self, datadir: str | Path) -> None:
|
185
183
|
types = ["T1w", "BOLD"]
|
186
184
|
patterns = {
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
185
|
+
"T1w": {
|
186
|
+
"pattern": "{subject}/{session}/anat/{subject}_{session}_T1w.nii.gz",
|
187
|
+
"space": "native",
|
188
|
+
},
|
189
|
+
"BOLD": {
|
190
|
+
"pattern": "{subject}/{session}/func/{subject}_{session}_task-rest_bold.nii.gz",
|
191
|
+
"space": "MNI152NLin6Asym",
|
192
|
+
},
|
195
193
|
}
|
196
194
|
replacements = ["subject", "session"]
|
197
195
|
super().__init__(
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
196
|
+
datadir=datadir,
|
197
|
+
types=types,
|
198
|
+
patterns=patterns,
|
199
|
+
replacements=replacements,
|
202
200
|
)
|
203
201
|
|
204
202
|
|
@@ -267,29 +265,28 @@ And we can create our DataGrabber:
|
|
267
265
|
|
268
266
|
@register_datagrabber
|
269
267
|
class ExampleBIDSDataGrabber(PatternDataladDataGrabber):
|
270
|
-
|
271
268
|
def __init__(self) -> None:
|
272
269
|
types = ["T1w", "BOLD"]
|
273
270
|
patterns = {
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
271
|
+
"T1w": {
|
272
|
+
"pattern": "{subject}/{session}/anat/{subject}_{session}_T1w.nii.gz",
|
273
|
+
"space": "native",
|
274
|
+
},
|
275
|
+
"BOLD": {
|
276
|
+
"pattern": "{subject}/{session}/func/{subject}_{session}_task-rest_bold.nii.gz",
|
277
|
+
"space": "MNI152NLin6Asym",
|
278
|
+
},
|
282
279
|
}
|
283
280
|
replacements = ["subject", "session"]
|
284
281
|
uri = "https://gin.g-node.org/juaml/datalad-example-bids"
|
285
282
|
rootdir = "example_bids_ses"
|
286
283
|
super().__init__(
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
284
|
+
datadir=None,
|
285
|
+
uri=uri,
|
286
|
+
rootdir=rootdir,
|
287
|
+
types=types,
|
288
|
+
patterns=patterns,
|
289
|
+
replacements=replacements,
|
293
290
|
)
|
294
291
|
|
295
292
|
This approach can be used directly from the YAML, like so:
|
@@ -391,17 +388,17 @@ and ``session``, we will use them as parameters of ``get_item``:
|
|
391
388
|
.. code-block:: python
|
392
389
|
|
393
390
|
def get_item(self, subject: str, session: str) -> dict[str, dict[str, str]]:
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
391
|
+
out = {
|
392
|
+
"T1w": {
|
393
|
+
"path": f"{subject}/{session}/anat/{subject}_{session}_T1w.nii.gz",
|
394
|
+
"space": "native",
|
395
|
+
},
|
396
|
+
"BOLD": {
|
397
|
+
"path": f"{subject}/{session}/func/{subject}_{session}_task-rest_bold.nii.gz",
|
398
|
+
"space": "MNI152NLin6Asym",
|
399
|
+
},
|
400
|
+
}
|
401
|
+
return out
|
405
402
|
|
406
403
|
|
407
404
|
The second method, ``get_elements``, needs to return a list of all the elements
|
@@ -415,16 +412,16 @@ need to remember that for session *ses-03* there is no BOLD data.
|
|
415
412
|
|
416
413
|
|
417
414
|
def get_elements(self) -> list[str]:
|
418
|
-
|
419
|
-
|
415
|
+
subjects = ["sub-01", "sub-02", "sub-03"]
|
416
|
+
sessions = ["ses-01", "ses-02"]
|
420
417
|
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
418
|
+
# If we are not working on BOLD data, we can add "ses-03"
|
419
|
+
if "BOLD" not in self.types:
|
420
|
+
sessions.append("ses-03")
|
421
|
+
elements = []
|
422
|
+
for subject, element in product(subjects, sessions):
|
423
|
+
elements.append({"subject": subject, "session": session})
|
424
|
+
return elements
|
428
425
|
|
429
426
|
|
430
427
|
And finally, we can implement the ``get_element_keys`` method. This method needs
|
@@ -435,7 +432,7 @@ method, in the same order.
|
|
435
432
|
.. code-block:: python
|
436
433
|
|
437
434
|
def get_element_keys(self) -> list[str]:
|
438
|
-
|
435
|
+
return ["subject", "session"]
|
439
436
|
|
440
437
|
|
441
438
|
So, to summarise, our DataGrabber will look like this:
|
@@ -448,35 +445,36 @@ So, to summarise, our DataGrabber will look like this:
|
|
448
445
|
|
449
446
|
@register_datagrabber
|
450
447
|
class ExampleBIDSDataGrabber(BaseDataGrabber):
|
448
|
+
def get_item(
|
449
|
+
self, subject: str, session: str
|
450
|
+
) -> dict[str, dict[str, str]]:
|
451
|
+
out = {
|
452
|
+
"T1w": {
|
453
|
+
"path": f"{subject}/{session}/anat/{subject}_{session}_T1w.nii.gz",
|
454
|
+
"space": "native",
|
455
|
+
},
|
456
|
+
"BOLD": {
|
457
|
+
"path": f"{subject}/{session}/func/{subject}_{session}_task-rest_bold.nii.gz",
|
458
|
+
"space": "MNI152NLin6Asym",
|
459
|
+
},
|
460
|
+
}
|
461
|
+
return out
|
451
462
|
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
sessions = ["ses-01", "ses-02"]
|
468
|
-
|
469
|
-
# If we are not working on BOLD data, we can add "ses-03"
|
470
|
-
if "BOLD" not in self.types:
|
471
|
-
sessions.append("ses-03")
|
472
|
-
elements = []
|
473
|
-
for subject in subjects:
|
474
|
-
for session in sessions:
|
475
|
-
elements.append({"subject": subject, "session": session})
|
476
|
-
return elements
|
477
|
-
|
478
|
-
def get_element_keys(self) -> list[str]:
|
479
|
-
return ["subject", "session"]
|
463
|
+
def get_elements(self) -> list[str]:
|
464
|
+
subjects = ["sub-01", "sub-02", "sub-03"]
|
465
|
+
sessions = ["ses-01", "ses-02"]
|
466
|
+
|
467
|
+
# If we are not working on BOLD data, we can add "ses-03"
|
468
|
+
if "BOLD" not in self.types:
|
469
|
+
sessions.append("ses-03")
|
470
|
+
elements = []
|
471
|
+
for subject in subjects:
|
472
|
+
for session in sessions:
|
473
|
+
elements.append({"subject": subject, "session": session})
|
474
|
+
return elements
|
475
|
+
|
476
|
+
def get_element_keys(self) -> list[str]:
|
477
|
+
return ["subject", "session"]
|
480
478
|
|
481
479
|
Optional: Using datalad
|
482
480
|
~~~~~~~~~~~~~~~~~~~~~~~
|
@@ -522,26 +520,24 @@ this:
|
|
522
520
|
|
523
521
|
.. code-block:: python
|
524
522
|
|
525
|
-
def get_item(
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
},
|
544
|
-
}
|
523
|
+
def get_item(self, subject: str, session: str) -> dict:
|
524
|
+
out = {
|
525
|
+
"BOLD": {
|
526
|
+
"path": f"{subject}/{session}/func/{subject}_{session}_task-rest_bold.nii.gz",
|
527
|
+
"space": "MNI152NLin6Asym",
|
528
|
+
"confounds": {
|
529
|
+
"path": f"{subject}/{session}/func/{subject}_{session}_confounds.tsv",
|
530
|
+
"format": "adhoc",
|
531
|
+
"mappings": {
|
532
|
+
"fmriprep": {
|
533
|
+
"variable1": "rot_x",
|
534
|
+
"variable2": "rot_z",
|
535
|
+
"variable3": "rot_y",
|
536
|
+
},
|
537
|
+
},
|
538
|
+
},
|
539
|
+
},
|
540
|
+
}
|
545
541
|
|
546
542
|
.. note::
|
547
543
|
|
@@ -93,6 +93,7 @@ that it shows the problem a bit better and how we solve it:
|
|
93
93
|
self, using: str, reference: str, on: Union[List[str], str]
|
94
94
|
) -> None:
|
95
95
|
# validation and setting up
|
96
|
+
...
|
96
97
|
|
97
98
|
|
98
99
|
Here, you see a new class attribute ``_CONDITIONAL_DEPENDENCIES`` which is a
|
@@ -129,6 +130,7 @@ similar. ``FSLWarper`` looks like this (only the relevant part is shown here):
|
|
129
130
|
extra_input: Dict[str, Any],
|
130
131
|
) -> Dict[str, Any]:
|
131
132
|
# implementation
|
133
|
+
...
|
132
134
|
|
133
135
|
Here you can see the familiar ``_DEPENDENCIES`` and ``_EXT_DEPENDENCIES`` class
|
134
136
|
attributes. The validation process starts by looking up the ``using`` value of
|
@@ -82,10 +82,10 @@ parcellation to use. Thus, we can define the ``__init__`` method as follows:
|
|
82
82
|
.. code-block:: python
|
83
83
|
|
84
84
|
def __init__(
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
85
|
+
self,
|
86
|
+
parcellation: str,
|
87
|
+
on: str | list[str] | None = None,
|
88
|
+
name: str | None = None,
|
89
89
|
) -> None:
|
90
90
|
self.parcellation = parcellation
|
91
91
|
super().__init__(on=on, name=name)
|
@@ -137,9 +137,9 @@ the ``store`` method.
|
|
137
137
|
|
138
138
|
|
139
139
|
def compute(
|
140
|
-
|
141
|
-
|
142
|
-
|
140
|
+
self,
|
141
|
+
input: dict[str, Any],
|
142
|
+
extra_input: dict[str, Any] | None = None,
|
143
143
|
) -> dict[str, Any]:
|
144
144
|
# Get the data
|
145
145
|
data = input["data"]
|
@@ -207,10 +207,10 @@ Finally, we need to register the Marker using the ``@register_marker`` decorator
|
|
207
207
|
_DEPENDENCIES = {"nilearn", "numpy"}
|
208
208
|
|
209
209
|
def __init__(
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
210
|
+
self,
|
211
|
+
parcellation: str,
|
212
|
+
on: str | list[str] | None = None,
|
213
|
+
name: str | None = None,
|
214
214
|
) -> None:
|
215
215
|
self.parcellation = parcellation
|
216
216
|
super().__init__(on=on, name=name)
|
@@ -225,9 +225,9 @@ Finally, we need to register the Marker using the ``@register_marker`` decorator
|
|
225
225
|
return "vector"
|
226
226
|
|
227
227
|
def compute(
|
228
|
-
|
229
|
-
|
230
|
-
|
228
|
+
self,
|
229
|
+
input: dict[str, Any],
|
230
|
+
extra_input: dict[str, Any] | None = None,
|
231
231
|
) -> dict[str, Any]:
|
232
232
|
# Get the data
|
233
233
|
data = input["data"]
|
@@ -269,7 +269,6 @@ Template for a custom Marker
|
|
269
269
|
|
270
270
|
@register_marker
|
271
271
|
class TemplateMarker(BaseMarker):
|
272
|
-
|
273
272
|
def __init__(self, on=None, name=None):
|
274
273
|
# TODO: add marker-specific parameters
|
275
274
|
super().__init__(on=on, name=name)
|
@@ -83,7 +83,7 @@ look like this:
|
|
83
83
|
name="my_custom_parcellation",
|
84
84
|
parcellation_path=path_to_parcellation,
|
85
85
|
parcels_labels=my_labels,
|
86
|
-
space="MNI152NLin2009cAsym"
|
86
|
+
space="MNI152NLin2009cAsym",
|
87
87
|
)
|
88
88
|
|
89
89
|
We can run this code and it seems to work, however, how can we actually
|
@@ -43,9 +43,11 @@ For input we can accept ``T1w``, ``T2w`` and ``BOLD``
|
|
43
43
|
|
44
44
|
...
|
45
45
|
|
46
|
+
|
46
47
|
def get_valid_inputs(self) -> list[str]:
|
47
48
|
return ["T1w", "T2w", "BOLD"]
|
48
49
|
|
50
|
+
|
49
51
|
...
|
50
52
|
|
51
53
|
The output definition of the Preprocessor is unused now but is kept for
|
@@ -55,9 +57,11 @@ completeness.
|
|
55
57
|
|
56
58
|
...
|
57
59
|
|
60
|
+
|
58
61
|
def get_output_type(self, input_type: str) -> str:
|
59
62
|
return input_type
|
60
63
|
|
64
|
+
|
61
65
|
...
|
62
66
|
|
63
67
|
.. _extending_preprocessors_init:
|
@@ -90,6 +94,7 @@ you configure it. Our class will have the following arguments:
|
|
90
94
|
|
91
95
|
...
|
92
96
|
|
97
|
+
|
93
98
|
def __init__(
|
94
99
|
self,
|
95
100
|
fwhm: int | float | ArrayLike | Literal["fast"] | None,
|
@@ -98,6 +103,7 @@ you configure it. Our class will have the following arguments:
|
|
98
103
|
self.fwhm = fwhm
|
99
104
|
super().__init__(on=on)
|
100
105
|
|
106
|
+
|
101
107
|
...
|
102
108
|
|
103
109
|
.. caution::
|
@@ -147,15 +153,18 @@ and it has two return values:
|
|
147
153
|
|
148
154
|
...
|
149
155
|
|
156
|
+
|
150
157
|
def preprocess(
|
151
158
|
self,
|
152
159
|
input: dict[str, Any],
|
153
160
|
extra_input: dict[str, Any] | None = None,
|
154
161
|
) -> tuple[dict[str, Any], dict[str, Any] | None]:
|
155
|
-
|
156
|
-
|
162
|
+
input["data"] = nimg.smooth_img(imgs=input["data"], fwhm=self.fwhm)
|
163
|
+
return input, None
|
164
|
+
|
165
|
+
|
166
|
+
...
|
157
167
|
|
158
|
-
...
|
159
168
|
|
160
169
|
Step 4: Finalise the Preprocessor
|
161
170
|
---------------------------------
|
@@ -12,7 +12,7 @@ This is the *object* that traverses the steps of the pipeline. It is indeed a
|
|
12
12
|
dictionary of dictionaries. The first level of keys are the :ref:`data types <data_types>`
|
13
13
|
and the values are the corresponding information as dictionaries.
|
14
14
|
|
15
|
-
.. code-block::
|
15
|
+
.. code-block::
|
16
16
|
|
17
17
|
{'BOLD': {...}, 'T1w': {...}}
|
18
18
|
|
@@ -24,7 +24,7 @@ The :ref:`Data Grabber <datagrabber>` step adds the ``path`` second-level key
|
|
24
24
|
which gives the path to the file containing the data. The ``meta`` key in this
|
25
25
|
step only contains information about the DataGrabber used.
|
26
26
|
|
27
|
-
.. code-block::
|
27
|
+
.. code-block::
|
28
28
|
|
29
29
|
{'BOLD': {'meta': {'datagrabber': {'class': 'SPMAuditoryTestingDataGrabber',
|
30
30
|
'types': ['BOLD', 'T1w']},
|
@@ -41,7 +41,7 @@ The :ref:`Data Reader <datareader>` step adds the ``data`` second-level key
|
|
41
41
|
which is the actual data loaded into memory. The ``meta`` key in this step
|
42
42
|
adds information about the DataReader used to read the data.
|
43
43
|
|
44
|
-
.. code-block::
|
44
|
+
.. code-block::
|
45
45
|
|
46
46
|
{'BOLD': {'data': <nibabel.nifti1.Nifti1Image object at 0x16b5d8910>,
|
47
47
|
'meta': {'datagrabber': {'class': 'SPMAuditoryTestingDataGrabber',
|
@@ -58,6 +58,7 @@ adds information about the DataReader used to read the data.
|
|
58
58
|
'element': {'subject': 'sub001'}},
|
59
59
|
'path': PosixPath('/var/folders/dv/2lbr8f8j0q12zrx3mz3ll5m40000gp/T/tmpe49321ce/sub001_T1w.nii.gz')}}
|
60
60
|
|
61
|
+
|
61
62
|
The :ref:`Preprocess <preprocess>` step, if used, modifies the ``data``
|
62
63
|
second-level key's value and appends the ``meta`` key with information about
|
63
64
|
the preprocessor.
|
@@ -66,7 +67,7 @@ The :ref:`Marker <marker>` step removes the ``path`` second-level key,
|
|
66
67
|
replaces the ``data`` second-level key's value with the marker's computed value
|
67
68
|
and adds further keys needed for the storage, for example, ``col_names``.
|
68
69
|
|
69
|
-
.. code-block::
|
70
|
+
.. code-block::
|
70
71
|
|
71
72
|
{'BOLD': {'col_names': ['root_sum_of_squares_ets'],
|
72
73
|
'data': ...,
|
@@ -69,7 +69,7 @@ Example in python format:
|
|
69
69
|
strategy = {
|
70
70
|
"motion": "basic",
|
71
71
|
"wm_csf": "full",
|
72
|
-
"global_signal": "derivatives"
|
72
|
+
"global_signal": "derivatives",
|
73
73
|
}
|
74
74
|
|
75
75
|
or in YAML format:
|
@@ -85,11 +85,7 @@ The default value is to use all the *noise components* with the ``full`` *confou
|
|
85
85
|
|
86
86
|
.. code-block:: python
|
87
87
|
|
88
|
-
strategy = {
|
89
|
-
"motion": "full",
|
90
|
-
"wm_csf": "full",
|
91
|
-
"global_signal": "full"
|
92
|
-
}
|
88
|
+
strategy = {"motion": "full", "wm_csf": "full", "global_signal": "full"}
|
93
89
|
|
94
90
|
Other Parameters
|
95
91
|
~~~~~~~~~~~~~~~~
|
@@ -20,3 +20,20 @@ from . import (
|
|
20
20
|
onthefly,
|
21
21
|
)
|
22
22
|
from ._version import __version__
|
23
|
+
|
24
|
+
|
25
|
+
__all__ = [
|
26
|
+
"api",
|
27
|
+
"configs",
|
28
|
+
"data",
|
29
|
+
"datagrabber",
|
30
|
+
"datareader",
|
31
|
+
"markers",
|
32
|
+
"pipeline",
|
33
|
+
"preprocess",
|
34
|
+
"stats",
|
35
|
+
"storage",
|
36
|
+
"utils",
|
37
|
+
"external",
|
38
|
+
"onthefly",
|
39
|
+
]
|
@@ -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.dev145'
|
16
|
+
__version_tuple__ = version_tuple = (0, 0, 5, 'dev145')
|