junifer 0.0.6.dev175__tar.gz → 0.0.6.dev194__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.6.dev175 → junifer-0.0.6.dev194}/.github/workflows/docs.yml +4 -5
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/Dockerfile-ci +3 -3
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/PKG-INFO +1 -1
- junifer-0.0.6.dev194/docs/api/data.rst +6 -0
- junifer-0.0.6.dev194/docs/changes/newsfragments/387.change +1 -0
- junifer-0.0.6.dev194/docs/changes/newsfragments/387.feature +1 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/extending/coordinates.rst +23 -10
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/extending/masks.rst +21 -7
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/extending/parcellations.rst +18 -7
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/using/masks.rst +2 -2
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/whats_new.rst +12 -12
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/_version.py +2 -2
- junifer-0.0.6.dev194/junifer/data/__init__.pyi +29 -0
- junifer-0.0.6.dev194/junifer/data/_dispatch.py +251 -0
- junifer-0.0.6.dev194/junifer/data/coordinates/__init__.py +9 -0
- junifer-0.0.6.dev194/junifer/data/coordinates/__init__.pyi +5 -0
- junifer-0.0.6.dev194/junifer/data/coordinates/_ants_coordinates_warper.py +96 -0
- junifer-0.0.6.dev194/junifer/data/coordinates/_coordinates.py +356 -0
- junifer-0.0.6.dev194/junifer/data/coordinates/_fsl_coordinates_warper.py +83 -0
- {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/tests/test_coordinates.py +25 -31
- junifer-0.0.6.dev194/junifer/data/masks/__init__.py +9 -0
- junifer-0.0.6.dev194/junifer/data/masks/__init__.pyi +6 -0
- junifer-0.0.6.dev194/junifer/data/masks/_ants_mask_warper.py +144 -0
- junifer-0.0.6.dev194/junifer/data/masks/_fsl_mask_warper.py +87 -0
- junifer-0.0.6.dev194/junifer/data/masks/_masks.py +624 -0
- {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/masks}/tests/test_masks.py +63 -58
- junifer-0.0.6.dev194/junifer/data/parcellations/__init__.py +9 -0
- junifer-0.0.6.dev194/junifer/data/parcellations/__init__.pyi +6 -0
- junifer-0.0.6.dev194/junifer/data/parcellations/_ants_parcellation_warper.py +154 -0
- junifer-0.0.6.dev194/junifer/data/parcellations/_fsl_parcellation_warper.py +91 -0
- junifer-0.0.6.dev175/junifer/data/parcellations.py → junifer-0.0.6.dev194/junifer/data/parcellations/_parcellations.py +450 -473
- {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/parcellations}/tests/test_parcellations.py +73 -81
- junifer-0.0.6.dev194/junifer/data/pipeline_data_registry_base.py +74 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/data/utils.py +4 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/hurst_exponent.py +2 -2
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/multiscale_entropy_auc.py +2 -2
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/perm_entropy.py +2 -2
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/range_entropy.py +2 -2
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/range_entropy_auc.py +2 -2
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/sample_entropy.py +2 -2
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/weighted_perm_entropy.py +2 -2
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/ets_rss.py +2 -2
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/falff/falff_parcels.py +2 -2
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/falff/falff_spheres.py +2 -2
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +1 -1
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +1 -1
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +1 -1
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +1 -1
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +3 -3
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +2 -2
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/parcel_aggregation.py +11 -7
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/reho/reho_parcels.py +2 -2
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/reho/reho_spheres.py +2 -2
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/sphere_aggregation.py +11 -7
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/temporal_snr_parcels.py +2 -2
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/temporal_snr_spheres.py +2 -2
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/tests/test_ets_rss.py +3 -3
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/tests/test_parcel_aggregation.py +24 -24
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/tests/test_sphere_aggregation.py +6 -6
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/pipeline_component_registry.py +1 -1
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/confounds/fmriprep_confound_remover.py +6 -3
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer.egg-info/PKG-INFO +1 -1
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer.egg-info/SOURCES.txt +41 -25
- junifer-0.0.6.dev175/docs/api/data.rst +0 -26
- junifer-0.0.6.dev175/junifer/data/__init__.pyi +0 -43
- junifer-0.0.6.dev175/junifer/data/coordinates.py +0 -408
- junifer-0.0.6.dev175/junifer/data/masks.py +0 -670
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.dockerignore +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/dependabot.yml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/pull_request_template.md +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/workflows/ci-docs.yml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/workflows/ci.yml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/workflows/docker-ci-publish.yml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/workflows/docker-docs-publish.yml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/workflows/docs-preview.yml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/workflows/lint.yml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.github/workflows/pypi.yml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.gitignore +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.gitmodules +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/.pre-commit-config.yaml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/AUTHORS.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/Dockerfile-docs +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/LICENSE.md +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/README.md +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/codecov.yml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/conda-env.yml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/Makefile +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/_static/css/custom.css +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/_static/js/custom.js +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/_templates/versions.html +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/api.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/cli.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/configs.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/datagrabbers.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/datareaders.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/index.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/markers.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/nilearn.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/onthefly.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/pipeline.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/preprocessing.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/stats.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/storage.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/testing.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/api/utils.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/builtin.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/contributors.inc +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/.gitignore +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/335.enh +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/354.feature +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/355.misc +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/356.bugfix +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/357.enh +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/358.doc +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/359.doc +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/360.bugfix +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/361.misc +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/362.feature +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/367.enh +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/368.enh +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/369.bugfix +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/370.bugfix +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/372.misc +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/373.misc +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/374.misc +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/380.misc +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/382.misc +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/changes/newsfragments/384.misc +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/conf.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/contribution.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/extending/datagrabber.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/extending/dependencies.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/extending/extension.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/extending/index.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/extending/marker.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/extending/preprocessor.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/faq.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/help.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/images/junifer_logo.png +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/index.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/installation.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/links.inc +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/maintaining.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/redirect.html +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/starting.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/understanding/data.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/understanding/datagrabber.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/understanding/datareader.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/understanding/index.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/understanding/marker.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/understanding/pipeline.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/understanding/preprocess.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/understanding/storage.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/using/codeless.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/using/index.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/using/queueing.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/docs/using/running.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/README.rst +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/norun_hcpfc_pearson.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/norun_ukbvm_gmd.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/run_compute_parcel_mean.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/run_datagrabber_bids_datalad.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/run_ets_rss_marker.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/run_junifer_julearn.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/run_run_gmd_mean.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/yamls/gmd_mean.yaml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/examples/yamls/ukb_gmd_mean.yaml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/ignore_words.txt +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/decorators.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/functions.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/queue_context/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/queue_context/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/queue_context/gnu_parallel_local_adapter.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/queue_context/htcondor_adapter.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/queue_context/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/queue_context/queue_context_adapter.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/afni/3dRSFC +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/afni/3dReHo +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/afni/afni +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/afni/run_afni_docker.sh +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/ants/ResampleImage +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/ants/antsApplyTransforms +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/ants/run_ants_docker.sh +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/freesurfer/mri_binarize +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/freesurfer/mri_mc +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/freesurfer/mri_pretess +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/freesurfer/mris_convert +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/fsl/applywarp +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/fsl/flirt +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/fsl/img2imgcoord +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/fsl/std2imgcoord +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/run_conda.bash +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/run_conda.zsh +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/run_venv.bash +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/res/run_venv.zsh +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/api/tests/test_functions.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/cli.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/parser.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/tests/data/gmd_mean.yaml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/tests/data/gmd_mean_htcondor.yaml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/tests/test_cli.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/tests/test_cli_utils.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/tests/test_parser.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/cli/utils.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/ucla.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/configs/juseless/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/data/__init__.py +0 -0
- {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/AutobiographicalMemory_VOIs.txt +0 -0
- {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/CogAC_VOIs.txt +0 -0
- {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/CogAR_VOIs.txt +0 -0
- {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/DMNBuckner_VOIs.txt +0 -0
- {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/Dosenbach2010_MNI_VOIs.txt +0 -0
- {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/Empathy_VOIs.txt +0 -0
- {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/Motor_VOIs.txt +0 -0
- {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/MultiTask_VOIs.txt +0 -0
- {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/PhysioStress_VOIs.txt +0 -0
- {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/Power2011_MNI_VOIs.txt +0 -0
- {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/Power2013_MNI_VOIs.tsv +0 -0
- {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/Rew_VOIs.txt +0 -0
- {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/Somatosensory_VOIs.txt +0 -0
- {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/ToM_VOIs.txt +0 -0
- {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/VigAtt_VOIs.txt +0 -0
- {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/WM_VOIs.txt +0 -0
- {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/eMDN_VOIs.txt +0 -0
- {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/eSAD_VOIs.txt +0 -0
- {junifer-0.0.6.dev175/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/extDMN_VOIs.txt +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/data/masks/ukb/UKB_15K_GM_template.nii.gz +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean.nii.gz +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean_3mm.nii.gz +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/data/masks/vickery-patil/GMprob0.2_cortex_3mm_NA_rm.nii.gz +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/data/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/data/template_spaces.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/data/tests/test_data_utils.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/data/tests/test_template_spaces.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/id1000.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/piop1.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/piop2.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/tests/test_id1000.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/tests/test_piop1.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/tests/test_piop2.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/base.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/datalad_base.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/dmcc13_benchmark.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/hcp1200/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/hcp1200/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/hcp1200/hcp1200.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/hcp1200/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/multiple.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/pattern.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/pattern_datalad.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/pattern_validation_mixin.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/tests/test_base.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/tests/test_multiple.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/tests/test_pattern.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datagrabber/tests/test_pattern_validation_mixin.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datareader/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datareader/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datareader/default.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datareader/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/datareader/tests/test_default_reader.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/_version.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/asymmetry.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/brainprint.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/surfaces.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/utils/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/utils/_config.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/utils/utils.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/h5io/h5io/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/h5io/h5io/_h5io.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/h5io/h5io/_version.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/h5io/h5io/chunked_array.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/h5io/h5io/chunked_list.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/nilearn/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/nilearn/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/nilearn/junifer_connectivity_measure.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/nilearn/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/base.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/brainprint.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/complexity_base.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/falff/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/falff/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/falff/_afni_falff.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/falff/_junifer_falff.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/falff/falff_base.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/falff/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/functional_connectivity_base.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/reho/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/reho/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/reho/_afni_reho.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/reho/_junifer_reho.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/reho/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/reho/reho_base.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/temporal_snr_base.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/tests/test_brainprint.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/tests/test_marker_utils.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/tests/test_markers_base.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/markers/utils.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/onthefly/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/onthefly/_brainprint.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/onthefly/read_transform.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/onthefly/tests/test_read_transform.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/marker_collection.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/pipeline_step_mixin.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/singleton.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/tests/test_marker_collection.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/tests/test_pipeline_component_registry.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/update_meta_mixin.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/utils.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/pipeline/workdir_manager.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/base.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/confounds/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/confounds/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/confounds/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/_afni_smoothing.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/_fsl_smoothing.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/_nilearn_smoothing.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/smoothing.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/tests/test_smoothing.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/warping/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/warping/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/warping/_ants_warper.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/warping/_fsl_warper.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/warping/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/warping/space_warper.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/stats.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/base.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/hdf5.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/pandas_base.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/sqlite.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/tests/test_hdf5.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/tests/test_pandas_base.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/tests/test_sqlite.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/tests/test_storage_base.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/tests/test_utils.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/storage/utils.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/testing/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/testing/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/testing/datagrabbers.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/testing/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/testing/registry.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/testing/tests/test_testing_registry.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/testing/utils.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/tests/test_main.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/tests/test_stats.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/utils/__init__.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/utils/__init__.pyi +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/utils/_yaml.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/utils/fs.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/utils/helpers.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/utils/logging.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/utils/py.typed +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/utils/tests/test_fs.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/utils/tests/test_helpers.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer/utils/tests/test_logging.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer.egg-info/dependency_links.txt +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer.egg-info/entry_points.txt +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer.egg-info/requires.txt +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/junifer.egg-info/top_level.txt +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/pyproject.toml +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/setup.cfg +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/setup.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/tools/create_aomic1000_example_dataset.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/tools/create_aomicpiop1_example_dataset.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/tools/create_aomicpiop2_example_dataset.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/tools/create_bids_example_dataset.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/tools/create_bids_example_dataset_sessions.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/tools/create_hcp1200_example_dataset.py +0 -0
- {junifer-0.0.6.dev175 → junifer-0.0.6.dev194}/tox.ini +0 -0
@@ -8,16 +8,13 @@ on:
|
|
8
8
|
# Sequence of patterns matched against refs/tags
|
9
9
|
tags:
|
10
10
|
- v*
|
11
|
-
|
11
|
+
workflow_dispatch: {}
|
12
12
|
|
13
13
|
jobs:
|
14
14
|
build-docs:
|
15
15
|
runs-on: ubuntu-latest
|
16
16
|
# Use custom docs CI image
|
17
|
-
container:
|
18
|
-
image: ghcr.io/juaml/junifer-docs:main
|
19
|
-
# https://github.com/actions/runner/issues/2033#issuecomment-1598547465
|
20
|
-
options: --user 1001
|
17
|
+
container: ghcr.io/juaml/junifer-docs:main
|
21
18
|
steps:
|
22
19
|
- name: Check ANTs
|
23
20
|
run: |
|
@@ -63,6 +60,8 @@ jobs:
|
|
63
60
|
- name: Build docs
|
64
61
|
# Use the args we normally pass to sphinx-build, but run sphinx-multiversion
|
65
62
|
run: |
|
63
|
+
# https://github.com/actions/checkout/issues/1169#issuecomment-2291682583
|
64
|
+
git config --system --add safe.directory $(pwd)
|
66
65
|
make -C docs/ html
|
67
66
|
touch docs/_build/.nojekyll
|
68
67
|
cp docs/redirect.html docs/_build/index.html
|
@@ -63,9 +63,9 @@ RUN ln -s /usr/lib/x86_64-linux-gnu/libgsl.so.27 /usr/lib/x86_64-linux-gnu/libgs
|
|
63
63
|
RUN curl https://fsl.fmrib.ox.ac.uk/fsldownloads/fslconda/releases/fslinstaller.py | \
|
64
64
|
python - -d /opt/fsl/ --skip_registration
|
65
65
|
# Set env vars for FSL
|
66
|
-
ENV FSLDIR
|
67
|
-
FSLOUTPUTTYPE=
|
68
|
-
PATH="/opt/fsl/bin:$PATH"
|
66
|
+
ENV FSLDIR=/opt/fsl \
|
67
|
+
FSLOUTPUTTYPE=NIFTI_GZ \
|
68
|
+
PATH="/opt/fsl/share/fsl/bin:$PATH"
|
69
69
|
|
70
70
|
# Clean apt cache
|
71
71
|
RUN apt-get autoremove --purge && apt-get clean
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: junifer
|
3
|
-
Version: 0.0.6.
|
3
|
+
Version: 0.0.6.dev194
|
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
|
+
``get_parcellation``, ``load_parcellation``, ``list_parcellation``, ``register_parcellation`` , ``get_coordinates``, ``load_coordinates``, ``list_coordinates``, ``register_coordinates``, ``get_mask``, ``load_mask``, ``list_mask``, ``register_mask`` have been removed in favour of :func:`.get_data`, :func:`.load_data`, :func:`.list_data`, :func:`.register_data` and :func:`.deregister_data` by `Synchon Mandal`_
|
@@ -0,0 +1 @@
|
|
1
|
+
Introduce :class:`junifer.data.CoordinatesRegistry`, :class:`junifer.data.ParcellationRegistry` and :class:`junifer.data.MaskRegistry` to centralise data management by `Synchon Mandal`_
|
@@ -18,19 +18,28 @@ provides them already.
|
|
18
18
|
If you checked the in-built coordinates, and they are not there already (for
|
19
19
|
example if you came up with your own set of coordinates), then ``junifer``
|
20
20
|
provides an easy way for you to register them using the
|
21
|
-
:func:`.
|
21
|
+
:func:`.register_data` function, so you can use your own set of
|
22
22
|
coordinates within a ``junifer`` pipeline.
|
23
23
|
|
24
|
-
From the API reference, we can see that it has
|
25
|
-
|
26
|
-
|
24
|
+
From the API reference, we can see that it has 3 positional arguments:
|
25
|
+
|
26
|
+
* ``kind``
|
27
|
+
* ``name``
|
28
|
+
* ``space``
|
29
|
+
|
30
|
+
as well as one optional keyword argument: ``overwrite``.
|
31
|
+
As the ``kind`` needs to be ``"coordinates"``, we can check
|
32
|
+
``CoordinatesRegistry.register`` for keyword arguments to be passed:
|
33
|
+
|
34
|
+
* ``coordinates``
|
35
|
+
* ``voi_names``
|
27
36
|
|
28
37
|
The ``name`` argument takes a string indicating the name you want to give to
|
29
38
|
this set of coordinates. This ``name`` can be used to obtain and operate on a
|
30
39
|
set of coordinates in ``junifer``. For example, you can obtain your coordinates
|
31
|
-
after registration by providing ``name`` to :func:`.
|
32
|
-
simply call it ``"my_set_of_coordinates"``,
|
33
|
-
descriptive and more informative name most of the time.
|
40
|
+
after registration by providing ``name`` to :func:`.load_data` with
|
41
|
+
``kind="coordinates"``. We could simply call it ``"my_set_of_coordinates"``,
|
42
|
+
but likely you want a more descriptive and more informative name most of the time.
|
34
43
|
|
35
44
|
The ``coordinates`` argument takes the actual coordinates as a 2-dimensional
|
36
45
|
:class:`numpy.ndarray`. It contains one row for every location, and three
|
@@ -57,8 +66,8 @@ packages:
|
|
57
66
|
|
58
67
|
.. code-block:: python
|
59
68
|
|
60
|
-
from junifer.data import register_coordinates
|
61
69
|
import numpy as np
|
70
|
+
from junifer.data import register_data
|
62
71
|
|
63
72
|
For the sake of this example, we can create a set of coordinates that belong
|
64
73
|
to the Default Mode Network (DMN), and register this set of coordinates with
|
@@ -86,8 +95,12 @@ simply use this to register our coordinates:
|
|
86
95
|
|
87
96
|
.. code-block:: python
|
88
97
|
|
89
|
-
|
90
|
-
|
98
|
+
register_data(
|
99
|
+
kind="coordinates",
|
100
|
+
name="DMNCustom",
|
101
|
+
coordinates=dmn_coords,
|
102
|
+
voi_names=voi_names,
|
103
|
+
space="MNI",
|
91
104
|
)
|
92
105
|
|
93
106
|
Now, when we run this script, ``junifer`` registers these coordinates and we can
|
@@ -14,16 +14,25 @@ suit your needs, and you have found that they don't, you can come back here to
|
|
14
14
|
learn how to use your own masks.
|
15
15
|
|
16
16
|
The principle is fairly simple and quite similar to :ref:`adding_parcellations`
|
17
|
-
and :ref:`adding_coordinates`. ``junifer`` provides a :func:`.
|
17
|
+
and :ref:`adding_coordinates`. ``junifer`` provides a :func:`.register_data`
|
18
18
|
function that lets you register your own custom masks. It consists of three
|
19
|
-
positional arguments
|
20
|
-
|
19
|
+
positional arguments:
|
20
|
+
|
21
|
+
* ``kind``
|
22
|
+
* ``name``
|
23
|
+
* ``space``
|
24
|
+
|
25
|
+
and one optional keyword argument: ``overwrite``.
|
26
|
+
As the ``kind`` needs to be ``"mask"``, we can check
|
27
|
+
``MaskRegistry.register`` for keyword arguments to be passed:
|
28
|
+
|
29
|
+
* ``mask_path``
|
21
30
|
|
22
31
|
The ``name`` argument is a string indicating the name of the mask. This name
|
23
32
|
is used to refer to that mask in ``junifer`` internally in order to obtain the
|
24
33
|
actual mask data and perform operations on it. For example, using the name you
|
25
|
-
can load a mask after registration using the
|
26
|
-
|
34
|
+
can load a mask after registration using the :func:`.load_data` with
|
35
|
+
``kind="mask"``.
|
27
36
|
|
28
37
|
The ``mask_path`` should contain the path to a valid NIfTI image with binary
|
29
38
|
voxel values (i.e. 0 or 1). This data can then be used by ``junifer`` to mask
|
@@ -42,14 +51,19 @@ look as follows:
|
|
42
51
|
|
43
52
|
from pathlib import Path
|
44
53
|
|
45
|
-
from junifer.data import
|
54
|
+
from junifer.data import register_data
|
46
55
|
|
47
56
|
|
48
57
|
# this path is only an example, of course use the correct path
|
49
58
|
# on your system:
|
50
59
|
mask_path = Path("..") / ".." / "my_custom_mask.nii.gz"
|
51
60
|
|
52
|
-
|
61
|
+
register_data(
|
62
|
+
kind="mask",
|
63
|
+
name="my_custom_mask",
|
64
|
+
mask_path=mask_path,
|
65
|
+
space="native",
|
66
|
+
)
|
53
67
|
|
54
68
|
Simple, right? Now we just have to configure a YAML file to register this mask
|
55
69
|
so we can use it for :ref:`codeless configuration of junifer <codeless>`.
|
@@ -17,13 +17,22 @@ this?
|
|
17
17
|
|
18
18
|
Since both of these use-cases are quite common, and not being able to use your
|
19
19
|
favourite parcellation is of course quite a buzzkill, ``junifer`` actually
|
20
|
-
provides the easy-to-use :func:`.
|
20
|
+
provides the easy-to-use :func:`.register_data` function to do just that.
|
21
21
|
Let's try to understand the API reference and then use this function to register our
|
22
22
|
own parcellation.
|
23
23
|
|
24
|
-
From the API reference, we can see that it has
|
25
|
-
|
26
|
-
|
24
|
+
From the API reference, we can see that it has 3 positional arguments:
|
25
|
+
|
26
|
+
* ``kind``
|
27
|
+
* ``name``
|
28
|
+
* ``space``
|
29
|
+
|
30
|
+
as well as one optional keyword argument: ``overwrite``.
|
31
|
+
As the ``kind`` needs to be ``"parcellation"``, we can check
|
32
|
+
``ParcellationRegistry.register`` for keyword arguments to be passed:
|
33
|
+
|
34
|
+
* ``parcellation_path``
|
35
|
+
* ``parcels_labels``
|
27
36
|
|
28
37
|
The ``name`` of the parcellation is up to you and will be the name that
|
29
38
|
``junifer`` will use to refer to this particular parcellation. You can think of
|
@@ -64,10 +73,11 @@ look like this:
|
|
64
73
|
|
65
74
|
.. code-block:: python
|
66
75
|
|
67
|
-
from junifer.data import register_parcellation
|
68
|
-
|
69
76
|
from pathlib import Path
|
77
|
+
|
70
78
|
import numpy as np
|
79
|
+
from junifer.data import register_data
|
80
|
+
|
71
81
|
|
72
82
|
# these are of course just example paths, replace it with your own:
|
73
83
|
path_to_parcellation = (
|
@@ -79,7 +89,8 @@ look like this:
|
|
79
89
|
|
80
90
|
my_labels = list(np.loadtxt(path_to_labels, dtype=str))
|
81
91
|
|
82
|
-
|
92
|
+
register_data(
|
93
|
+
kind="parcellation",
|
83
94
|
name="my_custom_parcellation",
|
84
95
|
parcellation_path=path_to_parcellation,
|
85
96
|
parcels_labels=my_labels,
|
@@ -13,8 +13,8 @@ ensuring that the features are not extracted from voxels that contain mostly
|
|
13
13
|
white matter or cerebrospinal fluid, which could add noise to the BOLD signal.
|
14
14
|
|
15
15
|
``junifer`` provides a number of built-in masks, which can be listed using
|
16
|
-
:func:`.
|
17
|
-
using :ref:`nilearn` functions.
|
16
|
+
:func:`.list_data` with ``kind="mask"``. Some masks are images, while other
|
17
|
+
masks can be computed using :ref:`nilearn` functions.
|
18
18
|
|
19
19
|
For markers and steps that accept ``masks`` as an argument, the mask can be
|
20
20
|
specified as a string, which will be the name of a built-in mask, or as a
|
@@ -190,10 +190,10 @@ API Changes
|
|
190
190
|
- Modify ``preprocessor`` to ``preprocessors`` in :func:`.run` and
|
191
191
|
``preprocessing`` to ``preprocessors`` in :class:`.MarkerCollection` to
|
192
192
|
accept multiple preprocessors by `Synchon Mandal`_ (:gh:`263`)
|
193
|
-
- Add ``space`` parameter to
|
194
|
-
|
195
|
-
from
|
196
|
-
|
193
|
+
- Add ``space`` parameter to ``register_coordinates``,
|
194
|
+
``register_parcellation`` and ``register_mask`` and return space
|
195
|
+
from ``load_coordinates``, ``load_parcellation`` and
|
196
|
+
``load_mask`` by `Synchon Mandal`_ and `Fede Raimondo`_ (:gh:`268`)
|
197
197
|
- Add ``template_type`` parameter to :func:`.get_template` by `Synchon Mandal`_
|
198
198
|
(:gh:`299`)
|
199
199
|
- Change :meth:`.BasePreprocessor.preprocess` return values to preprocessed
|
@@ -245,7 +245,7 @@ Enhancements
|
|
245
245
|
:func:`.get_aggfunc_by_name` by `Synchon Mandal`_ (:gh:`287`)
|
246
246
|
- Adapt ``BOLDWarper`` to use FSL or ANTs depending on warp file
|
247
247
|
extension by `Synchon Mandal`_ (:gh:`293`)
|
248
|
-
- Rewrite
|
248
|
+
- Rewrite ``compute_brain_mask`` to allow variable template fetching via
|
249
249
|
templateflow, according to target data by `Synchon Mandal`_ (:gh:`299`)
|
250
250
|
- Replace ``requests`` with ``httpx`` for fetching parcellations by `Synchon
|
251
251
|
Mandal`_ (:gh:`300`)
|
@@ -285,9 +285,9 @@ Features
|
|
285
285
|
- Introduce :class:`junifer.pipeline.WorkDirManager` singleton class to manage
|
286
286
|
working and temporary directories across pipeline by `Synchon Mandal`_
|
287
287
|
(:gh:`254`)
|
288
|
-
- Introduce
|
288
|
+
- Introduce ``get_parcellation`` to fetch parcellation tailored for the
|
289
289
|
data by `Synchon Mandal`_ (:gh:`264`)
|
290
|
-
- Introduce
|
290
|
+
- Introduce ``get_coordinates`` to fetch coordinates tailored for the data
|
291
291
|
by `Synchon Mandal`_ (:gh:`265`)
|
292
292
|
- Introduce ``junifer.preprocess.fsl.apply_warper._ApplyWarper`` to wrap FSL's
|
293
293
|
``applywarp`` by `Synchon Mandal`_ (:gh:`266`)
|
@@ -309,7 +309,7 @@ Features
|
|
309
309
|
- Introduce :func:`.get_template` to fetch template space image tailored to a
|
310
310
|
target data by `Synchon Mandal`_ (:gh:`298`)
|
311
311
|
- Add support for on-the-fly template space transformation in
|
312
|
-
|
312
|
+
``get_parcellation`` and ``get_mask`` to allow parcellation and
|
313
313
|
mask in different template spaces to work with a ``DataGrabber``'s data in a
|
314
314
|
specified template space. (:gh:`299`)
|
315
315
|
- Introduce :class:`.SpaceWarper` for warping ``T1w``, ``BOLD``, ``VBM_GM``,
|
@@ -480,7 +480,7 @@ Bugfixes
|
|
480
480
|
- Fix an issue with datalad cache and locks in which the overridden settings in
|
481
481
|
Junifer were not propagated to subprocesses, resulting in using the default
|
482
482
|
settings by `Fede Raimondo`_ (:gh:`199`)
|
483
|
-
- Fix a bug in which
|
483
|
+
- Fix a bug in which ``get_mask`` fails for ``FunctionalConnectivityBase``
|
484
484
|
class, because of missing extra_input parameter by `Leonard Sasse`_
|
485
485
|
(:gh:`200`)
|
486
486
|
- Fix the output of :class:`.RSSETSMarker` to be 2D by `Synchon Mandal`_
|
@@ -560,7 +560,7 @@ Features
|
|
560
560
|
|
561
561
|
- Add :class:`.EdgeCentricFCParcels` and :class:`.EdgeCentricFCSpheres` by
|
562
562
|
`Leonard Sasse`_ (:gh:`64`)
|
563
|
-
- Expose a
|
563
|
+
- Expose a ``merge_parcellations`` function to merge a list of
|
564
564
|
parcellations by `Leonard Sasse`_ (:gh:`146`)
|
565
565
|
- Add support for HDF5 feature storage via :class:`.HDF5FeatureStorage` by
|
566
566
|
`Synchon Mandal`_ (:gh:`147`)
|
@@ -670,8 +670,8 @@ Features
|
|
670
670
|
connectivity using a parcellation by `Amir Omidvarnia`_ and
|
671
671
|
`Kaustubh R. Patil`_ (:gh:`41`)
|
672
672
|
|
673
|
-
- Implement
|
674
|
-
|
673
|
+
- Implement ``register_coordinates``, ``list_coordinates`` and
|
674
|
+
``load_coordinates`` by `Fede Raimondo`_ (:gh:`11`)
|
675
675
|
|
676
676
|
- Add :class:`.DataladAOMICID1000` datagrabber for AOMIC ID1000 dataset
|
677
677
|
including tests and creation of mock dataset for testing by
|
@@ -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.6.
|
16
|
-
__version_tuple__ = version_tuple = (0, 0, 6, '
|
15
|
+
__version__ = version = '0.0.6.dev194'
|
16
|
+
__version_tuple__ = version_tuple = (0, 0, 6, 'dev194')
|
@@ -0,0 +1,29 @@
|
|
1
|
+
__all__ = [
|
2
|
+
"CoordinatesRegistry",
|
3
|
+
"ParcellationRegistry",
|
4
|
+
"MaskRegistry",
|
5
|
+
"get_data",
|
6
|
+
"list_data",
|
7
|
+
"load_data",
|
8
|
+
"register_data",
|
9
|
+
"deregister_data",
|
10
|
+
"get_template",
|
11
|
+
"get_xfm",
|
12
|
+
"utils",
|
13
|
+
]
|
14
|
+
|
15
|
+
from .coordinates import CoordinatesRegistry
|
16
|
+
from .parcellations import ParcellationRegistry
|
17
|
+
from .masks import MaskRegistry
|
18
|
+
|
19
|
+
from ._dispatch import (
|
20
|
+
get_data,
|
21
|
+
list_data,
|
22
|
+
load_data,
|
23
|
+
register_data,
|
24
|
+
deregister_data,
|
25
|
+
)
|
26
|
+
|
27
|
+
from .template_spaces import get_template, get_xfm
|
28
|
+
|
29
|
+
from . import utils
|
@@ -0,0 +1,251 @@
|
|
1
|
+
"""Provide dispatch functions for pipeline data registries."""
|
2
|
+
|
3
|
+
# Authors: Synchon Mandal <s.mandal@fz-juelich.de>
|
4
|
+
# License: AGPL
|
5
|
+
|
6
|
+
from pathlib import Path
|
7
|
+
from typing import (
|
8
|
+
TYPE_CHECKING,
|
9
|
+
Any,
|
10
|
+
Callable,
|
11
|
+
Dict,
|
12
|
+
List,
|
13
|
+
Optional,
|
14
|
+
Tuple,
|
15
|
+
Union,
|
16
|
+
)
|
17
|
+
|
18
|
+
from numpy.typing import ArrayLike
|
19
|
+
|
20
|
+
from ..utils import raise_error
|
21
|
+
from .coordinates import CoordinatesRegistry
|
22
|
+
from .masks import MaskRegistry
|
23
|
+
from .parcellations import ParcellationRegistry
|
24
|
+
|
25
|
+
|
26
|
+
if TYPE_CHECKING:
|
27
|
+
from nibabel.nifti1 import Nifti1Image
|
28
|
+
|
29
|
+
|
30
|
+
__all__ = [
|
31
|
+
"get_data",
|
32
|
+
"list_data",
|
33
|
+
"load_data",
|
34
|
+
"register_data",
|
35
|
+
"deregister_data",
|
36
|
+
]
|
37
|
+
|
38
|
+
|
39
|
+
def get_data(
|
40
|
+
kind: str,
|
41
|
+
names: Union[
|
42
|
+
str, # coordinates, parcellation, mask
|
43
|
+
List[str], # parcellation, mask
|
44
|
+
Dict, # mask
|
45
|
+
List[Dict], # mask
|
46
|
+
],
|
47
|
+
target_data: Dict[str, Any],
|
48
|
+
extra_input: Optional[Dict[str, Any]] = None,
|
49
|
+
) -> Union[
|
50
|
+
Tuple[ArrayLike, List[str]], # coordinates
|
51
|
+
Tuple["Nifti1Image", List[str]], # parcellation
|
52
|
+
"Nifti1Image", # mask
|
53
|
+
]:
|
54
|
+
"""Get tailored ``kind`` for ``target_data``.
|
55
|
+
|
56
|
+
Parameters
|
57
|
+
----------
|
58
|
+
kind : {"coordinates", "parcellation", "mask"}
|
59
|
+
Kind of data to fetch and apply.
|
60
|
+
names : str or dict or list of str / dict
|
61
|
+
The registered name(s) of the data.
|
62
|
+
target_data : dict
|
63
|
+
The corresponding item of the data object to which the data
|
64
|
+
will be applied.
|
65
|
+
extra_input : dict, optional
|
66
|
+
The other fields in the data object. Useful for accessing other
|
67
|
+
data types that need to be used in the computation of data
|
68
|
+
(default None).
|
69
|
+
|
70
|
+
Returns
|
71
|
+
-------
|
72
|
+
tuple of numpy.ndarray, list of str; \
|
73
|
+
tuple of nibabel.nifti1.Nifti1Image, list of str; \
|
74
|
+
nibabel.nifti1.Nifti1Image
|
75
|
+
|
76
|
+
Raises
|
77
|
+
------
|
78
|
+
ValueError
|
79
|
+
If ``kind`` is invalid value.
|
80
|
+
|
81
|
+
"""
|
82
|
+
|
83
|
+
if kind == "coordinates":
|
84
|
+
return CoordinatesRegistry().get(
|
85
|
+
coords=names,
|
86
|
+
target_data=target_data,
|
87
|
+
extra_input=extra_input,
|
88
|
+
)
|
89
|
+
elif kind == "parcellation":
|
90
|
+
return ParcellationRegistry().get(
|
91
|
+
parcellations=names,
|
92
|
+
target_data=target_data,
|
93
|
+
extra_input=extra_input,
|
94
|
+
)
|
95
|
+
elif kind == "mask":
|
96
|
+
return MaskRegistry().get(
|
97
|
+
masks=names,
|
98
|
+
target_data=target_data,
|
99
|
+
extra_input=extra_input,
|
100
|
+
)
|
101
|
+
else:
|
102
|
+
raise_error(f"Unknown data kind: {kind}")
|
103
|
+
|
104
|
+
|
105
|
+
def list_data(kind: str) -> List[str]:
|
106
|
+
"""List available data for ``kind``.
|
107
|
+
|
108
|
+
Parameters
|
109
|
+
----------
|
110
|
+
kind : {"coordinates", "parcellation", "mask"}
|
111
|
+
Kind of data registry to list.
|
112
|
+
|
113
|
+
Returns
|
114
|
+
-------
|
115
|
+
list of str
|
116
|
+
Available data for the registry.
|
117
|
+
|
118
|
+
Raises
|
119
|
+
------
|
120
|
+
ValueError
|
121
|
+
If ``kind`` is invalid value.
|
122
|
+
|
123
|
+
"""
|
124
|
+
|
125
|
+
if kind == "coordinates":
|
126
|
+
return CoordinatesRegistry().list
|
127
|
+
elif kind == "parcellation":
|
128
|
+
return ParcellationRegistry().list
|
129
|
+
elif kind == "mask":
|
130
|
+
return MaskRegistry().list
|
131
|
+
else:
|
132
|
+
raise_error(f"Unknown data kind: {kind}")
|
133
|
+
|
134
|
+
|
135
|
+
def load_data(
|
136
|
+
kind: str,
|
137
|
+
name: str,
|
138
|
+
**kwargs,
|
139
|
+
) -> Union[
|
140
|
+
Tuple[ArrayLike, List[str], str], # coordinates
|
141
|
+
Tuple[Optional["Nifti1Image"], List[str], Path, str], # parcellation
|
142
|
+
Tuple[
|
143
|
+
Optional[Union["Nifti1Image", Callable]], Optional[Path], str
|
144
|
+
], # mask
|
145
|
+
]:
|
146
|
+
"""Load ``kind`` named ``name``.
|
147
|
+
|
148
|
+
Parameters
|
149
|
+
----------
|
150
|
+
kind : {"coordinates", "parcellation", "mask"}
|
151
|
+
Kind of data to load.
|
152
|
+
name : str
|
153
|
+
The registered name of the data.
|
154
|
+
**kwargs
|
155
|
+
Keyword arguments are passed to respective registry class method.
|
156
|
+
|
157
|
+
Returns
|
158
|
+
-------
|
159
|
+
tuple of numpy.ndarray, list of str, str; \
|
160
|
+
tuple of nibabel.nifti1.Nifti1Image or None, \
|
161
|
+
list of str, pathlib.Path, str; \
|
162
|
+
tuple of nibabel.nifti1.Nifti1Image or callable or None, \
|
163
|
+
pathlib.Path or None, str
|
164
|
+
|
165
|
+
Raises
|
166
|
+
------
|
167
|
+
ValueError
|
168
|
+
If ``kind`` is invalid value.
|
169
|
+
|
170
|
+
"""
|
171
|
+
|
172
|
+
if kind == "coordinates":
|
173
|
+
return CoordinatesRegistry().load(name=name)
|
174
|
+
elif kind == "parcellation":
|
175
|
+
return ParcellationRegistry().load(name=name, **kwargs)
|
176
|
+
elif kind == "mask":
|
177
|
+
return MaskRegistry().load(name=name, **kwargs)
|
178
|
+
else:
|
179
|
+
raise_error(f"Unknown data kind: {kind}")
|
180
|
+
|
181
|
+
|
182
|
+
def register_data(
|
183
|
+
kind: str,
|
184
|
+
name: str,
|
185
|
+
space: str,
|
186
|
+
overwrite: bool = False,
|
187
|
+
**kwargs,
|
188
|
+
) -> None:
|
189
|
+
"""Register ``name`` under ``kind``.
|
190
|
+
|
191
|
+
Parameters
|
192
|
+
----------
|
193
|
+
kind : {"coordinates", "parcellation", "mask"}
|
194
|
+
Kind of data to register.
|
195
|
+
name : str
|
196
|
+
The name to register.
|
197
|
+
space : str
|
198
|
+
The template space of the data.
|
199
|
+
overwrite : bool, optional
|
200
|
+
If True, overwrite an existing data with the same name.
|
201
|
+
**kwargs
|
202
|
+
Keyword arguments are passed to respective registry class method.
|
203
|
+
|
204
|
+
Raises
|
205
|
+
------
|
206
|
+
ValueError
|
207
|
+
If ``kind`` is invalid value.
|
208
|
+
|
209
|
+
"""
|
210
|
+
|
211
|
+
if kind == "coordinates":
|
212
|
+
return CoordinatesRegistry().register(
|
213
|
+
name=name, space=space, overwrite=overwrite, **kwargs
|
214
|
+
)
|
215
|
+
elif kind == "parcellation":
|
216
|
+
return ParcellationRegistry().register(
|
217
|
+
name=name, space=space, overwrite=overwrite, **kwargs
|
218
|
+
)
|
219
|
+
elif kind == "mask":
|
220
|
+
return MaskRegistry().load(
|
221
|
+
name=name, space=space, overwrite=overwrite, **kwargs
|
222
|
+
)
|
223
|
+
else:
|
224
|
+
raise_error(f"Unknown data kind: {kind}")
|
225
|
+
|
226
|
+
|
227
|
+
def deregister_data(kind: str, name: str) -> None:
|
228
|
+
"""De-register ``name`` from ``kind``.
|
229
|
+
|
230
|
+
Parameters
|
231
|
+
----------
|
232
|
+
kind : {"coordinates", "parcellation", "mask"}
|
233
|
+
Kind of data to register.
|
234
|
+
name : str
|
235
|
+
The name to de-register.
|
236
|
+
|
237
|
+
Raises
|
238
|
+
------
|
239
|
+
ValueError
|
240
|
+
If ``kind`` is invalid value.
|
241
|
+
|
242
|
+
"""
|
243
|
+
|
244
|
+
if kind == "coordinates":
|
245
|
+
return CoordinatesRegistry().deregister(name=name)
|
246
|
+
elif kind == "parcellation":
|
247
|
+
return ParcellationRegistry().register(name=name)
|
248
|
+
elif kind == "mask":
|
249
|
+
return MaskRegistry().load(name=name)
|
250
|
+
else:
|
251
|
+
raise_error(f"Unknown data kind: {kind}")
|