junifer 0.0.8.dev264__tar.gz → 0.0.8.dev270__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.8.dev264 → junifer-0.0.8.dev270}/Dockerfile-ci +2 -2
- {junifer-0.0.8.dev264/junifer.egg-info → junifer-0.0.8.dev270}/PKG-INFO +2 -2
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/marker.rst +2 -2
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/understanding/preprocess.rst +4 -2
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/using/codeless.rst +1 -1
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/_version.py +3 -3
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/nilearn/junifer_connectivity_measure.py +92 -27
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +22 -16
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +29 -17
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +14 -22
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/maps_aggregation.py +6 -3
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/parcel_aggregation.py +2 -1
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/sphere_aggregation.py +3 -1
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/tests/test_parcel_aggregation.py +5 -7
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/tests/test_sphere_aggregation.py +4 -2
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/tests/test_data_object_dumper.py +1 -1
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/_temporal_filter.py +12 -5
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/confounds/fmriprep_confound_remover.py +12 -5
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +17 -3
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/tests/test_temporal_filter.py +22 -8
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/datagrabbers.py +8 -8
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/tests/test_spmauditory_datagrabber.py +3 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/__init__.pyi +8 -1
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/helpers.py +42 -1
- junifer-0.0.8.dev270/junifer/utils/tests/test_helpers.py +70 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270/junifer.egg-info}/PKG-INFO +2 -2
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer.egg-info/requires.txt +1 -1
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer.egg-info/scm_version.json +2 -2
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/pyproject.toml +6 -1
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/uv.lock +61 -156
- junifer-0.0.8.dev264/junifer/utils/tests/test_helpers.py +0 -35
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.dockerignore +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/dependabot.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/pull_request_template.md +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/workflows/check-stale.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/workflows/ci.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/workflows/docker-publish.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/workflows/docs-preview.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/workflows/docs.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/workflows/lint.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.github/workflows/publish.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.gitignore +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.gitmodules +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.pre-commit-config.yaml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/.python-version +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/AUTHORS.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/Dockerfile +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/LICENSE.md +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/README.md +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/codecov.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/conda-env.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/Makefile +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/_static/css/custom.css +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/_static/css/version_selector.css +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/_static/js/custom.js +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/_templates/versions.html +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/api.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/cli.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/configs.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/data.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/datagrabbers.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/datareaders.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/index.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/markers.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/nilearn.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/onthefly.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/pipeline.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/preprocessing.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/stats.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/storage.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/testing.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/api/utils.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/builtin.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/contributors.inc +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/.gitignore +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/239.enh +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/364.doc +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/364.enh +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/364.feature +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/474.misc +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/482.bugfix +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/492.bugfix +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/499.enh +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/502.bugfix +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/503.enh +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/510.bugfix +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/511.bugfix +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/511.bugfix.1 +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/511.change +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/511.enh +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/511.enh.1 +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/511.feature +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/511.misc +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/511.misc.1 +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/513.doc +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/513.misc +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/514.bugfix +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/514.bugfix.1 +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/514.enh +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/515.doc +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/515.enh +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/515.enh.1 +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/515.misc +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/changes/newsfragments/515.misc.1 +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/conf.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/contribution.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/confounds_format.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/coordinates.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/data_dump_asset.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/data_registries.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/data_types.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/datagrabber.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/dependencies.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/extension.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/index.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/logging.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/maps.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/masks.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/parcellations.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/plugins.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/extending/preprocessor.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/faq.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/help.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/images/junifer_logo.png +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/index.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/installation.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/links.inc +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/maintaining.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/poly.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/poly_files/patches/version_banner.html +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/poly_files/patches/versions.html +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/poly_files/templates/index.html +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/starting.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/understanding/data.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/understanding/datagrabber.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/understanding/datareader.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/understanding/index.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/understanding/marker.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/understanding/pipeline.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/understanding/storage.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/using/configuring.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/using/dumping.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/using/index.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/using/masks.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/using/queueing.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/using/running.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/docs/whats_new.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/README.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/norun_hcpfc_pearson.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/norun_ukbvm_gmd.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/run_compute_parcel_mean.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/run_datagrabber_bids_datalad.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/run_ets_rss_marker.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/run_junifer_julearn.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/run_run_gmd_mean.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/yamls/gmd_mean.yaml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/examples/yamls/ukb_gmd_mean.yaml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/ignore_words.txt +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/decorators.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/functions.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/queue_context/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/queue_context/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/queue_context/gnu_parallel_local_adapter.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/queue_context/htcondor_adapter.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/queue_context/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/queue_context/queue_context_adapter.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/afni/3dRSFC +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/afni/3dReHo +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/afni/afni +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/afni/run_afni_docker.sh +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/ants/ResampleImage +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/ants/antsApplyTransforms +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/ants/run_ants_docker.sh +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/freesurfer/mri_binarize +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/freesurfer/mri_mc +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/freesurfer/mri_pretess +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/freesurfer/mris_convert +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/fsl/applywarp +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/fsl/flirt +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/fsl/img2imgcoord +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/fsl/std2imgcoord +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/run_conda.bash +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/run_conda.zsh +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/run_venv.bash +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/res/run_venv.zsh +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/tests/test_decorators.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/api/tests/test_functions.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/cli/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/cli/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/cli/cli.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/cli/parser.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/cli/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/cli/tests/data/gmd_mean.yaml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/cli/tests/data/gmd_mean_htcondor.yaml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/cli/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/cli/tests/test_cli.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/cli/tests/test_cli_utils.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/cli/utils.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/ucla.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/juseless/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/configs/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/conftest.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/_dispatch.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/coordinates/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/coordinates/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/coordinates/_ants_coordinates_warper.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/coordinates/_coordinates.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/coordinates/_fsl_coordinates_warper.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/coordinates/tests/test_coordinates.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/coordinates/tests/test_coordinates_names.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/maps/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/maps/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/maps/_ants_maps_warper.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/maps/_fsl_maps_warper.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/maps/_maps.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/maps/tests/test_maps.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/masks/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/masks/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/masks/_ants_mask_warper.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/masks/_fsl_mask_warper.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/masks/_masks.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/masks/tests/test_masks.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/parcellations/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/parcellations/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/parcellations/_ants_parcellation_warper.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/parcellations/_fsl_parcellation_warper.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/parcellations/_parcellations.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/parcellations/tests/test_parcellations.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/pipeline_data_registry_base.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/template_spaces.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/tests/test_data_utils.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/tests/test_dispatch.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/tests/test_template_spaces.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/data/utils.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/aomic/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/aomic/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/aomic/_types.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/aomic/id1000.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/aomic/piop1.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/aomic/piop2.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/aomic/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/aomic/tests/test_id1000.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/aomic/tests/test_piop1.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/aomic/tests/test_piop2.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/base.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/datalad_base.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/dmcc13_benchmark.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/hcp1200/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/hcp1200/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/hcp1200/hcp1200.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/hcp1200/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/multiple.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/pattern.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/pattern_datalad.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/pattern_validation_mixin.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/tests/test_base.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/tests/test_multiple.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/tests/test_pattern.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datagrabber/tests/test_pattern_validation_mixin.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datareader/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datareader/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datareader/default.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datareader/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/datareader/tests/test_default_reader.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.codecov.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.codespellignore +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/bug-report.md +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/documentation.md +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/feature-request.md +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.github/ISSUE_TEMPLATE/questions-help-support.md +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.github/dependabot.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.github/workflows/build.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.github/workflows/code-style.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.github/workflows/doc.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.github/workflows/publish.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.github/workflows/pytest.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/.gitignore +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/LICENSE +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/README.md +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/_version.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/asymmetry.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/brainprint.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/cli/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/cli/help_text.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/cli/parser.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/cli/utils.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/commands/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/commands/sys_info.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/surfaces.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/utils/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/utils/_config.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/utils/tests/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/utils/tests/test_config.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/brainprint/utils/utils.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/doc/Makefile +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/doc/_static/.gitkeep +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/doc/_templates/autosummary/class.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/doc/_templates/autosummary/function.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/doc/_templates/autosummary/module.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/doc/api/index.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/doc/conf.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/doc/index.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/doc/links.inc +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/doc/make.bat +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/doc/references.bib +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/pyproject.toml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/BrainPrint/setup.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/.coveragerc +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/.gitattributes +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/.gitignore +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/.travis.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/.vscode/launch.json +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/.vscode/settings.json +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/LICENSE.txt +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/MANIFEST.in +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/Makefile +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/README.rst +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/azure-pipelines.yml +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/h5io/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/h5io/_h5io.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/h5io/_version.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/h5io/chunked_array.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/h5io/chunked_list.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/h5io/tests/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/h5io/tests/test_chunked_array.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/h5io/tests/test_chunked_list.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/h5io/tests/test_io.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/setup.cfg +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/setup.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/h5io/versioneer.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/nilearn/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/nilearn/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/nilearn/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/external/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/base.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/brainprint.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/complexity_base.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/hurst_exponent.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/multiscale_entropy_auc.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/perm_entropy.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/range_entropy.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/range_entropy_auc.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/sample_entropy.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/complexity/weighted_perm_entropy.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/ets_rss.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/_afni_falff.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/_junifer_falff.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/falff_base.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/falff_maps.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/falff_parcels.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/falff_spheres.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/tests/test_falff_maps.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/edge_functional_connectivity_maps.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/functional_connectivity_base.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/functional_connectivity_maps.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_maps.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_maps.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/_afni_reho.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/_junifer_reho.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/reho_base.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/reho_maps.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/reho_parcels.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/reho_spheres.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/tests/test_junifer_reho.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/tests/test_reho_maps.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/temporal_snr/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/temporal_snr/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/temporal_snr/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/temporal_snr/temporal_snr_base.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/temporal_snr/temporal_snr_maps.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/temporal_snr/temporal_snr_parcels.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/temporal_snr/temporal_snr_spheres.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/temporal_snr/tests/test_temporal_snr_maps.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/tests/test_brainprint.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/tests/test_ets_rss.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/tests/test_maps_aggregation.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/tests/test_marker_utils.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/tests/test_markers_base.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/utils.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/onthefly/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/onthefly/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/onthefly/_brainprint.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/onthefly/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/onthefly/read_transform.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/onthefly/tests/test_read_transform.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/_data_object_dumper.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/marker_collection.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/pipeline_component_registry.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/pipeline_step_mixin.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/tests/test_marker_collection.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/tests/test_pipeline_component_registry.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/update_meta_mixin.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/utils.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/pipeline/workdir_manager.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/_temporal_slicer.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/base.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/confounds/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/confounds/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/confounds/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/smoothing/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/smoothing/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/smoothing/_afni_smoothing.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/smoothing/_fsl_smoothing.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/smoothing/_nilearn_smoothing.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/smoothing/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/smoothing/smoothing.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/smoothing/tests/test_smoothing.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/tests/test_temporal_slicer.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/warping/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/warping/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/warping/_ants_warper.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/warping/_fsl_warper.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/warping/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/warping/space_warper.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/stats.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/base.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/hdf5.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/pandas_base.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/sqlite.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/tests/test_hdf5.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/tests/test_pandas_base.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/tests/test_sqlite.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/tests/test_storage_base.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/tests/test_utils.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/storage/utils.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/registry.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/tests/test_adhdtesting_datagrabber.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/tests/test_testing_registry.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/tests/test_testing_utils.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/tests/test_uclacnpvbmtesting_datagrabber.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/testing/utils.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/tests/test_main.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/tests/test_stats.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/typing/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/typing/__init__.pyi +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/typing/_typing.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/typing/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/__init__.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/_config.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/_yaml.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/fs.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/logging.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/py.typed +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/singleton.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/tests/test_config.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/tests/test_fs.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/utils/tests/test_logging.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer.egg-info/SOURCES.txt +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer.egg-info/dependency_links.txt +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer.egg-info/entry_points.txt +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer.egg-info/scm_file_list.json +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer.egg-info/top_level.txt +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/justfile +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/scripts/start.sh +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/setup.cfg +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/setup.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/tools/create_aomic1000_example_dataset.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/tools/create_aomicpiop1_example_dataset.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/tools/create_aomicpiop2_example_dataset.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/tools/create_bids_example_dataset.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/tools/create_bids_example_dataset_sessions.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/tools/create_hcp1200_example_dataset.py +0 -0
- {junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/tox.ini +0 -0
|
@@ -115,11 +115,11 @@ RUN set -eux; \
|
|
|
115
115
|
echo "${DATA_VERSION}" > "$HOME/junifer-data-version"
|
|
116
116
|
|
|
117
117
|
# --- nilearn datasets used by junifer.testing (no downloads at test time) ---
|
|
118
|
-
ARG NILEARN_VERSION=0.
|
|
118
|
+
ARG NILEARN_VERSION=0.14.1
|
|
119
119
|
RUN <<'EOF'
|
|
120
120
|
set -eux
|
|
121
121
|
python3 -m venv /tmp/nilearn-venv
|
|
122
|
-
/tmp/nilearn-venv/bin/pip install --no-cache-dir -q "nilearn==${NILEARN_VERSION}"
|
|
122
|
+
/tmp/nilearn-venv/bin/pip install --no-cache-dir -q "nilearn==${NILEARN_VERSION}"
|
|
123
123
|
/tmp/nilearn-venv/bin/python - <<'PY'
|
|
124
124
|
from nilearn import datasets
|
|
125
125
|
datasets.fetch_oasis_vbm(n_subjects=10)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: junifer
|
|
3
|
-
Version: 0.0.8.
|
|
3
|
+
Version: 0.0.8.dev270
|
|
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>
|
|
@@ -34,7 +34,7 @@ Requires-Dist: scipy<1.17.0,>=1.10.0
|
|
|
34
34
|
Requires-Dist: datalad<1.3.0,>=1.0.0
|
|
35
35
|
Requires-Dist: pandas<2.4.0,>=2.0.0
|
|
36
36
|
Requires-Dist: nibabel<5.4.0,>=5.2.0
|
|
37
|
-
Requires-Dist: nilearn
|
|
37
|
+
Requires-Dist: nilearn<0.15,>=0.14.0
|
|
38
38
|
Requires-Dist: sqlalchemy<=2.1.0,>=2.0.25
|
|
39
39
|
Requires-Dist: ruamel.yaml<0.19,>=0.17
|
|
40
40
|
Requires-Dist: h5py>=3.10
|
|
@@ -142,7 +142,7 @@ and the values would be a dictionary of storage type specific key-value pairs.
|
|
|
142
142
|
# Create a masker
|
|
143
143
|
masker = NiftiLabelsMasker(
|
|
144
144
|
labels_img=t_parcellation,
|
|
145
|
-
standardize=
|
|
145
|
+
standardize="zscore_sample",
|
|
146
146
|
memory="nilearn_cache",
|
|
147
147
|
verbose=5,
|
|
148
148
|
)
|
|
@@ -232,7 +232,7 @@ Finally, we need to register the Marker using the ``@register_marker`` decorator
|
|
|
232
232
|
# Create a masker
|
|
233
233
|
masker = NiftiLabelsMasker(
|
|
234
234
|
labels_img=t_parcellation,
|
|
235
|
-
standardize=
|
|
235
|
+
standardize="zscore_sample",
|
|
236
236
|
memory="nilearn_cache",
|
|
237
237
|
verbose=5,
|
|
238
238
|
)
|
|
@@ -108,8 +108,10 @@ parameters:
|
|
|
108
108
|
- Apply detrending on timeseries, before confound removal.
|
|
109
109
|
- activated
|
|
110
110
|
* - ``standardize``
|
|
111
|
-
-
|
|
112
|
-
|
|
111
|
+
- | Strategy to standardize the signals: ``zscore_sample`` (zero mean
|
|
112
|
+
| and unit variance), ``psc`` (percent signal change) or ``null``
|
|
113
|
+
| (no standardization).
|
|
114
|
+
- ``zscore_sample``
|
|
113
115
|
* - ``low_pass``
|
|
114
116
|
- Low cutoff frequencies, in Hertz.
|
|
115
117
|
- deactivated
|
|
@@ -146,7 +146,7 @@ need to specify its name as the ``kind`` key, as well as its parameters.
|
|
|
146
146
|
global_signal: basic
|
|
147
147
|
spike: 0.2
|
|
148
148
|
detrend: false
|
|
149
|
-
standardize:
|
|
149
|
+
standardize: zscore_sample
|
|
150
150
|
|
|
151
151
|
|
|
152
152
|
For the ``UCLA CNP VBM Testing dataset`` example, we will not specify a
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.0.8.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 0, 8, '
|
|
21
|
+
__version__ = version = '0.0.8.dev270'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 0, 8, 'dev270')
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'gcf60784bf'
|
|
@@ -18,7 +18,7 @@ from scipy import linalg, stats
|
|
|
18
18
|
from sklearn.base import clone
|
|
19
19
|
from sklearn.covariance import EmpiricalCovariance
|
|
20
20
|
|
|
21
|
-
from ...utils import logger, raise_error, warn_with_log
|
|
21
|
+
from ...utils import check_standardize, logger, raise_error, warn_with_log
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
__all__ = ["JuniferConnectivityMeasure"]
|
|
@@ -313,9 +313,19 @@ class JuniferConnectivityMeasure(ConnectivityMeasure):
|
|
|
313
313
|
following ways:
|
|
314
314
|
|
|
315
315
|
* default ``cov_estimator`` is
|
|
316
|
-
:class:`sklearn.covariance.EmpiricalCovariance`
|
|
317
|
-
|
|
316
|
+
:class:`sklearn.covariance.EmpiricalCovariance` instead of
|
|
317
|
+
:class:`sklearn.covariance.LedoitWolf`, and ``cov_estimator=None`` is
|
|
318
|
+
not supported
|
|
319
|
+
* default ``kind`` is ``"correlation"`` instead of ``"covariance"``
|
|
318
320
|
* supports Spearman's correlation via ``kind="spearman correlation"``
|
|
321
|
+
* supports Chatterjee's xi correlation via ``kind="xi correlation"``
|
|
322
|
+
* ``kind`` is validated when computing the matrices instead of when
|
|
323
|
+
fitting
|
|
324
|
+
* no ``verbose`` parameter, so nothing is logged while fitting
|
|
325
|
+
* ``inverse_transform()`` only knows the diagonal of
|
|
326
|
+
``"correlation"`` and ``"partial correlation"`` matrices, so with
|
|
327
|
+
``discard_diagonal=True`` the other kinds (including
|
|
328
|
+
``"spearman correlation"``) need the ``diagonal`` to be passed
|
|
319
329
|
|
|
320
330
|
Parameters
|
|
321
331
|
----------
|
|
@@ -329,7 +339,10 @@ class JuniferConnectivityMeasure(ConnectivityMeasure):
|
|
|
329
339
|
If ``"spearman correlation"`` is used, the data will be ranked before
|
|
330
340
|
estimating the covariance. For ``"xi correlation"``, the coefficient
|
|
331
341
|
is not symmetric and should be interpreted as a measure of dependence
|
|
332
|
-
[2]_
|
|
342
|
+
[2]_ ; ``cov_estimator`` and ``standardize`` are not used, ``mean_``
|
|
343
|
+
is symmetrized and, if ``vectorize=True``, only the lower triangular
|
|
344
|
+
part is kept. For the use of ``"tangent"`` see [1]_
|
|
345
|
+
(default "correlation").
|
|
333
346
|
vectorize : bool, optional
|
|
334
347
|
If True, connectivity matrices are reshaped into 1D arrays and only
|
|
335
348
|
their flattened lower triangular parts are returned (default False).
|
|
@@ -337,17 +350,13 @@ class JuniferConnectivityMeasure(ConnectivityMeasure):
|
|
|
337
350
|
If True, vectorized connectivity coefficients do not include the
|
|
338
351
|
matrices diagonal elements. Used only when vectorize is set to True
|
|
339
352
|
(default False).
|
|
340
|
-
standardize :
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
(
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
Added to control passing value to ``standardize`` of
|
|
348
|
-
``signal.clean`` to call new behavior since passing ``"zscore"`` or
|
|
349
|
-
True (default) is deprecated. This parameter will be deprecated in
|
|
350
|
-
version 0.13 and removed in version 0.15.
|
|
353
|
+
standardize : {"zscore_sample", "psc"} or None, optional
|
|
354
|
+
The strategy to standardize the signals before estimating the
|
|
355
|
+
covariance. ``"zscore_sample"`` sets them to zero mean and unit
|
|
356
|
+
variance (using the sample standard deviation), ``"psc"`` converts
|
|
357
|
+
them to percent signal change and None does not standardize them.
|
|
358
|
+
Only used for ``"correlation"`` and ``"spearman correlation"``
|
|
359
|
+
(default "zscore_sample").
|
|
351
360
|
|
|
352
361
|
Attributes
|
|
353
362
|
----------
|
|
@@ -389,7 +398,7 @@ class JuniferConnectivityMeasure(ConnectivityMeasure):
|
|
|
389
398
|
kind="correlation",
|
|
390
399
|
vectorize=False,
|
|
391
400
|
discard_diagonal=False,
|
|
392
|
-
standardize=
|
|
401
|
+
standardize="zscore_sample",
|
|
393
402
|
):
|
|
394
403
|
super().__init__(
|
|
395
404
|
cov_estimator=cov_estimator,
|
|
@@ -399,6 +408,59 @@ class JuniferConnectivityMeasure(ConnectivityMeasure):
|
|
|
399
408
|
standardize=standardize,
|
|
400
409
|
)
|
|
401
410
|
|
|
411
|
+
def _validate_input(
|
|
412
|
+
self,
|
|
413
|
+
X, # noqa: N803
|
|
414
|
+
do_transform=False,
|
|
415
|
+
confounds=None,
|
|
416
|
+
):
|
|
417
|
+
"""Validate the input of ``_fit_transform``.
|
|
418
|
+
|
|
419
|
+
Parameters
|
|
420
|
+
----------
|
|
421
|
+
X : iterable of numpy.ndarray
|
|
422
|
+
The time series of each subject.
|
|
423
|
+
do_transform : bool, optional
|
|
424
|
+
Whether the input will be transformed (default False).
|
|
425
|
+
confounds : numpy.ndarray, optional
|
|
426
|
+
The confounds (default None).
|
|
427
|
+
|
|
428
|
+
Returns
|
|
429
|
+
-------
|
|
430
|
+
list of numpy.ndarray
|
|
431
|
+
The time series of each subject.
|
|
432
|
+
|
|
433
|
+
Raises
|
|
434
|
+
------
|
|
435
|
+
TypeError
|
|
436
|
+
If ``X`` is not iterable.
|
|
437
|
+
ValueError
|
|
438
|
+
If ``standardize`` is a boolean or
|
|
439
|
+
if ``X`` is a single subject and ``kind="tangent"``.
|
|
440
|
+
|
|
441
|
+
"""
|
|
442
|
+
check_standardize(self.standardize)
|
|
443
|
+
if not hasattr(X, "__iter__"):
|
|
444
|
+
raise_error(
|
|
445
|
+
"Input must be an iterable of numpy arrays. "
|
|
446
|
+
f"Got {X.__class__.__name__}",
|
|
447
|
+
klass=TypeError,
|
|
448
|
+
)
|
|
449
|
+
# A single subject can be passed as a 2D array
|
|
450
|
+
if isinstance(X, np.ndarray) and X.ndim == 2:
|
|
451
|
+
X = [X]
|
|
452
|
+
self._check_input(X, confounds=confounds)
|
|
453
|
+
if do_transform and self.kind == "tangent" and len(X) <= 1:
|
|
454
|
+
# Check that people are applying transform to a group of subjects
|
|
455
|
+
# We can only impose this in transform,
|
|
456
|
+
# as it is legit to fit only on a single given reference point
|
|
457
|
+
raise_error(
|
|
458
|
+
"Tangent space parametrization can only be applied to a "
|
|
459
|
+
"group of subjects, as it returns deviations to the mean. "
|
|
460
|
+
f"You provided {X!r}"
|
|
461
|
+
)
|
|
462
|
+
return X
|
|
463
|
+
|
|
402
464
|
def _fit_transform(
|
|
403
465
|
self,
|
|
404
466
|
X, # noqa: N803
|
|
@@ -407,9 +469,19 @@ class JuniferConnectivityMeasure(ConnectivityMeasure):
|
|
|
407
469
|
confounds=None,
|
|
408
470
|
):
|
|
409
471
|
"""Avoid duplication of computation."""
|
|
410
|
-
self.
|
|
472
|
+
X = self._validate_input(
|
|
473
|
+
X, do_transform=do_transform, confounds=confounds
|
|
474
|
+
)
|
|
411
475
|
if do_fit:
|
|
476
|
+
if not hasattr(self.cov_estimator, "fit"):
|
|
477
|
+
raise_error(
|
|
478
|
+
"'cov_estimator' must be an estimator with '.fit()' and "
|
|
479
|
+
"'.covariance_' (e.g., from `sklearn.covariance` or a "
|
|
480
|
+
"custom estimator constructed similarly). Got: "
|
|
481
|
+
f"`{type(self.cov_estimator).__name__}`."
|
|
482
|
+
)
|
|
412
483
|
self.cov_estimator_ = clone(self.cov_estimator)
|
|
484
|
+
self.n_features_in_ = next(iter(s.shape[1] for s in X))
|
|
413
485
|
|
|
414
486
|
# Compute all the matrices, stored in "connectivities"
|
|
415
487
|
if self.kind in ["correlation", "spearman correlation"]:
|
|
@@ -452,10 +524,12 @@ class JuniferConnectivityMeasure(ConnectivityMeasure):
|
|
|
452
524
|
]
|
|
453
525
|
else:
|
|
454
526
|
allowed_kinds = (
|
|
527
|
+
"covariance",
|
|
455
528
|
"correlation",
|
|
529
|
+
"spearman correlation",
|
|
456
530
|
"partial correlation",
|
|
531
|
+
"xi correlation",
|
|
457
532
|
"tangent",
|
|
458
|
-
"covariance",
|
|
459
533
|
"precision",
|
|
460
534
|
)
|
|
461
535
|
raise_error(
|
|
@@ -490,15 +564,6 @@ class JuniferConnectivityMeasure(ConnectivityMeasure):
|
|
|
490
564
|
|
|
491
565
|
connectivities = np.array(connectivities)
|
|
492
566
|
|
|
493
|
-
if confounds is not None and not self.vectorize:
|
|
494
|
-
error_message = (
|
|
495
|
-
"'confounds' are provided but vectorize=False. "
|
|
496
|
-
"Confounds are only cleaned on vectorized matrices "
|
|
497
|
-
"as second level connectome regression "
|
|
498
|
-
"but not on symmetric matrices."
|
|
499
|
-
)
|
|
500
|
-
raise_error(error_message)
|
|
501
|
-
|
|
502
567
|
if self.vectorize:
|
|
503
568
|
connectivities = sym_matrix_to_vec(
|
|
504
569
|
connectivities, discard_diagonal=self.discard_diagonal
|
|
@@ -8,16 +8,12 @@ from typing import TYPE_CHECKING, Union
|
|
|
8
8
|
|
|
9
9
|
import numpy as np
|
|
10
10
|
from nilearn import image, masking
|
|
11
|
-
from nilearn._utils.
|
|
12
|
-
from nilearn.
|
|
13
|
-
from nilearn._utils.niimg_conversions import (
|
|
14
|
-
check_niimg_3d,
|
|
15
|
-
check_niimg_4d,
|
|
16
|
-
safe_get_data,
|
|
17
|
-
)
|
|
11
|
+
from nilearn._utils.niimg import img_data_dtype, safe_get_data
|
|
12
|
+
from nilearn.image import check_niimg_3d, check_niimg_4d, load_img
|
|
18
13
|
from nilearn.maskers import NiftiSpheresMasker
|
|
19
|
-
from nilearn.maskers.base_masker import
|
|
14
|
+
from nilearn.maskers.base_masker import filter_and_extract
|
|
20
15
|
from sklearn import neighbors
|
|
16
|
+
from sklearn.utils.validation import check_is_fitted
|
|
21
17
|
|
|
22
18
|
from ...utils import raise_error, warn_with_log
|
|
23
19
|
|
|
@@ -366,6 +362,7 @@ class JuniferNiftiSpheresMasker(NiftiSpheresMasker):
|
|
|
366
362
|
radius=radius,
|
|
367
363
|
mask_img=mask_img,
|
|
368
364
|
allow_overlap=allow_overlap,
|
|
365
|
+
dtype=dtype,
|
|
369
366
|
**kwargs,
|
|
370
367
|
)
|
|
371
368
|
|
|
@@ -410,16 +407,19 @@ class JuniferNiftiSpheresMasker(NiftiSpheresMasker):
|
|
|
410
407
|
inputs.
|
|
411
408
|
|
|
412
409
|
"""
|
|
413
|
-
self
|
|
410
|
+
check_is_fitted(self)
|
|
414
411
|
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
412
|
+
# The parameters are taken from NiftiSpheresMasker, as the ones not
|
|
413
|
+
# in this class' signature are passed as keyword arguments
|
|
414
|
+
params = {
|
|
415
|
+
k: getattr(self, k)
|
|
416
|
+
for k in NiftiSpheresMasker._get_param_names()
|
|
417
|
+
if k not in {"memory", "memory_level", "verbose", "copy", "n_jobs"}
|
|
418
|
+
}
|
|
419
|
+
params["clean_kwargs"] = self.clean_args_
|
|
420
420
|
|
|
421
421
|
signals, _ = self._cache(
|
|
422
|
-
|
|
422
|
+
filter_and_extract, ignore=["verbose", "memory", "memory_level"]
|
|
423
423
|
)(
|
|
424
424
|
imgs,
|
|
425
425
|
_JuniferExtractionFunctor(
|
|
@@ -435,12 +435,18 @@ class JuniferNiftiSpheresMasker(NiftiSpheresMasker):
|
|
|
435
435
|
confounds=confounds,
|
|
436
436
|
sample_mask=sample_mask,
|
|
437
437
|
dtype=self.dtype,
|
|
438
|
+
sklearn_output_config=getattr(
|
|
439
|
+
self, "_sklearn_output_config", None
|
|
440
|
+
),
|
|
438
441
|
# Caching
|
|
439
|
-
memory=self.
|
|
442
|
+
memory=self.memory_,
|
|
440
443
|
memory_level=self.memory_level,
|
|
441
444
|
# kwargs
|
|
442
445
|
verbose=self.verbose,
|
|
443
446
|
)
|
|
447
|
+
target_dtype = self._get_target_dtype(load_img(imgs))
|
|
448
|
+
if target_dtype is not None:
|
|
449
|
+
signals = signals.astype(target_dtype)
|
|
444
450
|
return signals
|
|
445
451
|
|
|
446
452
|
def inverse_transform(self, region_signals: "ArrayLike") -> "Nifti1Image":
|
|
@@ -12,6 +12,10 @@ from typing import TYPE_CHECKING, Optional
|
|
|
12
12
|
import numpy as np
|
|
13
13
|
import pytest
|
|
14
14
|
from nilearn.connectome.connectivity_matrices import sym_matrix_to_vec
|
|
15
|
+
|
|
16
|
+
# Not part of nilearn's public API, so it might move in future versions.
|
|
17
|
+
# Importing it evaluates the markers of nilearn's test module, which need to
|
|
18
|
+
# be registered in the pytest markers (see pyproject.toml).
|
|
15
19
|
from nilearn.tests.test_signal import generate_signals
|
|
16
20
|
from numpy.testing import (
|
|
17
21
|
assert_allclose,
|
|
@@ -21,6 +25,7 @@ from numpy.testing import (
|
|
|
21
25
|
from pandas import DataFrame
|
|
22
26
|
from scipy import linalg
|
|
23
27
|
from sklearn.covariance import EmpiricalCovariance, LedoitWolf
|
|
28
|
+
from sklearn.exceptions import NotFittedError
|
|
24
29
|
|
|
25
30
|
from junifer.external.nilearn import JuniferConnectivityMeasure
|
|
26
31
|
from junifer.external.nilearn.junifer_connectivity_measure import (
|
|
@@ -587,9 +592,7 @@ def test_connectivity_measure_errors():
|
|
|
587
592
|
# Raising error for input subjects not iterable
|
|
588
593
|
conn_measure = JuniferConnectivityMeasure()
|
|
589
594
|
|
|
590
|
-
with pytest.raises(
|
|
591
|
-
ValueError, match=r"'subjects' input argument must be an iterable"
|
|
592
|
-
):
|
|
595
|
+
with pytest.raises(TypeError, match=r"Input must be an iterable"):
|
|
593
596
|
conn_measure.fit(1.0)
|
|
594
597
|
|
|
595
598
|
# input subjects not 2D numpy.ndarrays
|
|
@@ -605,6 +608,15 @@ def test_connectivity_measure_errors():
|
|
|
605
608
|
):
|
|
606
609
|
conn_measure.fit([np.ones((100, 40)), np.ones((100, 41))])
|
|
607
610
|
|
|
611
|
+
# invalid kind, listing all the allowed kinds
|
|
612
|
+
conn_measure = JuniferConnectivityMeasure(kind="foo")
|
|
613
|
+
with pytest.raises(
|
|
614
|
+
ValueError,
|
|
615
|
+
match=r"Allowed connectivity kinds .*'spearman correlation'.*"
|
|
616
|
+
r"'xi correlation'.* Got kind foo",
|
|
617
|
+
):
|
|
618
|
+
conn_measure.fit([np.ones((100, 40))])
|
|
619
|
+
|
|
608
620
|
# fit_transform with a single subject and kind=tangent
|
|
609
621
|
conn_measure = JuniferConnectivityMeasure(kind="tangent")
|
|
610
622
|
|
|
@@ -874,7 +886,7 @@ def test_connectivity_measure_check_vectorization_option(
|
|
|
874
886
|
)
|
|
875
887
|
|
|
876
888
|
# Check not fitted error
|
|
877
|
-
with pytest.raises(
|
|
889
|
+
with pytest.raises(NotFittedError):
|
|
878
890
|
JuniferConnectivityMeasure().inverse_transform(
|
|
879
891
|
vectorized_connectivities
|
|
880
892
|
)
|
|
@@ -1053,15 +1065,15 @@ def test_confounds_connectivity_measure_errors() -> None:
|
|
|
1053
1065
|
conn_measure = JuniferConnectivityMeasure(vectorize=True)
|
|
1054
1066
|
msg = r"'confounds' input argument must be an iterable"
|
|
1055
1067
|
|
|
1056
|
-
with pytest.raises(
|
|
1068
|
+
with pytest.raises(TypeError, match=msg):
|
|
1057
1069
|
conn_measure._check_input(X=signals, confounds=1.0)
|
|
1058
1070
|
|
|
1059
|
-
with pytest.raises(
|
|
1071
|
+
with pytest.raises(TypeError, match=msg):
|
|
1060
1072
|
conn_measure._fit_transform(
|
|
1061
1073
|
X=signals, do_fit=True, do_transform=True, confounds=1.0
|
|
1062
1074
|
)
|
|
1063
1075
|
|
|
1064
|
-
with pytest.raises(
|
|
1076
|
+
with pytest.raises(TypeError, match=msg):
|
|
1065
1077
|
conn_measure.fit_transform(X=signals, y=None, confounds=1.0)
|
|
1066
1078
|
|
|
1067
1079
|
# Raising error for input confounds are given but not vectorize=True
|
|
@@ -1075,7 +1087,7 @@ def test_confounds_connectivity_measure_errors() -> None:
|
|
|
1075
1087
|
def test_connectivity_measure_standardize(
|
|
1076
1088
|
signals: list[np.ndarray],
|
|
1077
1089
|
) -> None:
|
|
1078
|
-
"""Check
|
|
1090
|
+
"""Check standardize strategies and the error for booleans.
|
|
1079
1091
|
|
|
1080
1092
|
Parameters
|
|
1081
1093
|
----------
|
|
@@ -1083,17 +1095,17 @@ def test_connectivity_measure_standardize(
|
|
|
1083
1095
|
The input signals.
|
|
1084
1096
|
|
|
1085
1097
|
"""
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1098
|
+
# No warnings about standardize with the default strategy
|
|
1099
|
+
with warnings.catch_warnings(record=True) as record:
|
|
1100
|
+
warnings.simplefilter("always")
|
|
1089
1101
|
JuniferConnectivityMeasure(kind="correlation").fit_transform(signals)
|
|
1102
|
+
assert not [m for m in record if "standardize" in str(m.message)]
|
|
1090
1103
|
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
assert match not in m.message
|
|
1104
|
+
for standardize in (True, False):
|
|
1105
|
+
with pytest.raises(ValueError, match="does not accept booleans"):
|
|
1106
|
+
JuniferConnectivityMeasure(
|
|
1107
|
+
kind="correlation", standardize=standardize
|
|
1108
|
+
).fit_transform(signals)
|
|
1097
1109
|
|
|
1098
1110
|
|
|
1099
1111
|
@pytest.mark.skipif(
|
|
@@ -3,8 +3,6 @@
|
|
|
3
3
|
# Authors: Synchon Mandal <s.mandal@fz-juelich.de>
|
|
4
4
|
# License: AGPL
|
|
5
5
|
|
|
6
|
-
import warnings
|
|
7
|
-
|
|
8
6
|
import nibabel
|
|
9
7
|
import numpy as np
|
|
10
8
|
import pytest
|
|
@@ -262,13 +260,16 @@ def test_standardization() -> None:
|
|
|
262
260
|
data = np.random.RandomState(42).random_sample((3, 3, 3, 5))
|
|
263
261
|
img = nibabel.Nifti1Image(data, np.eye(4))
|
|
264
262
|
|
|
265
|
-
# test
|
|
266
|
-
masker = JuniferNiftiSpheresMasker(
|
|
263
|
+
# test zscore_sample
|
|
264
|
+
masker = JuniferNiftiSpheresMasker(
|
|
265
|
+
seeds=[(1, 1, 1)], standardize="zscore_sample"
|
|
266
|
+
)
|
|
267
267
|
# Test the fit
|
|
268
268
|
s = masker.fit_transform(img)
|
|
269
269
|
|
|
270
270
|
np.testing.assert_almost_equal(s.mean(), 0)
|
|
271
|
-
|
|
271
|
+
# Uses the sample standard deviation
|
|
272
|
+
np.testing.assert_almost_equal(s.std(ddof=1), 1)
|
|
272
273
|
|
|
273
274
|
# test psc
|
|
274
275
|
masker = JuniferNiftiSpheresMasker(seeds=[(1, 1, 1)], standardize="psc")
|
|
@@ -294,10 +295,10 @@ def test_nifti_spheres_masker_inverse_transform() -> None:
|
|
|
294
295
|
|
|
295
296
|
|
|
296
297
|
def test_nifti_spheres_masker_io_shapes() -> None:
|
|
297
|
-
"""Ensure that masker handles
|
|
298
|
+
"""Ensure that masker handles 3D/4D data appropriately.
|
|
298
299
|
|
|
299
|
-
transform(4D image) --> 2D output
|
|
300
|
-
transform(3D image) -->
|
|
300
|
+
transform(4D image) --> 2D output
|
|
301
|
+
transform(3D image) --> 1D output
|
|
301
302
|
|
|
302
303
|
"""
|
|
303
304
|
n_regions, n_volumes = 2, 5
|
|
@@ -318,20 +319,11 @@ def test_nifti_spheres_masker_io_shapes() -> None:
|
|
|
318
319
|
)
|
|
319
320
|
masker.fit()
|
|
320
321
|
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
# DeprecationWarning should *not* be raised for 4D inputs
|
|
327
|
-
with warnings.catch_warnings():
|
|
328
|
-
warnings.filterwarnings(
|
|
329
|
-
"error",
|
|
330
|
-
message="Starting in version 0.12",
|
|
331
|
-
category=DeprecationWarning,
|
|
332
|
-
)
|
|
333
|
-
test_data = masker.transform(img_4d)
|
|
334
|
-
assert test_data.shape == (n_volumes, n_regions)
|
|
322
|
+
test_data = masker.transform(img_3d)
|
|
323
|
+
assert test_data.shape == (n_regions,)
|
|
324
|
+
|
|
325
|
+
test_data = masker.transform(img_4d)
|
|
326
|
+
assert test_data.shape == (n_volumes, n_regions)
|
|
335
327
|
|
|
336
328
|
|
|
337
329
|
@pytest.mark.parametrize(
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
from typing import Annotated, Any, ClassVar, Literal
|
|
7
7
|
|
|
8
|
+
import numpy as np
|
|
8
9
|
from nilearn.maskers import NiftiMapsMasker
|
|
9
10
|
from pydantic import BeforeValidator
|
|
10
11
|
|
|
@@ -185,15 +186,17 @@ class MapsAggregation(BaseMarker):
|
|
|
185
186
|
extra_input=extra_input,
|
|
186
187
|
)
|
|
187
188
|
|
|
188
|
-
# Initialize masker
|
|
189
|
+
# Initialize masker; the maps (and mask) are already tailored to the
|
|
190
|
+
# input image, so no resampling is needed
|
|
189
191
|
logger.debug("Masking")
|
|
190
192
|
masker = NiftiMapsMasker(
|
|
191
193
|
maps_img=maps_img,
|
|
192
194
|
mask_img=mask_img,
|
|
193
|
-
|
|
195
|
+
resampling_target=None,
|
|
194
196
|
)
|
|
195
197
|
# Mask the input data and extract data
|
|
196
|
-
|
|
198
|
+
# nilearn maskers return 1D arrays for 3D images, keep 2D
|
|
199
|
+
data = np.atleast_2d(masker.fit_transform(t_input_img))
|
|
197
200
|
|
|
198
201
|
# Apply time dimension aggregation if required
|
|
199
202
|
if self.time_method is not None:
|
|
@@ -222,7 +222,8 @@ class ParcelAggregation(BaseMarker):
|
|
|
222
222
|
logger.debug("Masking")
|
|
223
223
|
masker = NiftiMasker(parcellation_bin)
|
|
224
224
|
# Mask the input data and the parcellation
|
|
225
|
-
|
|
225
|
+
# nilearn maskers return 1D arrays for 3D images, keep 2D
|
|
226
|
+
data = np.atleast_2d(masker.fit_transform(t_input_img))
|
|
226
227
|
parcellation_values = np.squeeze(
|
|
227
228
|
masker.transform(parcellation_img)
|
|
228
229
|
).astype(int)
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
from typing import Annotated, Any, ClassVar, Literal
|
|
8
8
|
|
|
9
|
+
import numpy as np
|
|
9
10
|
from pydantic import BeforeValidator, PositiveFloat
|
|
10
11
|
|
|
11
12
|
from ..api.decorators import register_marker
|
|
@@ -221,7 +222,8 @@ class SphereAggregation(BaseMarker):
|
|
|
221
222
|
agg_func=agg_func,
|
|
222
223
|
)
|
|
223
224
|
# Fit and transform the marker on the data
|
|
224
|
-
|
|
225
|
+
# nilearn maskers return 1D arrays for 3D images, keep 2D
|
|
226
|
+
out_values = np.atleast_2d(masker.fit_transform(t_input_img))
|
|
225
227
|
|
|
226
228
|
# Apply time dimension aggregation if required
|
|
227
229
|
if self.time_method is not None:
|
{junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/tests/test_parcel_aggregation.py
RENAMED
|
@@ -115,10 +115,7 @@ def test_ParcelAggregation_3D() -> None:
|
|
|
115
115
|
img=testing_parcellation,
|
|
116
116
|
)
|
|
117
117
|
# Create NiftiMasker
|
|
118
|
-
masker = NiftiMasker(
|
|
119
|
-
testing_parcellation_bin,
|
|
120
|
-
target_affine=element_data["BOLD"]["data"].affine,
|
|
121
|
-
)
|
|
118
|
+
masker = NiftiMasker(testing_parcellation_bin)
|
|
122
119
|
data = masker.fit_transform(element_data["BOLD"]["data"])
|
|
123
120
|
parcellation_values = np.squeeze(
|
|
124
121
|
masker.transform(testing_parcellation)
|
|
@@ -225,9 +222,10 @@ def test_ParcelAggregation_VBM() -> None:
|
|
|
225
222
|
assert_array_equal(tailored.get_fdata(), raw.get_fdata())
|
|
226
223
|
|
|
227
224
|
# Compare with nilearn
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
225
|
+
# nilearn returns a 1D array for 3D images
|
|
226
|
+
nifti_labels_masked_vbm = np.atleast_2d(
|
|
227
|
+
NiftiLabelsMasker(labels_img=raw).fit_transform(vbm["data"])
|
|
228
|
+
)
|
|
231
229
|
assert parcel_agg_vbm_data.shape == (1, 16)
|
|
232
230
|
assert_array_almost_equal(nifti_labels_masked_vbm, parcel_agg_vbm_data)
|
|
233
231
|
|
{junifer-0.0.8.dev264 → junifer-0.0.8.dev270}/junifer/markers/tests/test_sphere_aggregation.py
RENAMED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
from pathlib import Path
|
|
8
8
|
|
|
9
|
+
import numpy as np
|
|
9
10
|
import pytest
|
|
10
11
|
from nilearn.maskers import NiftiSpheresMasker
|
|
11
12
|
from numpy.testing import assert_array_equal
|
|
@@ -111,8 +112,9 @@ def test_SphereAggregation_3D() -> None:
|
|
|
111
112
|
nifti_spheres_masker = NiftiSpheresMasker(
|
|
112
113
|
seeds=testing_coords, radius=RADIUS
|
|
113
114
|
)
|
|
114
|
-
|
|
115
|
-
|
|
115
|
+
# nilearn returns a 1D array for 3D images
|
|
116
|
+
nifti_spheres_masked_vbm_gm = np.atleast_2d(
|
|
117
|
+
nifti_spheres_masker.fit_transform(element_data["VBM_GM"]["data"])
|
|
116
118
|
)
|
|
117
119
|
|
|
118
120
|
assert sphere_agg_vbm_gm_data.ndim == 2
|