pyAFQ 2.1__tar.gz → 3.1__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.
Files changed (498) hide show
  1. pyafq-3.1/.codespellrc +3 -0
  2. {pyafq-2.1 → pyafq-3.1}/.github/workflows/docbuild.yml +16 -7
  3. {pyafq-2.1 → pyafq-3.1}/.github/workflows/docker_pyafq.yml +4 -0
  4. {pyafq-2.1 → pyafq-3.1}/.github/workflows/docker_pyafq_cuda12.yml +4 -0
  5. {pyafq-2.1 → pyafq-3.1}/.github/workflows/nightly_anisotropic_test.yml +7 -3
  6. {pyafq-2.1 → pyafq-3.1}/.github/workflows/nightly_basic_test.yml +7 -3
  7. {pyafq-2.1 → pyafq-3.1}/.github/workflows/nightly_custom_test.yml +15 -4
  8. {pyafq-2.1 → pyafq-3.1}/.github/workflows/nightly_reco80_test.yml +7 -3
  9. {pyafq-2.1 → pyafq-3.1}/.github/workflows/nightly_reco_test.yml +7 -3
  10. {pyafq-2.1 → pyafq-3.1}/.github/workflows/nightly_test.yml +7 -3
  11. pyafq-3.1/.github/workflows/publish-to-test-pypi.yml +94 -0
  12. {pyafq-2.1 → pyafq-3.1}/.github/workflows/test.yml +4 -4
  13. {pyafq-2.1 → pyafq-3.1}/.maintenance/update_zenodo.py +31 -32
  14. pyafq-3.1/.pre-commit-config.yaml +18 -0
  15. pyafq-3.1/AFQ/_fixes.py +440 -0
  16. pyafq-3.1/AFQ/api/bundle_dict.py +1747 -0
  17. {pyafq-2.1 → pyafq-3.1}/AFQ/api/group.py +524 -377
  18. pyafq-3.1/AFQ/api/participant.py +493 -0
  19. pyafq-3.1/AFQ/api/utils.py +190 -0
  20. pyafq-3.1/AFQ/data/fetch.py +2596 -0
  21. pyafq-3.1/AFQ/data/utils.py +57 -0
  22. {pyafq-2.1 → pyafq-3.1}/AFQ/definitions/image.py +485 -305
  23. {pyafq-2.1 → pyafq-3.1}/AFQ/definitions/mapping.py +228 -187
  24. {pyafq-2.1 → pyafq-3.1}/AFQ/definitions/utils.py +68 -52
  25. pyafq-3.1/AFQ/models/QBallTP.py +47 -0
  26. pyafq-3.1/AFQ/models/asym_filtering.py +688 -0
  27. {pyafq-2.1 → pyafq-3.1}/AFQ/models/csd.py +54 -30
  28. {pyafq-2.1 → pyafq-3.1}/AFQ/models/dki.py +58 -42
  29. {pyafq-2.1 → pyafq-3.1}/AFQ/models/dti.py +29 -23
  30. {pyafq-2.1 → pyafq-3.1}/AFQ/models/fwdti.py +10 -12
  31. pyafq-3.1/AFQ/models/msmt.py +64 -0
  32. pyafq-3.1/AFQ/models/wmgm_interface.py +66 -0
  33. pyafq-3.1/AFQ/nn/brainchop.py +106 -0
  34. pyafq-3.1/AFQ/nn/multiaxial.py +210 -0
  35. pyafq-3.1/AFQ/nn/synthseg.py +324 -0
  36. pyafq-3.1/AFQ/nn/utils.py +51 -0
  37. pyafq-3.1/AFQ/recognition/cleaning.py +437 -0
  38. pyafq-3.1/AFQ/recognition/clustering.py +217 -0
  39. pyafq-3.1/AFQ/recognition/criteria.py +786 -0
  40. {pyafq-2.1 → pyafq-3.1}/AFQ/recognition/curvature.py +6 -8
  41. pyafq-3.1/AFQ/recognition/other_bundles.py +235 -0
  42. pyafq-3.1/AFQ/recognition/preprocess.py +30 -0
  43. pyafq-3.1/AFQ/recognition/recognize.py +309 -0
  44. pyafq-3.1/AFQ/recognition/roi.py +102 -0
  45. pyafq-3.1/AFQ/recognition/sparse_decisions.py +116 -0
  46. pyafq-3.1/AFQ/recognition/tests/conftest.py +11 -0
  47. pyafq-3.1/AFQ/recognition/tests/test_other_bundles.py +73 -0
  48. pyafq-3.1/AFQ/recognition/tests/test_recognition.py +260 -0
  49. pyafq-3.1/AFQ/recognition/tests/test_rois.py +99 -0
  50. pyafq-3.1/AFQ/recognition/tests/test_utils.py +165 -0
  51. pyafq-3.1/AFQ/recognition/utils.py +306 -0
  52. pyafq-3.1/AFQ/registration.py +151 -0
  53. pyafq-3.1/AFQ/tasks/data.py +1495 -0
  54. pyafq-3.1/AFQ/tasks/decorators.py +248 -0
  55. {pyafq-2.1 → pyafq-3.1}/AFQ/tasks/mapping.py +122 -95
  56. {pyafq-2.1 → pyafq-3.1}/AFQ/tasks/segmentation.py +192 -176
  57. pyafq-3.1/AFQ/tasks/structural.py +271 -0
  58. pyafq-3.1/AFQ/tasks/tissue.py +501 -0
  59. pyafq-3.1/AFQ/tasks/tractography.py +252 -0
  60. {pyafq-2.1 → pyafq-3.1}/AFQ/tasks/utils.py +46 -11
  61. {pyafq-2.1 → pyafq-3.1}/AFQ/tasks/viz.py +181 -163
  62. pyafq-3.1/AFQ/tests/test_api.py +1048 -0
  63. pyafq-3.1/AFQ/tests/test_bundle_dict.py +60 -0
  64. pyafq-3.1/AFQ/tests/test_csd.py +84 -0
  65. {pyafq-2.1 → pyafq-3.1}/AFQ/tests/test_definitions.py +31 -29
  66. {pyafq-2.1 → pyafq-3.1}/AFQ/tests/test_dki.py +13 -17
  67. {pyafq-2.1 → pyafq-3.1}/AFQ/tests/test_dti.py +27 -33
  68. pyafq-3.1/AFQ/tests/test_fixes.py +91 -0
  69. pyafq-3.1/AFQ/tests/test_msmt.py +458 -0
  70. pyafq-3.1/AFQ/tests/test_nn.py +53 -0
  71. pyafq-3.1/AFQ/tests/test_registration.py +83 -0
  72. pyafq-3.1/AFQ/tests/test_tractography.py +122 -0
  73. pyafq-3.1/AFQ/tests/test_viz.py +25 -0
  74. pyafq-3.1/AFQ/tractography/tractography.py +404 -0
  75. pyafq-3.1/AFQ/tractography/utils.py +72 -0
  76. {pyafq-2.1 → pyafq-3.1}/AFQ/utils/bin.py +180 -115
  77. {pyafq-2.1 → pyafq-3.1}/AFQ/utils/conversion.py +8 -12
  78. {pyafq-2.1 → pyafq-3.1}/AFQ/utils/docs.py +13 -12
  79. {pyafq-2.1 → pyafq-3.1}/AFQ/utils/docstring_parser.py +21 -27
  80. {pyafq-2.1 → pyafq-3.1}/AFQ/utils/models.py +4 -5
  81. {pyafq-2.1 → pyafq-3.1}/AFQ/utils/path.py +56 -30
  82. {pyafq-2.1 → pyafq-3.1}/AFQ/utils/stats.py +6 -0
  83. pyafq-3.1/AFQ/utils/streamlines.py +194 -0
  84. {pyafq-2.1 → pyafq-3.1}/AFQ/utils/testing.py +101 -60
  85. {pyafq-2.1 → pyafq-3.1}/AFQ/utils/tests/test_conversions.py +8 -8
  86. {pyafq-2.1 → pyafq-3.1}/AFQ/utils/tests/test_stats.py +4 -5
  87. pyafq-3.1/AFQ/utils/tests/test_streamlines.py +74 -0
  88. pyafq-3.1/AFQ/utils/tests/test_volume.py +28 -0
  89. {pyafq-2.1 → pyafq-3.1}/AFQ/utils/volume.py +23 -56
  90. pyafq-3.1/AFQ/version.py +24 -0
  91. pyafq-3.1/AFQ/viz/__init__.py +0 -0
  92. {pyafq-2.1 → pyafq-3.1}/AFQ/viz/altair.py +102 -78
  93. pyafq-3.1/AFQ/viz/fury_backend.py +463 -0
  94. {pyafq-2.1 → pyafq-3.1}/AFQ/viz/plot.py +549 -448
  95. {pyafq-2.1 → pyafq-3.1}/AFQ/viz/plotly_backend.py +320 -184
  96. {pyafq-2.1 → pyafq-3.1}/AFQ/viz/utils.py +291 -216
  97. {pyafq-2.1 → pyafq-3.1}/CHANGES.rst +89 -10
  98. pyafq-3.1/NOTICE.md +4 -0
  99. {pyafq-2.1 → pyafq-3.1}/PKG-INFO +45 -26
  100. {pyafq-2.1 → pyafq-3.1}/README.md +15 -1
  101. {pyafq-2.1 → pyafq-3.1}/bin/pyAFQ +0 -1
  102. {pyafq-2.1 → pyafq-3.1}/docs/Makefile +3 -1
  103. pyafq-3.1/docs/source/_static/CSVfile.png +0 -0
  104. pyafq-3.1/docs/source/_static/FAbrain.png +0 -0
  105. pyafq-3.1/docs/source/_static/ProfileViz.png +0 -0
  106. pyafq-3.1/docs/source/_static/TP_viz.png +0 -0
  107. pyafq-3.1/docs/source/_static/arcuaterois.png +0 -0
  108. pyafq-3.1/docs/source/_static/beaware.png +0 -0
  109. pyafq-3.1/docs/source/_static/diffusion-anisotropic.gif +0 -0
  110. pyafq-3.1/docs/source/_static/diffusion-isotropic.gif +0 -0
  111. pyafq-3.1/docs/source/_static/dti_in_brain.png +0 -0
  112. pyafq-3.1/docs/source/_static/dtiexplanation.jpg +0 -0
  113. pyafq-3.1/docs/source/_static/ecosystem.jpg +0 -0
  114. pyafq-3.1/docs/source/_static/inherintambiguity.png +0 -0
  115. pyafq-3.1/docs/source/_static/modelling.png +0 -0
  116. pyafq-3.1/docs/source/_static/modeltotrack.png +0 -0
  117. pyafq-3.1/docs/source/_static/sphx_glr_plot_stages_of_tractometry_001.gif +0 -0
  118. pyafq-3.1/docs/source/_static/sphx_glr_plot_stages_of_tractometry_002.gif +0 -0
  119. pyafq-3.1/docs/source/_static/sphx_glr_plot_stages_of_tractometry_003.gif +0 -0
  120. pyafq-3.1/docs/source/_static/sphx_glr_plot_stages_of_tractometry_004.gif +0 -0
  121. pyafq-3.1/docs/source/_static/sphx_glr_plot_stages_of_tractometry_005.gif +0 -0
  122. pyafq-3.1/docs/source/_static/sphx_glr_plot_stages_of_tractometry_006.gif +0 -0
  123. pyafq-3.1/docs/source/_static/sphx_glr_plot_stages_of_tractometry_010.gif +0 -0
  124. pyafq-3.1/docs/source/_static/sphx_glr_plot_stages_of_tractometry_011.gif +0 -0
  125. pyafq-3.1/docs/source/_static/sphx_glr_plot_stages_of_tractometry_012.gif +0 -0
  126. pyafq-3.1/docs/source/_static/tractometry_pipeline.png +0 -0
  127. pyafq-3.1/docs/source/_static/tropic.png +0 -0
  128. pyafq-3.1/docs/source/_templates/footer.html +15 -0
  129. {pyafq-2.1 → pyafq-3.1}/docs/source/conf.py +3 -1
  130. pyafq-3.1/docs/source/explanations/index.rst +313 -0
  131. pyafq-3.1/docs/source/explanations/whats_new_3.rst +47 -0
  132. {pyafq-2.1 → pyafq-3.1}/docs/source/howto/installation_guide.rst +1 -1
  133. {pyafq-2.1 → pyafq-3.1}/docs/source/index.rst +24 -10
  134. pyafq-3.1/docs/source/reference/bundledict.rst +197 -0
  135. {pyafq-2.1 → pyafq-3.1}/docs/source/reference/index.rst +1 -0
  136. {pyafq-2.1 → pyafq-3.1}/docs/source/reference/kwargs.rst +44 -27
  137. {pyafq-2.1 → pyafq-3.1}/docs/source/reference/methods.rst +146 -50
  138. {pyafq-2.1 → pyafq-3.1}/docs/source/reference/viz_backend.rst +11 -9
  139. {pyafq-2.1 → pyafq-3.1}/docs/source/references.bib +489 -1
  140. {pyafq-2.1 → pyafq-3.1}/docs/source/sphinxext/methodsdocs.py +3 -2
  141. {pyafq-2.1 → pyafq-3.1}/docs/source/sphinxext/updatedocs.py +4 -5
  142. {pyafq-2.1 → pyafq-3.1}/docs/source/tutorials/index.rst +4 -5
  143. {pyafq-2.1 → pyafq-3.1}/examples/howto_examples/acoustic_radiations.py +1 -8
  144. {pyafq-2.1 → pyafq-3.1}/examples/howto_examples/add_custom_bundle.py +8 -18
  145. pyafq-2.1/examples/howto_examples/plot_afq_callosal.py → pyafq-3.1/examples/howto_examples/afq_callosal.py +4 -3
  146. pyafq-2.1/examples/howto_examples/run_afq_fwdti.py → pyafq-3.1/examples/howto_examples/afq_fwdti.py +8 -15
  147. {pyafq-2.1 → pyafq-3.1}/examples/howto_examples/baby_afq.py +2 -2
  148. {pyafq-2.1 → pyafq-3.1}/examples/howto_examples/cerebellar_peduncles.py +1 -14
  149. {pyafq-2.1 → pyafq-3.1}/examples/howto_examples/cloudknot_example.py +1 -10
  150. {pyafq-2.1 → pyafq-3.1}/examples/howto_examples/cloudknot_hcp_example.py +0 -7
  151. {pyafq-2.1 → pyafq-3.1}/examples/howto_examples/optic_radiations.py +2 -9
  152. pyafq-3.1/examples/howto_examples/optic_tract.py +176 -0
  153. {pyafq-2.1 → pyafq-3.1}/examples/howto_examples/plot_stages_of_tractometry.py +192 -228
  154. pyafq-2.1/examples/howto_examples/run_pyAFQ_with_GPU.py → pyafq-3.1/examples/howto_examples/pyAFQ_with_GPU.py +19 -9
  155. pyafq-3.1/examples/howto_examples/pyafq_2.py +249 -0
  156. pyafq-2.1/examples/howto_examples/plot_recobundles.py → pyafq-3.1/examples/howto_examples/recobundles.py +4 -2
  157. {pyafq-2.1 → pyafq-3.1}/examples/howto_examples/use_subject_space_rois_from_freesurfer.py +3 -2
  158. {pyafq-2.1 → pyafq-3.1}/examples/howto_examples/vof_example.py +3 -2
  159. {pyafq-2.1 → pyafq-3.1}/examples/tutorial_examples/README.rst +2 -2
  160. {pyafq-2.1 → pyafq-3.1}/examples/tutorial_examples/plot_001_group_afq_api.py +123 -53
  161. {pyafq-2.1 → pyafq-3.1}/examples/tutorial_examples/plot_002_participant_afq_api.py +118 -65
  162. {pyafq-2.1 → pyafq-3.1}/examples/tutorial_examples/plot_003_rerun.py +31 -16
  163. {pyafq-2.1 → pyafq-3.1}/examples/tutorial_examples/plot_004_export.py +45 -21
  164. {pyafq-2.1 → pyafq-3.1}/examples/tutorial_examples/plot_005_viz.py +53 -141
  165. {pyafq-2.1 → pyafq-3.1}/examples/tutorial_examples/plot_006_bids_layout.py +22 -6
  166. {pyafq-2.1 → pyafq-3.1}/examples/tutorial_examples/plot_007_rois.py +2 -2
  167. {pyafq-2.1 → pyafq-3.1}/gpu_docker/Dockerfile +3 -5
  168. pyafq-2.1/gpu_docker/cuda_track_template.def → pyafq-3.1/gpu_docker/pyafq_with_gpu_template.def +5 -17
  169. {pyafq-2.1 → pyafq-3.1}/pyAFQ.egg-info/PKG-INFO +45 -26
  170. {pyafq-2.1 → pyafq-3.1}/pyAFQ.egg-info/SOURCES.txt +58 -16
  171. {pyafq-2.1 → pyafq-3.1}/pyAFQ.egg-info/requires.txt +29 -21
  172. {pyafq-2.1 → pyafq-3.1}/pyafq_docker/Dockerfile +3 -0
  173. pyafq-3.1/pyproject.toml +42 -0
  174. {pyafq-2.1 → pyafq-3.1}/setup.cfg +24 -16
  175. pyafq-3.1/setup.py +36 -0
  176. pyafq-2.1/.github/workflows/nightly_pft_test.yml +0 -32
  177. pyafq-2.1/.github/workflows/publish-to-test-pypi.yml +0 -39
  178. pyafq-2.1/AFQ/_fixes.py +0 -248
  179. pyafq-2.1/AFQ/api/bundle_dict.py +0 -1187
  180. pyafq-2.1/AFQ/api/participant.py +0 -390
  181. pyafq-2.1/AFQ/api/utils.py +0 -158
  182. pyafq-2.1/AFQ/data/fetch.py +0 -1845
  183. pyafq-2.1/AFQ/data/utils.py +0 -52
  184. pyafq-2.1/AFQ/models/QBallTP.py +0 -69
  185. pyafq-2.1/AFQ/recognition/cleaning.py +0 -194
  186. pyafq-2.1/AFQ/recognition/criteria.py +0 -426
  187. pyafq-2.1/AFQ/recognition/other_bundles.py +0 -153
  188. pyafq-2.1/AFQ/recognition/preprocess.py +0 -81
  189. pyafq-2.1/AFQ/recognition/recognize.py +0 -311
  190. pyafq-2.1/AFQ/recognition/roi.py +0 -92
  191. pyafq-2.1/AFQ/recognition/tests/test_other_bundles.py +0 -43
  192. pyafq-2.1/AFQ/recognition/tests/test_recognition.py +0 -251
  193. pyafq-2.1/AFQ/recognition/tests/test_rois.py +0 -108
  194. pyafq-2.1/AFQ/recognition/tests/test_utils.py +0 -81
  195. pyafq-2.1/AFQ/recognition/utils.py +0 -227
  196. pyafq-2.1/AFQ/registration.py +0 -186
  197. pyafq-2.1/AFQ/tasks/data.py +0 -1220
  198. pyafq-2.1/AFQ/tasks/decorators.py +0 -222
  199. pyafq-2.1/AFQ/tasks/tractography.py +0 -490
  200. pyafq-2.1/AFQ/tests/test_api.py +0 -974
  201. pyafq-2.1/AFQ/tests/test_bundle_dict.py +0 -58
  202. pyafq-2.1/AFQ/tests/test_csd.py +0 -34
  203. pyafq-2.1/AFQ/tests/test_fixes.py +0 -78
  204. pyafq-2.1/AFQ/tests/test_registration.py +0 -91
  205. pyafq-2.1/AFQ/tests/test_tractography.py +0 -139
  206. pyafq-2.1/AFQ/tests/test_viz.py +0 -14
  207. pyafq-2.1/AFQ/tractography/gputractography.py +0 -223
  208. pyafq-2.1/AFQ/tractography/tractography.py +0 -282
  209. pyafq-2.1/AFQ/tractography/utils.py +0 -45
  210. pyafq-2.1/AFQ/utils/streamlines.py +0 -136
  211. pyafq-2.1/AFQ/utils/tests/test_streamlines.py +0 -68
  212. pyafq-2.1/AFQ/utils/tests/test_volume.py +0 -57
  213. pyafq-2.1/AFQ/version.py +0 -21
  214. pyafq-2.1/AFQ/viz/fury_backend.py +0 -554
  215. pyafq-2.1/docs/source/_templates/footer.html +0 -11
  216. pyafq-2.1/docs/source/explanations/index.rst +0 -34
  217. pyafq-2.1/docs/source/explanations/tractometry_pipeline.rst +0 -41
  218. pyafq-2.1/docs/source/reference/bundledict.rst +0 -100
  219. pyafq-2.1/gpu_docker/cuda_build.sh +0 -15
  220. pyafq-2.1/pyproject.toml +0 -15
  221. pyafq-2.1/setup.py +0 -33
  222. {pyafq-2.1 → pyafq-3.1}/.github/CITATION.cff +0 -0
  223. {pyafq-2.1 → pyafq-3.1}/.github/CONTRIBUTING.md +0 -0
  224. {pyafq-2.1 → pyafq-3.1}/.gitignore +0 -0
  225. {pyafq-2.1 → pyafq-3.1}/.mailmap +0 -0
  226. {pyafq-2.1 → pyafq-3.1}/.maintenance/update_changes.sh +0 -0
  227. {pyafq-2.1 → pyafq-3.1}/.pep8speaks.yml +0 -0
  228. {pyafq-2.1 → pyafq-3.1}/.zenodo.json +0 -0
  229. {pyafq-2.1 → pyafq-3.1}/AFQ/__init__.py +0 -0
  230. {pyafq-2.1 → pyafq-3.1}/AFQ/api/__init__.py +0 -0
  231. {pyafq-2.1 → pyafq-3.1}/AFQ/data/__init__.py +0 -0
  232. {pyafq-2.1 → pyafq-3.1}/AFQ/definitions/__init__.py +0 -0
  233. {pyafq-2.1 → pyafq-3.1}/AFQ/models/__init__.py +0 -0
  234. {pyafq-2.1/AFQ/recognition → pyafq-3.1/AFQ/nn}/__init__.py +0 -0
  235. {pyafq-2.1/AFQ/recognition/tests → pyafq-3.1/AFQ/recognition}/__init__.py +0 -0
  236. {pyafq-2.1/AFQ/tasks → pyafq-3.1/AFQ/recognition/tests}/__init__.py +0 -0
  237. {pyafq-2.1/AFQ/tests → pyafq-3.1/AFQ/tasks}/__init__.py +0 -0
  238. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/.datalad/.gitattributes → pyafq-3.1/AFQ/tests/__init__.py +0 -0
  239. {pyafq-2.1 → pyafq-3.1}/AFQ/tests/data/MoriGroups_Test.mat +0 -0
  240. {pyafq-2.1 → pyafq-3.1}/AFQ/tests/data/WholeBrainFG_test.mat +0 -0
  241. {pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/.datalad}/.gitattributes +0 -0
  242. {pyafq-2.1 → pyafq-3.1}/AFQ/tests/data/mocks3/ds000102-mimic/.datalad/config +0 -0
  243. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/CHANGES → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/.gitattributes +0 -0
  244. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/README → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/CHANGES +0 -0
  245. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/annex-uuid → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/README +0 -0
  246. {pyafq-2.1 → pyafq-3.1}/AFQ/tests/data/mocks3/ds000102-mimic/T1w.json +0 -0
  247. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/aMRIQC.csv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/annex-uuid +0 -0
  248. {pyafq-2.1 → pyafq-3.1}/AFQ/tests/data/mocks3/ds000102-mimic/dataset_description.json +0 -0
  249. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_group.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/aMRIQC.csv +0 -0
  250. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-01.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_group.pdf +0 -0
  251. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-02.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-01.pdf +0 -0
  252. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-03.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-02.pdf +0 -0
  253. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-04.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-03.pdf +0 -0
  254. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-05.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-04.pdf +0 -0
  255. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-06.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-05.pdf +0 -0
  256. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-07.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-06.pdf +0 -0
  257. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-08.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-07.pdf +0 -0
  258. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-09.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-08.pdf +0 -0
  259. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-10.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-09.pdf +0 -0
  260. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-11.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-10.pdf +0 -0
  261. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-12.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-11.pdf +0 -0
  262. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-13.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-12.pdf +0 -0
  263. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-14.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-13.pdf +0 -0
  264. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-15.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-14.pdf +0 -0
  265. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-16.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-15.pdf +0 -0
  266. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-17.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-16.pdf +0 -0
  267. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-18.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-17.pdf +0 -0
  268. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-19.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-18.pdf +0 -0
  269. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-20.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-19.pdf +0 -0
  270. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-21.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-20.pdf +0 -0
  271. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-22.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-21.pdf +0 -0
  272. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-23.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-22.pdf +0 -0
  273. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-24.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-23.pdf +0 -0
  274. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-25.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-24.pdf +0 -0
  275. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-26.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-25.pdf +0 -0
  276. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/fMRIQC.csv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-26.pdf +0 -0
  277. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_group.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/fMRIQC.csv +0 -0
  278. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-01.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_group.pdf +0 -0
  279. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-02.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-01.pdf +0 -0
  280. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-03.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-02.pdf +0 -0
  281. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-04.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-03.pdf +0 -0
  282. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-05.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-04.pdf +0 -0
  283. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-06.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-05.pdf +0 -0
  284. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-07.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-06.pdf +0 -0
  285. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-08.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-07.pdf +0 -0
  286. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-09.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-08.pdf +0 -0
  287. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-10.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-09.pdf +0 -0
  288. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-11.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-10.pdf +0 -0
  289. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-12.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-11.pdf +0 -0
  290. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-13.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-12.pdf +0 -0
  291. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-14.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-13.pdf +0 -0
  292. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-15.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-14.pdf +0 -0
  293. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-16.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-15.pdf +0 -0
  294. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-17.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-16.pdf +0 -0
  295. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-18.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-17.pdf +0 -0
  296. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-19.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-18.pdf +0 -0
  297. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-20.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-19.pdf +0 -0
  298. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-21.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-20.pdf +0 -0
  299. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-22.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-21.pdf +0 -0
  300. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-23.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-22.pdf +0 -0
  301. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-24.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-23.pdf +0 -0
  302. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-25.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-24.pdf +0 -0
  303. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-26.pdf → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-25.pdf +0 -0
  304. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/participants.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-26.pdf +0 -0
  305. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/anat/sub-01_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/participants.tsv +0 -0
  306. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/func/sub-01_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/anat/sub-01_T1w.nii.gz +0 -0
  307. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/func/sub-01_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/func/sub-01_task-flanker_run-1_bold.nii.gz +0 -0
  308. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/func/sub-01_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/func/sub-01_task-flanker_run-1_events.tsv +0 -0
  309. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/func/sub-01_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/func/sub-01_task-flanker_run-2_bold.nii.gz +0 -0
  310. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/anat/sub-02_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/func/sub-01_task-flanker_run-2_events.tsv +0 -0
  311. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/func/sub-02_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/anat/sub-02_T1w.nii.gz +0 -0
  312. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/func/sub-02_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/func/sub-02_task-flanker_run-1_bold.nii.gz +0 -0
  313. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/func/sub-02_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/func/sub-02_task-flanker_run-1_events.tsv +0 -0
  314. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/func/sub-02_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/func/sub-02_task-flanker_run-2_bold.nii.gz +0 -0
  315. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/anat/sub-03_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/func/sub-02_task-flanker_run-2_events.tsv +0 -0
  316. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/func/sub-03_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/anat/sub-03_T1w.nii.gz +0 -0
  317. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/func/sub-03_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/func/sub-03_task-flanker_run-1_bold.nii.gz +0 -0
  318. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/func/sub-03_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/func/sub-03_task-flanker_run-1_events.tsv +0 -0
  319. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/func/sub-03_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/func/sub-03_task-flanker_run-2_bold.nii.gz +0 -0
  320. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/anat/sub-04_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/func/sub-03_task-flanker_run-2_events.tsv +0 -0
  321. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/func/sub-04_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/anat/sub-04_T1w.nii.gz +0 -0
  322. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/func/sub-04_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/func/sub-04_task-flanker_run-1_bold.nii.gz +0 -0
  323. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/func/sub-04_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/func/sub-04_task-flanker_run-1_events.tsv +0 -0
  324. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/func/sub-04_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/func/sub-04_task-flanker_run-2_bold.nii.gz +0 -0
  325. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/anat/sub-05_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/func/sub-04_task-flanker_run-2_events.tsv +0 -0
  326. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/func/sub-05_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/anat/sub-05_T1w.nii.gz +0 -0
  327. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/func/sub-05_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/func/sub-05_task-flanker_run-1_bold.nii.gz +0 -0
  328. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/func/sub-05_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/func/sub-05_task-flanker_run-1_events.tsv +0 -0
  329. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/func/sub-05_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/func/sub-05_task-flanker_run-2_bold.nii.gz +0 -0
  330. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/anat/sub-06_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/func/sub-05_task-flanker_run-2_events.tsv +0 -0
  331. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/func/sub-06_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/anat/sub-06_T1w.nii.gz +0 -0
  332. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/func/sub-06_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/func/sub-06_task-flanker_run-1_bold.nii.gz +0 -0
  333. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/func/sub-06_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/func/sub-06_task-flanker_run-1_events.tsv +0 -0
  334. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/func/sub-06_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/func/sub-06_task-flanker_run-2_bold.nii.gz +0 -0
  335. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/anat/sub-07_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/func/sub-06_task-flanker_run-2_events.tsv +0 -0
  336. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/func/sub-07_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/anat/sub-07_T1w.nii.gz +0 -0
  337. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/func/sub-07_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/func/sub-07_task-flanker_run-1_bold.nii.gz +0 -0
  338. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/func/sub-07_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/func/sub-07_task-flanker_run-1_events.tsv +0 -0
  339. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/func/sub-07_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/func/sub-07_task-flanker_run-2_bold.nii.gz +0 -0
  340. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/anat/sub-08_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/func/sub-07_task-flanker_run-2_events.tsv +0 -0
  341. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/func/sub-08_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/anat/sub-08_T1w.nii.gz +0 -0
  342. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/func/sub-08_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/func/sub-08_task-flanker_run-1_bold.nii.gz +0 -0
  343. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/func/sub-08_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/func/sub-08_task-flanker_run-1_events.tsv +0 -0
  344. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/func/sub-08_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/func/sub-08_task-flanker_run-2_bold.nii.gz +0 -0
  345. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/anat/sub-09_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/func/sub-08_task-flanker_run-2_events.tsv +0 -0
  346. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/func/sub-09_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/anat/sub-09_T1w.nii.gz +0 -0
  347. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/func/sub-09_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/func/sub-09_task-flanker_run-1_bold.nii.gz +0 -0
  348. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/func/sub-09_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/func/sub-09_task-flanker_run-1_events.tsv +0 -0
  349. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/func/sub-09_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/func/sub-09_task-flanker_run-2_bold.nii.gz +0 -0
  350. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/anat/sub-10_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/func/sub-09_task-flanker_run-2_events.tsv +0 -0
  351. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/func/sub-10_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/anat/sub-10_T1w.nii.gz +0 -0
  352. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/func/sub-10_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/func/sub-10_task-flanker_run-1_bold.nii.gz +0 -0
  353. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/func/sub-10_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/func/sub-10_task-flanker_run-1_events.tsv +0 -0
  354. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/func/sub-10_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/func/sub-10_task-flanker_run-2_bold.nii.gz +0 -0
  355. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/anat/sub-11_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/func/sub-10_task-flanker_run-2_events.tsv +0 -0
  356. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/func/sub-11_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/anat/sub-11_T1w.nii.gz +0 -0
  357. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/func/sub-11_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/func/sub-11_task-flanker_run-1_bold.nii.gz +0 -0
  358. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/func/sub-11_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/func/sub-11_task-flanker_run-1_events.tsv +0 -0
  359. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/func/sub-11_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/func/sub-11_task-flanker_run-2_bold.nii.gz +0 -0
  360. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/anat/sub-12_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/func/sub-11_task-flanker_run-2_events.tsv +0 -0
  361. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/func/sub-12_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/anat/sub-12_T1w.nii.gz +0 -0
  362. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/func/sub-12_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/func/sub-12_task-flanker_run-1_bold.nii.gz +0 -0
  363. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/func/sub-12_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/func/sub-12_task-flanker_run-1_events.tsv +0 -0
  364. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/func/sub-12_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/func/sub-12_task-flanker_run-2_bold.nii.gz +0 -0
  365. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/anat/sub-13_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/func/sub-12_task-flanker_run-2_events.tsv +0 -0
  366. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/func/sub-13_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/anat/sub-13_T1w.nii.gz +0 -0
  367. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/func/sub-13_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/func/sub-13_task-flanker_run-1_bold.nii.gz +0 -0
  368. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/func/sub-13_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/func/sub-13_task-flanker_run-1_events.tsv +0 -0
  369. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/func/sub-13_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/func/sub-13_task-flanker_run-2_bold.nii.gz +0 -0
  370. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/anat/sub-14_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/func/sub-13_task-flanker_run-2_events.tsv +0 -0
  371. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/func/sub-14_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/anat/sub-14_T1w.nii.gz +0 -0
  372. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/func/sub-14_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/func/sub-14_task-flanker_run-1_bold.nii.gz +0 -0
  373. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/func/sub-14_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/func/sub-14_task-flanker_run-1_events.tsv +0 -0
  374. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/func/sub-14_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/func/sub-14_task-flanker_run-2_bold.nii.gz +0 -0
  375. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/anat/sub-15_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/func/sub-14_task-flanker_run-2_events.tsv +0 -0
  376. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/func/sub-15_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/anat/sub-15_T1w.nii.gz +0 -0
  377. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/func/sub-15_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/func/sub-15_task-flanker_run-1_bold.nii.gz +0 -0
  378. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/func/sub-15_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/func/sub-15_task-flanker_run-1_events.tsv +0 -0
  379. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/func/sub-15_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/func/sub-15_task-flanker_run-2_bold.nii.gz +0 -0
  380. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/anat/sub-16_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/func/sub-15_task-flanker_run-2_events.tsv +0 -0
  381. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/func/sub-16_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/anat/sub-16_T1w.nii.gz +0 -0
  382. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/func/sub-16_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/func/sub-16_task-flanker_run-1_bold.nii.gz +0 -0
  383. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/func/sub-16_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/func/sub-16_task-flanker_run-1_events.tsv +0 -0
  384. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/func/sub-16_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/func/sub-16_task-flanker_run-2_bold.nii.gz +0 -0
  385. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/anat/sub-17_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/func/sub-16_task-flanker_run-2_events.tsv +0 -0
  386. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/func/sub-17_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/anat/sub-17_T1w.nii.gz +0 -0
  387. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/func/sub-17_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/func/sub-17_task-flanker_run-1_bold.nii.gz +0 -0
  388. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/func/sub-17_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/func/sub-17_task-flanker_run-1_events.tsv +0 -0
  389. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/func/sub-17_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/func/sub-17_task-flanker_run-2_bold.nii.gz +0 -0
  390. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/anat/sub-18_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/func/sub-17_task-flanker_run-2_events.tsv +0 -0
  391. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/func/sub-18_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/anat/sub-18_T1w.nii.gz +0 -0
  392. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/func/sub-18_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/func/sub-18_task-flanker_run-1_bold.nii.gz +0 -0
  393. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/func/sub-18_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/func/sub-18_task-flanker_run-1_events.tsv +0 -0
  394. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/func/sub-18_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/func/sub-18_task-flanker_run-2_bold.nii.gz +0 -0
  395. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/anat/sub-19_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/func/sub-18_task-flanker_run-2_events.tsv +0 -0
  396. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/func/sub-19_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/anat/sub-19_T1w.nii.gz +0 -0
  397. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/func/sub-19_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/func/sub-19_task-flanker_run-1_bold.nii.gz +0 -0
  398. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/func/sub-19_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/func/sub-19_task-flanker_run-1_events.tsv +0 -0
  399. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/func/sub-19_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/func/sub-19_task-flanker_run-2_bold.nii.gz +0 -0
  400. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/anat/sub-20_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/func/sub-19_task-flanker_run-2_events.tsv +0 -0
  401. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/func/sub-20_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/anat/sub-20_T1w.nii.gz +0 -0
  402. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/func/sub-20_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/func/sub-20_task-flanker_run-1_bold.nii.gz +0 -0
  403. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/func/sub-20_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/func/sub-20_task-flanker_run-1_events.tsv +0 -0
  404. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/func/sub-20_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/func/sub-20_task-flanker_run-2_bold.nii.gz +0 -0
  405. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/anat/sub-21_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/func/sub-20_task-flanker_run-2_events.tsv +0 -0
  406. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/func/sub-21_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/anat/sub-21_T1w.nii.gz +0 -0
  407. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/func/sub-21_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/func/sub-21_task-flanker_run-1_bold.nii.gz +0 -0
  408. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/func/sub-21_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/func/sub-21_task-flanker_run-1_events.tsv +0 -0
  409. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/func/sub-21_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/func/sub-21_task-flanker_run-2_bold.nii.gz +0 -0
  410. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/anat/sub-22_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/func/sub-21_task-flanker_run-2_events.tsv +0 -0
  411. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/func/sub-22_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/anat/sub-22_T1w.nii.gz +0 -0
  412. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/func/sub-22_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/func/sub-22_task-flanker_run-1_bold.nii.gz +0 -0
  413. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/func/sub-22_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/func/sub-22_task-flanker_run-1_events.tsv +0 -0
  414. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/func/sub-22_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/func/sub-22_task-flanker_run-2_bold.nii.gz +0 -0
  415. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/anat/sub-23_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/func/sub-22_task-flanker_run-2_events.tsv +0 -0
  416. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/func/sub-23_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/anat/sub-23_T1w.nii.gz +0 -0
  417. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/func/sub-23_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/func/sub-23_task-flanker_run-1_bold.nii.gz +0 -0
  418. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/func/sub-23_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/func/sub-23_task-flanker_run-1_events.tsv +0 -0
  419. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/func/sub-23_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/func/sub-23_task-flanker_run-2_bold.nii.gz +0 -0
  420. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/anat/sub-24_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/func/sub-23_task-flanker_run-2_events.tsv +0 -0
  421. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/func/sub-24_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/anat/sub-24_T1w.nii.gz +0 -0
  422. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/func/sub-24_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/func/sub-24_task-flanker_run-1_bold.nii.gz +0 -0
  423. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/func/sub-24_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/func/sub-24_task-flanker_run-1_events.tsv +0 -0
  424. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/func/sub-24_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/func/sub-24_task-flanker_run-2_bold.nii.gz +0 -0
  425. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/anat/sub-25_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/func/sub-24_task-flanker_run-2_events.tsv +0 -0
  426. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/func/sub-25_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/anat/sub-25_T1w.nii.gz +0 -0
  427. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/func/sub-25_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/func/sub-25_task-flanker_run-1_bold.nii.gz +0 -0
  428. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/func/sub-25_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/func/sub-25_task-flanker_run-1_events.tsv +0 -0
  429. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/func/sub-25_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/func/sub-25_task-flanker_run-2_bold.nii.gz +0 -0
  430. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/anat/sub-26_T1w.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/func/sub-25_task-flanker_run-2_events.tsv +0 -0
  431. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/func/sub-26_task-flanker_run-1_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/anat/sub-26_T1w.nii.gz +0 -0
  432. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/func/sub-26_task-flanker_run-1_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/func/sub-26_task-flanker_run-1_bold.nii.gz +0 -0
  433. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/func/sub-26_task-flanker_run-2_bold.nii.gz → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/func/sub-26_task-flanker_run-1_events.tsv +0 -0
  434. pyafq-2.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/func/sub-26_task-flanker_run-2_events.tsv → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/func/sub-26_task-flanker_run-2_bold.nii.gz +0 -0
  435. pyafq-2.1/AFQ/tractography/__init__.py → pyafq-3.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/func/sub-26_task-flanker_run-2_events.tsv +0 -0
  436. {pyafq-2.1 → pyafq-3.1}/AFQ/tests/data/mocks3/ds000102-mimic/task-flanker_bold.json +0 -0
  437. {pyafq-2.1 → pyafq-3.1}/AFQ/tests/test_data.py +1 -1
  438. {pyafq-2.1/AFQ/utils → pyafq-3.1/AFQ/tractography}/__init__.py +0 -0
  439. {pyafq-2.1/AFQ/utils/tests → pyafq-3.1/AFQ/utils}/__init__.py +0 -0
  440. {pyafq-2.1/AFQ/viz → pyafq-3.1/AFQ/utils/tests}/__init__.py +0 -0
  441. {pyafq-2.1 → pyafq-3.1}/AFQ/utils/tests/test_path.py +0 -0
  442. {pyafq-2.1 → pyafq-3.1}/CITATION +0 -0
  443. {pyafq-2.1 → pyafq-3.1}/LICENSE +0 -0
  444. {pyafq-2.1 → pyafq-3.1}/MANIFEST.in +0 -0
  445. {pyafq-2.1 → pyafq-3.1}/Makefile +0 -0
  446. {pyafq-2.1 → pyafq-3.1}/docs/source/_progressbars.py +0 -0
  447. {pyafq-2.1 → pyafq-3.1}/docs/source/_static/BDE_Banner_revised20160211-01.jpg +0 -0
  448. {pyafq-2.1 → pyafq-3.1}/docs/source/_static/custom.css +0 -0
  449. {pyafq-2.1/docs/source/explanations → pyafq-3.1/docs/source}/_static/down_left_arrow.png +0 -0
  450. {pyafq-2.1/docs/source/explanations → pyafq-3.1/docs/source}/_static/down_right_arrow.png +0 -0
  451. {pyafq-2.1 → pyafq-3.1}/docs/source/_static/eScience_Logo_HR.png +0 -0
  452. {pyafq-2.1 → pyafq-3.1}/docs/source/_static/escience-logo.png +0 -0
  453. {pyafq-2.1/docs/source/explanations → pyafq-3.1/docs/source}/_static/greencheck.png +0 -0
  454. {pyafq-2.1 → pyafq-3.1}/docs/source/_static/logo.png +0 -0
  455. {pyafq-2.1/docs/source/explanations → pyafq-3.1/docs/source}/_static/tract_modeling2.png +0 -0
  456. {pyafq-2.1/docs/source/explanations → pyafq-3.1/docs/source}/_static/tract_profiling.png +0 -0
  457. {pyafq-2.1/docs/source/explanations → pyafq-3.1/docs/source}/_static/tract_recognition.png +0 -0
  458. {pyafq-2.1/docs/source/explanations → pyafq-3.1/docs/source}/_static/tract_tractography.png +0 -0
  459. {pyafq-2.1 → pyafq-3.1}/docs/source/_templates/layout.html +0 -0
  460. {pyafq-2.1 → pyafq-3.1}/docs/source/bib.rst +0 -0
  461. {pyafq-2.1 → pyafq-3.1}/docs/source/developing/contributing.rst +0 -0
  462. {pyafq-2.1 → pyafq-3.1}/docs/source/developing/definitions.rst +0 -0
  463. {pyafq-2.1 → pyafq-3.1}/docs/source/developing/index.rst +0 -0
  464. {pyafq-2.1 → pyafq-3.1}/docs/source/developing/releasing.rst +0 -0
  465. {pyafq-2.1 → pyafq-3.1}/docs/source/developing/tasks.rst +0 -0
  466. {pyafq-2.1 → pyafq-3.1}/docs/source/explanations/bundle_orientation.rst +0 -0
  467. {pyafq-2.1 → pyafq-3.1}/docs/source/explanations/modeling.rst +0 -0
  468. {pyafq-2.1 → pyafq-3.1}/docs/source/explanations/profiling.rst +0 -0
  469. {pyafq-2.1 → pyafq-3.1}/docs/source/explanations/recognition.rst +0 -0
  470. {pyafq-2.1 → pyafq-3.1}/docs/source/explanations/tractography.rst +0 -0
  471. {pyafq-2.1 → pyafq-3.1}/docs/source/guides_index.rst +0 -0
  472. {pyafq-2.1 → pyafq-3.1}/docs/source/howto/cite.rst +0 -0
  473. {pyafq-2.1 → pyafq-3.1}/docs/source/howto/cleaning_params.rst +0 -0
  474. {pyafq-2.1 → pyafq-3.1}/docs/source/howto/converter.rst +0 -0
  475. {pyafq-2.1 → pyafq-3.1}/docs/source/howto/data.rst +0 -0
  476. {pyafq-2.1 → pyafq-3.1}/docs/source/howto/docker.rst +0 -0
  477. {pyafq-2.1 → pyafq-3.1}/docs/source/howto/getting_help.rst +0 -0
  478. {pyafq-2.1 → pyafq-3.1}/docs/source/howto/image.rst +0 -0
  479. {pyafq-2.1 → pyafq-3.1}/docs/source/howto/index.rst +0 -0
  480. {pyafq-2.1 → pyafq-3.1}/docs/source/howto/rerun.rst +0 -0
  481. {pyafq-2.1 → pyafq-3.1}/docs/source/howto/scalars.rst +0 -0
  482. {pyafq-2.1 → pyafq-3.1}/docs/source/howto/segmentation_params.rst +0 -0
  483. {pyafq-2.1 → pyafq-3.1}/docs/source/howto/singularity.rst +0 -0
  484. {pyafq-2.1 → pyafq-3.1}/docs/source/howto/tractography_params.rst +0 -0
  485. {pyafq-2.1 → pyafq-3.1}/docs/source/reference/fibertracts.rst +0 -0
  486. {pyafq-2.1 → pyafq-3.1}/docs/source/reference/mapping.rst +0 -0
  487. {pyafq-2.1 → pyafq-3.1}/docs/source/reference/tissue_properties.rst +0 -0
  488. {pyafq-2.1 → pyafq-3.1}/docs/source/sphinxext/kwargsdocs.py +0 -0
  489. {pyafq-2.1 → pyafq-3.1}/docs/upload-gh-pages.sh +0 -0
  490. {pyafq-2.1 → pyafq-3.1}/examples/howto_examples/README.rst +0 -0
  491. {pyafq-2.1 → pyafq-3.1}/gpu_docker/docker-build.sh +0 -0
  492. {pyafq-2.1 → pyafq-3.1}/gpu_docker/docker-push.sh +0 -0
  493. {pyafq-2.1 → pyafq-3.1}/pyAFQ.egg-info/dependency_links.txt +0 -0
  494. {pyafq-2.1 → pyafq-3.1}/pyAFQ.egg-info/not-zip-safe +0 -0
  495. {pyafq-2.1 → pyafq-3.1}/pyAFQ.egg-info/top_level.txt +0 -0
  496. {pyafq-2.1 → pyafq-3.1}/pyafq_docker/docker-build.sh +0 -0
  497. {pyafq-2.1 → pyafq-3.1}/pyafq_docker/docker-push.sh +0 -0
  498. {pyafq-2.1 → pyafq-3.1}/tox.ini +0 -0
pyafq-3.1/.codespellrc ADDED
@@ -0,0 +1,3 @@
1
+ [codespell]
2
+ skip = [setup.cfg]
3
+ ignore-words-list = Reson, DNE, ACI, FPT, sagital, saggital, abd, Joo, Mapp, Commun, vor, Claus, coo
@@ -3,7 +3,7 @@ name: Documentation build
3
3
  on: [push, pull_request]
4
4
 
5
5
  concurrency:
6
- group: ${{ github.workflow }}-${{ github.ref }}
6
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
7
7
  cancel-in-progress: true
8
8
 
9
9
  permissions:
@@ -14,11 +14,17 @@ jobs:
14
14
  runs-on: ubuntu-latest
15
15
  strategy:
16
16
  matrix:
17
- python-version: ["3.12"]
17
+ python-version: ["3.13"]
18
18
 
19
19
  steps:
20
20
  - name: Checkout repo
21
21
  uses: actions/checkout@v1
22
+
23
+ - name: Increase swap space
24
+ uses: actionhippie/swap-space@v1
25
+ with:
26
+ size: 16G
27
+
22
28
  - name: Set up Python ${{ matrix.python-version }}
23
29
  uses: actions/setup-python@v1
24
30
  with:
@@ -27,13 +33,16 @@ jobs:
27
33
  run: |
28
34
  python -m pip install --upgrade pip
29
35
  pip install .[all]
30
- sudo apt-get install -y xvfb
36
+ sudo apt-get install -y \
37
+ libgl1 \
38
+ libglx-mesa0 \
39
+ libegl1 \
40
+ libgl1-mesa-dri \
41
+ libvulkan1 \
42
+ mesa-vulkan-drivers \
43
+ vulkan-tools
31
44
  - name: Build docs
32
- env:
33
- XVFB: 1
34
- DISPLAY: :99
35
45
  run: |
36
- Xvfb :99 -screen 0 1280x1024x24 &
37
46
  cd docs
38
47
  make html
39
48
  - name: Upload docs
@@ -2,6 +2,10 @@ name: Build and Push pyAFQ Docker Image
2
2
 
3
3
  on: [push, pull_request]
4
4
 
5
+ concurrency:
6
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
7
+ cancel-in-progress: true
8
+
5
9
  jobs:
6
10
  build:
7
11
  runs-on: ubuntu-latest
@@ -2,6 +2,10 @@ name: Build and Push pyAFQ CUDA12 Image
2
2
 
3
3
  on: [push, pull_request]
4
4
 
5
+ concurrency:
6
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
7
+ cancel-in-progress: true
8
+
5
9
  jobs:
6
10
  build:
7
11
  runs-on: ubuntu-latest
@@ -1,4 +1,4 @@
1
- name: Nightly test suite
1
+ name: Nightly Anisotropic test suite
2
2
 
3
3
  on:
4
4
  schedule:
@@ -11,11 +11,15 @@ jobs:
11
11
  strategy:
12
12
  max-parallel: 4
13
13
  matrix:
14
- python-version: ["3.12"]
14
+ python-version: ["3.13"]
15
15
 
16
16
  steps:
17
17
  - name: Checkout repo
18
18
  uses: actions/checkout@v1
19
+ - name: Increase swap space
20
+ uses: actionhippie/swap-space@v1
21
+ with:
22
+ size: 16G
19
23
  - name: Set up Python ${{ matrix.python-version }}
20
24
  uses: actions/setup-python@v1
21
25
  with:
@@ -23,7 +27,7 @@ jobs:
23
27
  - name: Install
24
28
  run: |
25
29
  python -m pip install --upgrade pip
26
- pip install .[dev,fury,afqbrowser,plot]
30
+ pip install .[dev,fury,afqbrowser,plot,nn]
27
31
  - name: Lint
28
32
  run: |
29
33
  flake8 --ignore N802,N806,W503 --select W504 `find . -name \*.py | grep -v setup.py | grep -v version.py | grep -v __init__.py | grep -v /docs/`
@@ -1,4 +1,4 @@
1
- name: Nightly test suite
1
+ name: Nightly Basic test suite
2
2
 
3
3
  on:
4
4
  schedule:
@@ -11,11 +11,15 @@ jobs:
11
11
  strategy:
12
12
  max-parallel: 4
13
13
  matrix:
14
- python-version: ["3.12"]
14
+ python-version: ["3.13"]
15
15
 
16
16
  steps:
17
17
  - name: Checkout repo
18
18
  uses: actions/checkout@v1
19
+ - name: Increase swap space
20
+ uses: actionhippie/swap-space@v1
21
+ with:
22
+ size: 16G
19
23
  - name: Set up Python ${{ matrix.python-version }}
20
24
  uses: actions/setup-python@v1
21
25
  with:
@@ -23,7 +27,7 @@ jobs:
23
27
  - name: Install
24
28
  run: |
25
29
  python -m pip install --upgrade pip
26
- pip install .[dev,fury,afqbrowser,plot]
30
+ pip install .[dev,fury,afqbrowser,plot,nn]
27
31
  - name: Lint
28
32
  run: |
29
33
  flake8 --ignore N802,N806,W503 --select W504 `find . -name \*.py | grep -v setup.py | grep -v version.py | grep -v __init__.py | grep -v /docs/`
@@ -1,4 +1,4 @@
1
- name: Nightly test suite
1
+ name: Nightly Custom test suite
2
2
 
3
3
  on:
4
4
  schedule:
@@ -11,11 +11,15 @@ jobs:
11
11
  strategy:
12
12
  max-parallel: 4
13
13
  matrix:
14
- python-version: ["3.12"]
14
+ python-version: ["3.13"]
15
15
 
16
16
  steps:
17
17
  - name: Checkout repo
18
18
  uses: actions/checkout@v1
19
+ - name: Increase swap space
20
+ uses: actionhippie/swap-space@v1
21
+ with:
22
+ size: 16G
19
23
  - name: Set up Python ${{ matrix.python-version }}
20
24
  uses: actions/setup-python@v1
21
25
  with:
@@ -23,11 +27,18 @@ jobs:
23
27
  - name: Install
24
28
  run: |
25
29
  python -m pip install --upgrade pip
26
- pip install .[dev,fury,afqbrowser]
30
+ pip install .[dev,fury,afqbrowser,nn]
31
+ sudo apt-get install -y \
32
+ libgl1 \
33
+ libglx-mesa0 \
34
+ libegl1 \
35
+ libgl1-mesa-dri \
36
+ libvulkan1 \
37
+ mesa-vulkan-drivers \
38
+ vulkan-tools
27
39
  - name: Lint
28
40
  run: |
29
41
  flake8 --ignore N802,N806,W503 --select W504 `find . -name \*.py | grep -v setup.py | grep -v version.py | grep -v __init__.py | grep -v /docs/`
30
42
  - name: Test
31
43
  run: |
32
- export TEST_WITH_XVFB=true
33
44
  cd && mkdir for_test && cd for_test && pytest --pyargs AFQ --cov-report term-missing --cov=AFQ -m "nightly_custom" --durations=0
@@ -1,4 +1,4 @@
1
- name: Nightly test suite
1
+ name: Nightly Recobundles80 test suite
2
2
 
3
3
  on:
4
4
  schedule:
@@ -11,11 +11,15 @@ jobs:
11
11
  strategy:
12
12
  max-parallel: 4
13
13
  matrix:
14
- python-version: ["3.12"]
14
+ python-version: ["3.13"]
15
15
 
16
16
  steps:
17
17
  - name: Checkout repo
18
18
  uses: actions/checkout@v1
19
+ - name: Increase swap space
20
+ uses: actionhippie/swap-space@v1
21
+ with:
22
+ size: 32G
19
23
  - name: Set up Python ${{ matrix.python-version }}
20
24
  uses: actions/setup-python@v1
21
25
  with:
@@ -23,7 +27,7 @@ jobs:
23
27
  - name: Install
24
28
  run: |
25
29
  python -m pip install --upgrade pip
26
- pip install .[dev,fury,afqbrowser,plot]
30
+ pip install .[dev,fury,afqbrowser,plot,nn]
27
31
  - name: Lint
28
32
  run: |
29
33
  flake8 --ignore N802,N806,W503 --select W504 `find . -name \*.py | grep -v setup.py | grep -v version.py | grep -v __init__.py | grep -v /docs/`
@@ -1,4 +1,4 @@
1
- name: Nightly test suite
1
+ name: Nightly Recobundles test suite
2
2
 
3
3
  on:
4
4
  schedule:
@@ -11,11 +11,15 @@ jobs:
11
11
  strategy:
12
12
  max-parallel: 4
13
13
  matrix:
14
- python-version: ["3.12"]
14
+ python-version: ["3.13"]
15
15
 
16
16
  steps:
17
17
  - name: Checkout repo
18
18
  uses: actions/checkout@v1
19
+ - name: Increase swap space
20
+ uses: actionhippie/swap-space@v1
21
+ with:
22
+ size: 16G
19
23
  - name: Set up Python ${{ matrix.python-version }}
20
24
  uses: actions/setup-python@v1
21
25
  with:
@@ -23,7 +27,7 @@ jobs:
23
27
  - name: Install
24
28
  run: |
25
29
  python -m pip install --upgrade pip
26
- pip install .[dev,fury,afqbrowser,plot]
30
+ pip install .[dev,fury,afqbrowser,plot,nn]
27
31
  - name: Lint
28
32
  run: |
29
33
  flake8 --ignore N802,N806,W503 --select W504 `find . -name \*.py | grep -v setup.py | grep -v version.py | grep -v __init__.py | grep -v /docs/`
@@ -1,4 +1,4 @@
1
- name: Nightly test suite
1
+ name: Nightly Other Datasets test suite
2
2
 
3
3
  on:
4
4
  schedule:
@@ -11,11 +11,15 @@ jobs:
11
11
  strategy:
12
12
  max-parallel: 4
13
13
  matrix:
14
- python-version: ["3.12"]
14
+ python-version: ["3.13"]
15
15
 
16
16
  steps:
17
17
  - name: Checkout repo
18
18
  uses: actions/checkout@v1
19
+ - name: Increase swap space
20
+ uses: actionhippie/swap-space@v1
21
+ with:
22
+ size: 16G
19
23
  - name: Set up Python ${{ matrix.python-version }}
20
24
  uses: actions/setup-python@v1
21
25
  with:
@@ -23,7 +27,7 @@ jobs:
23
27
  - name: Install
24
28
  run: |
25
29
  python -m pip install --upgrade pip
26
- pip install .[dev,fury,afqbrowser,plot]
30
+ pip install .[dev,fury,afqbrowser,plot,nn]
27
31
  - name: Lint
28
32
  run: |
29
33
  flake8 --ignore N802,N806,W503 --select W504 `find . -name \*.py | grep -v setup.py | grep -v version.py | grep -v __init__.py | grep -v /docs/`
@@ -0,0 +1,94 @@
1
+ name: Publish to TestPyPI and PyPI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ tags:
8
+ - "*"
9
+
10
+ concurrency:
11
+ group: ${{ github.workflow }}-${{ github.ref }}
12
+ cancel-in-progress: true
13
+
14
+ jobs:
15
+ build-sdist:
16
+ name: Build sdist
17
+ runs-on: ubuntu-latest
18
+ steps:
19
+ - uses: actions/checkout@v6
20
+ with:
21
+ fetch-depth: 0
22
+ - name: Build sdist
23
+ run: pipx run build
24
+ - uses: actions/upload-artifact@v6
25
+ with:
26
+ name: source-dist
27
+ path: ./dist/*
28
+ test-sdist:
29
+ name: Test sdist
30
+ needs: [build-sdist]
31
+ runs-on: ubuntu-latest
32
+ steps:
33
+ - uses: actions/download-artifact@v7
34
+ with:
35
+ name: source-dist
36
+ path: ./dist
37
+ - uses: actions/setup-python@v6
38
+ with:
39
+ python-version: "3.11"
40
+ - name: Display Python version
41
+ run: python -c "import sys; print(sys.version)"
42
+ - name: Install sdist without optional dependencies
43
+ run: pip install dist/*.tar.gz
44
+ - run: python -c 'import AFQ; print(AFQ.__version__)'
45
+ - name: Install pytest
46
+ run: pip install pytest
47
+ - name: Run tests
48
+ run: pytest -v --pyargs AFQ -m "not nightly and not nightly_basic and not nightly_custom and not nightly_anisotropic and not nightly_slr and not nightly_reco and not nightly_reco80" --durations=0
49
+
50
+ pre-publish:
51
+ runs-on: ubuntu-latest
52
+ needs: [test-sdist]
53
+ steps:
54
+ - uses: actions/download-artifact@v7
55
+ with:
56
+ path: dist/
57
+ pattern: '*-dist'
58
+ merge-multiple: true
59
+ - run: ls -lR dist/
60
+ - run: pipx run twine check dist/*
61
+
62
+ test-pypi-publish:
63
+ runs-on: ubuntu-latest
64
+ needs: [pre-publish]
65
+ steps:
66
+ - uses: actions/download-artifact@v7
67
+ with:
68
+ path: dist/
69
+ pattern: '*-dist'
70
+ merge-multiple: true
71
+ - run: ls -lR dist/
72
+ - uses: pypa/gh-action-pypi-publish@release/v1
73
+ with:
74
+ user: __token__
75
+ password: ${{ secrets.TEST_PYPI_API_TOKEN }}
76
+ repository-url: https://test.pypi.org/legacy/
77
+ verbose: true
78
+
79
+ pypi-publish:
80
+ runs-on: ubuntu-latest
81
+ environment: "Package deployment"
82
+ needs: [pre-publish]
83
+ if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
84
+ steps:
85
+ - uses: actions/download-artifact@v7
86
+ with:
87
+ path: dist/
88
+ pattern: '*-dist'
89
+ merge-multiple: true
90
+ - run: ls -lR dist/
91
+ - uses: pypa/gh-action-pypi-publish@release/v1
92
+ with:
93
+ user: __token__
94
+ password: ${{ secrets.PYPI_API_TOKEN }}
@@ -3,7 +3,7 @@ name: Test suite
3
3
  on: [push, pull_request]
4
4
 
5
5
  concurrency:
6
- group: ${{ github.workflow }}-${{ github.ref }}
6
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
7
7
  cancel-in-progress: true
8
8
 
9
9
  jobs:
@@ -13,7 +13,7 @@ jobs:
13
13
  strategy:
14
14
  max-parallel: 4
15
15
  matrix:
16
- python-version: ["3.10", "3.11", "3.12"]
16
+ python-version: ["3.11", "3.12", "3.13"]
17
17
  nibabel-pre: [true, false]
18
18
 
19
19
  steps:
@@ -36,7 +36,7 @@ jobs:
36
36
  python -m pip check
37
37
  - name: Lint
38
38
  run: |
39
- flake8 --ignore N802,N806,W503 --select W504 `find . -name \*.py | grep -v setup.py | grep -v version.py | grep -v __init__.py | grep -v /docs/`
39
+ ruff check .
40
40
  - name: Test
41
41
  run: |
42
- cd && mkdir for_test && cd for_test && pytest --pyargs AFQ --cov-report term-missing --cov=AFQ -m "not nightly and not nightly_basic and not nightly_custom and not nightly_anisotropic and not nightly_slr and not nightly_pft and not nightly_reco and not nightly_reco80" --durations=0
42
+ cd && mkdir for_test && cd for_test && pytest --pyargs AFQ --cov-report term-missing --cov=AFQ -m "not nightly and not nightly_basic and not nightly_custom and not nightly_anisotropic and not nightly_slr and not nightly_reco and not nightly_reco80" --durations=0
@@ -7,81 +7,80 @@ For the full LICENSE and terms of use, see
7
7
  https://github.com/nipreps/dmriprep/blob/master/LICENSE
8
8
 
9
9
  """
10
- import sys
10
+
11
+ import json
11
12
  import shutil
13
+ import subprocess as sp
14
+ import sys
12
15
  from pathlib import Path
13
- import json
16
+
14
17
  from rapidfuzz import fuzz, process
15
- import subprocess as sp
16
18
 
17
19
  # These ORCIDs should go last
18
- CREATORS_LAST = ['Yeatman, Jason', 'Rokem, Ariel']
20
+ CREATORS_LAST = ["Yeatman, Jason", "Rokem, Ariel"]
19
21
  # for entries not found in line-contributions
20
- MISSING_ENTRIES = [
21
- ]
22
+ MISSING_ENTRIES = []
22
23
 
23
- if __name__ == '__main__':
24
- contrib_file = Path('line-contributors.txt')
24
+ if __name__ == "__main__":
25
+ contrib_file = Path("line-contributors.txt")
25
26
  lines = []
26
27
  if contrib_file.exists():
27
- print('WARNING: Reusing existing line-contributors.txt file.',
28
- file=sys.stderr)
28
+ print("WARNING: Reusing existing line-contributors.txt file.", file=sys.stderr)
29
29
  lines = contrib_file.read_text().splitlines()
30
30
 
31
- git_line_summary_path = shutil.which('git-summary')
31
+ git_line_summary_path = shutil.which("git-summary")
32
32
  if not lines and git_line_summary_path:
33
33
  print("Running git-line-summary on the repo")
34
34
  lines = sp.check_output([git_line_summary_path]).decode().splitlines()
35
- contrib_file.write_text('\n'.join(lines))
35
+ contrib_file.write_text("\n".join(lines))
36
36
 
37
37
  if not lines:
38
38
  raise RuntimeError(
39
39
  """Could not find line-contributors from git repository.%s"""
40
40
  % """git-line-summary not found, please install git-extras. """
41
- * (git_line_summary_path is None))
41
+ * (git_line_summary_path is None)
42
+ )
42
43
 
43
- data = [' '.join(line.strip().split()[1:-1]) for line in lines if '%'
44
- in line]
44
+ data = [" ".join(line.strip().split()[1:-1]) for line in lines if "%" in line]
45
45
 
46
46
  # load zenodo from master
47
- zenodo_file = Path('.zenodo.json')
47
+ zenodo_file = Path(".zenodo.json")
48
48
  zenodo = json.loads(zenodo_file.read_text())
49
- zen_names = [' '.join(val['name'].split(',')[::-1]).strip()
50
- for val in zenodo['creators']]
49
+ zen_names = [
50
+ " ".join(val["name"].split(",")[::-1]).strip() for val in zenodo["creators"]
51
+ ]
51
52
  total_names = len(zen_names) + len(MISSING_ENTRIES)
52
53
 
53
54
  name_matches = []
54
55
  position = 1
55
56
  for ele in data:
56
- match = process.extractOne(ele, zen_names,
57
- scorer=fuzz.token_sort_ratio,
58
- score_cutoff=80)
57
+ match = process.extractOne(
58
+ ele, zen_names, scorer=fuzz.token_sort_ratio, score_cutoff=80
59
+ )
59
60
 
60
61
  if match:
61
- val = zenodo['creators'][zen_names.index(match[0])]
62
+ val = zenodo["creators"][zen_names.index(match[0])]
62
63
  else:
63
64
  # skip unmatched names
64
65
  print("No entry to sort:", ele)
65
66
  continue
66
67
 
67
68
  if val not in name_matches:
68
- if val['name'] not in CREATORS_LAST:
69
- val['position'] = position
69
+ if val["name"] not in CREATORS_LAST:
70
+ val["position"] = position
70
71
  position += 1
71
72
  else:
72
- val['position'] = total_names + \
73
- CREATORS_LAST.index(val['name'])
73
+ val["position"] = total_names + CREATORS_LAST.index(val["name"])
74
74
  name_matches.append(val)
75
75
 
76
76
  for missing in MISSING_ENTRIES:
77
- missing['position'] = position
77
+ missing["position"] = position
78
78
  position += 1
79
79
  name_matches.append(missing)
80
80
 
81
- zenodo['creators'] = sorted(name_matches, key=lambda k: k['position'])
81
+ zenodo["creators"] = sorted(name_matches, key=lambda k: k["position"])
82
82
  # Remove position
83
- for creator in zenodo['creators']:
84
- del creator['position']
83
+ for creator in zenodo["creators"]:
84
+ del creator["position"]
85
85
 
86
- zenodo_file.write_text('%s\n' % json.dumps(zenodo, indent=2,
87
- sort_keys=True))
86
+ zenodo_file.write_text("%s\n" % json.dumps(zenodo, indent=2, sort_keys=True))
@@ -0,0 +1,18 @@
1
+ default_language_version:
2
+ python: python3
3
+
4
+ repos:
5
+ - repo: https://github.com/astral-sh/ruff-pre-commit
6
+ rev: v0.14.10
7
+ hooks:
8
+ # Run the linter
9
+ - id: ruff
10
+ args: [ --fix, --config, pyproject.toml ]
11
+ # Run the formatter
12
+ - id: ruff-format
13
+ - repo: https://github.com/codespell-project/codespell
14
+ rev: v2.3.0
15
+ hooks:
16
+ - id: codespell
17
+ additional_dependencies:
18
+ - tomli