pyAFQ 1.2__tar.gz → 1.3__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.
- {pyAFQ-1.2 → pyAFQ-1.3}/.github/workflows/docbuild.yml +4 -2
- {pyAFQ-1.2 → pyAFQ-1.3}/.github/workflows/docker_pyafq.yml +3 -3
- {pyAFQ-1.2 → pyAFQ-1.3}/.github/workflows/docker_pyafq_cuda12.yml +1 -1
- {pyAFQ-1.2 → pyAFQ-1.3}/.github/workflows/nightly_anisotropic_test.yml +1 -1
- {pyAFQ-1.2 → pyAFQ-1.3}/.github/workflows/nightly_basic_test.yml +1 -1
- {pyAFQ-1.2 → pyAFQ-1.3}/.github/workflows/nightly_custom_test.yml +1 -1
- {pyAFQ-1.2 → pyAFQ-1.3}/.github/workflows/nightly_pft_test.yml +1 -1
- {pyAFQ-1.2 → pyAFQ-1.3}/.github/workflows/nightly_reco80_test.yml +1 -1
- {pyAFQ-1.2 → pyAFQ-1.3}/.github/workflows/nightly_reco_test.yml +1 -1
- {pyAFQ-1.2 → pyAFQ-1.3}/.github/workflows/nightly_test.yml +1 -1
- {pyAFQ-1.2 → pyAFQ-1.3}/.github/workflows/test.yml +1 -1
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/_fixes.py +0 -79
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/api/bundle_dict.py +430 -427
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/api/group.py +4 -4
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/api/participant.py +1 -2
- pyAFQ-1.3/AFQ/data/utils.py +42 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/definitions/image.py +49 -47
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/definitions/mapping.py +4 -15
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/definitions/utils.py +39 -9
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/models/csd.py +13 -1
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/segmentation.py +68 -78
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tasks/data.py +48 -14
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tasks/mapping.py +28 -25
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tasks/segmentation.py +25 -21
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tasks/tractography.py +19 -13
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tasks/utils.py +1 -1
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tasks/viz.py +2 -4
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/test_api.py +76 -51
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/test_bundle_dict.py +6 -12
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/test_segmentation.py +32 -50
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/test_tractography.py +16 -12
- pyAFQ-1.3/AFQ/tractography/gputractography.py +177 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tractography/tractography.py +27 -50
- pyAFQ-1.3/AFQ/tractography/utils.py +45 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/utils/bin.py +2 -2
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/utils/conversion.py +6 -1
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/utils/tests/test_conversions.py +2 -2
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/version.py +2 -2
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/viz/altair.py +19 -15
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/viz/plotly_backend.py +11 -5
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/viz/utils.py +103 -90
- {pyAFQ-1.2 → pyAFQ-1.3}/CHANGES.rst +33 -0
- {pyAFQ-1.2/pyAFQ.egg-info → pyAFQ-1.3}/PKG-INFO +9 -5
- {pyAFQ-1.2 → pyAFQ-1.3}/bin/pyAFQ +22 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/_progressbars.py +0 -2
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/index.rst +1 -1
- {pyAFQ-1.2 → pyAFQ-1.3}/examples/howto_examples/cerebellar_peduncles.py +3 -63
- {pyAFQ-1.2 → pyAFQ-1.3}/examples/howto_examples/cloudknot_example.py +2 -2
- pyAFQ-1.2/examples/howto_examples/plot_accoustic_radiations.py → pyAFQ-1.3/examples/howto_examples/plot_acoustic_radiations.py +5 -5
- {pyAFQ-1.2 → pyAFQ-1.3}/examples/howto_examples/plot_afq_callosal.py +3 -2
- {pyAFQ-1.2 → pyAFQ-1.3}/examples/howto_examples/plot_afq_fwdti.py +2 -2
- {pyAFQ-1.2 → pyAFQ-1.3}/examples/howto_examples/plot_optic_radiations.py +6 -30
- pyAFQ-1.3/examples/howto_examples/plot_stages_of_tractometry.py +566 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/examples/howto_examples/vof_example.py +4 -1
- {pyAFQ-1.2 → pyAFQ-1.3}/examples/tutorial_examples/plot_001_afq_api.py +17 -2
- {pyAFQ-1.2 → pyAFQ-1.3}/examples/tutorial_examples/plot_002_bids_layout.py +7 -2
- {pyAFQ-1.2 → pyAFQ-1.3}/examples/tutorial_examples/plot_003_viz.py +34 -4
- {pyAFQ-1.2 → pyAFQ-1.3}/gpu_docker/Dockerfile +3 -2
- pyAFQ-1.3/gpu_docker/cuda_build.sh +15 -0
- pyAFQ-1.3/gpu_docker/cuda_track_template.def +63 -0
- {pyAFQ-1.2 → pyAFQ-1.3/pyAFQ.egg-info}/PKG-INFO +9 -5
- {pyAFQ-1.2 → pyAFQ-1.3}/pyAFQ.egg-info/SOURCES.txt +5 -4
- {pyAFQ-1.2 → pyAFQ-1.3}/pyAFQ.egg-info/requires.txt +8 -4
- {pyAFQ-1.2 → pyAFQ-1.3}/pyafq_docker/Dockerfile +1 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/setup.cfg +6 -3
- pyAFQ-1.2/AFQ/data/s3bids.py +0 -1264
- pyAFQ-1.2/AFQ/data/utils.py +0 -33
- pyAFQ-1.2/AFQ/tests/test_s3bids.py +0 -163
- pyAFQ-1.2/AFQ/tractography/gputractography.py +0 -121
- pyAFQ-1.2/pyafq_cli.json +0 -576
- {pyAFQ-1.2 → pyAFQ-1.3}/.github/CITATION.cff +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/.github/CONTRIBUTING.md +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/.github/workflows/publish-to-test-pypi.yml +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/.gitignore +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/.mailmap +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/.maintenance/update_changes.sh +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/.maintenance/update_zenodo.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/.pep8speaks.yml +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/.zenodo.json +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/__init__.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/afq_bids_entities.json +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/api/__init__.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/api/utils.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/data/__init__.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/data/fetch.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/definitions/__init__.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/models/QBallTP.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/models/__init__.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/models/dki.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/models/dti.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/models/fwdti.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/registration.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tasks/__init__.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tasks/decorators.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/__init__.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/MoriGroups_Test.mat +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/WholeBrainFG_test.mat +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/.datalad/.gitattributes +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/.datalad/config +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/.gitattributes +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/CHANGES +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/README +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/T1w.json +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/annex-uuid +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/dataset_description.json +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/aMRIQC.csv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_group.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-01.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-02.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-03.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-04.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-05.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-06.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-07.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-08.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-09.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-10.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-11.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-12.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-13.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-14.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-15.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-16.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-17.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-18.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-19.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-20.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-21.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-22.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-23.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-24.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-25.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-26.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/fMRIQC.csv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_group.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-01.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-02.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-03.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-04.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-05.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-06.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-07.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-08.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-09.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-10.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-11.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-12.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-13.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-14.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-15.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-16.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-17.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-18.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-19.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-20.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-21.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-22.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-23.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-24.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-25.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-26.pdf +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/participants.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/anat/sub-01_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/func/sub-01_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/func/sub-01_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/func/sub-01_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/func/sub-01_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/anat/sub-02_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/func/sub-02_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/func/sub-02_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/func/sub-02_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/func/sub-02_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/anat/sub-03_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/func/sub-03_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/func/sub-03_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/func/sub-03_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/func/sub-03_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/anat/sub-04_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/func/sub-04_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/func/sub-04_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/func/sub-04_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/func/sub-04_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/anat/sub-05_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/func/sub-05_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/func/sub-05_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/func/sub-05_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/func/sub-05_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/anat/sub-06_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/func/sub-06_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/func/sub-06_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/func/sub-06_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/func/sub-06_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/anat/sub-07_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/func/sub-07_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/func/sub-07_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/func/sub-07_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/func/sub-07_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/anat/sub-08_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/func/sub-08_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/func/sub-08_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/func/sub-08_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/func/sub-08_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/anat/sub-09_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/func/sub-09_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/func/sub-09_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/func/sub-09_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/func/sub-09_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/anat/sub-10_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/func/sub-10_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/func/sub-10_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/func/sub-10_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/func/sub-10_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/anat/sub-11_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/func/sub-11_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/func/sub-11_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/func/sub-11_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/func/sub-11_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/anat/sub-12_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/func/sub-12_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/func/sub-12_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/func/sub-12_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/func/sub-12_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/anat/sub-13_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/func/sub-13_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/func/sub-13_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/func/sub-13_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/func/sub-13_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/anat/sub-14_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/func/sub-14_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/func/sub-14_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/func/sub-14_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/func/sub-14_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/anat/sub-15_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/func/sub-15_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/func/sub-15_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/func/sub-15_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/func/sub-15_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/anat/sub-16_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/func/sub-16_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/func/sub-16_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/func/sub-16_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/func/sub-16_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/anat/sub-17_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/func/sub-17_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/func/sub-17_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/func/sub-17_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/func/sub-17_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/anat/sub-18_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/func/sub-18_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/func/sub-18_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/func/sub-18_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/func/sub-18_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/anat/sub-19_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/func/sub-19_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/func/sub-19_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/func/sub-19_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/func/sub-19_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/anat/sub-20_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/func/sub-20_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/func/sub-20_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/func/sub-20_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/func/sub-20_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/anat/sub-21_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/func/sub-21_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/func/sub-21_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/func/sub-21_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/func/sub-21_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/anat/sub-22_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/func/sub-22_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/func/sub-22_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/func/sub-22_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/func/sub-22_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/anat/sub-23_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/func/sub-23_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/func/sub-23_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/func/sub-23_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/func/sub-23_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/anat/sub-24_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/func/sub-24_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/func/sub-24_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/func/sub-24_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/func/sub-24_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/anat/sub-25_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/func/sub-25_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/func/sub-25_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/func/sub-25_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/func/sub-25_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/anat/sub-26_T1w.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/func/sub-26_task-flanker_run-1_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/func/sub-26_task-flanker_run-1_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/func/sub-26_task-flanker_run-2_bold.nii.gz +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/func/sub-26_task-flanker_run-2_events.tsv +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/data/mocks3/ds000102-mimic/task-flanker_bold.json +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/test_csd.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/test_data.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/test_definitions.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/test_dki.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/test_dti.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/test_fixes.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/test_registration.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tests/test_viz.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/tractography/__init__.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/utils/__init__.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/utils/docs.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/utils/models.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/utils/path.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/utils/stats.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/utils/streamlines.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/utils/testing.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/utils/tests/__init__.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/utils/tests/test_path.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/utils/tests/test_stats.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/utils/tests/test_streamlines.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/utils/tests/test_volume.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/utils/volume.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/viz/__init__.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/viz/fury_backend.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/AFQ/viz/plot.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/CITATION +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/LICENSE +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/MANIFEST.in +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/Makefile +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/README.md +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/Makefile +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/_static/BDE_Banner_revised20160211-01.jpg +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/_static/custom.css +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/_static/eScience_Logo_HR.png +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/_static/escience-logo.png +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/_static/logo.png +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/_templates/layout.html +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/conf.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/explanations/_static/down_left_arrow.png +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/explanations/_static/down_right_arrow.png +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/explanations/_static/greencheck.png +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/explanations/_static/tract_modeling2.png +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/explanations/_static/tract_profiling.png +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/explanations/_static/tract_recognition.png +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/explanations/_static/tract_tractography.png +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/explanations/index.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/explanations/modeling.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/explanations/profiling.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/explanations/recognition.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/explanations/tractography.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/explanations/tractometry_pipeline.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/howto/cite.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/howto/contributing.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/howto/developing/definitions.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/howto/developing/index.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/howto/developing/releasing.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/howto/developing/tasks.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/howto/getting_help.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/howto/index.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/howto/installation_guide.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/howto/usage/converter.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/howto/usage/data.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/howto/usage/docker.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/howto/usage/image.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/howto/usage/index.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/howto/usage/kwargs.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/howto/usage/methods.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/howto/usage/scalars.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/reference/bundledict.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/reference/index.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/reference/kwargs.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/reference/mapping.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/reference/methods.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/reference/viz_backend.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/sphinxext/kwargsdocs.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/sphinxext/methodsdocs.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/sphinxext/updatedocs.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/source/tutorials/index.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/docs/upload-gh-pages.sh +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/examples/howto_examples/README.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/examples/howto_examples/add_custom_bundle.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/examples/howto_examples/baby_afq.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/examples/howto_examples/cloudknot_hcp_example.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/examples/howto_examples/plot_recobundles.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/examples/howto_examples/use_subject_space_rois_from_freesurfer.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/examples/tutorial_examples/README.rst +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/gpu_docker/docker-build.sh +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/gpu_docker/docker-push.sh +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/pyAFQ.egg-info/dependency_links.txt +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/pyAFQ.egg-info/not-zip-safe +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/pyAFQ.egg-info/top_level.txt +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/pyafq_docker/docker-build.sh +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/pyafq_docker/docker-push.sh +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/pyproject.toml +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/setup.py +0 -0
- {pyAFQ-1.2 → pyAFQ-1.3}/tox.ini +0 -0
|
@@ -8,7 +8,7 @@ jobs:
|
|
|
8
8
|
strategy:
|
|
9
9
|
max-parallel: 4
|
|
10
10
|
matrix:
|
|
11
|
-
python-version: [3.9, 3.
|
|
11
|
+
python-version: ["3.9", "3.10", "3.11"]
|
|
12
12
|
|
|
13
13
|
steps:
|
|
14
14
|
- name: Checkout repo
|
|
@@ -21,11 +21,13 @@ jobs:
|
|
|
21
21
|
run: |
|
|
22
22
|
python -m pip install --upgrade pip
|
|
23
23
|
pip install .[all]
|
|
24
|
-
|
|
24
|
+
sudo apt-get install -y xvfb
|
|
25
25
|
- name: Build docs
|
|
26
26
|
env:
|
|
27
27
|
XVFB: 1
|
|
28
|
+
DISPLAY: :99
|
|
28
29
|
run: |
|
|
30
|
+
Xvfb :99 -screen 0 1280x1024x24 &
|
|
29
31
|
cd docs
|
|
30
32
|
make html
|
|
31
33
|
- name: Upload docs
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
name: Build and Push pyAFQ Docker Image
|
|
2
2
|
|
|
3
|
-
on: [push
|
|
3
|
+
on: [push]
|
|
4
4
|
|
|
5
5
|
jobs:
|
|
6
6
|
build:
|
|
@@ -27,13 +27,13 @@ jobs:
|
|
|
27
27
|
|
|
28
28
|
- name: Build pyAFQ GPU docker image
|
|
29
29
|
run: sh ./gpu_docker/docker-build.sh \
|
|
30
|
-
"${{github.sha}}" "nrdg" "11.
|
|
30
|
+
"${{github.sha}}" "nrdg" "11.4.3-devel-ubuntu20.04" "11"
|
|
31
31
|
|
|
32
32
|
- name: Build a tagged GPU image
|
|
33
33
|
if: startsWith(github.event.ref, 'refs/tags')
|
|
34
34
|
run: |
|
|
35
35
|
sh ./gpu_docker/docker-build.sh \
|
|
36
|
-
"${GITHUB_REF:10}" "nrdg" "11.
|
|
36
|
+
"${GITHUB_REF:10}" "nrdg" "11.4.3-devel-ubuntu20.04" "11"
|
|
37
37
|
|
|
38
38
|
- name: Login to GHCR
|
|
39
39
|
if: github.ref == 'refs/heads/master' || startsWith(github.event.ref, 'refs/tags')
|
|
@@ -3,11 +3,6 @@ import numpy as np
|
|
|
3
3
|
from scipy.special import lpmv, gammaln
|
|
4
4
|
|
|
5
5
|
from tqdm import tqdm
|
|
6
|
-
from dipy.align import Bunch
|
|
7
|
-
from dipy.tracking.local_tracking import (LocalTracking,
|
|
8
|
-
ParticleFilteringTracking)
|
|
9
|
-
from dipy.tracking.stopping_criterion import StreamlineStatus
|
|
10
|
-
import random
|
|
11
6
|
|
|
12
7
|
import math
|
|
13
8
|
|
|
@@ -43,80 +38,6 @@ def spherical_harmonics(m, n, theta, phi):
|
|
|
43
38
|
return val
|
|
44
39
|
|
|
45
40
|
|
|
46
|
-
TissueTypes = Bunch(OUTSIDEIMAGE=-1, INVALIDPOINT=0, TRACKPOINT=1, ENDPOINT=2)
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
def _verbose_generate_tractogram(self):
|
|
50
|
-
"""A streamline generator"""
|
|
51
|
-
|
|
52
|
-
# Get inverse transform (lin/offset) for seeds
|
|
53
|
-
inv_A = np.linalg.inv(self.affine)
|
|
54
|
-
lin = inv_A[:3, :3]
|
|
55
|
-
offset = inv_A[:3, 3]
|
|
56
|
-
|
|
57
|
-
F = np.empty((self.max_length + 1, 3), dtype=float)
|
|
58
|
-
B = F.copy()
|
|
59
|
-
for s in tqdm(self.seeds):
|
|
60
|
-
s = np.dot(lin, s) + offset
|
|
61
|
-
# Set the random seed in numpy and random
|
|
62
|
-
if self.random_seed is not None:
|
|
63
|
-
s_random_seed = hash(np.abs((np.sum(s)) + self.random_seed)) \
|
|
64
|
-
% (2**32 - 1)
|
|
65
|
-
random.seed(s_random_seed)
|
|
66
|
-
np.random.seed(s_random_seed)
|
|
67
|
-
directions = self.direction_getter.initial_direction(s)
|
|
68
|
-
if directions.size == 0 and self.return_all:
|
|
69
|
-
# only the seed position
|
|
70
|
-
if self.save_seeds:
|
|
71
|
-
yield [s], s
|
|
72
|
-
else:
|
|
73
|
-
yield [s]
|
|
74
|
-
directions = directions[:self.max_cross]
|
|
75
|
-
for first_step in directions:
|
|
76
|
-
stepsF, stream_status = self._tracker(s, first_step, F)
|
|
77
|
-
if not (self.return_all
|
|
78
|
-
or stream_status == StreamlineStatus.ENDPOINT
|
|
79
|
-
or stream_status == StreamlineStatus.OUTSIDEIMAGE):
|
|
80
|
-
continue
|
|
81
|
-
first_step = -first_step
|
|
82
|
-
stepsB, stream_status = self._tracker(s, first_step, B)
|
|
83
|
-
if not (self.return_all
|
|
84
|
-
or stream_status == StreamlineStatus.ENDPOINT
|
|
85
|
-
or stream_status == StreamlineStatus.OUTSIDEIMAGE):
|
|
86
|
-
continue
|
|
87
|
-
if stepsB == 1:
|
|
88
|
-
streamline = F[:stepsF].copy()
|
|
89
|
-
else:
|
|
90
|
-
parts = (B[stepsB - 1:0:-1], F[:stepsF])
|
|
91
|
-
streamline = np.concatenate(parts, axis=0)
|
|
92
|
-
|
|
93
|
-
# move to the next streamline if only the seed position
|
|
94
|
-
# and not return all
|
|
95
|
-
len_sl = len(streamline)
|
|
96
|
-
if len_sl >= self.min_length:
|
|
97
|
-
if len_sl <= self.max_length:
|
|
98
|
-
if self.save_seeds:
|
|
99
|
-
yield streamline, s
|
|
100
|
-
else:
|
|
101
|
-
yield streamline
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
class VerboseLocalTracking(LocalTracking):
|
|
105
|
-
def __init__(self, *args, min_length=10, max_length=1000, **kwargs):
|
|
106
|
-
super().__init__(*args, **kwargs)
|
|
107
|
-
self.min_length = min_length
|
|
108
|
-
self.max_length = max_length
|
|
109
|
-
_generate_tractogram = _verbose_generate_tractogram
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
class VerboseParticleFilteringTracking(ParticleFilteringTracking):
|
|
113
|
-
def __init__(self, *args, min_length=10, max_length=1000, **kwargs):
|
|
114
|
-
super().__init__(*args, **kwargs)
|
|
115
|
-
self.min_length = min_length
|
|
116
|
-
self.max_length = max_length
|
|
117
|
-
_generate_tractogram = _verbose_generate_tractogram
|
|
118
|
-
|
|
119
|
-
|
|
120
41
|
def in_place_norm(vec, axis=-1, keepdims=False, delvec=True):
|
|
121
42
|
""" Return Vectors with Euclidean (L2) norm
|
|
122
43
|
|