junifer 0.0.7.dev153__tar.gz → 0.0.7.dev169__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.7.dev153 → junifer-0.0.7.dev169}/PKG-INFO +1 -1
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/builtin.rst +33 -7
- junifer-0.0.7.dev169/docs/changes/newsfragments/460.feature +1 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/extending/maps.rst +1 -2
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/_version.py +3 -3
- junifer-0.0.7.dev169/junifer/conftest.py +57 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/__init__.pyi +12 -2
- junifer-0.0.7.dev169/junifer/markers/falff/__init__.pyi +5 -0
- junifer-0.0.7.dev169/junifer/markers/falff/falff_maps.py +151 -0
- junifer-0.0.7.dev169/junifer/markers/falff/tests/test_falff_maps.py +167 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/functional_connectivity/__init__.pyi +4 -0
- junifer-0.0.7.dev169/junifer/markers/functional_connectivity/edge_functional_connectivity_maps.py +115 -0
- junifer-0.0.7.dev169/junifer/markers/functional_connectivity/functional_connectivity_maps.py +95 -0
- junifer-0.0.7.dev169/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_maps.py +74 -0
- junifer-0.0.7.dev169/junifer/markers/functional_connectivity/tests/test_functional_connectivity_maps.py +110 -0
- junifer-0.0.7.dev169/junifer/markers/maps_aggregation.py +201 -0
- junifer-0.0.7.dev169/junifer/markers/reho/__init__.pyi +5 -0
- junifer-0.0.7.dev169/junifer/markers/reho/reho_maps.py +161 -0
- junifer-0.0.7.dev169/junifer/markers/reho/tests/test_reho_maps.py +135 -0
- junifer-0.0.7.dev169/junifer/markers/temporal_snr/__init__.pyi +5 -0
- junifer-0.0.7.dev169/junifer/markers/temporal_snr/temporal_snr_maps.py +80 -0
- junifer-0.0.7.dev169/junifer/markers/temporal_snr/tests/test_temporal_snr_maps.py +67 -0
- junifer-0.0.7.dev169/junifer/markers/tests/test_maps_aggregation.py +430 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/typing/_typing.py +1 -3
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer.egg-info/PKG-INFO +1 -1
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer.egg-info/SOURCES.txt +13 -0
- junifer-0.0.7.dev153/junifer/conftest.py +0 -25
- junifer-0.0.7.dev153/junifer/markers/falff/__init__.pyi +0 -4
- junifer-0.0.7.dev153/junifer/markers/reho/__init__.pyi +0 -4
- junifer-0.0.7.dev153/junifer/markers/temporal_snr/__init__.pyi +0 -4
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/.dockerignore +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/.github/dependabot.yml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/.github/pull_request_template.md +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/.github/workflows/ci-docs.yml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/.github/workflows/ci.yml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/.github/workflows/docker-ci-publish.yml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/.github/workflows/docker-docs-publish.yml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/.github/workflows/docs-preview.yml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/.github/workflows/docs.yml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/.github/workflows/lint.yml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/.github/workflows/publish.yml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/.gitignore +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/.gitmodules +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/.pre-commit-config.yaml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/AUTHORS.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/Dockerfile-ci +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/Dockerfile-docs +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/LICENSE.md +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/README.md +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/codecov.yml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/conda-env.yml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/Makefile +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/_static/css/custom.css +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/_static/js/custom.js +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/_templates/versions.html +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/api/api.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/api/cli.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/api/configs.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/api/data.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/api/datagrabbers.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/api/datareaders.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/api/index.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/api/markers.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/api/nilearn.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/api/onthefly.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/api/pipeline.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/api/preprocessing.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/api/stats.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/api/storage.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/api/testing.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/api/utils.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/changes/contributors.inc +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/changes/newsfragments/.gitignore +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/changes/newsfragments/333.enh +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/changes/newsfragments/429.change +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/changes/newsfragments/429.enh +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/changes/newsfragments/432.feature +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/changes/newsfragments/441.misc +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/changes/newsfragments/443.feature +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/changes/newsfragments/444.bugfix +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/changes/newsfragments/450.doc +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/changes/newsfragments/450.feature +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/changes/newsfragments/451.doc +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/changes/newsfragments/451.feature +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/changes/newsfragments/452.doc +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/changes/newsfragments/452.feature +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/changes/newsfragments/456.misc +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/changes/newsfragments/457.misc +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/changes/newsfragments/458.change +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/changes/newsfragments/458.feature +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/changes/newsfragments/458.misc +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/conf.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/contribution.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/extending/coordinates.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/extending/data_dump_asset.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/extending/data_registries.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/extending/data_types.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/extending/datagrabber.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/extending/dependencies.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/extending/extension.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/extending/index.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/extending/marker.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/extending/masks.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/extending/parcellations.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/extending/plugins.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/extending/preprocessor.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/faq.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/help.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/images/junifer_logo.png +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/index.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/installation.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/links.inc +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/maintaining.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/redirect.html +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/starting.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/understanding/data.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/understanding/datagrabber.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/understanding/datareader.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/understanding/index.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/understanding/marker.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/understanding/pipeline.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/understanding/preprocess.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/understanding/storage.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/using/codeless.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/using/configuring.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/using/dumping.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/using/index.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/using/masks.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/using/queueing.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/using/running.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/docs/whats_new.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/examples/README.rst +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/examples/norun_hcpfc_pearson.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/examples/norun_ukbvm_gmd.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/examples/run_compute_parcel_mean.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/examples/run_datagrabber_bids_datalad.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/examples/run_ets_rss_marker.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/examples/run_junifer_julearn.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/examples/run_run_gmd_mean.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/examples/yamls/gmd_mean.yaml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/examples/yamls/ukb_gmd_mean.yaml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/ignore_words.txt +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/decorators.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/functions.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/queue_context/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/queue_context/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/queue_context/gnu_parallel_local_adapter.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/queue_context/htcondor_adapter.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/queue_context/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/queue_context/queue_context_adapter.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/afni/3dRSFC +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/afni/3dReHo +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/afni/afni +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/afni/run_afni_docker.sh +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/ants/ResampleImage +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/ants/antsApplyTransforms +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/ants/run_ants_docker.sh +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/freesurfer/mri_binarize +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/freesurfer/mri_mc +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/freesurfer/mri_pretess +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/freesurfer/mris_convert +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/fsl/applywarp +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/fsl/flirt +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/fsl/img2imgcoord +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/fsl/std2imgcoord +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/run_conda.bash +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/run_conda.zsh +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/run_venv.bash +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/res/run_venv.zsh +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/tests/test_decorators.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/api/tests/test_functions.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/cli/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/cli/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/cli/cli.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/cli/parser.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/cli/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/cli/tests/data/gmd_mean.yaml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/cli/tests/data/gmd_mean_htcondor.yaml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/cli/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/cli/tests/test_cli.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/cli/tests/test_cli_utils.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/cli/tests/test_parser.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/cli/utils.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/configs/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/configs/juseless/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/configs/juseless/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/configs/juseless/datagrabbers/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/configs/juseless/datagrabbers/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/configs/juseless/datagrabbers/ucla.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/configs/juseless/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/_dispatch.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/coordinates/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/coordinates/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/coordinates/_ants_coordinates_warper.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/coordinates/_coordinates.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/coordinates/_fsl_coordinates_warper.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/coordinates/tests/test_coordinates.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/maps/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/maps/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/maps/_ants_maps_warper.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/maps/_fsl_maps_warper.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/maps/_maps.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/maps/tests/test_maps.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/masks/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/masks/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/masks/_ants_mask_warper.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/masks/_fsl_mask_warper.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/masks/_masks.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/masks/tests/test_masks.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/parcellations/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/parcellations/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/parcellations/_ants_parcellation_warper.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/parcellations/_fsl_parcellation_warper.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/parcellations/_parcellations.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/parcellations/tests/test_parcellations.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/pipeline_data_registry_base.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/template_spaces.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/tests/test_data_utils.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/tests/test_dispatch.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/tests/test_template_spaces.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/data/utils.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/aomic/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/aomic/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/aomic/id1000.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/aomic/piop1.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/aomic/piop2.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/aomic/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/aomic/tests/test_id1000.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/aomic/tests/test_piop1.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/aomic/tests/test_piop2.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/base.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/datalad_base.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/dmcc13_benchmark.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/hcp1200/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/hcp1200/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/hcp1200/hcp1200.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/hcp1200/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/multiple.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/pattern.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/pattern_datalad.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/pattern_validation_mixin.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/tests/test_base.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/tests/test_multiple.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/tests/test_pattern.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datagrabber/tests/test_pattern_validation_mixin.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datareader/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datareader/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datareader/default.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datareader/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/datareader/tests/test_default_reader.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/external/BrainPrint/brainprint/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/external/BrainPrint/brainprint/_version.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/external/BrainPrint/brainprint/asymmetry.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/external/BrainPrint/brainprint/brainprint.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/external/BrainPrint/brainprint/surfaces.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/external/BrainPrint/brainprint/utils/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/external/BrainPrint/brainprint/utils/_config.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/external/BrainPrint/brainprint/utils/utils.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/external/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/external/h5io/h5io/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/external/h5io/h5io/_h5io.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/external/h5io/h5io/_version.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/external/h5io/h5io/chunked_array.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/external/h5io/h5io/chunked_list.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/external/nilearn/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/external/nilearn/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/external/nilearn/junifer_connectivity_measure.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/external/nilearn/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/base.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/brainprint.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/complexity/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/complexity/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/complexity/complexity_base.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/complexity/hurst_exponent.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/complexity/multiscale_entropy_auc.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/complexity/perm_entropy.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/complexity/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/complexity/range_entropy.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/complexity/range_entropy_auc.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/complexity/sample_entropy.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/complexity/weighted_perm_entropy.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/ets_rss.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/falff/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/falff/_afni_falff.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/falff/_junifer_falff.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/falff/falff_base.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/falff/falff_parcels.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/falff/falff_spheres.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/falff/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/functional_connectivity/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/functional_connectivity/functional_connectivity_base.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/functional_connectivity/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/parcel_aggregation.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/reho/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/reho/_afni_reho.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/reho/_junifer_reho.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/reho/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/reho/reho_base.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/reho/reho_parcels.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/reho/reho_spheres.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/sphere_aggregation.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/temporal_snr/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/temporal_snr/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/temporal_snr/temporal_snr_base.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/temporal_snr/temporal_snr_parcels.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/temporal_snr/temporal_snr_spheres.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/tests/test_brainprint.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/tests/test_ets_rss.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/tests/test_marker_utils.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/tests/test_markers_base.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/tests/test_parcel_aggregation.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/tests/test_sphere_aggregation.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/utils.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/onthefly/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/onthefly/_brainprint.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/onthefly/read_transform.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/onthefly/tests/test_read_transform.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/pipeline/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/pipeline/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/pipeline/_data_object_dumper.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/pipeline/marker_collection.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/pipeline/pipeline_component_registry.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/pipeline/pipeline_step_mixin.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/pipeline/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/pipeline/tests/test_data_object_dumper.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/pipeline/tests/test_marker_collection.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/pipeline/tests/test_pipeline_component_registry.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/pipeline/update_meta_mixin.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/pipeline/utils.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/pipeline/workdir_manager.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/_temporal_filter.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/_temporal_slicer.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/base.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/confounds/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/confounds/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/confounds/fmriprep_confound_remover.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/confounds/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/smoothing/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/smoothing/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/smoothing/_afni_smoothing.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/smoothing/_fsl_smoothing.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/smoothing/_nilearn_smoothing.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/smoothing/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/smoothing/smoothing.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/smoothing/tests/test_smoothing.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/tests/test_temporal_filter.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/tests/test_temporal_slicer.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/warping/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/warping/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/warping/_ants_warper.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/warping/_fsl_warper.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/warping/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/warping/space_warper.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/stats.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/storage/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/storage/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/storage/base.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/storage/hdf5.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/storage/pandas_base.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/storage/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/storage/sqlite.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/storage/tests/test_hdf5.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/storage/tests/test_pandas_base.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/storage/tests/test_sqlite.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/storage/tests/test_storage_base.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/storage/tests/test_utils.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/storage/utils.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/testing/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/testing/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/testing/datagrabbers.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/testing/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/testing/registry.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/testing/tests/test_testing_registry.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/testing/utils.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/tests/test_main.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/tests/test_stats.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/typing/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/typing/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/utils/__init__.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/utils/__init__.pyi +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/utils/_config.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/utils/_yaml.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/utils/fs.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/utils/helpers.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/utils/logging.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/utils/py.typed +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/utils/singleton.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/utils/tests/test_config.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/utils/tests/test_fs.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/utils/tests/test_helpers.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/utils/tests/test_logging.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer.egg-info/dependency_links.txt +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer.egg-info/entry_points.txt +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer.egg-info/requires.txt +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer.egg-info/top_level.txt +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/pyproject.toml +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/setup.cfg +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/setup.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/tools/create_aomic1000_example_dataset.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/tools/create_aomicpiop1_example_dataset.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/tools/create_aomicpiop2_example_dataset.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/tools/create_bids_example_dataset.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/tools/create_bids_example_dataset_sessions.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/tools/create_hcp1200_example_dataset.py +0 -0
- {junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/tox.ini +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: junifer
|
3
|
-
Version: 0.0.7.
|
3
|
+
Version: 0.0.7.dev169
|
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>
|
@@ -209,22 +209,30 @@ Available
|
|
209
209
|
- Apply parcellation and perform aggregation function
|
210
210
|
- Done
|
211
211
|
- 0.0.1
|
212
|
-
* - :class:`.
|
213
|
-
-
|
212
|
+
* - :class:`.SphereAggregation`
|
213
|
+
- Spherical aggregation using mean
|
214
214
|
- Done
|
215
215
|
- 0.0.1
|
216
|
-
* - :class:`.
|
217
|
-
-
|
216
|
+
* - :class:`.MapsAggregation`
|
217
|
+
- Apply maps (probabilistic atlas) and extract mean time series per region
|
218
218
|
- Done
|
219
|
-
- 0.0.
|
220
|
-
* - :class:`.
|
221
|
-
-
|
219
|
+
- 0.0.7
|
220
|
+
* - :class:`.FunctionalConnectivityParcels`
|
221
|
+
- Compute functional connectivity over parcellation
|
222
222
|
- Done
|
223
223
|
- 0.0.1
|
224
224
|
* - :class:`.FunctionalConnectivitySpheres`
|
225
225
|
- Compute functional connectivity over spheres placed on coordinates
|
226
226
|
- Done
|
227
227
|
- 0.0.1
|
228
|
+
* - :class:`.FunctionalConnectivityMaps`
|
229
|
+
- Compute functional connectivity over maps (probabilistic atlas)
|
230
|
+
- Done
|
231
|
+
- 0.0.7
|
232
|
+
* - :class:`.CrossParcellationFC`
|
233
|
+
- Compute functional connectivity across two parcellations
|
234
|
+
- Done
|
235
|
+
- 0.0.1
|
228
236
|
* - :class:`.RSSETSMarker`
|
229
237
|
- Compute root sum of squares of edgewise timeseries
|
230
238
|
- Done
|
@@ -237,6 +245,10 @@ Available
|
|
237
245
|
- Calculate regional homogeneity over spheres placed on coordinates
|
238
246
|
- Done
|
239
247
|
- 0.0.1
|
248
|
+
* - :class:`.ReHoMaps`
|
249
|
+
- Calculate regional homogeneity over maps (probabilistic atlas)
|
250
|
+
- Done
|
251
|
+
- 0.0.7
|
240
252
|
* - :class:`.ALFFParcels`
|
241
253
|
- Calculate (f)ALFF and aggregate using parcellations
|
242
254
|
- Done
|
@@ -245,6 +257,10 @@ Available
|
|
245
257
|
- Calculate (f)ALFF and aggregate using spheres placed on coordinates
|
246
258
|
- Done
|
247
259
|
- 0.0.1
|
260
|
+
* - :class:`.ALFFMaps`
|
261
|
+
- Calculate (f)ALFF and aggregate using maps (probabilistic atlas)
|
262
|
+
- Done
|
263
|
+
- 0.0.7
|
248
264
|
* - :class:`.EdgeCentricFCParcels`
|
249
265
|
- | Calculate edge-centric functional connectivity over parcellation, as
|
250
266
|
| found in
|
@@ -257,6 +273,12 @@ Available
|
|
257
273
|
| `Jo et al. (2021) <https://doi.org/10.1016/j.neuroimage.2021.118204>`_
|
258
274
|
- Done
|
259
275
|
- 0.0.2
|
276
|
+
* - :class:`.EdgeCentricFCMaps`
|
277
|
+
- | Calculate edge-centric functional connectivity over maps (probabilistic atlas),
|
278
|
+
| as found in
|
279
|
+
| `Jo et al. (2021) <https://doi.org/10.1016/j.neuroimage.2021.118204>`_
|
280
|
+
- Done
|
281
|
+
- 0.0.7
|
260
282
|
* - :class:`.TemporalSNRParcels`
|
261
283
|
- Calculate temporal signal-to-noise ratio using parcellations
|
262
284
|
- Done
|
@@ -266,6 +288,10 @@ Available
|
|
266
288
|
| coordinates
|
267
289
|
- Done
|
268
290
|
- 0.0.2
|
291
|
+
* - :class:`.TemporalSNRMaps`
|
292
|
+
- Calculate temporal signal-to-noise ratio using maps (probabilistic atlas)
|
293
|
+
- Done
|
294
|
+
- 0.0.7
|
269
295
|
* - :class:`.HurstExponent`
|
270
296
|
- | Calculate Hurst exponent of a time series as found in
|
271
297
|
| `Peng et al. (1995) <https://doi.org/10.1063/1.166141>`_
|
@@ -0,0 +1 @@
|
|
1
|
+
Introduce :class:`.MapsAggregation`, :class:`.FunctionalConnectivityMaps`, :class:`.EdgeCentricFCMaps`, :class:`.ReHoMaps`, :class:`.ALFFMaps` and :class:`.TemporalSNRMaps` by `Synchon Mandal`_
|
@@ -116,7 +116,7 @@ file, we can save the above code in a Python file, say
|
|
116
116
|
Afterwards continue configuring the rest of the pipeline in this YAML file, and
|
117
117
|
you will be able to use this maps using the name you gave the
|
118
118
|
maps when registering it. For example, we can add a
|
119
|
-
|
119
|
+
:class:`.MapsAggregation` Marker to demonstrate how this can be done:
|
120
120
|
|
121
121
|
.. code-block:: yaml
|
122
122
|
|
@@ -124,7 +124,6 @@ maps when registering it. For example, we can add a
|
|
124
124
|
- name: CustomMaps_mean
|
125
125
|
kind: MapsAggregation
|
126
126
|
maps: my_custom_maps
|
127
|
-
method: mean
|
128
127
|
|
129
128
|
Now, you can simply use this YAML file to run your pipeline.
|
130
129
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
28
28
|
commit_id: COMMIT_ID
|
29
29
|
__commit_id__: COMMIT_ID
|
30
30
|
|
31
|
-
__version__ = version = '0.0.7.
|
32
|
-
__version_tuple__ = version_tuple = (0, 0, 7, '
|
31
|
+
__version__ = version = '0.0.7.dev169'
|
32
|
+
__version_tuple__ = version_tuple = (0, 0, 7, 'dev169')
|
33
33
|
|
34
|
-
__commit_id__ = commit_id = '
|
34
|
+
__commit_id__ = commit_id = 'g130238f84'
|
@@ -0,0 +1,57 @@
|
|
1
|
+
"""Provide conftest for pytest."""
|
2
|
+
|
3
|
+
# Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
|
4
|
+
# Synchon Mandal <s.mandal@fz-juelich.de>
|
5
|
+
# License: AGPL
|
6
|
+
|
7
|
+
from pathlib import Path
|
8
|
+
|
9
|
+
import pytest
|
10
|
+
|
11
|
+
from junifer.datagrabber import PatternDataladDataGrabber
|
12
|
+
from junifer.utils.singleton import Singleton
|
13
|
+
|
14
|
+
|
15
|
+
@pytest.fixture(autouse=True)
|
16
|
+
def reset_singletons() -> None:
|
17
|
+
"""Reset all singletons."""
|
18
|
+
to_clean = ["WorkDirManager"]
|
19
|
+
to_remove = [
|
20
|
+
v for k, v in Singleton.instances.items() if k.__name__ in to_clean
|
21
|
+
]
|
22
|
+
Singleton.instances = {
|
23
|
+
k: v
|
24
|
+
for k, v in Singleton.instances.items()
|
25
|
+
if k.__name__ not in to_clean
|
26
|
+
}
|
27
|
+
# Force deleting the singletons
|
28
|
+
for elem in to_remove:
|
29
|
+
del elem
|
30
|
+
|
31
|
+
|
32
|
+
@pytest.fixture
|
33
|
+
def maps_datagrabber(tmp_path: Path) -> PatternDataladDataGrabber:
|
34
|
+
"""Return a PatternDataladDataGrabber for maps testing.
|
35
|
+
|
36
|
+
Parameters
|
37
|
+
----------
|
38
|
+
tmp_path : pathlib.Path
|
39
|
+
The path to the test directory.
|
40
|
+
|
41
|
+
"""
|
42
|
+
dg = PatternDataladDataGrabber(
|
43
|
+
uri="https://github.com/OpenNeuroDatasets/ds005226.git",
|
44
|
+
types=["BOLD"],
|
45
|
+
patterns={
|
46
|
+
"BOLD": {
|
47
|
+
"pattern": (
|
48
|
+
"derivatives/pre-processed_data/space-MNI/{subject}/"
|
49
|
+
"{subject-padded}_task-{task}_run-{run}_space-MNI152NLin6Asym"
|
50
|
+
"_res-2_desc-preproc_bold.nii.gz"
|
51
|
+
),
|
52
|
+
"space": "MNI152NLin6Asym",
|
53
|
+
},
|
54
|
+
},
|
55
|
+
replacements=["subject", "subject-padded", "task", "run"],
|
56
|
+
)
|
57
|
+
return dg
|
@@ -1,17 +1,23 @@
|
|
1
1
|
__all__ = [
|
2
2
|
"BaseMarker",
|
3
3
|
"RSSETSMarker",
|
4
|
+
"MapsAggregation",
|
4
5
|
"ParcelAggregation",
|
5
6
|
"SphereAggregation",
|
7
|
+
"FunctionalConnectivityMaps",
|
6
8
|
"FunctionalConnectivityParcels",
|
7
9
|
"FunctionalConnectivitySpheres",
|
8
10
|
"CrossParcellationFC",
|
11
|
+
"EdgeCentricFCMaps",
|
9
12
|
"EdgeCentricFCParcels",
|
10
13
|
"EdgeCentricFCSpheres",
|
14
|
+
"ReHoMaps",
|
11
15
|
"ReHoParcels",
|
12
16
|
"ReHoSpheres",
|
17
|
+
"ALFFMaps",
|
13
18
|
"ALFFParcels",
|
14
19
|
"ALFFSpheres",
|
20
|
+
"TemporalSNRMaps",
|
15
21
|
"TemporalSNRParcels",
|
16
22
|
"TemporalSNRSpheres",
|
17
23
|
"BrainPrint",
|
@@ -19,18 +25,22 @@ __all__ = [
|
|
19
25
|
|
20
26
|
from .base import BaseMarker
|
21
27
|
from .ets_rss import RSSETSMarker
|
28
|
+
from .maps_aggregation import MapsAggregation
|
22
29
|
from .parcel_aggregation import ParcelAggregation
|
23
30
|
from .sphere_aggregation import SphereAggregation
|
24
31
|
from .functional_connectivity import (
|
32
|
+
FunctionalConnectivityMaps,
|
25
33
|
FunctionalConnectivityParcels,
|
26
34
|
FunctionalConnectivitySpheres,
|
27
35
|
CrossParcellationFC,
|
36
|
+
EdgeCentricFCMaps,
|
28
37
|
EdgeCentricFCParcels,
|
29
38
|
EdgeCentricFCSpheres,
|
30
39
|
)
|
31
|
-
from .reho import ReHoParcels, ReHoSpheres
|
32
|
-
from .falff import ALFFParcels, ALFFSpheres
|
40
|
+
from .reho import ReHoMaps, ReHoParcels, ReHoSpheres
|
41
|
+
from .falff import ALFFMaps, ALFFParcels, ALFFSpheres
|
33
42
|
from .temporal_snr import (
|
43
|
+
TemporalSNRMaps,
|
34
44
|
TemporalSNRParcels,
|
35
45
|
TemporalSNRSpheres,
|
36
46
|
)
|
@@ -0,0 +1,151 @@
|
|
1
|
+
"""Provide class for ALFF / fALFF on maps."""
|
2
|
+
|
3
|
+
# Authors: Synchon Mandal <s.mandal@fz-juelich.de>
|
4
|
+
# License: AGPL
|
5
|
+
|
6
|
+
from typing import Any, Optional, Union
|
7
|
+
|
8
|
+
from ...api.decorators import register_marker
|
9
|
+
from ...utils import logger
|
10
|
+
from ..maps_aggregation import MapsAggregation
|
11
|
+
from .falff_base import ALFFBase
|
12
|
+
|
13
|
+
|
14
|
+
__all__ = ["ALFFMaps"]
|
15
|
+
|
16
|
+
|
17
|
+
@register_marker
|
18
|
+
class ALFFMaps(ALFFBase):
|
19
|
+
"""Class for ALFF / fALFF on maps.
|
20
|
+
|
21
|
+
Parameters
|
22
|
+
----------
|
23
|
+
maps : str
|
24
|
+
The name of the map(s) to use.
|
25
|
+
See :func:`.list_data` for options.
|
26
|
+
using : {"junifer", "afni"}
|
27
|
+
Implementation to use for computing ALFF:
|
28
|
+
|
29
|
+
* "junifer" : Use ``junifer``'s own ALFF implementation
|
30
|
+
* "afni" : Use AFNI's ``3dRSFC``
|
31
|
+
|
32
|
+
highpass : positive float, optional
|
33
|
+
The highpass cutoff frequency for the bandpass filter. If 0,
|
34
|
+
it will not apply a highpass filter (default 0.01).
|
35
|
+
lowpass : positive float, optional
|
36
|
+
The lowpass cutoff frequency for the bandpass filter (default 0.1).
|
37
|
+
tr : positive float, optional
|
38
|
+
The Repetition Time of the BOLD data. If None, will extract
|
39
|
+
the TR from NIfTI header (default None).
|
40
|
+
masks : str, dict or list of dict or str, optional
|
41
|
+
The specification of the masks to apply to regions before extracting
|
42
|
+
signals. Check :ref:`Using Masks <using_masks>` for more details.
|
43
|
+
If None, will not apply any mask (default None).
|
44
|
+
name : str, optional
|
45
|
+
The name of the marker. If None, will use the class name (default
|
46
|
+
None).
|
47
|
+
|
48
|
+
Notes
|
49
|
+
-----
|
50
|
+
The ``tr`` parameter is crucial for the correctness of fALFF/ALFF
|
51
|
+
computation. If a dataset is correctly preprocessed, the ``tr`` should be
|
52
|
+
extracted from the NIfTI without any issue. However, it has been
|
53
|
+
reported that some preprocessed data might not have the correct ``tr`` in
|
54
|
+
the NIfTI header.
|
55
|
+
|
56
|
+
ALFF/fALFF are computed using a bandpass butterworth filter. See
|
57
|
+
:func:`scipy.signal.butter` and :func:`scipy.signal.filtfilt` for more
|
58
|
+
details.
|
59
|
+
|
60
|
+
"""
|
61
|
+
|
62
|
+
def __init__(
|
63
|
+
self,
|
64
|
+
maps: str,
|
65
|
+
using: str,
|
66
|
+
highpass: float = 0.01,
|
67
|
+
lowpass: float = 0.1,
|
68
|
+
tr: Optional[float] = None,
|
69
|
+
masks: Union[str, dict, list[Union[dict, str]], None] = None,
|
70
|
+
name: Optional[str] = None,
|
71
|
+
) -> None:
|
72
|
+
# Superclass init first to validate `using` parameter
|
73
|
+
super().__init__(
|
74
|
+
highpass=highpass,
|
75
|
+
lowpass=lowpass,
|
76
|
+
using=using,
|
77
|
+
tr=tr,
|
78
|
+
name=name,
|
79
|
+
)
|
80
|
+
self.maps = maps
|
81
|
+
self.masks = masks
|
82
|
+
|
83
|
+
def compute(
|
84
|
+
self,
|
85
|
+
input: dict[str, Any],
|
86
|
+
extra_input: Optional[dict[str, Any]] = None,
|
87
|
+
) -> dict[str, Any]:
|
88
|
+
"""Compute.
|
89
|
+
|
90
|
+
Parameters
|
91
|
+
----------
|
92
|
+
input : dict
|
93
|
+
The BOLD data as dictionary.
|
94
|
+
extra_input : dict, optional
|
95
|
+
The other fields in the pipeline data object (default None).
|
96
|
+
|
97
|
+
Returns
|
98
|
+
-------
|
99
|
+
dict
|
100
|
+
The computed result as dictionary. This will be either returned
|
101
|
+
to the user or stored in the storage by calling the store method
|
102
|
+
with this as a parameter. The dictionary has the following keys:
|
103
|
+
|
104
|
+
* ``alff`` : dictionary with the following keys:
|
105
|
+
|
106
|
+
- ``data`` : ROI values as ``numpy.ndarray``
|
107
|
+
- ``col_names`` : ROI labels as list of str
|
108
|
+
|
109
|
+
* ``falff`` : dictionary with the following keys:
|
110
|
+
|
111
|
+
- ``data`` : ROI values as ``numpy.ndarray``
|
112
|
+
- ``col_names`` : ROI labels as list of str
|
113
|
+
|
114
|
+
"""
|
115
|
+
logger.info("Calculating ALFF / fALFF for maps")
|
116
|
+
|
117
|
+
# Compute ALFF + fALFF
|
118
|
+
alff_output, falff_output, alff_output_path, falff_output_path = (
|
119
|
+
self._compute(input_data=input)
|
120
|
+
)
|
121
|
+
|
122
|
+
# Perform aggregation on ALFF + fALFF
|
123
|
+
aggregation_alff_input = dict(input.items())
|
124
|
+
aggregation_falff_input = dict(input.items())
|
125
|
+
aggregation_alff_input["data"] = alff_output
|
126
|
+
aggregation_falff_input["data"] = falff_output
|
127
|
+
aggregation_alff_input["path"] = alff_output_path
|
128
|
+
aggregation_falff_input["path"] = falff_output_path
|
129
|
+
|
130
|
+
return {
|
131
|
+
"alff": {
|
132
|
+
**MapsAggregation(
|
133
|
+
maps=self.maps,
|
134
|
+
masks=self.masks,
|
135
|
+
on="BOLD",
|
136
|
+
).compute(
|
137
|
+
input=aggregation_alff_input,
|
138
|
+
extra_input=extra_input,
|
139
|
+
)["aggregation"],
|
140
|
+
},
|
141
|
+
"falff": {
|
142
|
+
**MapsAggregation(
|
143
|
+
maps=self.maps,
|
144
|
+
masks=self.masks,
|
145
|
+
on="BOLD",
|
146
|
+
).compute(
|
147
|
+
input=aggregation_falff_input,
|
148
|
+
extra_input=extra_input,
|
149
|
+
)["aggregation"],
|
150
|
+
},
|
151
|
+
}
|
@@ -0,0 +1,167 @@
|
|
1
|
+
"""Provide tests for ALFFMaps."""
|
2
|
+
|
3
|
+
# Authors: Synchon Mandal <s.mandal@fz-juelich.de>
|
4
|
+
# License: AGPL
|
5
|
+
|
6
|
+
import logging
|
7
|
+
from pathlib import Path
|
8
|
+
|
9
|
+
import pytest
|
10
|
+
import scipy as sp
|
11
|
+
|
12
|
+
from junifer.datagrabber import PatternDataladDataGrabber
|
13
|
+
from junifer.datareader import DefaultDataReader
|
14
|
+
from junifer.markers import ALFFMaps
|
15
|
+
from junifer.pipeline import WorkDirManager
|
16
|
+
from junifer.pipeline.utils import _check_afni
|
17
|
+
from junifer.storage import HDF5FeatureStorage
|
18
|
+
|
19
|
+
|
20
|
+
MAPS = "Smith_rsn_10"
|
21
|
+
|
22
|
+
|
23
|
+
@pytest.mark.parametrize(
|
24
|
+
"feature",
|
25
|
+
[
|
26
|
+
"alff",
|
27
|
+
"falff",
|
28
|
+
],
|
29
|
+
)
|
30
|
+
def test_ALFFMaps_get_output_type(feature: str) -> None:
|
31
|
+
"""Test ALFFMaps get_output_type().
|
32
|
+
|
33
|
+
Parameters
|
34
|
+
----------
|
35
|
+
feature : str
|
36
|
+
The parametrized feature name.
|
37
|
+
|
38
|
+
"""
|
39
|
+
assert "vector" == ALFFMaps(
|
40
|
+
maps=MAPS,
|
41
|
+
using="junifer",
|
42
|
+
).get_output_type(input_type="BOLD", output_feature=feature)
|
43
|
+
|
44
|
+
|
45
|
+
def test_ALFFMaps(
|
46
|
+
caplog: pytest.LogCaptureFixture,
|
47
|
+
tmp_path: Path,
|
48
|
+
maps_datagrabber: PatternDataladDataGrabber,
|
49
|
+
) -> None:
|
50
|
+
"""Test ALFFMaps.
|
51
|
+
|
52
|
+
Parameters
|
53
|
+
----------
|
54
|
+
caplog : pytest.LogCaptureFixture
|
55
|
+
The pytest.LogCaptureFixture object.
|
56
|
+
tmp_path : pathlib.Path
|
57
|
+
The path to the test directory.
|
58
|
+
maps_datagrabber : PatternDataladDataGrabber
|
59
|
+
The testing PatternDataladDataGrabber, as fixture.
|
60
|
+
|
61
|
+
"""
|
62
|
+
# Update workdir to current test's tmp_path
|
63
|
+
WorkDirManager().workdir = tmp_path
|
64
|
+
|
65
|
+
with caplog.at_level(logging.DEBUG):
|
66
|
+
with maps_datagrabber as dg:
|
67
|
+
element = dg[("sub-01", "sub-001", "rest", "1")]
|
68
|
+
element_data = DefaultDataReader().fit_transform(element)
|
69
|
+
|
70
|
+
# Initialize marker
|
71
|
+
marker = ALFFMaps(
|
72
|
+
maps=MAPS,
|
73
|
+
using="junifer",
|
74
|
+
)
|
75
|
+
# Check correct output
|
76
|
+
for name in ["alff", "falff"]:
|
77
|
+
assert "vector" == marker.get_output_type(
|
78
|
+
input_type="BOLD", output_feature=name
|
79
|
+
)
|
80
|
+
|
81
|
+
# Fit transform marker on data
|
82
|
+
output = marker.fit_transform(element_data)
|
83
|
+
|
84
|
+
assert "Creating cache" in caplog.text
|
85
|
+
|
86
|
+
# Get BOLD output
|
87
|
+
assert "BOLD" in output
|
88
|
+
for feature in output["BOLD"].keys():
|
89
|
+
output_bold = output["BOLD"][feature]
|
90
|
+
# Assert BOLD output keys
|
91
|
+
assert "data" in output_bold
|
92
|
+
assert "col_names" in output_bold
|
93
|
+
|
94
|
+
output_bold_data = output_bold["data"]
|
95
|
+
# Assert BOLD output data dimension
|
96
|
+
assert output_bold_data.ndim == 2
|
97
|
+
assert output_bold_data.shape == (1, 10)
|
98
|
+
|
99
|
+
# Reset log capture
|
100
|
+
caplog.clear()
|
101
|
+
# Initialize storage
|
102
|
+
storage = HDF5FeatureStorage(tmp_path / "falff_maps.hdf5")
|
103
|
+
# Fit transform marker on data with storage
|
104
|
+
marker.fit_transform(
|
105
|
+
input=element_data,
|
106
|
+
storage=storage,
|
107
|
+
)
|
108
|
+
# Check stored feature name
|
109
|
+
features = storage.list_features()
|
110
|
+
assert any(
|
111
|
+
x["name"] in ["BOLD_ALFFMaps_alff", "BOLD_ALFFMaps_falff"]
|
112
|
+
for x in features.values()
|
113
|
+
)
|
114
|
+
# Cache working correctly
|
115
|
+
assert "Creating cache" not in caplog.text
|
116
|
+
|
117
|
+
|
118
|
+
@pytest.mark.skipif(
|
119
|
+
_check_afni() is False, reason="requires AFNI to be in PATH"
|
120
|
+
)
|
121
|
+
def test_ALFFMaps_comparison(
|
122
|
+
tmp_path: Path, maps_datagrabber: PatternDataladDataGrabber
|
123
|
+
) -> None:
|
124
|
+
"""Test ALFFMaps implementation comparison.
|
125
|
+
|
126
|
+
Parameters
|
127
|
+
----------
|
128
|
+
tmp_path : pathlib.Path
|
129
|
+
The path to the test directory.
|
130
|
+
maps_datagrabber : PatternDataladDataGrabber
|
131
|
+
The testing PatternDataladDataGrabber, as fixture.
|
132
|
+
|
133
|
+
"""
|
134
|
+
# Update workdir to current test's tmp_path
|
135
|
+
WorkDirManager().workdir = tmp_path
|
136
|
+
|
137
|
+
with maps_datagrabber as dg:
|
138
|
+
element = dg[("sub-01", "sub-001", "rest", "1")]
|
139
|
+
element_data = DefaultDataReader().fit_transform(element)
|
140
|
+
|
141
|
+
# Initialize marker
|
142
|
+
junifer_marker = ALFFMaps(
|
143
|
+
maps=MAPS,
|
144
|
+
using="junifer",
|
145
|
+
)
|
146
|
+
# Fit transform marker on data
|
147
|
+
junifer_output = junifer_marker.fit_transform(element_data)
|
148
|
+
# Get BOLD output
|
149
|
+
junifer_output_bold = junifer_output["BOLD"]
|
150
|
+
|
151
|
+
# Initialize marker
|
152
|
+
afni_marker = ALFFMaps(
|
153
|
+
maps=MAPS,
|
154
|
+
using="afni",
|
155
|
+
)
|
156
|
+
# Fit transform marker on data
|
157
|
+
afni_output = afni_marker.fit_transform(element_data)
|
158
|
+
# Get BOLD output
|
159
|
+
afni_output_bold = afni_output["BOLD"]
|
160
|
+
|
161
|
+
for feature in afni_output_bold.keys():
|
162
|
+
# Check for Pearson correlation coefficient
|
163
|
+
r, _ = sp.stats.pearsonr(
|
164
|
+
junifer_output_bold[feature]["data"][0],
|
165
|
+
afni_output_bold[feature]["data"][0],
|
166
|
+
)
|
167
|
+
assert r > 0.97
|
{junifer-0.0.7.dev153 → junifer-0.0.7.dev169}/junifer/markers/functional_connectivity/__init__.pyi
RENAMED
@@ -1,13 +1,17 @@
|
|
1
1
|
__all__ = [
|
2
|
+
"FunctionalConnectivityMaps",
|
2
3
|
"FunctionalConnectivityParcels",
|
3
4
|
"FunctionalConnectivitySpheres",
|
4
5
|
"CrossParcellationFC",
|
6
|
+
"EdgeCentricFCMaps",
|
5
7
|
"EdgeCentricFCParcels",
|
6
8
|
"EdgeCentricFCSpheres",
|
7
9
|
]
|
8
10
|
|
11
|
+
from .functional_connectivity_maps import FunctionalConnectivityMaps
|
9
12
|
from .functional_connectivity_parcels import FunctionalConnectivityParcels
|
10
13
|
from .functional_connectivity_spheres import FunctionalConnectivitySpheres
|
11
14
|
from .crossparcellation_functional_connectivity import CrossParcellationFC
|
15
|
+
from .edge_functional_connectivity_maps import EdgeCentricFCMaps
|
12
16
|
from .edge_functional_connectivity_parcels import EdgeCentricFCParcels
|
13
17
|
from .edge_functional_connectivity_spheres import EdgeCentricFCSpheres
|
junifer-0.0.7.dev169/junifer/markers/functional_connectivity/edge_functional_connectivity_maps.py
ADDED
@@ -0,0 +1,115 @@
|
|
1
|
+
"""Provide class for edge-centric functional connectivity using maps."""
|
2
|
+
|
3
|
+
# Authors: Synchon Mandal <s.mandal@fz-juelich.de>
|
4
|
+
# License: AGPL
|
5
|
+
|
6
|
+
from typing import Any, Optional, Union
|
7
|
+
|
8
|
+
from ...api.decorators import register_marker
|
9
|
+
from ..maps_aggregation import MapsAggregation
|
10
|
+
from ..utils import _ets
|
11
|
+
from .functional_connectivity_base import FunctionalConnectivityBase
|
12
|
+
|
13
|
+
|
14
|
+
__all__ = ["EdgeCentricFCMaps"]
|
15
|
+
|
16
|
+
|
17
|
+
@register_marker
|
18
|
+
class EdgeCentricFCMaps(FunctionalConnectivityBase):
|
19
|
+
"""Class for edge-centric FC using maps.
|
20
|
+
|
21
|
+
Parameters
|
22
|
+
----------
|
23
|
+
maps : str
|
24
|
+
The name of the map(s) to use.
|
25
|
+
See :func:`.list_data` for options.
|
26
|
+
conn_method : str, optional
|
27
|
+
The method to perform connectivity measure using.
|
28
|
+
See :class:`.JuniferConnectivityMeasure` for options
|
29
|
+
(default "correlation").
|
30
|
+
conn_method_params : dict, optional
|
31
|
+
Parameters to pass to :class:`.JuniferConnectivityMeasure`.
|
32
|
+
If None, ``{"empirical": True}`` will be used, which would mean
|
33
|
+
:class:`sklearn.covariance.EmpiricalCovariance` is used to compute
|
34
|
+
covariance. If usage of :class:`sklearn.covariance.LedoitWolf` is
|
35
|
+
desired, ``{"empirical": False}`` should be passed
|
36
|
+
(default None).
|
37
|
+
masks : str, dict or list of dict or str, optional
|
38
|
+
The specification of the masks to apply to regions before extracting
|
39
|
+
signals. Check :ref:`Using Masks <using_masks>` for more details.
|
40
|
+
If None, will not apply any mask (default None).
|
41
|
+
name : str, optional
|
42
|
+
The name of the marker. If None, will use
|
43
|
+
``BOLD_EdgeCentricFCParcels`` (default None).
|
44
|
+
|
45
|
+
References
|
46
|
+
----------
|
47
|
+
.. [1] Jo et al. (2021)
|
48
|
+
Subject identification using edge-centric functional connectivity.
|
49
|
+
https://doi.org/10.1016/j.neuroimage.2021.118204
|
50
|
+
|
51
|
+
"""
|
52
|
+
|
53
|
+
def __init__(
|
54
|
+
self,
|
55
|
+
maps: str,
|
56
|
+
conn_method: str = "correlation",
|
57
|
+
conn_method_params: Optional[dict] = None,
|
58
|
+
masks: Union[str, dict, list[Union[dict, str]], None] = None,
|
59
|
+
name: Optional[str] = None,
|
60
|
+
) -> None:
|
61
|
+
self.maps = maps
|
62
|
+
super().__init__(
|
63
|
+
conn_method=conn_method,
|
64
|
+
conn_method_params=conn_method_params,
|
65
|
+
masks=masks,
|
66
|
+
name=name,
|
67
|
+
)
|
68
|
+
|
69
|
+
def aggregate(
|
70
|
+
self, input: dict[str, Any], extra_input: Optional[dict] = None
|
71
|
+
) -> dict:
|
72
|
+
"""Perform maps aggregation and ETS computation.
|
73
|
+
|
74
|
+
Parameters
|
75
|
+
----------
|
76
|
+
input : dict
|
77
|
+
A single input from the pipeline data object in which to compute
|
78
|
+
the marker.
|
79
|
+
extra_input : dict, optional
|
80
|
+
The other fields in the pipeline data object. Useful for accessing
|
81
|
+
other data kind that needs to be used in the computation. For
|
82
|
+
example, the functional connectivity markers can make use of the
|
83
|
+
confounds if available (default None).
|
84
|
+
|
85
|
+
Returns
|
86
|
+
-------
|
87
|
+
dict
|
88
|
+
The computed result as dictionary. This will be either returned
|
89
|
+
to the user or stored in the storage by calling the store method
|
90
|
+
with this as a parameter. The dictionary has the following keys:
|
91
|
+
|
92
|
+
* ``aggregation`` : dictionary with the following keys:
|
93
|
+
|
94
|
+
- ``data`` : ROI values as ``numpy.ndarray``
|
95
|
+
- ``col_names`` : ROI labels as list of str
|
96
|
+
|
97
|
+
"""
|
98
|
+
# Perform aggregation
|
99
|
+
aggregation = MapsAggregation(
|
100
|
+
maps=self.maps,
|
101
|
+
masks=self.masks,
|
102
|
+
on="BOLD",
|
103
|
+
).compute(input, extra_input=extra_input)
|
104
|
+
# Compute edgewise timeseries
|
105
|
+
ets, edge_names = _ets(
|
106
|
+
bold_ts=aggregation["aggregation"]["data"],
|
107
|
+
roi_names=aggregation["aggregation"]["col_names"],
|
108
|
+
)
|
109
|
+
|
110
|
+
return {
|
111
|
+
"aggregation": {
|
112
|
+
"data": ets,
|
113
|
+
"col_names": edge_names,
|
114
|
+
},
|
115
|
+
}
|