junifer 0.0.6.dev459__tar.gz → 0.0.6.dev475__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/PKG-INFO +1 -1
- junifer-0.0.6.dev475/docs/changes/newsfragments/363.enh +1 -0
- junifer-0.0.6.dev475/docs/changes/newsfragments/363.misc +1 -0
- junifer-0.0.6.dev475/docs/changes/newsfragments/421.change +1 -0
- junifer-0.0.6.dev475/docs/changes/newsfragments/421.enh +1 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/_version.py +2 -2
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +1 -1
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/confounds/fmriprep_confound_remover.py +185 -44
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +90 -2
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer.egg-info/PKG-INFO +1 -1
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer.egg-info/SOURCES.txt +4 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/.dockerignore +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/.github/dependabot.yml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/.github/pull_request_template.md +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/.github/workflows/ci-docs.yml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/.github/workflows/ci.yml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/.github/workflows/docker-ci-publish.yml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/.github/workflows/docker-docs-publish.yml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/.github/workflows/docs-preview.yml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/.github/workflows/docs.yml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/.github/workflows/lint.yml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/.github/workflows/publish.yml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/.gitignore +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/.gitmodules +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/.pre-commit-config.yaml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/AUTHORS.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/Dockerfile-ci +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/Dockerfile-docs +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/LICENSE.md +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/README.md +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/codecov.yml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/conda-env.yml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/Makefile +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/_static/css/custom.css +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/_static/js/custom.js +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/_templates/versions.html +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/api/api.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/api/cli.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/api/configs.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/api/data.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/api/datagrabbers.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/api/datareaders.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/api/index.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/api/markers.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/api/nilearn.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/api/onthefly.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/api/pipeline.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/api/preprocessing.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/api/stats.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/api/storage.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/api/testing.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/api/utils.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/builtin.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/contributors.inc +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/.gitignore +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/319.enh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/335.enh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/354.feature +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/355.misc +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/356.bugfix +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/357.enh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/358.doc +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/359.doc +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/360.bugfix +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/361.misc +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/362.feature +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/367.enh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/368.enh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/369.bugfix +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/370.bugfix +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/372.misc +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/373.misc +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/374.misc +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/380.misc +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/382.misc +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/383.misc +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/384.misc +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/385.bugfix +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/386.bugfix +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/387.change +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/387.feature +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/388.bugfix +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/389.enh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/390.change +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/390.enh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/391.misc +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/392.feature +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/393.misc +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/395.enh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/396.misc +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/398.bugfix +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/401.feature +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/402.change +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/402.enh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/403.enh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/404.change +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/404.enh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/405.change +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/405.enh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/407.feature +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/408.enh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/408.feature +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/409.bugfix +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/409.enh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/411.change +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/411.enh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/412.change +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/412.feature +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/413.change +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/414.misc +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/415.change +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/416.enh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/418.enh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/418.misc +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/420.bugfix +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/422.feature +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/changes/newsfragments/424.misc +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/conf.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/contribution.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/extending/coordinates.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/extending/datagrabber.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/extending/dependencies.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/extending/extension.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/extending/index.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/extending/marker.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/extending/masks.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/extending/parcellations.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/extending/preprocessor.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/faq.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/help.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/images/junifer_logo.png +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/index.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/installation.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/links.inc +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/maintaining.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/redirect.html +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/starting.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/understanding/data.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/understanding/datagrabber.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/understanding/datareader.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/understanding/index.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/understanding/marker.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/understanding/pipeline.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/understanding/preprocess.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/understanding/storage.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/using/codeless.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/using/index.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/using/masks.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/using/queueing.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/using/running.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/docs/whats_new.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/examples/README.rst +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/examples/norun_hcpfc_pearson.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/examples/norun_ukbvm_gmd.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/examples/run_compute_parcel_mean.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/examples/run_datagrabber_bids_datalad.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/examples/run_ets_rss_marker.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/examples/run_junifer_julearn.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/examples/run_run_gmd_mean.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/examples/yamls/gmd_mean.yaml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/examples/yamls/ukb_gmd_mean.yaml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/ignore_words.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/decorators.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/functions.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/queue_context/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/queue_context/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/queue_context/gnu_parallel_local_adapter.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/queue_context/htcondor_adapter.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/queue_context/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/queue_context/queue_context_adapter.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/afni/3dRSFC +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/afni/3dReHo +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/afni/afni +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/afni/run_afni_docker.sh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/ants/ResampleImage +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/ants/antsApplyTransforms +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/ants/run_ants_docker.sh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/freesurfer/mri_binarize +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/freesurfer/mri_mc +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/freesurfer/mri_pretess +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/freesurfer/mris_convert +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/fsl/applywarp +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/fsl/flirt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/fsl/img2imgcoord +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/fsl/std2imgcoord +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/run_conda.bash +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/run_conda.zsh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/run_venv.bash +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/res/run_venv.zsh +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/api/tests/test_functions.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/cli/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/cli/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/cli/cli.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/cli/parser.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/cli/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/cli/tests/data/gmd_mean.yaml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/cli/tests/data/gmd_mean_htcondor.yaml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/cli/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/cli/tests/test_cli.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/cli/tests/test_cli_utils.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/cli/tests/test_parser.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/cli/utils.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/configs/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/configs/juseless/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/configs/juseless/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/configs/juseless/datagrabbers/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/configs/juseless/datagrabbers/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/configs/juseless/datagrabbers/ucla.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/configs/juseless/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/conftest.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/_dispatch.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/VOIs/meta/AutobiographicalMemory_VOIs.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/VOIs/meta/CogAC_VOIs.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/VOIs/meta/CogAR_VOIs.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/VOIs/meta/DMNBuckner_VOIs.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/VOIs/meta/Dosenbach2010_MNI_VOIs.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/VOIs/meta/Empathy_VOIs.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/VOIs/meta/Motor_VOIs.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/VOIs/meta/MultiTask_VOIs.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/VOIs/meta/PhysioStress_VOIs.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/VOIs/meta/Power2011_MNI_VOIs.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/VOIs/meta/Power2013_MNI_VOIs.tsv +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/VOIs/meta/Rew_VOIs.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/VOIs/meta/Somatosensory_VOIs.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/VOIs/meta/ToM_VOIs.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/VOIs/meta/VigAtt_VOIs.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/VOIs/meta/WM_VOIs.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/VOIs/meta/eMDN_VOIs.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/VOIs/meta/eSAD_VOIs.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/VOIs/meta/extDMN_VOIs.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/_ants_coordinates_warper.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/_coordinates.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/_fsl_coordinates_warper.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/coordinates/tests/test_coordinates.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/masks/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/masks/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/masks/_ants_mask_warper.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/masks/_fsl_mask_warper.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/masks/_masks.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/masks/tests/test_masks.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/masks/ukb/UKB_15K_GM_template.nii.gz +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean.nii.gz +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean_3mm.nii.gz +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/masks/vickery-patil/GMprob0.2_cortex_3mm_NA_rm.nii.gz +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/parcellations/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/parcellations/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/parcellations/_ants_parcellation_warper.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/parcellations/_fsl_parcellation_warper.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/parcellations/_parcellations.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/parcellations/tests/test_parcellations.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/pipeline_data_registry_base.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/template_spaces.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/tests/test_data_utils.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/tests/test_template_spaces.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/data/utils.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/aomic/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/aomic/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/aomic/id1000.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/aomic/piop1.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/aomic/piop2.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/aomic/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/aomic/tests/test_id1000.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/aomic/tests/test_piop1.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/aomic/tests/test_piop2.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/base.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/datalad_base.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/dmcc13_benchmark.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/hcp1200/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/hcp1200/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/hcp1200/hcp1200.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/hcp1200/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/multiple.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/pattern.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/pattern_datalad.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/pattern_validation_mixin.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/tests/test_base.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/tests/test_multiple.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/tests/test_pattern.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datagrabber/tests/test_pattern_validation_mixin.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datareader/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datareader/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datareader/default.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datareader/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/datareader/tests/test_default_reader.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/external/BrainPrint/brainprint/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/external/BrainPrint/brainprint/_version.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/external/BrainPrint/brainprint/asymmetry.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/external/BrainPrint/brainprint/brainprint.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/external/BrainPrint/brainprint/surfaces.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/external/BrainPrint/brainprint/utils/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/external/BrainPrint/brainprint/utils/_config.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/external/BrainPrint/brainprint/utils/utils.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/external/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/external/h5io/h5io/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/external/h5io/h5io/_h5io.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/external/h5io/h5io/_version.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/external/h5io/h5io/chunked_array.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/external/h5io/h5io/chunked_list.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/external/nilearn/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/external/nilearn/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/external/nilearn/junifer_connectivity_measure.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/external/nilearn/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/base.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/brainprint.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/complexity/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/complexity/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/complexity/complexity_base.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/complexity/hurst_exponent.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/complexity/multiscale_entropy_auc.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/complexity/perm_entropy.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/complexity/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/complexity/range_entropy.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/complexity/range_entropy_auc.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/complexity/sample_entropy.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/complexity/weighted_perm_entropy.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/ets_rss.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/falff/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/falff/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/falff/_afni_falff.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/falff/_junifer_falff.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/falff/falff_base.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/falff/falff_parcels.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/falff/falff_spheres.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/falff/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/functional_connectivity/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/functional_connectivity/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/functional_connectivity/functional_connectivity_base.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/functional_connectivity/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/parcel_aggregation.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/reho/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/reho/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/reho/_afni_reho.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/reho/_junifer_reho.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/reho/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/reho/reho_base.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/reho/reho_parcels.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/reho/reho_spheres.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/sphere_aggregation.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/temporal_snr/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/temporal_snr/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/temporal_snr/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/temporal_snr/temporal_snr_base.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/temporal_snr/temporal_snr_parcels.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/temporal_snr/temporal_snr_spheres.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/tests/test_brainprint.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/tests/test_ets_rss.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/tests/test_marker_utils.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/tests/test_markers_base.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/tests/test_parcel_aggregation.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/tests/test_sphere_aggregation.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/markers/utils.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/onthefly/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/onthefly/_brainprint.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/onthefly/read_transform.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/onthefly/tests/test_read_transform.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/pipeline/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/pipeline/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/pipeline/marker_collection.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/pipeline/pipeline_component_registry.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/pipeline/pipeline_step_mixin.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/pipeline/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/pipeline/tests/test_marker_collection.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/pipeline/tests/test_pipeline_component_registry.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/pipeline/update_meta_mixin.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/pipeline/utils.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/pipeline/workdir_manager.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/base.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/confounds/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/confounds/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/confounds/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/smoothing/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/smoothing/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/smoothing/_afni_smoothing.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/smoothing/_fsl_smoothing.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/smoothing/_nilearn_smoothing.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/smoothing/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/smoothing/smoothing.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/smoothing/tests/test_smoothing.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/warping/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/warping/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/warping/_ants_warper.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/warping/_fsl_warper.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/warping/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/warping/space_warper.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/stats.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/storage/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/storage/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/storage/base.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/storage/hdf5.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/storage/pandas_base.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/storage/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/storage/sqlite.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/storage/tests/test_hdf5.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/storage/tests/test_pandas_base.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/storage/tests/test_sqlite.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/storage/tests/test_storage_base.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/storage/tests/test_utils.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/storage/utils.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/testing/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/testing/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/testing/datagrabbers.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/testing/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/testing/registry.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/testing/tests/test_testing_registry.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/testing/utils.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/tests/test_main.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/tests/test_stats.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/typing/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/typing/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/typing/_typing.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/utils/__init__.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/utils/__init__.pyi +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/utils/_config.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/utils/_yaml.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/utils/fs.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/utils/helpers.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/utils/logging.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/utils/py.typed +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/utils/singleton.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/utils/tests/test_config.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/utils/tests/test_fs.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/utils/tests/test_helpers.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer/utils/tests/test_logging.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer.egg-info/dependency_links.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer.egg-info/entry_points.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer.egg-info/requires.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/junifer.egg-info/top_level.txt +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/pyproject.toml +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/setup.cfg +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/setup.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/tools/create_aomic1000_example_dataset.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/tools/create_aomicpiop1_example_dataset.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/tools/create_aomicpiop2_example_dataset.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/tools/create_bids_example_dataset.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/tools/create_bids_example_dataset_sessions.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/tools/create_hcp1200_example_dataset.py +0 -0
- {junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/tox.ini +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: junifer
|
3
|
-
Version: 0.0.6.
|
3
|
+
Version: 0.0.6.dev475
|
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
|
+
Adapt usage of ``junifer-data`` client API to fetch parcellations, masks, coordinates and xfms by `Synchon Mandal`_
|
@@ -0,0 +1 @@
|
|
1
|
+
Add ``junifer-data`` as a dependency by `Synchon Mandal`_
|
@@ -0,0 +1 @@
|
|
1
|
+
Add ``scrub``, ``fd_threshold`` and ``std_vars_threshold`` parameters to :class:`.fMRIPrepConfoundRemover` and allow ``"scrubbing"`` key of type bool for ``strategy`` by `Synchon Mandal`_
|
@@ -0,0 +1 @@
|
|
1
|
+
Add scrubbing support to :class:`.fMRIPrepConfoundRemover` by `Synchon Mandal`_
|
@@ -12,5 +12,5 @@ __version__: str
|
|
12
12
|
__version_tuple__: VERSION_TUPLE
|
13
13
|
version_tuple: VERSION_TUPLE
|
14
14
|
|
15
|
-
__version__ = version = '0.0.6.
|
16
|
-
__version_tuple__ = version_tuple = (0, 0, 6, '
|
15
|
+
__version__ = version = '0.0.6.dev475'
|
16
|
+
__version_tuple__ = version_tuple = (0, 0, 6, 'dev475')
|
@@ -185,7 +185,7 @@ def signals() -> list[np.ndarray]:
|
|
185
185
|
|
186
186
|
@pytest.fixture
|
187
187
|
def signals_and_covariances(
|
188
|
-
cov_estimator: Union[LedoitWolf, EmpiricalCovariance]
|
188
|
+
cov_estimator: Union[LedoitWolf, EmpiricalCovariance],
|
189
189
|
) -> tuple[list[np.ndarray], list[float]]:
|
190
190
|
"""Return signals and covariances for a covariance estimator.
|
191
191
|
|
@@ -17,6 +17,8 @@ import numpy as np
|
|
17
17
|
import pandas as pd
|
18
18
|
from nilearn import image as nimg
|
19
19
|
from nilearn._utils.niimg_conversions import check_niimg_4d
|
20
|
+
from nilearn.interfaces.fmriprep.load_confounds_components import _load_scrub
|
21
|
+
from nilearn.interfaces.fmriprep.load_confounds_utils import prepare_output
|
20
22
|
|
21
23
|
from ...api.decorators import register_preprocessor
|
22
24
|
from ...data import get_data
|
@@ -110,13 +112,15 @@ class fMRIPrepConfoundRemover(BasePreprocessor):
|
|
110
112
|
----------
|
111
113
|
strategy : dict, optional
|
112
114
|
The strategy to use for each component. If None, will use the *full*
|
113
|
-
strategy for all components
|
115
|
+
strategy for all components except ``"scrubbing"`` which will be set
|
116
|
+
to False (default None).
|
114
117
|
The keys of the dictionary should correspond to names of noise
|
115
118
|
components to include:
|
116
119
|
|
117
120
|
* ``motion``
|
118
121
|
* ``wm_csf``
|
119
122
|
* ``global_signal``
|
123
|
+
* ``scrubbing``
|
120
124
|
|
121
125
|
The values of dictionary should correspond to types of confounds
|
122
126
|
extracted from each signal:
|
@@ -126,10 +130,29 @@ class fMRIPrepConfoundRemover(BasePreprocessor):
|
|
126
130
|
* ``derivatives`` : signal + derivatives
|
127
131
|
* ``full`` : signal + deriv. + quadratic terms + power2 deriv.
|
128
132
|
|
133
|
+
except ``scrubbing`` which needs to be bool.
|
129
134
|
spike : float, optional
|
130
135
|
If None, no spike regressor is added. If spike is a float, it will
|
131
136
|
add a spike regressor for every point at which framewise displacement
|
132
137
|
exceeds the specified float (default None).
|
138
|
+
scrub : int, optional
|
139
|
+
After accounting for time frames with excessive motion, further remove
|
140
|
+
segments shorter than the given number. When the value is 0, remove
|
141
|
+
time frames based on excessive framewise displacement and DVARS only.
|
142
|
+
If None and no ``"scrubbing"`` in ``strategy``, no scrubbing is
|
143
|
+
performed, else the default value is 0. The default value is referred
|
144
|
+
as full scrubbing (default None).
|
145
|
+
fd_threshold : float, optional
|
146
|
+
Framewise displacement threshold for scrub in mm. If None no
|
147
|
+
``"scrubbing"`` in ``strategy``, no scrubbing is performed, else the
|
148
|
+
default value is 0.5 (default None).
|
149
|
+
std_dvars_threshold : float, optional
|
150
|
+
Standardized DVARS threshold for scrub. DVARs is defined as root mean
|
151
|
+
squared intensity difference of volume N to volume N+1. D referring to
|
152
|
+
temporal derivative of timecourses, VARS referring to root mean squared
|
153
|
+
variance over voxels. If None and no ``"scrubbing"`` in ``strategy``,
|
154
|
+
no scrubbing is performed, else the default value is 1.5
|
155
|
+
(default None).
|
133
156
|
detrend : bool, optional
|
134
157
|
If True, detrending will be applied on timeseries, before confound
|
135
158
|
removal (default True).
|
@@ -155,8 +178,11 @@ class fMRIPrepConfoundRemover(BasePreprocessor):
|
|
155
178
|
|
156
179
|
def __init__(
|
157
180
|
self,
|
158
|
-
strategy: Optional[dict[str, str]] = None,
|
181
|
+
strategy: Optional[dict[str, Union[str, bool]]] = None,
|
159
182
|
spike: Optional[float] = None,
|
183
|
+
scrub: Optional[int] = None,
|
184
|
+
fd_threshold: Optional[float] = None,
|
185
|
+
std_dvars_threshold: Optional[float] = None,
|
160
186
|
detrend: bool = True,
|
161
187
|
standardize: bool = True,
|
162
188
|
low_pass: Optional[float] = None,
|
@@ -170,9 +196,13 @@ class fMRIPrepConfoundRemover(BasePreprocessor):
|
|
170
196
|
"motion": "full",
|
171
197
|
"wm_csf": "full",
|
172
198
|
"global_signal": "full",
|
199
|
+
"scrubbing": False,
|
173
200
|
}
|
174
201
|
self.strategy = strategy
|
175
202
|
self.spike = spike
|
203
|
+
self.scrub = scrub
|
204
|
+
self.fd_threshold = fd_threshold
|
205
|
+
self.std_dvars_threshold = std_dvars_threshold
|
176
206
|
self.detrend = detrend
|
177
207
|
self.standardize = standardize
|
178
208
|
self.low_pass = low_pass
|
@@ -180,13 +210,22 @@ class fMRIPrepConfoundRemover(BasePreprocessor):
|
|
180
210
|
self.t_r = t_r
|
181
211
|
self.masks = masks
|
182
212
|
|
183
|
-
self._valid_components = [
|
213
|
+
self._valid_components = [
|
214
|
+
"motion",
|
215
|
+
"wm_csf",
|
216
|
+
"global_signal",
|
217
|
+
"scrubbing",
|
218
|
+
]
|
184
219
|
self._valid_confounds = ["basic", "power2", "derivatives", "full"]
|
185
220
|
|
186
221
|
if any(not isinstance(k, str) for k in strategy.keys()):
|
187
222
|
raise_error("Strategy keys must be strings", ValueError)
|
188
223
|
|
189
|
-
if any(
|
224
|
+
if any(
|
225
|
+
not isinstance(v, str)
|
226
|
+
for k, v in strategy.items()
|
227
|
+
if k != "scrubbing"
|
228
|
+
):
|
190
229
|
raise_error("Strategy values must be strings", ValueError)
|
191
230
|
|
192
231
|
if any(x not in self._valid_components for x in strategy.keys()):
|
@@ -199,7 +238,11 @@ class fMRIPrepConfoundRemover(BasePreprocessor):
|
|
199
238
|
klass=ValueError,
|
200
239
|
)
|
201
240
|
|
202
|
-
if any(
|
241
|
+
if any(
|
242
|
+
v not in self._valid_confounds
|
243
|
+
for k, v in strategy.items()
|
244
|
+
if k != "scrubbing"
|
245
|
+
):
|
203
246
|
raise_error(
|
204
247
|
msg=f"Invalid confound types {list(strategy.values())}. "
|
205
248
|
f"Valid confound types are {self._valid_confounds}.\n"
|
@@ -302,7 +345,7 @@ class fMRIPrepConfoundRemover(BasePreprocessor):
|
|
302
345
|
|
303
346
|
Raises
|
304
347
|
------
|
305
|
-
|
348
|
+
RuntimeError
|
306
349
|
If invalid confounds file is found.
|
307
350
|
|
308
351
|
"""
|
@@ -315,45 +358,57 @@ class fMRIPrepConfoundRemover(BasePreprocessor):
|
|
315
358
|
derivatives_to_compute = {} # the dictionary of missing derivatives
|
316
359
|
|
317
360
|
for t_kind, t_strategy in self.strategy.items():
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
to_select.append(
|
347
|
-
if
|
348
|
-
|
361
|
+
if t_kind != "scrubbing":
|
362
|
+
t_basics = FMRIPREP_BASICS[t_kind]
|
363
|
+
|
364
|
+
if any(x not in available_vars for x in t_basics):
|
365
|
+
missing = [x for x in t_basics if x not in available_vars]
|
366
|
+
raise_error(
|
367
|
+
msg=(
|
368
|
+
"Invalid confounds file. Missing basic confounds: "
|
369
|
+
f"{missing}. "
|
370
|
+
"Check if this file is really an fmriprep "
|
371
|
+
"confounds file. You can also modify the confound "
|
372
|
+
"removal strategy."
|
373
|
+
),
|
374
|
+
klass=RuntimeError,
|
375
|
+
)
|
376
|
+
|
377
|
+
to_select.extend(t_basics)
|
378
|
+
|
379
|
+
if t_strategy in ["power2", "full"]:
|
380
|
+
for x in t_basics:
|
381
|
+
x_2 = f"{x}_power2"
|
382
|
+
to_select.append(x_2)
|
383
|
+
if x_2 not in available_vars:
|
384
|
+
squares_to_compute[x_2] = x
|
385
|
+
|
386
|
+
if t_strategy in ["derivatives", "full"]:
|
387
|
+
for x in t_basics:
|
388
|
+
x_derivative = f"{x}_derivative1"
|
389
|
+
to_select.append(x_derivative)
|
390
|
+
if x_derivative not in available_vars:
|
391
|
+
derivatives_to_compute[x_derivative] = x
|
392
|
+
if t_strategy == "full":
|
393
|
+
x_derivative_2 = f"{x_derivative}_power2"
|
394
|
+
to_select.append(x_derivative_2)
|
395
|
+
if x_derivative_2 not in available_vars:
|
396
|
+
squares_to_compute[x_derivative_2] = (
|
397
|
+
x_derivative
|
398
|
+
)
|
399
|
+
# Add spike
|
349
400
|
spike_name = "framewise_displacement"
|
350
401
|
if self.spike is not None:
|
351
402
|
if spike_name not in available_vars:
|
352
403
|
raise_error(
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
404
|
+
msg=(
|
405
|
+
"Invalid confounds file. Missing "
|
406
|
+
"framewise_displacement (spike) confound. "
|
407
|
+
"Check if this file is really an fmriprep confounds "
|
408
|
+
"file. You can also deactivate spike "
|
409
|
+
"(set spike = None)."
|
410
|
+
),
|
411
|
+
klass=RuntimeError,
|
357
412
|
)
|
358
413
|
out = to_select, squares_to_compute, derivatives_to_compute, spike_name
|
359
414
|
return out
|
@@ -377,14 +432,12 @@ class fMRIPrepConfoundRemover(BasePreprocessor):
|
|
377
432
|
if confounds_format == "adhoc":
|
378
433
|
self._map_adhoc_to_fmriprep(input)
|
379
434
|
|
380
|
-
processed_spec = self._process_fmriprep_spec(input)
|
381
|
-
|
382
435
|
(
|
383
436
|
to_select,
|
384
437
|
squares_to_compute,
|
385
438
|
derivatives_to_compute,
|
386
439
|
spike_name,
|
387
|
-
) =
|
440
|
+
) = self._process_fmriprep_spec(input)
|
388
441
|
# Copy the confounds
|
389
442
|
out_df = input["data"].copy()
|
390
443
|
|
@@ -415,6 +468,67 @@ class fMRIPrepConfoundRemover(BasePreprocessor):
|
|
415
468
|
|
416
469
|
return out_df
|
417
470
|
|
471
|
+
def _get_scrub_regressors(
|
472
|
+
self, confounds_df: pd.DataFrame
|
473
|
+
) -> pd.DataFrame:
|
474
|
+
"""Get motion outline regressors.
|
475
|
+
|
476
|
+
Parameters
|
477
|
+
----------
|
478
|
+
confounds_df : pandas.DataFrame
|
479
|
+
pandas.DataFrame with all confounds.
|
480
|
+
|
481
|
+
Returns
|
482
|
+
-------
|
483
|
+
pandas.DataFrame
|
484
|
+
pandas.DataFrame of motion outline regressors.
|
485
|
+
|
486
|
+
Raises
|
487
|
+
------
|
488
|
+
RuntimeError
|
489
|
+
If ``std_dvars`` and / or ``framewise_displacement`` is not found
|
490
|
+
in ``confounds_df``.
|
491
|
+
|
492
|
+
"""
|
493
|
+
# Check columns
|
494
|
+
if (
|
495
|
+
self.std_dvars_threshold is not None
|
496
|
+
and "std_dvars" not in confounds_df.columns
|
497
|
+
):
|
498
|
+
raise_error(
|
499
|
+
msg=(
|
500
|
+
"Invalid confounds file. Missing std_dvars "
|
501
|
+
"(standardized DVARS) confound. "
|
502
|
+
"Check if this file is really an fMRIPrep confounds file. "
|
503
|
+
),
|
504
|
+
klass=RuntimeError,
|
505
|
+
)
|
506
|
+
if (
|
507
|
+
self.fd_threshold is not None
|
508
|
+
and "framewise_displacement" not in confounds_df.columns
|
509
|
+
):
|
510
|
+
raise_error(
|
511
|
+
msg=(
|
512
|
+
"Invalid confounds file. Missing framewise_displacement "
|
513
|
+
"confound. "
|
514
|
+
"Check if this file is really an fMRIPrep confounds file. "
|
515
|
+
),
|
516
|
+
klass=RuntimeError,
|
517
|
+
)
|
518
|
+
# Use function from nilearn to not reinvent the wheel
|
519
|
+
return _load_scrub(
|
520
|
+
confounds_raw=confounds_df,
|
521
|
+
scrub=self.scrub if self.scrub is not None else 0,
|
522
|
+
fd_threshold=(
|
523
|
+
self.fd_threshold if self.fd_threshold is not None else 0.5
|
524
|
+
),
|
525
|
+
std_dvars_threshold=(
|
526
|
+
self.std_dvars_threshold
|
527
|
+
if self.std_dvars_threshold is not None
|
528
|
+
else 1.5
|
529
|
+
),
|
530
|
+
)
|
531
|
+
|
418
532
|
def _validate_data(
|
419
533
|
self,
|
420
534
|
input: dict[str, Any],
|
@@ -578,12 +692,38 @@ class fMRIPrepConfoundRemover(BasePreprocessor):
|
|
578
692
|
}
|
579
693
|
}
|
580
694
|
)
|
695
|
+
|
696
|
+
signal_clean_kwargs = {}
|
697
|
+
# Set up scrubbing mask if needed
|
698
|
+
if self.strategy.get("scrubbing", False):
|
699
|
+
motion_outline_regressors = self._get_scrub_regressors(
|
700
|
+
input["confounds"]["data"]
|
701
|
+
)
|
702
|
+
# Add regressors to confounds
|
703
|
+
confounds_df = pd.concat(
|
704
|
+
[confounds_df, motion_outline_regressors], axis=1
|
705
|
+
)
|
706
|
+
# Get sample mask
|
707
|
+
sample_mask, confounds_df = prepare_output(
|
708
|
+
confounds=confounds_df, demean=False
|
709
|
+
)
|
710
|
+
signal_clean_kwargs.update(
|
711
|
+
{
|
712
|
+
"clean__sample_mask": sample_mask,
|
713
|
+
}
|
714
|
+
)
|
581
715
|
# Clean image
|
582
716
|
logger.info("Cleaning image using nilearn")
|
717
|
+
logger.debug(f"\tstrategy: {self.strategy}")
|
718
|
+
logger.debug(f"\tspike: {self.spike}")
|
719
|
+
logger.debug(f"\tscrub: {self.scrub}")
|
720
|
+
logger.debug(f"\tfd_threshold: {self.fd_threshold}")
|
721
|
+
logger.debug(f"\tstd_dvars_threshold: {self.std_dvars_threshold}")
|
583
722
|
logger.debug(f"\tdetrend: {self.detrend}")
|
584
723
|
logger.debug(f"\tstandardize: {self.standardize}")
|
585
724
|
logger.debug(f"\tlow_pass: {self.low_pass}")
|
586
725
|
logger.debug(f"\thigh_pass: {self.high_pass}")
|
726
|
+
logger.debug(f"\tt_r: {self.t_r}")
|
587
727
|
|
588
728
|
# Deconfound data
|
589
729
|
cleaned_img = nimg.clean_img(
|
@@ -595,6 +735,7 @@ class fMRIPrepConfoundRemover(BasePreprocessor):
|
|
595
735
|
high_pass=self.high_pass,
|
596
736
|
t_r=t_r,
|
597
737
|
mask_img=mask_img,
|
738
|
+
**signal_clean_kwargs,
|
598
739
|
)
|
599
740
|
# Fix t_r as nilearn messes it up
|
600
741
|
cleaned_img.header["pixdim"][4] = t_r
|
@@ -10,6 +10,7 @@ import numpy as np
|
|
10
10
|
import pandas as pd
|
11
11
|
import pytest
|
12
12
|
from nilearn._utils.exceptions import DimensionError
|
13
|
+
from nilearn.interfaces.fmriprep.load_confounds_utils import prepare_output
|
13
14
|
from numpy.testing import assert_array_equal, assert_raises
|
14
15
|
from pandas.testing import assert_frame_equal
|
15
16
|
|
@@ -211,7 +212,7 @@ def test_fMRIPrepConfoundRemover__process_fmriprep_spec() -> None:
|
|
211
212
|
)
|
212
213
|
|
213
214
|
msg = r"Missing basic confounds: \['white_matter'\]"
|
214
|
-
with pytest.raises(
|
215
|
+
with pytest.raises(RuntimeError, match=msg):
|
215
216
|
confound_remover._process_fmriprep_spec({"data": confounds_df})
|
216
217
|
|
217
218
|
var_names = ["csf", "white_matter"]
|
@@ -220,7 +221,7 @@ def test_fMRIPrepConfoundRemover__process_fmriprep_spec() -> None:
|
|
220
221
|
)
|
221
222
|
|
222
223
|
msg = r"Missing framewise_displacement"
|
223
|
-
with pytest.raises(
|
224
|
+
with pytest.raises(RuntimeError, match=msg):
|
224
225
|
confound_remover._process_fmriprep_spec({"data": confounds_df})
|
225
226
|
|
226
227
|
|
@@ -320,6 +321,32 @@ def test_fMRIPRepConfoundRemover__pick_confounds_fmriprep_compute() -> None:
|
|
320
321
|
assert_frame_equal(out_junifer, out_fmriprep)
|
321
322
|
|
322
323
|
|
324
|
+
@pytest.mark.parametrize(
|
325
|
+
"preprocessor",
|
326
|
+
[
|
327
|
+
fMRIPrepConfoundRemover(
|
328
|
+
std_dvars_threshold=1.5,
|
329
|
+
),
|
330
|
+
fMRIPrepConfoundRemover(
|
331
|
+
fd_threshold=0.5,
|
332
|
+
),
|
333
|
+
],
|
334
|
+
)
|
335
|
+
def test_fMRIPrepConfoundRemover__get_scrub_regressors_errors(
|
336
|
+
preprocessor: type,
|
337
|
+
) -> None:
|
338
|
+
"""Test fMRIPrepConfoundRemover scrub regressors errors.
|
339
|
+
|
340
|
+
Parameters
|
341
|
+
----------
|
342
|
+
preprocessor : object
|
343
|
+
The parametrized preprocessor.
|
344
|
+
|
345
|
+
"""
|
346
|
+
with pytest.raises(RuntimeError, match="Invalid confounds file."):
|
347
|
+
preprocessor._get_scrub_regressors(pd.DataFrame({"a": [1, 2]}))
|
348
|
+
|
349
|
+
|
323
350
|
def test_fMRIPrepConfoundRemover__validate_data() -> None:
|
324
351
|
"""Test fMRIPrepConfoundRemover validate data."""
|
325
352
|
confound_remover = fMRIPrepConfoundRemover(strategy={"wm_csf": "full"})
|
@@ -567,3 +594,64 @@ def test_fMRIPrepConfoundRemover_fit_transform_masks() -> None:
|
|
567
594
|
assert "dependencies" in output["BOLD"]["meta"]
|
568
595
|
dependencies = output["BOLD"]["meta"]["dependencies"]
|
569
596
|
assert dependencies == {"numpy", "nilearn"}
|
597
|
+
|
598
|
+
|
599
|
+
def test_fMRIPrepConfoundRemover_scrubbing() -> None:
|
600
|
+
"""Test fMRIPrepConfoundRemover with scrubbing."""
|
601
|
+
confound_remover = fMRIPrepConfoundRemover(
|
602
|
+
strategy={
|
603
|
+
"motion": "full",
|
604
|
+
"wm_csf": "full",
|
605
|
+
"global_signal": "full",
|
606
|
+
"scrubbing": True,
|
607
|
+
},
|
608
|
+
)
|
609
|
+
|
610
|
+
with PartlyCloudyTestingDataGrabber(reduce_confounds=False) as dg:
|
611
|
+
element_data = DefaultDataReader().fit_transform(dg["sub-01"])
|
612
|
+
orig_bold = element_data["BOLD"]["data"].get_fdata().copy()
|
613
|
+
orig_confounds = element_data["BOLD"]["confounds"].copy()
|
614
|
+
pre_input = element_data["BOLD"]
|
615
|
+
pre_extra_input = {
|
616
|
+
"BOLD": {"confounds": element_data["BOLD"]["confounds"]}
|
617
|
+
}
|
618
|
+
output, _ = confound_remover.preprocess(pre_input, pre_extra_input)
|
619
|
+
trans_bold = output["data"].get_fdata()
|
620
|
+
# Transformation is in place
|
621
|
+
assert_array_equal(
|
622
|
+
trans_bold, element_data["BOLD"]["data"].get_fdata()
|
623
|
+
)
|
624
|
+
|
625
|
+
# Data should have different shape
|
626
|
+
assert_raises(
|
627
|
+
AssertionError,
|
628
|
+
assert_array_equal,
|
629
|
+
orig_bold.shape,
|
630
|
+
trans_bold.shape,
|
631
|
+
)
|
632
|
+
# and be different
|
633
|
+
assert_raises(
|
634
|
+
AssertionError, assert_array_equal, orig_bold, trans_bold
|
635
|
+
)
|
636
|
+
|
637
|
+
# Check scrubbing process
|
638
|
+
# Should be at the start
|
639
|
+
confounds_df = confound_remover._pick_confounds(orig_confounds)
|
640
|
+
assert confounds_df.shape == (168, 36)
|
641
|
+
# Should have 4 motion outliers based on threshold
|
642
|
+
motion_outline_regressors = confound_remover._get_scrub_regressors(
|
643
|
+
orig_confounds["data"]
|
644
|
+
)
|
645
|
+
assert motion_outline_regressors.shape == (168, 4)
|
646
|
+
# Add regressors to confounds
|
647
|
+
concat_confounds_df = pd.concat(
|
648
|
+
[confounds_df, motion_outline_regressors], axis=1
|
649
|
+
)
|
650
|
+
assert concat_confounds_df.shape == (168, 40)
|
651
|
+
# Get sample mask and correct confounds
|
652
|
+
sample_mask, final_confounds_df = prepare_output(
|
653
|
+
confounds=concat_confounds_df, demean=False
|
654
|
+
)
|
655
|
+
assert not confounds_df.equals(final_confounds_df)
|
656
|
+
assert sample_mask.shape == (164,)
|
657
|
+
assert not (np.isin([91, 92, 93, 113], sample_mask)).all()
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: junifer
|
3
|
-
Version: 0.0.6.
|
3
|
+
Version: 0.0.6.dev475
|
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>
|
@@ -74,6 +74,8 @@ docs/changes/newsfragments/359.doc
|
|
74
74
|
docs/changes/newsfragments/360.bugfix
|
75
75
|
docs/changes/newsfragments/361.misc
|
76
76
|
docs/changes/newsfragments/362.feature
|
77
|
+
docs/changes/newsfragments/363.enh
|
78
|
+
docs/changes/newsfragments/363.misc
|
77
79
|
docs/changes/newsfragments/367.enh
|
78
80
|
docs/changes/newsfragments/368.enh
|
79
81
|
docs/changes/newsfragments/369.bugfix
|
@@ -123,6 +125,8 @@ docs/changes/newsfragments/416.enh
|
|
123
125
|
docs/changes/newsfragments/418.enh
|
124
126
|
docs/changes/newsfragments/418.misc
|
125
127
|
docs/changes/newsfragments/420.bugfix
|
128
|
+
docs/changes/newsfragments/421.change
|
129
|
+
docs/changes/newsfragments/421.enh
|
126
130
|
docs/changes/newsfragments/422.feature
|
127
131
|
docs/changes/newsfragments/424.misc
|
128
132
|
docs/extending/coordinates.rst
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{junifer-0.0.6.dev459 → junifer-0.0.6.dev475}/.github/ISSUE_TEMPLATE/documention-request.yml
RENAMED
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
|