junifer 0.0.7.dev93__tar.gz → 0.0.7.dev103__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.dev93 → junifer-0.0.7.dev103}/.github/workflows/docker-ci-publish.yml +3 -3
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/.github/workflows/docker-docs-publish.yml +3 -3
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/PKG-INFO +1 -1
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/builtin.rst +4 -0
- junifer-0.0.7.dev103/docs/changes/newsfragments/432.feature +1 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/_version.py +2 -2
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/pipeline/pipeline_component_registry.py +1 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/__init__.pyi +2 -0
- junifer-0.0.7.dev103/junifer/preprocess/_temporal_filter.py +240 -0
- junifer-0.0.7.dev103/junifer/preprocess/tests/test_temporal_filter.py +99 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer.egg-info/PKG-INFO +1 -1
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer.egg-info/SOURCES.txt +3 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/.dockerignore +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/.github/dependabot.yml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/.github/pull_request_template.md +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/.github/workflows/ci-docs.yml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/.github/workflows/ci.yml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/.github/workflows/docs-preview.yml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/.github/workflows/docs.yml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/.github/workflows/lint.yml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/.github/workflows/publish.yml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/.gitignore +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/.gitmodules +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/.pre-commit-config.yaml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/AUTHORS.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/Dockerfile-ci +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/Dockerfile-docs +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/LICENSE.md +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/README.md +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/codecov.yml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/conda-env.yml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/Makefile +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/_static/css/custom.css +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/_static/js/custom.js +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/_templates/versions.html +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/api/api.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/api/cli.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/api/configs.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/api/data.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/api/datagrabbers.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/api/datareaders.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/api/index.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/api/markers.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/api/nilearn.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/api/onthefly.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/api/pipeline.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/api/preprocessing.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/api/stats.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/api/storage.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/api/testing.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/api/utils.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/changes/contributors.inc +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/changes/newsfragments/.gitignore +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/changes/newsfragments/333.enh +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/changes/newsfragments/441.misc +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/changes/newsfragments/443.feature +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/changes/newsfragments/444.bugfix +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/changes/newsfragments/450.doc +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/changes/newsfragments/450.feature +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/changes/newsfragments/451.doc +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/changes/newsfragments/451.feature +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/conf.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/contribution.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/extending/coordinates.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/extending/data_registries.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/extending/data_types.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/extending/datagrabber.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/extending/dependencies.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/extending/extension.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/extending/index.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/extending/marker.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/extending/masks.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/extending/parcellations.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/extending/plugins.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/extending/preprocessor.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/faq.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/help.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/images/junifer_logo.png +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/index.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/installation.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/links.inc +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/maintaining.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/redirect.html +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/starting.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/understanding/data.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/understanding/datagrabber.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/understanding/datareader.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/understanding/index.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/understanding/marker.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/understanding/pipeline.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/understanding/preprocess.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/understanding/storage.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/using/codeless.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/using/index.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/using/masks.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/using/queueing.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/using/running.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/docs/whats_new.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/examples/README.rst +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/examples/norun_hcpfc_pearson.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/examples/norun_ukbvm_gmd.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/examples/run_compute_parcel_mean.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/examples/run_datagrabber_bids_datalad.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/examples/run_ets_rss_marker.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/examples/run_junifer_julearn.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/examples/run_run_gmd_mean.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/examples/yamls/gmd_mean.yaml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/examples/yamls/ukb_gmd_mean.yaml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/ignore_words.txt +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/decorators.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/functions.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/queue_context/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/queue_context/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/queue_context/gnu_parallel_local_adapter.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/queue_context/htcondor_adapter.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/queue_context/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/queue_context/queue_context_adapter.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/afni/3dRSFC +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/afni/3dReHo +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/afni/afni +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/afni/run_afni_docker.sh +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/ants/ResampleImage +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/ants/antsApplyTransforms +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/ants/run_ants_docker.sh +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/freesurfer/mri_binarize +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/freesurfer/mri_mc +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/freesurfer/mri_pretess +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/freesurfer/mris_convert +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/fsl/applywarp +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/fsl/flirt +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/fsl/img2imgcoord +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/fsl/std2imgcoord +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/run_conda.bash +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/run_conda.zsh +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/run_venv.bash +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/res/run_venv.zsh +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/tests/test_decorators.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/api/tests/test_functions.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/cli/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/cli/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/cli/cli.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/cli/parser.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/cli/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/cli/tests/data/gmd_mean.yaml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/cli/tests/data/gmd_mean_htcondor.yaml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/cli/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/cli/tests/test_cli.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/cli/tests/test_cli_utils.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/cli/tests/test_parser.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/cli/utils.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/configs/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/configs/juseless/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/configs/juseless/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/configs/juseless/datagrabbers/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/configs/juseless/datagrabbers/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/configs/juseless/datagrabbers/ucla.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/configs/juseless/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/conftest.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/_dispatch.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/coordinates/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/coordinates/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/coordinates/_ants_coordinates_warper.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/coordinates/_coordinates.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/coordinates/_fsl_coordinates_warper.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/coordinates/tests/test_coordinates.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/masks/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/masks/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/masks/_ants_mask_warper.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/masks/_fsl_mask_warper.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/masks/_masks.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/masks/tests/test_masks.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/parcellations/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/parcellations/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/parcellations/_ants_parcellation_warper.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/parcellations/_fsl_parcellation_warper.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/parcellations/_parcellations.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/parcellations/tests/test_parcellations.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/pipeline_data_registry_base.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/template_spaces.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/tests/test_data_utils.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/tests/test_dispatch.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/tests/test_template_spaces.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/data/utils.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/aomic/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/aomic/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/aomic/id1000.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/aomic/piop1.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/aomic/piop2.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/aomic/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/aomic/tests/test_id1000.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/aomic/tests/test_piop1.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/aomic/tests/test_piop2.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/base.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/datalad_base.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/dmcc13_benchmark.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/hcp1200/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/hcp1200/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/hcp1200/hcp1200.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/hcp1200/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/multiple.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/pattern.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/pattern_datalad.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/pattern_validation_mixin.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/tests/test_base.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/tests/test_multiple.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/tests/test_pattern.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datagrabber/tests/test_pattern_validation_mixin.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datareader/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datareader/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datareader/default.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datareader/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/datareader/tests/test_default_reader.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/external/BrainPrint/brainprint/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/external/BrainPrint/brainprint/_version.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/external/BrainPrint/brainprint/asymmetry.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/external/BrainPrint/brainprint/brainprint.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/external/BrainPrint/brainprint/surfaces.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/external/BrainPrint/brainprint/utils/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/external/BrainPrint/brainprint/utils/_config.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/external/BrainPrint/brainprint/utils/utils.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/external/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/external/h5io/h5io/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/external/h5io/h5io/_h5io.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/external/h5io/h5io/_version.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/external/h5io/h5io/chunked_array.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/external/h5io/h5io/chunked_list.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/external/nilearn/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/external/nilearn/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/external/nilearn/junifer_connectivity_measure.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/external/nilearn/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/base.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/brainprint.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/complexity/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/complexity/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/complexity/complexity_base.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/complexity/hurst_exponent.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/complexity/multiscale_entropy_auc.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/complexity/perm_entropy.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/complexity/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/complexity/range_entropy.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/complexity/range_entropy_auc.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/complexity/sample_entropy.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/complexity/weighted_perm_entropy.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/ets_rss.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/falff/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/falff/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/falff/_afni_falff.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/falff/_junifer_falff.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/falff/falff_base.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/falff/falff_parcels.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/falff/falff_spheres.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/falff/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/functional_connectivity/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/functional_connectivity/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/functional_connectivity/functional_connectivity_base.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/functional_connectivity/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/parcel_aggregation.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/reho/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/reho/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/reho/_afni_reho.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/reho/_junifer_reho.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/reho/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/reho/reho_base.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/reho/reho_parcels.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/reho/reho_spheres.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/sphere_aggregation.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/temporal_snr/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/temporal_snr/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/temporal_snr/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/temporal_snr/temporal_snr_base.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/temporal_snr/temporal_snr_parcels.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/temporal_snr/temporal_snr_spheres.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/tests/test_brainprint.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/tests/test_ets_rss.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/tests/test_marker_utils.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/tests/test_markers_base.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/tests/test_parcel_aggregation.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/tests/test_sphere_aggregation.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/markers/utils.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/onthefly/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/onthefly/_brainprint.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/onthefly/read_transform.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/onthefly/tests/test_read_transform.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/pipeline/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/pipeline/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/pipeline/marker_collection.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/pipeline/pipeline_step_mixin.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/pipeline/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/pipeline/tests/test_marker_collection.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/pipeline/tests/test_pipeline_component_registry.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/pipeline/update_meta_mixin.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/pipeline/utils.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/pipeline/workdir_manager.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/_temporal_slicer.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/base.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/confounds/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/confounds/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/confounds/fmriprep_confound_remover.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/confounds/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/smoothing/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/smoothing/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/smoothing/_afni_smoothing.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/smoothing/_fsl_smoothing.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/smoothing/_nilearn_smoothing.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/smoothing/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/smoothing/smoothing.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/smoothing/tests/test_smoothing.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/tests/test_temporal_slicer.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/warping/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/warping/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/warping/_ants_warper.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/warping/_fsl_warper.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/warping/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/warping/space_warper.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/stats.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/storage/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/storage/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/storage/base.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/storage/hdf5.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/storage/pandas_base.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/storage/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/storage/sqlite.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/storage/tests/test_hdf5.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/storage/tests/test_pandas_base.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/storage/tests/test_sqlite.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/storage/tests/test_storage_base.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/storage/tests/test_utils.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/storage/utils.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/testing/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/testing/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/testing/datagrabbers.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/testing/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/testing/registry.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/testing/tests/test_testing_registry.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/testing/utils.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/tests/test_main.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/tests/test_stats.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/typing/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/typing/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/typing/_typing.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/utils/__init__.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/utils/__init__.pyi +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/utils/_config.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/utils/_yaml.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/utils/fs.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/utils/helpers.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/utils/logging.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/utils/py.typed +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/utils/singleton.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/utils/tests/test_config.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/utils/tests/test_fs.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/utils/tests/test_helpers.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/utils/tests/test_logging.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer.egg-info/dependency_links.txt +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer.egg-info/entry_points.txt +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer.egg-info/requires.txt +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer.egg-info/top_level.txt +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/pyproject.toml +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/setup.cfg +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/setup.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/tools/create_aomic1000_example_dataset.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/tools/create_aomicpiop1_example_dataset.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/tools/create_aomicpiop2_example_dataset.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/tools/create_bids_example_dataset.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/tools/create_bids_example_dataset_sessions.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/tools/create_hcp1200_example_dataset.py +0 -0
- {junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/tox.ini +0 -0
@@ -45,7 +45,7 @@ jobs:
|
|
45
45
|
# https://github.com/sigstore/cosign-installer
|
46
46
|
- name: Install cosign
|
47
47
|
if: github.event_name != 'pull_request'
|
48
|
-
uses: sigstore/cosign-installer@
|
48
|
+
uses: sigstore/cosign-installer@398d4b0eeef1380460a10c8013a76f728fb906ac #v3.9.1
|
49
49
|
with:
|
50
50
|
cosign-release: 'v2.2.4'
|
51
51
|
|
@@ -53,7 +53,7 @@ jobs:
|
|
53
53
|
# multi-platform images and export cache
|
54
54
|
# https://github.com/docker/setup-buildx-action
|
55
55
|
- name: Set up Docker Buildx
|
56
|
-
uses: docker/setup-buildx-action@
|
56
|
+
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
|
57
57
|
|
58
58
|
# Login against a Docker registry except on PR
|
59
59
|
# https://github.com/docker/login-action
|
@@ -77,7 +77,7 @@ jobs:
|
|
77
77
|
# https://github.com/docker/build-push-action
|
78
78
|
- name: Build and push Docker image
|
79
79
|
id: build-and-push
|
80
|
-
uses: docker/build-push-action@
|
80
|
+
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
|
81
81
|
with:
|
82
82
|
context: .
|
83
83
|
file: Dockerfile-ci
|
@@ -42,7 +42,7 @@ jobs:
|
|
42
42
|
# https://github.com/sigstore/cosign-installer
|
43
43
|
- name: Install cosign
|
44
44
|
if: github.event_name != 'pull_request'
|
45
|
-
uses: sigstore/cosign-installer@
|
45
|
+
uses: sigstore/cosign-installer@398d4b0eeef1380460a10c8013a76f728fb906ac #v3.9.1
|
46
46
|
with:
|
47
47
|
cosign-release: 'v2.2.4'
|
48
48
|
|
@@ -50,7 +50,7 @@ jobs:
|
|
50
50
|
# multi-platform images and export cache
|
51
51
|
# https://github.com/docker/setup-buildx-action
|
52
52
|
- name: Set up Docker Buildx
|
53
|
-
uses: docker/setup-buildx-action@
|
53
|
+
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
|
54
54
|
|
55
55
|
# Login against a Docker registry except on PR
|
56
56
|
# https://github.com/docker/login-action
|
@@ -74,7 +74,7 @@ jobs:
|
|
74
74
|
# https://github.com/docker/build-push-action
|
75
75
|
- name: Build and push Docker image
|
76
76
|
id: build-and-push
|
77
|
-
uses: docker/build-push-action@
|
77
|
+
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
|
78
78
|
with:
|
79
79
|
context: .
|
80
80
|
file: Dockerfile-docs
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: junifer
|
3
|
-
Version: 0.0.7.
|
3
|
+
Version: 0.0.7.dev103
|
4
4
|
Summary: JUelich NeuroImaging FEature extractoR
|
5
5
|
Author-email: Fede Raimondo <f.raimondo@fz-juelich.de>, Synchon Mandal <s.mandal@fz-juelich.de>
|
6
6
|
Maintainer-email: Fede Raimondo <f.raimondo@fz-juelich.de>, Synchon Mandal <s.mandal@fz-juelich.de>
|
@@ -0,0 +1 @@
|
|
1
|
+
Introduce :class:`.TemporalFilter` preprocessor for temporally filtering BOLD data by `Fede Raimondo`_
|
@@ -17,5 +17,5 @@ __version__: str
|
|
17
17
|
__version_tuple__: VERSION_TUPLE
|
18
18
|
version_tuple: VERSION_TUPLE
|
19
19
|
|
20
|
-
__version__ = version = '0.0.7.
|
21
|
-
__version_tuple__ = version_tuple = (0, 0, 7, '
|
20
|
+
__version__ = version = '0.0.7.dev103'
|
21
|
+
__version_tuple__ = version_tuple = (0, 0, 7, 'dev103')
|
{junifer-0.0.7.dev93 → junifer-0.0.7.dev103}/junifer/pipeline/pipeline_component_registry.py
RENAMED
@@ -76,6 +76,7 @@ class PipelineComponentRegistry(metaclass=Singleton):
|
|
76
76
|
"SpaceWarper": "SpaceWarper",
|
77
77
|
"fMRIPrepConfoundRemover": "fMRIPrepConfoundRemover",
|
78
78
|
"TemporalSlicer": "TemporalSlicer",
|
79
|
+
"TemporalFilter": "TemporalFilter",
|
79
80
|
},
|
80
81
|
"marker": {
|
81
82
|
"ALFFParcels": "ALFFParcels",
|
@@ -4,6 +4,7 @@ __all__ = [
|
|
4
4
|
"SpaceWarper",
|
5
5
|
"Smoothing",
|
6
6
|
"TemporalSlicer",
|
7
|
+
"TemporalFilter",
|
7
8
|
]
|
8
9
|
|
9
10
|
from .base import BasePreprocessor
|
@@ -11,3 +12,4 @@ from .confounds import fMRIPrepConfoundRemover
|
|
11
12
|
from .warping import SpaceWarper
|
12
13
|
from .smoothing import Smoothing
|
13
14
|
from ._temporal_slicer import TemporalSlicer
|
15
|
+
from ._temporal_filter import TemporalFilter
|
@@ -0,0 +1,240 @@
|
|
1
|
+
"""Provide class for temporal filtering."""
|
2
|
+
|
3
|
+
# Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
|
4
|
+
# Leonard Sasse <l.sasse@fz-juelich.de>
|
5
|
+
# Synchon Mandal <s.mandal@fz-juelich.de>
|
6
|
+
# License: AGPL
|
7
|
+
|
8
|
+
from typing import (
|
9
|
+
Any,
|
10
|
+
ClassVar,
|
11
|
+
Optional,
|
12
|
+
Union,
|
13
|
+
)
|
14
|
+
|
15
|
+
import nibabel as nib
|
16
|
+
from nilearn import image as nimg
|
17
|
+
from nilearn._utils.niimg_conversions import check_niimg_4d
|
18
|
+
|
19
|
+
from ..api.decorators import register_preprocessor
|
20
|
+
from ..data import get_data
|
21
|
+
from ..pipeline import WorkDirManager
|
22
|
+
from ..typing import Dependencies
|
23
|
+
from ..utils import logger
|
24
|
+
from .base import BasePreprocessor
|
25
|
+
|
26
|
+
|
27
|
+
__all__ = ["TemporalFilter"]
|
28
|
+
|
29
|
+
|
30
|
+
@register_preprocessor
|
31
|
+
class TemporalFilter(BasePreprocessor):
|
32
|
+
"""Class for temporal filtering.
|
33
|
+
|
34
|
+
Temporal filtering is based on :func:`nilearn.image.clean_img`.
|
35
|
+
|
36
|
+
Parameters
|
37
|
+
----------
|
38
|
+
detrend : bool, optional
|
39
|
+
If True, detrending will be applied on timeseries (default True).
|
40
|
+
standardize : bool, optional
|
41
|
+
If True, returned signals are set to unit variance (default True).
|
42
|
+
low_pass : float, optional
|
43
|
+
Low cutoff frequencies, in Hertz. If None, no filtering is applied
|
44
|
+
(default None).
|
45
|
+
high_pass : float, optional
|
46
|
+
High cutoff frequencies, in Hertz. If None, no filtering is
|
47
|
+
applied (default None).
|
48
|
+
t_r : float, optional
|
49
|
+
Repetition time, in second (sampling period).
|
50
|
+
If None, it will use t_r from nifti header (default None).
|
51
|
+
masks : str, dict or list of dict or str, optional
|
52
|
+
The specification of the masks to apply to regions before extracting
|
53
|
+
signals. Check :ref:`Using Masks <using_masks>` for more details.
|
54
|
+
If None, will not apply any mask (default None).
|
55
|
+
|
56
|
+
"""
|
57
|
+
|
58
|
+
_DEPENDENCIES: ClassVar[Dependencies] = {"numpy", "nilearn"}
|
59
|
+
|
60
|
+
def __init__(
|
61
|
+
self,
|
62
|
+
detrend: bool = True,
|
63
|
+
standardize: bool = True,
|
64
|
+
low_pass: Optional[float] = None,
|
65
|
+
high_pass: Optional[float] = None,
|
66
|
+
t_r: Optional[float] = None,
|
67
|
+
masks: Union[str, dict, list[Union[dict, str]], None] = None,
|
68
|
+
) -> None:
|
69
|
+
"""Initialize the class."""
|
70
|
+
self.detrend = detrend
|
71
|
+
self.standardize = standardize
|
72
|
+
self.low_pass = low_pass
|
73
|
+
self.high_pass = high_pass
|
74
|
+
self.t_r = t_r
|
75
|
+
self.masks = masks
|
76
|
+
|
77
|
+
super().__init__(on="BOLD", required_data_types=["BOLD"])
|
78
|
+
|
79
|
+
def get_valid_inputs(self) -> list[str]:
|
80
|
+
"""Get valid data types for input.
|
81
|
+
|
82
|
+
Returns
|
83
|
+
-------
|
84
|
+
list of str
|
85
|
+
The list of data types that can be used as input for this
|
86
|
+
preprocessor.
|
87
|
+
|
88
|
+
"""
|
89
|
+
return ["BOLD"]
|
90
|
+
|
91
|
+
def get_output_type(self, input_type: str) -> str:
|
92
|
+
"""Get output type.
|
93
|
+
|
94
|
+
Parameters
|
95
|
+
----------
|
96
|
+
input_type : str
|
97
|
+
The input to the preprocessor.
|
98
|
+
|
99
|
+
Returns
|
100
|
+
-------
|
101
|
+
str
|
102
|
+
The data type output by the preprocessor.
|
103
|
+
|
104
|
+
"""
|
105
|
+
# Does not add any new keys
|
106
|
+
return input_type
|
107
|
+
|
108
|
+
def _validate_data(
|
109
|
+
self,
|
110
|
+
input: dict[str, Any],
|
111
|
+
) -> None:
|
112
|
+
"""Validate input data.
|
113
|
+
|
114
|
+
Parameters
|
115
|
+
----------
|
116
|
+
input : dict
|
117
|
+
Dictionary containing the ``BOLD`` data from the
|
118
|
+
Junifer Data object.
|
119
|
+
|
120
|
+
Raises
|
121
|
+
------
|
122
|
+
ValueError
|
123
|
+
If ``"data"`` is not 4D
|
124
|
+
|
125
|
+
"""
|
126
|
+
# BOLD must be 4D niimg
|
127
|
+
check_niimg_4d(input["data"])
|
128
|
+
|
129
|
+
def preprocess(
|
130
|
+
self,
|
131
|
+
input: dict[str, Any],
|
132
|
+
extra_input: Optional[dict[str, Any]] = None,
|
133
|
+
) -> tuple[dict[str, Any], Optional[dict[str, dict[str, Any]]]]:
|
134
|
+
"""Preprocess.
|
135
|
+
|
136
|
+
Parameters
|
137
|
+
----------
|
138
|
+
input : dict
|
139
|
+
A single input from the Junifer Data object to preprocess.
|
140
|
+
extra_input : dict, optional
|
141
|
+
The other fields in the Junifer Data object.
|
142
|
+
|
143
|
+
Returns
|
144
|
+
-------
|
145
|
+
dict
|
146
|
+
The computed result as dictionary. If `self.masks` is not None,
|
147
|
+
then the target data computed mask is updated for further steps.
|
148
|
+
None
|
149
|
+
Extra "helper" data types as dictionary to add to the Junifer Data
|
150
|
+
object.
|
151
|
+
|
152
|
+
"""
|
153
|
+
# Validate data
|
154
|
+
self._validate_data(input)
|
155
|
+
|
156
|
+
# Get BOLD data
|
157
|
+
bold_img = input["data"]
|
158
|
+
# Set t_r
|
159
|
+
t_r = self.t_r
|
160
|
+
if t_r is None:
|
161
|
+
logger.info("No `t_r` specified, using t_r from NIfTI header")
|
162
|
+
t_r = bold_img.header.get_zooms()[3] # type: ignore
|
163
|
+
logger.info(
|
164
|
+
f"Read t_r from NIfTI header: {t_r}",
|
165
|
+
)
|
166
|
+
|
167
|
+
# Create element-specific tempdir for storing generated data
|
168
|
+
# and / or mask
|
169
|
+
element_tempdir = WorkDirManager().get_element_tempdir(
|
170
|
+
prefix="temporal_filter"
|
171
|
+
)
|
172
|
+
|
173
|
+
# Set mask data
|
174
|
+
mask_img = None
|
175
|
+
if self.masks is not None:
|
176
|
+
# Generate mask
|
177
|
+
logger.debug(f"Masking with {self.masks}")
|
178
|
+
mask_img = get_data(
|
179
|
+
kind="mask",
|
180
|
+
names=self.masks,
|
181
|
+
target_data=input,
|
182
|
+
extra_input=extra_input,
|
183
|
+
)
|
184
|
+
# Save generated mask for use later
|
185
|
+
generated_mask_img_path = element_tempdir / "generated_mask.nii.gz"
|
186
|
+
nib.save(mask_img, generated_mask_img_path)
|
187
|
+
|
188
|
+
# Save BOLD mask and link it to the BOLD data type dict;
|
189
|
+
# this allows to use "inherit" down the pipeline
|
190
|
+
logger.debug("Setting `BOLD.mask`")
|
191
|
+
input.update(
|
192
|
+
{
|
193
|
+
"mask": {
|
194
|
+
# Update path to sync with "data"
|
195
|
+
"path": generated_mask_img_path,
|
196
|
+
# Update data
|
197
|
+
"data": mask_img,
|
198
|
+
# Should be in the same space as target data
|
199
|
+
"space": input["space"],
|
200
|
+
}
|
201
|
+
}
|
202
|
+
)
|
203
|
+
|
204
|
+
signal_clean_kwargs = {}
|
205
|
+
|
206
|
+
# Clean image
|
207
|
+
logger.info("Temporal filter image using nilearn")
|
208
|
+
logger.debug(f"\tdetrend: {self.detrend}")
|
209
|
+
logger.debug(f"\tstandardize: {self.standardize}")
|
210
|
+
logger.debug(f"\tlow_pass: {self.low_pass}")
|
211
|
+
logger.debug(f"\thigh_pass: {self.high_pass}")
|
212
|
+
logger.debug(f"\tt_r: {self.t_r}")
|
213
|
+
|
214
|
+
cleaned_img = nimg.clean_img(
|
215
|
+
imgs=bold_img,
|
216
|
+
detrend=self.detrend,
|
217
|
+
standardize=self.standardize,
|
218
|
+
low_pass=self.low_pass,
|
219
|
+
high_pass=self.high_pass,
|
220
|
+
t_r=t_r,
|
221
|
+
mask_img=mask_img,
|
222
|
+
**signal_clean_kwargs,
|
223
|
+
)
|
224
|
+
# Fix t_r as nilearn messes it up
|
225
|
+
cleaned_img.header["pixdim"][4] = t_r
|
226
|
+
# Save filtered data
|
227
|
+
filtered_data_path = element_tempdir / "filtered_data.nii.gz"
|
228
|
+
nib.save(cleaned_img, filtered_data_path)
|
229
|
+
|
230
|
+
logger.debug("Updating `BOLD`")
|
231
|
+
input.update(
|
232
|
+
{
|
233
|
+
# Update path to sync with "data"
|
234
|
+
"path": filtered_data_path,
|
235
|
+
# Update data
|
236
|
+
"data": cleaned_img,
|
237
|
+
}
|
238
|
+
)
|
239
|
+
|
240
|
+
return input, None
|
@@ -0,0 +1,99 @@
|
|
1
|
+
"""Provide tests for TemporalFilter."""
|
2
|
+
|
3
|
+
# Authors: Synchon Mandal <s.mandal@fz-juelich.de>
|
4
|
+
# License: AGPL
|
5
|
+
|
6
|
+
from typing import Optional
|
7
|
+
|
8
|
+
import pytest
|
9
|
+
|
10
|
+
from junifer.datareader import DefaultDataReader
|
11
|
+
from junifer.preprocess import TemporalFilter
|
12
|
+
from junifer.testing.datagrabbers import PartlyCloudyTestingDataGrabber
|
13
|
+
|
14
|
+
|
15
|
+
@pytest.mark.parametrize(
|
16
|
+
"detrend, standardize, low_pass, high_pass, t_r, masks",
|
17
|
+
(
|
18
|
+
[
|
19
|
+
True,
|
20
|
+
True,
|
21
|
+
None,
|
22
|
+
None,
|
23
|
+
None,
|
24
|
+
None,
|
25
|
+
],
|
26
|
+
[
|
27
|
+
False,
|
28
|
+
True,
|
29
|
+
0.1,
|
30
|
+
None,
|
31
|
+
None,
|
32
|
+
"compute_brain_mask",
|
33
|
+
],
|
34
|
+
[
|
35
|
+
True,
|
36
|
+
False,
|
37
|
+
None,
|
38
|
+
0.08,
|
39
|
+
None,
|
40
|
+
"compute_background_mask",
|
41
|
+
],
|
42
|
+
[
|
43
|
+
False,
|
44
|
+
False,
|
45
|
+
None,
|
46
|
+
None,
|
47
|
+
2,
|
48
|
+
None,
|
49
|
+
],
|
50
|
+
[
|
51
|
+
True,
|
52
|
+
True,
|
53
|
+
0.1,
|
54
|
+
0.08,
|
55
|
+
2,
|
56
|
+
"compute_brain_mask",
|
57
|
+
],
|
58
|
+
),
|
59
|
+
)
|
60
|
+
def test_TemporalFilter(
|
61
|
+
detrend: bool,
|
62
|
+
standardize: bool,
|
63
|
+
low_pass: Optional[float],
|
64
|
+
high_pass: Optional[float],
|
65
|
+
t_r: Optional[float],
|
66
|
+
masks: Optional[str],
|
67
|
+
) -> None:
|
68
|
+
"""Test TemporalFilter.
|
69
|
+
|
70
|
+
Parameters
|
71
|
+
----------
|
72
|
+
detrend : bool
|
73
|
+
The parametrized detrending flag.
|
74
|
+
standardize : bool
|
75
|
+
The parametrized standardization flag.
|
76
|
+
low_pass : float or None
|
77
|
+
The parametrized low pass value.
|
78
|
+
high_pass : float or None
|
79
|
+
The parametrized high pass value.
|
80
|
+
t_r : float or None
|
81
|
+
The parametrized repetition time.
|
82
|
+
masks : str or None
|
83
|
+
The parametrized mask.
|
84
|
+
|
85
|
+
"""
|
86
|
+
with PartlyCloudyTestingDataGrabber() as dg:
|
87
|
+
# Read data
|
88
|
+
element_data = DefaultDataReader().fit_transform(dg["sub-01"])
|
89
|
+
# Preprocess data
|
90
|
+
output = TemporalFilter(
|
91
|
+
detrend=detrend,
|
92
|
+
standardize=standardize,
|
93
|
+
low_pass=low_pass,
|
94
|
+
high_pass=high_pass,
|
95
|
+
t_r=t_r,
|
96
|
+
masks=masks,
|
97
|
+
).fit_transform(element_data)
|
98
|
+
|
99
|
+
assert isinstance(output, dict)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: junifer
|
3
|
-
Version: 0.0.7.
|
3
|
+
Version: 0.0.7.dev103
|
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>
|
@@ -64,6 +64,7 @@ docs/api/utils.rst
|
|
64
64
|
docs/changes/contributors.inc
|
65
65
|
docs/changes/newsfragments/.gitignore
|
66
66
|
docs/changes/newsfragments/333.enh
|
67
|
+
docs/changes/newsfragments/432.feature
|
67
68
|
docs/changes/newsfragments/441.misc
|
68
69
|
docs/changes/newsfragments/443.feature
|
69
70
|
docs/changes/newsfragments/444.bugfix
|
@@ -372,6 +373,7 @@ junifer/pipeline/tests/test_update_meta_mixin.py
|
|
372
373
|
junifer/pipeline/tests/test_workdir_manager.py
|
373
374
|
junifer/preprocess/__init__.py
|
374
375
|
junifer/preprocess/__init__.pyi
|
376
|
+
junifer/preprocess/_temporal_filter.py
|
375
377
|
junifer/preprocess/_temporal_slicer.py
|
376
378
|
junifer/preprocess/base.py
|
377
379
|
junifer/preprocess/py.typed
|
@@ -389,6 +391,7 @@ junifer/preprocess/smoothing/py.typed
|
|
389
391
|
junifer/preprocess/smoothing/smoothing.py
|
390
392
|
junifer/preprocess/smoothing/tests/test_smoothing.py
|
391
393
|
junifer/preprocess/tests/test_preprocess_base.py
|
394
|
+
junifer/preprocess/tests/test_temporal_filter.py
|
392
395
|
junifer/preprocess/tests/test_temporal_slicer.py
|
393
396
|
junifer/preprocess/warping/__init__.py
|
394
397
|
junifer/preprocess/warping/__init__.pyi
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|