junifer 0.0.6.dev154__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.dev154 → junifer-0.0.6.dev194}/.github/workflows/docs.yml +4 -5
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/Dockerfile-ci +3 -3
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/PKG-INFO +1 -1
- junifer-0.0.6.dev194/docs/api/data.rst +6 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/api/pipeline.rst +0 -6
- junifer-0.0.6.dev194/docs/changes/newsfragments/362.feature +1 -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.dev154 → junifer-0.0.6.dev194}/docs/extending/coordinates.rst +23 -10
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/extending/masks.rst +21 -7
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/extending/parcellations.rst +18 -7
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/using/masks.rst +2 -2
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/whats_new.rst +12 -12
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/__init__.pyi +2 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/_version.py +2 -2
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/decorators.py +6 -11
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/functions.py +74 -62
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/tests/test_functions.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.dev154/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.dev154/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.dev154/junifer/data/parcellations.py → junifer-0.0.6.dev194/junifer/data/parcellations/_parcellations.py +450 -473
- {junifer-0.0.6.dev154/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.dev154 → junifer-0.0.6.dev194}/junifer/data/utils.py +4 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/piop2.py +1 -1
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/complexity/hurst_exponent.py +2 -2
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/complexity/multiscale_entropy_auc.py +2 -2
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/complexity/perm_entropy.py +2 -2
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/complexity/range_entropy.py +2 -2
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/complexity/range_entropy_auc.py +2 -2
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/complexity/sample_entropy.py +2 -2
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/complexity/weighted_perm_entropy.py +2 -2
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/ets_rss.py +2 -2
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/falff/falff_parcels.py +2 -2
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/falff/falff_spheres.py +2 -2
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +1 -1
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +1 -1
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +1 -1
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +1 -1
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +3 -3
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +2 -2
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/parcel_aggregation.py +11 -7
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/reho/reho_parcels.py +2 -2
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/reho/reho_spheres.py +2 -2
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/sphere_aggregation.py +11 -7
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/temporal_snr_parcels.py +2 -2
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/temporal_snr_spheres.py +2 -2
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/tests/test_ets_rss.py +3 -3
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/tests/test_parcel_aggregation.py +24 -24
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/tests/test_sphere_aggregation.py +6 -6
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/pipeline/__init__.pyi +2 -2
- junifer-0.0.6.dev194/junifer/pipeline/pipeline_component_registry.py +299 -0
- junifer-0.0.6.dev194/junifer/pipeline/tests/test_pipeline_component_registry.py +201 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/confounds/fmriprep_confound_remover.py +6 -3
- junifer-0.0.6.dev194/junifer/testing/__init__.pyi +4 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/testing/registry.py +4 -7
- junifer-0.0.6.dev194/junifer/testing/tests/test_testing_registry.py +16 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer.egg-info/PKG-INFO +1 -1
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer.egg-info/SOURCES.txt +44 -27
- junifer-0.0.6.dev154/docs/api/data.rst +0 -26
- junifer-0.0.6.dev154/junifer/data/__init__.pyi +0 -43
- junifer-0.0.6.dev154/junifer/data/coordinates.py +0 -408
- junifer-0.0.6.dev154/junifer/data/masks.py +0 -670
- junifer-0.0.6.dev154/junifer/pipeline/registry.py +0 -245
- junifer-0.0.6.dev154/junifer/pipeline/tests/test_registry.py +0 -150
- junifer-0.0.6.dev154/junifer/testing/__init__.pyi +0 -4
- junifer-0.0.6.dev154/junifer/testing/tests/test_testing_registry.py +0 -24
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/.dockerignore +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/.github/dependabot.yml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/.github/pull_request_template.md +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/.github/workflows/ci-docs.yml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/.github/workflows/ci.yml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/.github/workflows/docker-ci-publish.yml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/.github/workflows/docker-docs-publish.yml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/.github/workflows/docs-preview.yml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/.github/workflows/lint.yml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/.github/workflows/pypi.yml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/.gitignore +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/.gitmodules +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/.pre-commit-config.yaml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/AUTHORS.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/Dockerfile-docs +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/LICENSE.md +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/README.md +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/codecov.yml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/conda-env.yml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/Makefile +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/_static/css/custom.css +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/_static/js/custom.js +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/_templates/versions.html +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/api/api.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/api/cli.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/api/configs.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/api/datagrabbers.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/api/datareaders.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/api/index.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/api/markers.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/api/nilearn.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/api/onthefly.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/api/preprocessing.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/api/stats.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/api/storage.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/api/testing.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/api/utils.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/builtin.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/changes/contributors.inc +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/changes/newsfragments/.gitignore +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/changes/newsfragments/335.enh +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/changes/newsfragments/354.feature +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/changes/newsfragments/355.misc +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/changes/newsfragments/356.bugfix +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/changes/newsfragments/357.enh +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/changes/newsfragments/358.doc +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/changes/newsfragments/359.doc +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/changes/newsfragments/360.bugfix +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/changes/newsfragments/361.misc +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/changes/newsfragments/367.enh +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/changes/newsfragments/368.enh +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/changes/newsfragments/369.bugfix +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/changes/newsfragments/370.bugfix +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/changes/newsfragments/372.misc +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/changes/newsfragments/373.misc +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/changes/newsfragments/374.misc +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/changes/newsfragments/380.misc +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/changes/newsfragments/382.misc +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/changes/newsfragments/384.misc +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/conf.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/contribution.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/extending/datagrabber.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/extending/dependencies.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/extending/extension.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/extending/index.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/extending/marker.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/extending/preprocessor.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/faq.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/help.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/images/junifer_logo.png +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/index.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/installation.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/links.inc +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/maintaining.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/redirect.html +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/starting.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/understanding/data.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/understanding/datagrabber.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/understanding/datareader.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/understanding/index.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/understanding/marker.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/understanding/pipeline.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/understanding/preprocess.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/understanding/storage.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/using/codeless.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/using/index.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/using/queueing.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/docs/using/running.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/examples/README.rst +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/examples/norun_hcpfc_pearson.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/examples/norun_ukbvm_gmd.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/examples/run_compute_parcel_mean.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/examples/run_datagrabber_bids_datalad.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/examples/run_ets_rss_marker.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/examples/run_junifer_julearn.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/examples/run_run_gmd_mean.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/examples/yamls/gmd_mean.yaml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/examples/yamls/ukb_gmd_mean.yaml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/ignore_words.txt +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/__init__.pyi +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/queue_context/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/queue_context/__init__.pyi +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/queue_context/gnu_parallel_local_adapter.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/queue_context/htcondor_adapter.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/queue_context/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/queue_context/queue_context_adapter.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/afni/3dRSFC +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/afni/3dReHo +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/afni/afni +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/afni/run_afni_docker.sh +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/ants/ResampleImage +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/ants/antsApplyTransforms +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/ants/run_ants_docker.sh +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/freesurfer/mri_binarize +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/freesurfer/mri_mc +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/freesurfer/mri_pretess +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/freesurfer/mris_convert +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/fsl/applywarp +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/fsl/flirt +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/fsl/img2imgcoord +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/fsl/std2imgcoord +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/run_conda.bash +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/run_conda.zsh +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/run_venv.bash +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/api/res/run_venv.zsh +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/cli/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/cli/__init__.pyi +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/cli/cli.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/cli/parser.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/cli/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/cli/tests/data/gmd_mean.yaml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/cli/tests/data/gmd_mean_htcondor.yaml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/cli/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/cli/tests/test_cli.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/cli/tests/test_cli_utils.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/cli/tests/test_parser.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/cli/utils.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/configs/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/configs/juseless/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/configs/juseless/__init__.pyi +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/__init__.pyi +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/ucla.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/configs/juseless/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/data/__init__.py +0 -0
- {junifer-0.0.6.dev154/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/AutobiographicalMemory_VOIs.txt +0 -0
- {junifer-0.0.6.dev154/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/CogAC_VOIs.txt +0 -0
- {junifer-0.0.6.dev154/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/CogAR_VOIs.txt +0 -0
- {junifer-0.0.6.dev154/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/DMNBuckner_VOIs.txt +0 -0
- {junifer-0.0.6.dev154/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/Dosenbach2010_MNI_VOIs.txt +0 -0
- {junifer-0.0.6.dev154/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/Empathy_VOIs.txt +0 -0
- {junifer-0.0.6.dev154/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/Motor_VOIs.txt +0 -0
- {junifer-0.0.6.dev154/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/MultiTask_VOIs.txt +0 -0
- {junifer-0.0.6.dev154/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/PhysioStress_VOIs.txt +0 -0
- {junifer-0.0.6.dev154/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/Power2011_MNI_VOIs.txt +0 -0
- {junifer-0.0.6.dev154/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/Power2013_MNI_VOIs.tsv +0 -0
- {junifer-0.0.6.dev154/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/Rew_VOIs.txt +0 -0
- {junifer-0.0.6.dev154/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/Somatosensory_VOIs.txt +0 -0
- {junifer-0.0.6.dev154/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/ToM_VOIs.txt +0 -0
- {junifer-0.0.6.dev154/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/VigAtt_VOIs.txt +0 -0
- {junifer-0.0.6.dev154/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/WM_VOIs.txt +0 -0
- {junifer-0.0.6.dev154/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/eMDN_VOIs.txt +0 -0
- {junifer-0.0.6.dev154/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/eSAD_VOIs.txt +0 -0
- {junifer-0.0.6.dev154/junifer/data → junifer-0.0.6.dev194/junifer/data/coordinates}/VOIs/meta/extDMN_VOIs.txt +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/data/masks/ukb/UKB_15K_GM_template.nii.gz +0 -0
- {junifer-0.0.6.dev154 → 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.dev154 → 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.dev154 → junifer-0.0.6.dev194}/junifer/data/masks/vickery-patil/GMprob0.2_cortex_3mm_NA_rm.nii.gz +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/data/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/data/template_spaces.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/data/tests/test_data_utils.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/data/tests/test_template_spaces.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/__init__.pyi +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/__init__.pyi +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/id1000.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/piop1.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/tests/test_id1000.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/tests/test_piop1.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/aomic/tests/test_piop2.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/base.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/datalad_base.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/dmcc13_benchmark.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/hcp1200/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/hcp1200/__init__.pyi +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/hcp1200/hcp1200.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/hcp1200/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/multiple.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/pattern.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/pattern_datalad.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/pattern_validation_mixin.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/tests/test_base.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/tests/test_multiple.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/tests/test_pattern.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datagrabber/tests/test_pattern_validation_mixin.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datareader/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datareader/__init__.pyi +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datareader/default.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datareader/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/datareader/tests/test_default_reader.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/_version.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/asymmetry.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/brainprint.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/surfaces.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/utils/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/utils/_config.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/external/BrainPrint/brainprint/utils/utils.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/external/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/external/h5io/h5io/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/external/h5io/h5io/_h5io.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/external/h5io/h5io/_version.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/external/h5io/h5io/chunked_array.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/external/h5io/h5io/chunked_list.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/external/nilearn/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/external/nilearn/__init__.pyi +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/external/nilearn/junifer_connectivity_measure.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/external/nilearn/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/__init__.pyi +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/base.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/brainprint.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/complexity/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/complexity/__init__.pyi +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/complexity/complexity_base.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/complexity/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/falff/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/falff/__init__.pyi +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/falff/_afni_falff.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/falff/_junifer_falff.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/falff/falff_base.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/falff/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/__init__.pyi +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/functional_connectivity_base.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/reho/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/reho/__init__.pyi +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/reho/_afni_reho.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/reho/_junifer_reho.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/reho/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/reho/reho_base.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/__init__.pyi +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/temporal_snr_base.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/tests/test_brainprint.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/tests/test_marker_utils.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/tests/test_markers_base.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/markers/utils.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/onthefly/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/onthefly/_brainprint.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/onthefly/read_transform.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/onthefly/tests/test_read_transform.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/pipeline/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/pipeline/marker_collection.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/pipeline/pipeline_step_mixin.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/pipeline/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/pipeline/singleton.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/pipeline/tests/test_marker_collection.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/pipeline/update_meta_mixin.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/pipeline/utils.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/pipeline/workdir_manager.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/__init__.pyi +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/base.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/confounds/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/confounds/__init__.pyi +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/confounds/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/__init__.pyi +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/_afni_smoothing.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/_fsl_smoothing.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/_nilearn_smoothing.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/smoothing.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/smoothing/tests/test_smoothing.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/warping/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/warping/__init__.pyi +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/warping/_ants_warper.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/warping/_fsl_warper.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/warping/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/warping/space_warper.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/stats.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/storage/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/storage/__init__.pyi +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/storage/base.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/storage/hdf5.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/storage/pandas_base.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/storage/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/storage/sqlite.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/storage/tests/test_hdf5.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/storage/tests/test_pandas_base.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/storage/tests/test_sqlite.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/storage/tests/test_storage_base.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/storage/tests/test_utils.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/storage/utils.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/testing/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/testing/datagrabbers.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/testing/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/testing/utils.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/tests/test_main.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/tests/test_stats.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/utils/__init__.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/utils/__init__.pyi +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/utils/_yaml.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/utils/fs.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/utils/helpers.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/utils/logging.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/utils/py.typed +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/utils/tests/test_fs.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/utils/tests/test_helpers.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer/utils/tests/test_logging.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer.egg-info/dependency_links.txt +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer.egg-info/entry_points.txt +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer.egg-info/requires.txt +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/junifer.egg-info/top_level.txt +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/pyproject.toml +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/setup.cfg +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/setup.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/tools/create_aomic1000_example_dataset.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/tools/create_aomicpiop1_example_dataset.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/tools/create_aomicpiop2_example_dataset.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/tools/create_bids_example_dataset.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/tools/create_bids_example_dataset_sessions.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
- {junifer-0.0.6.dev154 → junifer-0.0.6.dev194}/tools/create_hcp1200_example_dataset.py +0 -0
- {junifer-0.0.6.dev154 → 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
|
+
Introduce :class:`junifer.pipeline.PipelineComponentRegistry` to centralise pipeline component management by `Synchon Mandal`_
|
@@ -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')
|
@@ -7,7 +7,7 @@
|
|
7
7
|
|
8
8
|
from typing import Type
|
9
9
|
|
10
|
-
from ..pipeline
|
10
|
+
from ..pipeline import PipelineComponentRegistry
|
11
11
|
|
12
12
|
|
13
13
|
__all__ = [
|
@@ -39,9 +39,8 @@ def register_datagrabber(klass: Type) -> Type:
|
|
39
39
|
It should only be used as a decorator.
|
40
40
|
|
41
41
|
"""
|
42
|
-
register(
|
42
|
+
PipelineComponentRegistry().register(
|
43
43
|
step="datagrabber",
|
44
|
-
name=klass.__name__,
|
45
44
|
klass=klass,
|
46
45
|
)
|
47
46
|
return klass
|
@@ -67,9 +66,8 @@ def register_datareader(klass: Type) -> Type:
|
|
67
66
|
It should only be used as a decorator.
|
68
67
|
|
69
68
|
"""
|
70
|
-
register(
|
69
|
+
PipelineComponentRegistry().register(
|
71
70
|
step="datareader",
|
72
|
-
name=klass.__name__,
|
73
71
|
klass=klass,
|
74
72
|
)
|
75
73
|
return klass
|
@@ -91,9 +89,8 @@ def register_preprocessor(klass: Type) -> Type:
|
|
91
89
|
The unmodified input class.
|
92
90
|
|
93
91
|
"""
|
94
|
-
register(
|
92
|
+
PipelineComponentRegistry().register(
|
95
93
|
step="preprocessing",
|
96
|
-
name=klass.__name__,
|
97
94
|
klass=klass,
|
98
95
|
)
|
99
96
|
return klass
|
@@ -115,9 +112,8 @@ def register_marker(klass: Type) -> Type:
|
|
115
112
|
The unmodified input class.
|
116
113
|
|
117
114
|
"""
|
118
|
-
register(
|
115
|
+
PipelineComponentRegistry().register(
|
119
116
|
step="marker",
|
120
|
-
name=klass.__name__,
|
121
117
|
klass=klass,
|
122
118
|
)
|
123
119
|
return klass
|
@@ -139,9 +135,8 @@ def register_storage(klass: Type) -> Type:
|
|
139
135
|
The unmodified input class.
|
140
136
|
|
141
137
|
"""
|
142
|
-
register(
|
138
|
+
PipelineComponentRegistry().register(
|
143
139
|
step="storage",
|
144
|
-
name=klass.__name__,
|
145
140
|
klass=klass,
|
146
141
|
)
|
147
142
|
return klass
|
@@ -7,15 +7,17 @@
|
|
7
7
|
|
8
8
|
import os
|
9
9
|
import shutil
|
10
|
-
import typing
|
11
10
|
from pathlib import Path
|
12
11
|
from typing import Dict, List, Optional, Tuple, Union
|
13
12
|
|
14
13
|
from ..api.queue_context import GnuParallelLocalAdapter, HTCondorAdapter
|
15
14
|
from ..datagrabber.base import BaseDataGrabber
|
16
15
|
from ..markers.base import BaseMarker
|
17
|
-
from ..pipeline import
|
18
|
-
|
16
|
+
from ..pipeline import (
|
17
|
+
MarkerCollection,
|
18
|
+
PipelineComponentRegistry,
|
19
|
+
WorkDirManager,
|
20
|
+
)
|
19
21
|
from ..preprocess.base import BasePreprocessor
|
20
22
|
from ..storage.base import BaseFeatureStorage
|
21
23
|
from ..utils import logger, raise_error, yaml
|
@@ -38,42 +40,78 @@ def _get_datagrabber(datagrabber_config: Dict) -> BaseDataGrabber:
|
|
38
40
|
The DataGrabber.
|
39
41
|
|
40
42
|
"""
|
41
|
-
|
42
|
-
datagrabber_kind = datagrabber_params.pop("kind")
|
43
|
-
datagrabber = build(
|
43
|
+
return PipelineComponentRegistry().build_component_instance(
|
44
44
|
step="datagrabber",
|
45
|
-
name=
|
45
|
+
name=datagrabber_config.pop("kind"),
|
46
46
|
baseclass=BaseDataGrabber,
|
47
|
-
init_params=
|
47
|
+
init_params=datagrabber_config,
|
48
48
|
)
|
49
|
-
datagrabber = typing.cast(BaseDataGrabber, datagrabber)
|
50
|
-
return datagrabber
|
51
49
|
|
52
50
|
|
53
51
|
def _get_preprocessor(preprocessing_config: Dict) -> BasePreprocessor:
|
54
|
-
"""Get
|
52
|
+
"""Get Preprocessor.
|
55
53
|
|
56
54
|
Parameters
|
57
55
|
----------
|
58
56
|
preprocessing_config : dict
|
59
|
-
The config to get the
|
57
|
+
The config to get the Preprocessor using.
|
60
58
|
|
61
59
|
Returns
|
62
60
|
-------
|
63
61
|
dict
|
64
|
-
The
|
62
|
+
The Preprocessor.
|
65
63
|
|
66
64
|
"""
|
67
|
-
|
68
|
-
preprocessor_kind = preprocessor_params.pop("kind")
|
69
|
-
preprocessor = build(
|
65
|
+
return PipelineComponentRegistry().build_component_instance(
|
70
66
|
step="preprocessing",
|
71
|
-
name=
|
67
|
+
name=preprocessing_config.pop("kind"),
|
72
68
|
baseclass=BasePreprocessor,
|
73
|
-
init_params=
|
69
|
+
init_params=preprocessing_config,
|
70
|
+
)
|
71
|
+
|
72
|
+
|
73
|
+
def _get_marker(marker_config: Dict) -> BaseMarker:
|
74
|
+
"""Get Marker.
|
75
|
+
|
76
|
+
Parameters
|
77
|
+
----------
|
78
|
+
marker_config : dict
|
79
|
+
The config to get the Marker using.
|
80
|
+
|
81
|
+
Returns
|
82
|
+
-------
|
83
|
+
object
|
84
|
+
The Marker.
|
85
|
+
|
86
|
+
"""
|
87
|
+
return PipelineComponentRegistry().build_component_instance(
|
88
|
+
step="marker",
|
89
|
+
name=marker_config.pop("kind"),
|
90
|
+
baseclass=BaseMarker,
|
91
|
+
init_params=marker_config,
|
92
|
+
)
|
93
|
+
|
94
|
+
|
95
|
+
def _get_storage(storage_config: Dict) -> BaseFeatureStorage:
|
96
|
+
"""Get Storage.
|
97
|
+
|
98
|
+
Parameters
|
99
|
+
----------
|
100
|
+
storage_config : dict
|
101
|
+
The config to get the Storage using.
|
102
|
+
|
103
|
+
Returns
|
104
|
+
-------
|
105
|
+
dict
|
106
|
+
The Storage.
|
107
|
+
|
108
|
+
"""
|
109
|
+
return PipelineComponentRegistry().build_component_instance(
|
110
|
+
step="storage",
|
111
|
+
name=storage_config.pop("kind"),
|
112
|
+
baseclass=BaseFeatureStorage,
|
113
|
+
init_params=storage_config,
|
74
114
|
)
|
75
|
-
preprocessor = typing.cast(BasePreprocessor, preprocessor)
|
76
|
-
return preprocessor
|
77
115
|
|
78
116
|
|
79
117
|
def run(
|
@@ -123,41 +161,22 @@ def run(
|
|
123
161
|
elements = [elements]
|
124
162
|
|
125
163
|
# Get datagrabber to use
|
126
|
-
datagrabber_object = _get_datagrabber(datagrabber)
|
164
|
+
datagrabber_object = _get_datagrabber(datagrabber.copy())
|
127
165
|
|
128
|
-
#
|
129
|
-
|
130
|
-
built_markers = []
|
131
|
-
for t_marker in _markers:
|
132
|
-
kind = t_marker.pop("kind")
|
133
|
-
t_m = build(
|
134
|
-
step="marker",
|
135
|
-
name=kind,
|
136
|
-
baseclass=BaseMarker,
|
137
|
-
init_params=t_marker,
|
138
|
-
)
|
139
|
-
built_markers.append(t_m)
|
166
|
+
# Get markers to use
|
167
|
+
built_markers = [_get_marker(marker) for marker in markers.copy()]
|
140
168
|
|
141
169
|
# Get storage engine to use
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
storage_params["single_output"] = False
|
146
|
-
storage_object = build(
|
147
|
-
step="storage",
|
148
|
-
name=storage_kind,
|
149
|
-
baseclass=BaseFeatureStorage,
|
150
|
-
init_params=storage_params,
|
151
|
-
)
|
152
|
-
storage_object = typing.cast(BaseFeatureStorage, storage_object)
|
170
|
+
if "single_output" not in storage:
|
171
|
+
storage["single_output"] = False
|
172
|
+
storage_object = _get_storage(storage.copy())
|
153
173
|
|
154
174
|
# Get preprocessor to use (if provided)
|
155
175
|
if preprocessors is not None:
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
built_preprocessors.append(preprocessor_object)
|
176
|
+
built_preprocessors = [
|
177
|
+
_get_preprocessor(preprocessor)
|
178
|
+
for preprocessor in preprocessors.copy()
|
179
|
+
]
|
161
180
|
else:
|
162
181
|
built_preprocessors = None
|
163
182
|
|
@@ -167,6 +186,7 @@ def run(
|
|
167
186
|
preprocessors=built_preprocessors,
|
168
187
|
storage=storage_object,
|
169
188
|
)
|
189
|
+
# Validate the marker collection for the datagrabber
|
170
190
|
mc.validate(datagrabber_object)
|
171
191
|
|
172
192
|
# Fit elements
|
@@ -192,19 +212,11 @@ def collect(storage: Dict) -> None:
|
|
192
212
|
constructor.
|
193
213
|
|
194
214
|
"""
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
storage_params["single_output"] = False
|
201
|
-
storage_object = build(
|
202
|
-
step="storage",
|
203
|
-
name=storage_kind,
|
204
|
-
baseclass=BaseFeatureStorage,
|
205
|
-
init_params=storage_params,
|
206
|
-
)
|
207
|
-
storage_object = typing.cast(BaseFeatureStorage, storage_object)
|
215
|
+
logger.info(f"Collecting data using {storage['kind']}")
|
216
|
+
logger.debug(f"\tStorage params: {storage}")
|
217
|
+
if "single_output" not in storage:
|
218
|
+
storage["single_output"] = False
|
219
|
+
storage_object = _get_storage(storage.copy())
|
208
220
|
logger.debug("Running storage.collect()")
|
209
221
|
storage_object.collect()
|
210
222
|
logger.info("Collect done")
|
@@ -15,7 +15,7 @@ from ruamel.yaml import YAML
|
|
15
15
|
import junifer.testing.registry # noqa: F401
|
16
16
|
from junifer.api import collect, list_elements, queue, reset, run
|
17
17
|
from junifer.datagrabber.base import BaseDataGrabber
|
18
|
-
from junifer.pipeline
|
18
|
+
from junifer.pipeline import PipelineComponentRegistry
|
19
19
|
|
20
20
|
|
21
21
|
# Configure YAML class
|
@@ -240,7 +240,7 @@ def test_run_and_collect(
|
|
240
240
|
storage=storage,
|
241
241
|
)
|
242
242
|
# Get datagrabber
|
243
|
-
dg =
|
243
|
+
dg = PipelineComponentRegistry().build_component_instance(
|
244
244
|
step="datagrabber", name=datagrabber["kind"], baseclass=BaseDataGrabber
|
245
245
|
)
|
246
246
|
elements = dg.get_elements() # type: ignore
|
@@ -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
|