junifer 0.0.7.dev264__tar.gz → 0.0.7.dev289__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.dev264 → junifer-0.0.7.dev289}/PKG-INFO +1 -1
- junifer-0.0.7.dev289/docs/changes/newsfragments/472.enh +1 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/understanding/storage.rst +10 -6
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/_version.py +3 -3
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/storage/base.py +52 -49
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/storage/hdf5.py +75 -99
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/storage/pandas_base.py +19 -25
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/storage/sqlite.py +32 -43
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/storage/tests/test_hdf5.py +3 -3
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/storage/tests/test_sqlite.py +1 -1
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/storage/tests/test_storage_base.py +12 -10
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/storage/utils.py +25 -15
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer.egg-info/PKG-INFO +1 -1
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer.egg-info/SOURCES.txt +1 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/.dockerignore +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/.github/ISSUE_TEMPLATE/dataset-request.yml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/.github/ISSUE_TEMPLATE/documention-request.yml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/.github/ISSUE_TEMPLATE/marker-request.yml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/.github/dependabot.yml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/.github/pull_request_template.md +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/.github/workflows/check-stale.yml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/.github/workflows/ci-docs.yml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/.github/workflows/ci.yml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/.github/workflows/docker-ci-publish.yml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/.github/workflows/docker-docs-publish.yml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/.github/workflows/docs-preview.yml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/.github/workflows/docs.yml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/.github/workflows/lint.yml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/.github/workflows/publish.yml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/.gitignore +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/.gitmodules +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/.pre-commit-config.yaml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/AUTHORS.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/Dockerfile-ci +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/Dockerfile-docs +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/LICENSE.md +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/README.md +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/codecov.yml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/conda-env.yml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/Makefile +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/_static/css/custom.css +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/_static/js/custom.js +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/_templates/versions.html +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/api/api.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/api/cli.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/api/configs.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/api/data.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/api/datagrabbers.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/api/datareaders.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/api/index.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/api/markers.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/api/nilearn.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/api/onthefly.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/api/pipeline.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/api/preprocessing.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/api/stats.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/api/storage.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/api/testing.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/api/utils.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/builtin.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/contributors.inc +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/.gitignore +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/231.change +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/231.misc +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/257.change +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/257.enh +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/333.enh +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/429.change +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/429.enh +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/432.feature +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/441.misc +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/443.feature +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/444.bugfix +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/450.doc +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/450.feature +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/451.doc +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/451.feature +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/452.doc +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/452.feature +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/454.bugfix +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/456.misc +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/457.misc +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/458.change +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/458.feature +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/458.misc +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/460.feature +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/462.feature +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/464.misc +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/465.misc +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/466.misc +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/467.misc +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/468.misc +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/470.enh +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/470.misc +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/changes/newsfragments/473.enh +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/conf.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/contribution.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/extending/coordinates.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/extending/data_dump_asset.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/extending/data_registries.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/extending/data_types.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/extending/datagrabber.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/extending/dependencies.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/extending/extension.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/extending/index.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/extending/maps.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/extending/marker.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/extending/masks.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/extending/parcellations.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/extending/plugins.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/extending/preprocessor.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/faq.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/help.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/images/junifer_logo.png +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/index.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/installation.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/links.inc +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/maintaining.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/redirect.html +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/starting.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/understanding/data.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/understanding/datagrabber.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/understanding/datareader.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/understanding/index.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/understanding/marker.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/understanding/pipeline.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/understanding/preprocess.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/using/codeless.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/using/configuring.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/using/dumping.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/using/index.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/using/masks.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/using/queueing.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/using/running.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/docs/whats_new.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/examples/README.rst +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/examples/norun_hcpfc_pearson.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/examples/norun_ukbvm_gmd.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/examples/run_compute_parcel_mean.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/examples/run_datagrabber_bids_datalad.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/examples/run_ets_rss_marker.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/examples/run_junifer_julearn.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/examples/run_run_gmd_mean.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/examples/yamls/gmd_mean.yaml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/examples/yamls/gmd_mean_htcondor.yaml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/examples/yamls/partly_cloudy_agg_mean_tian.yml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/examples/yamls/ukb_gmd_mean.yaml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/ignore_words.txt +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/decorators.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/functions.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/queue_context/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/queue_context/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/queue_context/gnu_parallel_local_adapter.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/queue_context/htcondor_adapter.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/queue_context/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/queue_context/queue_context_adapter.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/queue_context/tests/test_htcondor_adapter.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/afni/3dAFNItoNIFTI +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/afni/3dRSFC +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/afni/3dReHo +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/afni/afni +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/afni/run_afni_docker.sh +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/ants/ResampleImage +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/ants/antsApplyTransforms +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/ants/antsApplyTransformsToPoints +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/ants/run_ants_docker.sh +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/freesurfer/mri_binarize +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/freesurfer/mri_mc +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/freesurfer/mri_pretess +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/freesurfer/mris_convert +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/freesurfer/run_freesurfer_docker.sh +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/fsl/applywarp +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/fsl/flirt +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/fsl/img2imgcoord +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/fsl/run_fsl_docker.sh +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/fsl/std2imgcoord +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/run_conda.bash +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/run_conda.zsh +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/run_venv.bash +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/res/run_venv.zsh +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/tests/test_decorators.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/api/tests/test_functions.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/cli/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/cli/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/cli/cli.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/cli/parser.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/cli/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/cli/tests/data/gmd_mean.yaml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/cli/tests/data/gmd_mean_htcondor.yaml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/cli/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/cli/tests/test_cli.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/cli/tests/test_cli_utils.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/cli/tests/test_parser.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/cli/utils.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/configs/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/configs/juseless/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/configs/juseless/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/configs/juseless/datagrabbers/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/configs/juseless/datagrabbers/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/configs/juseless/datagrabbers/camcan_vbm.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/configs/juseless/datagrabbers/ixi_vbm.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/configs/juseless/datagrabbers/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/configs/juseless/datagrabbers/tests/test_ucla.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/configs/juseless/datagrabbers/ucla.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/configs/juseless/datagrabbers/ukb_vbm.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/configs/juseless/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/conftest.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/_dispatch.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/coordinates/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/coordinates/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/coordinates/_ants_coordinates_warper.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/coordinates/_coordinates.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/coordinates/_fsl_coordinates_warper.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/coordinates/tests/test_coordinates.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/maps/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/maps/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/maps/_ants_maps_warper.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/maps/_fsl_maps_warper.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/maps/_maps.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/maps/tests/test_maps.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/masks/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/masks/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/masks/_ants_mask_warper.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/masks/_fsl_mask_warper.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/masks/_masks.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/masks/tests/test_masks.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/parcellations/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/parcellations/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/parcellations/_ants_parcellation_warper.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/parcellations/_fsl_parcellation_warper.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/parcellations/_parcellations.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/parcellations/tests/test_parcellations.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/pipeline_data_registry_base.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/template_spaces.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/tests/test_data_utils.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/tests/test_dispatch.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/tests/test_template_spaces.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/data/utils.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/aomic/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/aomic/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/aomic/id1000.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/aomic/piop1.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/aomic/piop2.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/aomic/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/aomic/tests/test_id1000.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/aomic/tests/test_piop1.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/aomic/tests/test_piop2.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/base.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/datalad_base.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/dmcc13_benchmark.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/hcp1200/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/hcp1200/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/hcp1200/datalad_hcp1200.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/hcp1200/hcp1200.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/hcp1200/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/hcp1200/tests/test_hcp1200.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/multiple.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/pattern.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/pattern_datalad.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/pattern_validation_mixin.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/tests/test_base.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/tests/test_datalad_base.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/tests/test_dmcc13_benchmark.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/tests/test_multiple.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/tests/test_pattern.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/tests/test_pattern_datalad.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datagrabber/tests/test_pattern_validation_mixin.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datareader/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datareader/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datareader/default.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datareader/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/datareader/tests/test_default_reader.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/external/BrainPrint/brainprint/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/external/BrainPrint/brainprint/_version.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/external/BrainPrint/brainprint/asymmetry.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/external/BrainPrint/brainprint/brainprint.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/external/BrainPrint/brainprint/surfaces.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/external/BrainPrint/brainprint/utils/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/external/BrainPrint/brainprint/utils/_config.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/external/BrainPrint/brainprint/utils/utils.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/external/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/external/h5io/h5io/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/external/h5io/h5io/_h5io.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/external/h5io/h5io/_version.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/external/h5io/h5io/chunked_array.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/external/h5io/h5io/chunked_list.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/external/nilearn/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/external/nilearn/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/external/nilearn/junifer_connectivity_measure.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/external/nilearn/junifer_nifti_spheres_masker.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/external/nilearn/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/base.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/brainprint.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/complexity/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/complexity/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/complexity/complexity_base.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/complexity/hurst_exponent.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/complexity/multiscale_entropy_auc.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/complexity/perm_entropy.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/complexity/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/complexity/range_entropy.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/complexity/range_entropy_auc.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/complexity/sample_entropy.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/complexity/tests/test_complexity_base.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/complexity/tests/test_hurst_exponent.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/complexity/tests/test_perm_entropy.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/complexity/tests/test_range_entropy.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/complexity/tests/test_range_entropy_auc.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/complexity/tests/test_sample_entropy.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/complexity/tests/test_weighted_perm_entropy.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/complexity/weighted_perm_entropy.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/ets_rss.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/falff/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/falff/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/falff/_afni_falff.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/falff/_junifer_falff.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/falff/falff_base.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/falff/falff_maps.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/falff/falff_parcels.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/falff/falff_spheres.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/falff/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/falff/tests/test_falff_maps.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/falff/tests/test_falff_parcels.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/falff/tests/test_falff_spheres.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/functional_connectivity/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/functional_connectivity/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/functional_connectivity/edge_functional_connectivity_maps.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/functional_connectivity/functional_connectivity_base.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/functional_connectivity/functional_connectivity_maps.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/functional_connectivity/functional_connectivity_parcels.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/functional_connectivity/functional_connectivity_spheres.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/functional_connectivity/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_maps.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_maps.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/maps_aggregation.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/parcel_aggregation.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/reho/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/reho/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/reho/_afni_reho.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/reho/_junifer_reho.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/reho/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/reho/reho_base.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/reho/reho_maps.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/reho/reho_parcels.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/reho/reho_spheres.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/reho/tests/test_reho_maps.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/reho/tests/test_reho_parcels.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/reho/tests/test_reho_spheres.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/sphere_aggregation.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/temporal_snr/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/temporal_snr/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/temporal_snr/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/temporal_snr/temporal_snr_base.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/temporal_snr/temporal_snr_maps.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/temporal_snr/temporal_snr_parcels.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/temporal_snr/temporal_snr_spheres.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/temporal_snr/tests/test_temporal_snr_base.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/temporal_snr/tests/test_temporal_snr_maps.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/tests/test_brainprint.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/tests/test_ets_rss.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/tests/test_maps_aggregation.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/tests/test_marker_utils.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/tests/test_markers_base.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/tests/test_parcel_aggregation.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/tests/test_sphere_aggregation.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/markers/utils.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/onthefly/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/onthefly/_brainprint.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/onthefly/read_transform.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/onthefly/tests/test_read_transform.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/pipeline/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/pipeline/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/pipeline/_data_object_dumper.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/pipeline/marker_collection.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/pipeline/pipeline_component_registry.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/pipeline/pipeline_step_mixin.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/pipeline/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/pipeline/tests/test_data_object_dumper.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/pipeline/tests/test_marker_collection.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/pipeline/tests/test_pipeline_component_registry.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/pipeline/tests/test_pipeline_step_mixin.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/pipeline/tests/test_update_meta_mixin.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/pipeline/tests/test_workdir_manager.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/pipeline/update_meta_mixin.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/pipeline/utils.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/pipeline/workdir_manager.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/_temporal_filter.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/_temporal_slicer.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/base.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/confounds/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/confounds/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/confounds/fmriprep_confound_remover.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/confounds/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/smoothing/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/smoothing/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/smoothing/_afni_smoothing.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/smoothing/_fsl_smoothing.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/smoothing/_nilearn_smoothing.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/smoothing/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/smoothing/smoothing.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/smoothing/tests/test_smoothing.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/tests/test_preprocess_base.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/tests/test_temporal_filter.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/tests/test_temporal_slicer.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/warping/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/warping/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/warping/_ants_warper.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/warping/_fsl_warper.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/warping/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/warping/space_warper.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/preprocess/warping/tests/test_space_warper.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/stats.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/storage/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/storage/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/storage/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/storage/tests/test_pandas_base.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/storage/tests/test_utils.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/testing/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/testing/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/testing/datagrabbers.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/testing/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/testing/registry.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/testing/tests/test_oasisvmbtesting_datagrabber.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/testing/tests/test_partlycloudytesting_datagrabber.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/testing/tests/test_spmauditory_datagrabber.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/testing/tests/test_testing_registry.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/testing/utils.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/tests/test_main.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/tests/test_stats.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/typing/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/typing/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/typing/_typing.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/utils/__init__.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/utils/__init__.pyi +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/utils/_config.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/utils/_yaml.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/utils/fs.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/utils/helpers.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/utils/logging.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/utils/py.typed +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/utils/singleton.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/utils/tests/test_config.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/utils/tests/test_fs.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/utils/tests/test_helpers.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer/utils/tests/test_logging.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer.egg-info/dependency_links.txt +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer.egg-info/entry_points.txt +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer.egg-info/requires.txt +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/junifer.egg-info/top_level.txt +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/pyproject.toml +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/setup.cfg +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/setup.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/tools/create_aomic1000_example_dataset.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/tools/create_aomicpiop1_example_dataset.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/tools/create_aomicpiop2_example_dataset.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/tools/create_bids_example_dataset.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/tools/create_bids_example_dataset_sessions.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/tools/create_dmcc13_benchmark_example_dataset.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/tools/create_hcp1200_example_dataset.py +0 -0
- {junifer-0.0.7.dev264 → junifer-0.0.7.dev289}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: junifer
|
|
3
|
-
Version: 0.0.7.
|
|
3
|
+
Version: 0.0.7.dev289
|
|
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
|
+
Simplify ``Storage`` interface and implementations by `Synchon Mandal`_
|
|
@@ -17,11 +17,11 @@ Storage is meant to be used inside the DataGrabber context but you can operate
|
|
|
17
17
|
on them outside the context as long as the processed data is in the memory and
|
|
18
18
|
the Python runtime has not garbage-collected it.
|
|
19
19
|
|
|
20
|
-
The :ref:`Markers <marker>` are responsible for
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
specific *storage
|
|
20
|
+
The :ref:`Markers <marker>` are responsible for mapping the input
|
|
21
|
+
:ref:`data type <data_types>` to its output :ref:`storage type <storage_types>`
|
|
22
|
+
as shown :ref:`here <extending_markers_input_output>`.
|
|
23
|
+
The storage object in turn declares and provides implementation for
|
|
24
|
+
specific *storage type*. For example, :class:`.SQLiteFeatureStorage` supports
|
|
25
25
|
saving ``matrix``, ``vector`` and ``timeseries`` via ``store_matrix``,
|
|
26
26
|
``store_vector`` and ``store_timeseries`` methods respectively.
|
|
27
27
|
|
|
@@ -57,6 +57,10 @@ Storage Types
|
|
|
57
57
|
- A 2D square or non-square matrix of scalar values with column names
|
|
58
58
|
- ``col_names``
|
|
59
59
|
- :meth:`.BaseFeatureStorage.store_timeseries`
|
|
60
|
+
* - ``timeseries_2d``
|
|
61
|
+
- A 3D(2D+1D) square or non-square matrix of scalar values with column names across sessions
|
|
62
|
+
- ``col_names``
|
|
63
|
+
- :meth:`.BaseFeatureStorage.store_timeseries_2d`
|
|
60
64
|
* - ``scalar_table``
|
|
61
65
|
- | A 2D square or non-square matrix of scalar values with row name, column
|
|
62
66
|
| name and row header column name
|
|
@@ -83,4 +87,4 @@ Storage Interfaces
|
|
|
83
87
|
* - :class:`.HDF5FeatureStorage`
|
|
84
88
|
- ``.hdf5``
|
|
85
89
|
- HDF5
|
|
86
|
-
- ``matrix``, ``vector``, ``timeseries``, ``scalar_table``
|
|
90
|
+
- ``matrix``, ``vector``, ``timeseries``, ``timeseries_2d``, ``scalar_table``
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.0.7.
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 0, 7, '
|
|
31
|
+
__version__ = version = '0.0.7.dev289'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 0, 7, 'dev289')
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'g5abcacf68'
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
# License: AGPL
|
|
6
6
|
|
|
7
7
|
from abc import ABC, abstractmethod
|
|
8
|
-
from collections.abc import
|
|
8
|
+
from collections.abc import Sequence
|
|
9
9
|
from pathlib import Path
|
|
10
|
-
from typing import Any, Optional, Union
|
|
10
|
+
from typing import Any, ClassVar, Optional, Union
|
|
11
11
|
|
|
12
12
|
import numpy as np
|
|
13
13
|
import pandas as pd
|
|
14
14
|
|
|
15
|
-
from ..utils import raise_error
|
|
15
|
+
from ..utils import logger, raise_error
|
|
16
16
|
from .utils import process_meta
|
|
17
17
|
|
|
18
18
|
|
|
@@ -22,44 +22,47 @@ __all__ = ["BaseFeatureStorage"]
|
|
|
22
22
|
class BaseFeatureStorage(ABC):
|
|
23
23
|
"""Abstract base class for feature storage.
|
|
24
24
|
|
|
25
|
-
For every
|
|
25
|
+
For every storage, one needs to provide a concrete
|
|
26
26
|
implementation of this abstract class.
|
|
27
27
|
|
|
28
28
|
Parameters
|
|
29
29
|
----------
|
|
30
30
|
uri : str or pathlib.Path
|
|
31
31
|
The path to the storage.
|
|
32
|
-
storage_types : str or list of str
|
|
33
|
-
The available storage types for the class.
|
|
34
32
|
single_output : bool, optional
|
|
35
33
|
Whether to have single output (default True).
|
|
36
34
|
|
|
37
35
|
Raises
|
|
38
36
|
------
|
|
39
|
-
|
|
40
|
-
If
|
|
37
|
+
AttributeError
|
|
38
|
+
If the storage does not have `_STORAGE_TYPES` attribute.
|
|
41
39
|
|
|
42
40
|
"""
|
|
43
41
|
|
|
42
|
+
_STORAGE_TYPES: ClassVar[Sequence[str]]
|
|
43
|
+
|
|
44
44
|
def __init__(
|
|
45
45
|
self,
|
|
46
46
|
uri: Union[str, Path],
|
|
47
|
-
storage_types: Union[list[str], str],
|
|
48
47
|
single_output: bool = True,
|
|
49
48
|
) -> None:
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
if not isinstance(storage_types, list):
|
|
53
|
-
storage_types = [storage_types]
|
|
54
|
-
# Check if required inputs are found
|
|
55
|
-
if any(x not in self.get_valid_inputs() for x in storage_types):
|
|
56
|
-
wrong_storage_types = [
|
|
57
|
-
x for x in storage_types if x not in self.get_valid_inputs()
|
|
58
|
-
]
|
|
49
|
+
# Check for missing storage types attribute
|
|
50
|
+
if not hasattr(self, "_STORAGE_TYPES"):
|
|
59
51
|
raise_error(
|
|
60
|
-
|
|
52
|
+
msg="Missing `_STORAGE_TYPES` for the storage",
|
|
53
|
+
klass=AttributeError,
|
|
54
|
+
)
|
|
55
|
+
# Convert str to Path
|
|
56
|
+
if not isinstance(uri, Path):
|
|
57
|
+
uri = Path(uri)
|
|
58
|
+
self.uri = uri
|
|
59
|
+
# Create parent directories if not present
|
|
60
|
+
if not self.uri.parent.exists():
|
|
61
|
+
logger.info(
|
|
62
|
+
f"Output directory: '{self.uri.parent.resolve()}' "
|
|
63
|
+
"does not exist, creating now"
|
|
61
64
|
)
|
|
62
|
-
|
|
65
|
+
self.uri.parent.mkdir(parents=True, exist_ok=True)
|
|
63
66
|
self.single_output = single_output
|
|
64
67
|
|
|
65
68
|
def get_valid_inputs(self) -> list[str]:
|
|
@@ -69,13 +72,10 @@ class BaseFeatureStorage(ABC):
|
|
|
69
72
|
-------
|
|
70
73
|
list of str
|
|
71
74
|
The list of storage types that can be used as input for this
|
|
72
|
-
storage
|
|
75
|
+
storage.
|
|
73
76
|
|
|
74
77
|
"""
|
|
75
|
-
|
|
76
|
-
msg="Concrete classes need to implement get_valid_inputs().",
|
|
77
|
-
klass=NotImplementedError,
|
|
78
|
-
)
|
|
78
|
+
return list(self._STORAGE_TYPES)
|
|
79
79
|
|
|
80
80
|
def validate(self, input_: list[str]) -> None:
|
|
81
81
|
"""Validate the input to the pipeline step.
|
|
@@ -91,11 +91,12 @@ class BaseFeatureStorage(ABC):
|
|
|
91
91
|
If the ``input_`` is invalid.
|
|
92
92
|
|
|
93
93
|
"""
|
|
94
|
-
|
|
94
|
+
# self._STORAGE_TYPES should be there already
|
|
95
|
+
if not any(x in input_ for x in self._STORAGE_TYPES):
|
|
95
96
|
raise_error(
|
|
96
97
|
"Input does not have the required data."
|
|
97
98
|
f"\t Input: {input}"
|
|
98
|
-
f"\t Required (any of): {self.
|
|
99
|
+
f"\t Required (any of): {self._STORAGE_TYPES}"
|
|
99
100
|
)
|
|
100
101
|
|
|
101
102
|
@abstractmethod
|
|
@@ -113,7 +114,7 @@ class BaseFeatureStorage(ABC):
|
|
|
113
114
|
raise_error(
|
|
114
115
|
msg="Concrete classes need to implement list_features().",
|
|
115
116
|
klass=NotImplementedError,
|
|
116
|
-
)
|
|
117
|
+
) # pragma: no cover
|
|
117
118
|
|
|
118
119
|
@abstractmethod
|
|
119
120
|
def read(
|
|
@@ -141,7 +142,7 @@ class BaseFeatureStorage(ABC):
|
|
|
141
142
|
raise_error(
|
|
142
143
|
msg="Concrete classes need to implement read().",
|
|
143
144
|
klass=NotImplementedError,
|
|
144
|
-
)
|
|
145
|
+
) # pragma: no cover
|
|
145
146
|
|
|
146
147
|
@abstractmethod
|
|
147
148
|
def read_df(
|
|
@@ -167,7 +168,7 @@ class BaseFeatureStorage(ABC):
|
|
|
167
168
|
raise_error(
|
|
168
169
|
msg="Concrete classes need to implement read_df().",
|
|
169
170
|
klass=NotImplementedError,
|
|
170
|
-
)
|
|
171
|
+
) # pragma: no cover
|
|
171
172
|
|
|
172
173
|
@abstractmethod
|
|
173
174
|
def store_metadata(self, meta_md5: str, element: dict, meta: dict) -> None:
|
|
@@ -186,7 +187,7 @@ class BaseFeatureStorage(ABC):
|
|
|
186
187
|
raise_error(
|
|
187
188
|
msg="Concrete classes need to implement store_metadata().",
|
|
188
189
|
klass=NotImplementedError,
|
|
189
|
-
)
|
|
190
|
+
) # pragma: no cover
|
|
190
191
|
|
|
191
192
|
def store(self, kind: str, **kwargs) -> None:
|
|
192
193
|
"""Store extracted features data.
|
|
@@ -206,14 +207,16 @@ class BaseFeatureStorage(ABC):
|
|
|
206
207
|
"""
|
|
207
208
|
# Do the check before calling the abstract methods, otherwise the
|
|
208
209
|
# meta might be stored even if the data is not stored.
|
|
209
|
-
if kind not in self.
|
|
210
|
+
if kind not in self._STORAGE_TYPES:
|
|
210
211
|
raise_error(
|
|
211
212
|
msg=f"I don't know how to store {kind}.",
|
|
212
213
|
klass=ValueError,
|
|
213
214
|
)
|
|
215
|
+
# Process and store metadata
|
|
214
216
|
t_meta = kwargs.pop("meta")
|
|
215
217
|
meta_md5, t_meta, t_element = process_meta(t_meta)
|
|
216
218
|
self.store_metadata(meta_md5=meta_md5, element=t_element, meta=t_meta)
|
|
219
|
+
# Store data
|
|
217
220
|
if kind == "matrix":
|
|
218
221
|
self.store_matrix(meta_md5=meta_md5, element=t_element, **kwargs)
|
|
219
222
|
elif kind == "timeseries":
|
|
@@ -236,8 +239,8 @@ class BaseFeatureStorage(ABC):
|
|
|
236
239
|
meta_md5: str,
|
|
237
240
|
element: dict,
|
|
238
241
|
data: np.ndarray,
|
|
239
|
-
col_names: Optional[
|
|
240
|
-
row_names: Optional[
|
|
242
|
+
col_names: Optional[Sequence[str]] = None,
|
|
243
|
+
row_names: Optional[Sequence[str]] = None,
|
|
241
244
|
matrix_kind: str = "full",
|
|
242
245
|
diagonal: bool = True,
|
|
243
246
|
) -> None:
|
|
@@ -251,9 +254,9 @@ class BaseFeatureStorage(ABC):
|
|
|
251
254
|
The element as a dictionary.
|
|
252
255
|
data : numpy.ndarray
|
|
253
256
|
The matrix data to store.
|
|
254
|
-
col_names : list
|
|
257
|
+
col_names : list-like of str, optional
|
|
255
258
|
The column labels (default None).
|
|
256
|
-
row_names : str, optional
|
|
259
|
+
row_names : list-like of str, optional
|
|
257
260
|
The row labels (default None).
|
|
258
261
|
matrix_kind : str, optional
|
|
259
262
|
The kind of matrix:
|
|
@@ -278,7 +281,7 @@ class BaseFeatureStorage(ABC):
|
|
|
278
281
|
meta_md5: str,
|
|
279
282
|
element: dict,
|
|
280
283
|
data: Union[np.ndarray, list],
|
|
281
|
-
col_names: Optional[
|
|
284
|
+
col_names: Optional[Sequence[str]] = None,
|
|
282
285
|
) -> None:
|
|
283
286
|
"""Store vector.
|
|
284
287
|
|
|
@@ -290,7 +293,7 @@ class BaseFeatureStorage(ABC):
|
|
|
290
293
|
The element as a dictionary.
|
|
291
294
|
data : numpy.ndarray or list
|
|
292
295
|
The vector data to store.
|
|
293
|
-
col_names : list
|
|
296
|
+
col_names : list-like of str, optional
|
|
294
297
|
The column labels (default None).
|
|
295
298
|
|
|
296
299
|
"""
|
|
@@ -304,7 +307,7 @@ class BaseFeatureStorage(ABC):
|
|
|
304
307
|
meta_md5: str,
|
|
305
308
|
element: dict,
|
|
306
309
|
data: np.ndarray,
|
|
307
|
-
col_names: Optional[
|
|
310
|
+
col_names: Optional[Sequence[str]] = None,
|
|
308
311
|
) -> None:
|
|
309
312
|
"""Store timeseries.
|
|
310
313
|
|
|
@@ -316,7 +319,7 @@ class BaseFeatureStorage(ABC):
|
|
|
316
319
|
The element as a dictionary.
|
|
317
320
|
data : numpy.ndarray
|
|
318
321
|
The timeseries data to store.
|
|
319
|
-
col_names : list
|
|
322
|
+
col_names : list-like of str, optional
|
|
320
323
|
The column labels (default None).
|
|
321
324
|
|
|
322
325
|
"""
|
|
@@ -330,8 +333,8 @@ class BaseFeatureStorage(ABC):
|
|
|
330
333
|
meta_md5: str,
|
|
331
334
|
element: dict,
|
|
332
335
|
data: np.ndarray,
|
|
333
|
-
col_names: Optional[
|
|
334
|
-
row_names: Optional[
|
|
336
|
+
col_names: Optional[Sequence[str]] = None,
|
|
337
|
+
row_names: Optional[Sequence[str]] = None,
|
|
335
338
|
) -> None:
|
|
336
339
|
"""Store 2D timeseries.
|
|
337
340
|
|
|
@@ -343,9 +346,9 @@ class BaseFeatureStorage(ABC):
|
|
|
343
346
|
The element as a dictionary.
|
|
344
347
|
data : numpy.ndarray
|
|
345
348
|
The timeseries data to store.
|
|
346
|
-
col_names : list
|
|
349
|
+
col_names : list-like of str, optional
|
|
347
350
|
The column labels (default None).
|
|
348
|
-
row_names : list
|
|
351
|
+
row_names : list-like of str, optional
|
|
349
352
|
The row labels (default None).
|
|
350
353
|
|
|
351
354
|
"""
|
|
@@ -359,8 +362,8 @@ class BaseFeatureStorage(ABC):
|
|
|
359
362
|
meta_md5: str,
|
|
360
363
|
element: dict,
|
|
361
364
|
data: np.ndarray,
|
|
362
|
-
col_names: Optional[
|
|
363
|
-
row_names: Optional[
|
|
365
|
+
col_names: Optional[Sequence[str]] = None,
|
|
366
|
+
row_names: Optional[Sequence[str]] = None,
|
|
364
367
|
row_header_col_name: Optional[str] = "feature",
|
|
365
368
|
) -> None:
|
|
366
369
|
"""Store table with scalar values.
|
|
@@ -373,9 +376,9 @@ class BaseFeatureStorage(ABC):
|
|
|
373
376
|
The element as a dictionary.
|
|
374
377
|
data : numpy.ndarray
|
|
375
378
|
The timeseries data to store.
|
|
376
|
-
col_names : list
|
|
379
|
+
col_names : list-like of str, optional
|
|
377
380
|
The column labels (default None).
|
|
378
|
-
row_names : str, optional
|
|
381
|
+
row_names : list-like of str, optional
|
|
379
382
|
The row labels (default None).
|
|
380
383
|
row_header_col_name : str, optional
|
|
381
384
|
The column name for the row header column (default "feature").
|
|
@@ -392,7 +395,7 @@ class BaseFeatureStorage(ABC):
|
|
|
392
395
|
raise_error(
|
|
393
396
|
msg="Concrete classes need to implement collect().",
|
|
394
397
|
klass=NotImplementedError,
|
|
395
|
-
)
|
|
398
|
+
) # pragma: no cover
|
|
396
399
|
|
|
397
400
|
def __str__(self) -> str:
|
|
398
401
|
"""Represent object as string.
|