pyAFQ 2.0.1__tar.gz → 3.0__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 (508) hide show
  1. pyafq-3.0/.codespellrc +3 -0
  2. {pyafq-2.0.1 → pyafq-3.0}/.github/workflows/docbuild.yml +16 -7
  3. {pyafq-2.0.1 → pyafq-3.0}/.github/workflows/docker_pyafq.yml +4 -0
  4. {pyafq-2.0.1 → pyafq-3.0}/.github/workflows/docker_pyafq_cuda12.yml +4 -0
  5. {pyafq-2.0.1 → pyafq-3.0}/.github/workflows/nightly_anisotropic_test.yml +7 -3
  6. {pyafq-2.0.1 → pyafq-3.0}/.github/workflows/nightly_basic_test.yml +7 -3
  7. {pyafq-2.0.1 → pyafq-3.0}/.github/workflows/nightly_custom_test.yml +15 -4
  8. {pyafq-2.0.1 → pyafq-3.0}/.github/workflows/nightly_reco80_test.yml +7 -3
  9. {pyafq-2.0.1 → pyafq-3.0}/.github/workflows/nightly_reco_test.yml +7 -3
  10. {pyafq-2.0.1 → pyafq-3.0}/.github/workflows/nightly_test.yml +7 -3
  11. pyafq-3.0/.github/workflows/publish-to-test-pypi.yml +94 -0
  12. {pyafq-2.0.1 → pyafq-3.0}/.github/workflows/test.yml +4 -4
  13. {pyafq-2.0.1 → pyafq-3.0}/.maintenance/update_zenodo.py +31 -32
  14. pyafq-3.0/.pre-commit-config.yaml +18 -0
  15. pyafq-3.0/AFQ/_fixes.py +407 -0
  16. pyafq-3.0/AFQ/api/bundle_dict.py +1747 -0
  17. {pyafq-2.0.1 → pyafq-3.0}/AFQ/api/group.py +541 -366
  18. pyafq-3.0/AFQ/api/participant.py +493 -0
  19. pyafq-3.0/AFQ/api/utils.py +190 -0
  20. pyafq-3.0/AFQ/data/fetch.py +2596 -0
  21. pyafq-3.0/AFQ/data/utils.py +57 -0
  22. {pyafq-2.0.1 → pyafq-3.0}/AFQ/definitions/image.py +485 -305
  23. {pyafq-2.0.1 → pyafq-3.0}/AFQ/definitions/mapping.py +228 -187
  24. {pyafq-2.0.1 → pyafq-3.0}/AFQ/definitions/utils.py +68 -52
  25. pyafq-3.0/AFQ/models/QBallTP.py +47 -0
  26. pyafq-3.0/AFQ/models/asym_filtering.py +688 -0
  27. {pyafq-2.0.1 → pyafq-3.0}/AFQ/models/csd.py +61 -37
  28. {pyafq-2.0.1 → pyafq-3.0}/AFQ/models/dki.py +58 -42
  29. {pyafq-2.0.1 → pyafq-3.0}/AFQ/models/dti.py +29 -23
  30. {pyafq-2.0.1 → pyafq-3.0}/AFQ/models/fwdti.py +10 -12
  31. pyafq-3.0/AFQ/models/msmt.py +64 -0
  32. pyafq-3.0/AFQ/models/wmgm_interface.py +66 -0
  33. pyafq-3.0/AFQ/nn/brainchop.py +106 -0
  34. pyafq-3.0/AFQ/nn/multiaxial.py +210 -0
  35. pyafq-3.0/AFQ/nn/synthseg.py +324 -0
  36. pyafq-3.0/AFQ/nn/utils.py +51 -0
  37. pyafq-3.0/AFQ/recognition/cleaning.py +437 -0
  38. pyafq-3.0/AFQ/recognition/clustering.py +189 -0
  39. pyafq-3.0/AFQ/recognition/criteria.py +582 -0
  40. {pyafq-2.0.1 → pyafq-3.0}/AFQ/recognition/curvature.py +6 -8
  41. pyafq-3.0/AFQ/recognition/other_bundles.py +231 -0
  42. pyafq-3.0/AFQ/recognition/preprocess.py +79 -0
  43. {pyafq-2.0.1 → pyafq-3.0}/AFQ/recognition/recognize.py +144 -142
  44. pyafq-3.0/AFQ/recognition/roi.py +102 -0
  45. pyafq-3.0/AFQ/recognition/sparse_decisions.py +116 -0
  46. pyafq-3.0/AFQ/recognition/tests/conftest.py +11 -0
  47. pyafq-3.0/AFQ/recognition/tests/test_other_bundles.py +73 -0
  48. pyafq-3.0/AFQ/recognition/tests/test_recognition.py +260 -0
  49. pyafq-3.0/AFQ/recognition/tests/test_rois.py +99 -0
  50. pyafq-3.0/AFQ/recognition/tests/test_utils.py +165 -0
  51. {pyafq-2.0.1 → pyafq-3.0}/AFQ/recognition/utils.py +99 -90
  52. pyafq-3.0/AFQ/registration.py +151 -0
  53. pyafq-3.0/AFQ/tasks/data.py +1495 -0
  54. pyafq-3.0/AFQ/tasks/decorators.py +248 -0
  55. {pyafq-2.0.1 → pyafq-3.0}/AFQ/tasks/mapping.py +127 -94
  56. {pyafq-2.0.1 → pyafq-3.0}/AFQ/tasks/segmentation.py +207 -182
  57. pyafq-3.0/AFQ/tasks/structural.py +271 -0
  58. pyafq-3.0/AFQ/tasks/tissue.py +501 -0
  59. pyafq-3.0/AFQ/tasks/tractography.py +250 -0
  60. {pyafq-2.0.1 → pyafq-3.0}/AFQ/tasks/utils.py +46 -26
  61. {pyafq-2.0.1 → pyafq-3.0}/AFQ/tasks/viz.py +213 -166
  62. pyafq-3.0/AFQ/tests/test_api.py +1020 -0
  63. pyafq-3.0/AFQ/tests/test_bundle_dict.py +60 -0
  64. pyafq-3.0/AFQ/tests/test_csd.py +84 -0
  65. {pyafq-2.0.1 → pyafq-3.0}/AFQ/tests/test_definitions.py +31 -29
  66. {pyafq-2.0.1 → pyafq-3.0}/AFQ/tests/test_dki.py +13 -17
  67. {pyafq-2.0.1 → pyafq-3.0}/AFQ/tests/test_dti.py +27 -33
  68. {pyafq-2.0.1 → pyafq-3.0}/AFQ/tests/test_fixes.py +26 -27
  69. pyafq-3.0/AFQ/tests/test_msmt.py +458 -0
  70. pyafq-3.0/AFQ/tests/test_nn.py +53 -0
  71. pyafq-3.0/AFQ/tests/test_registration.py +83 -0
  72. pyafq-3.0/AFQ/tests/test_tractography.py +122 -0
  73. pyafq-3.0/AFQ/tests/test_viz.py +25 -0
  74. pyafq-3.0/AFQ/tractography/tractography.py +397 -0
  75. pyafq-3.0/AFQ/tractography/utils.py +72 -0
  76. {pyafq-2.0.1 → pyafq-3.0}/AFQ/utils/bin.py +180 -115
  77. {pyafq-2.0.1 → pyafq-3.0}/AFQ/utils/conversion.py +8 -12
  78. pyafq-3.0/AFQ/utils/docs.py +55 -0
  79. {pyafq-2.0.1 → pyafq-3.0}/AFQ/utils/docstring_parser.py +21 -27
  80. {pyafq-2.0.1 → pyafq-3.0}/AFQ/utils/models.py +4 -5
  81. {pyafq-2.0.1 → pyafq-3.0}/AFQ/utils/path.py +56 -30
  82. {pyafq-2.0.1 → pyafq-3.0}/AFQ/utils/stats.py +6 -0
  83. pyafq-3.0/AFQ/utils/streamlines.py +194 -0
  84. {pyafq-2.0.1 → pyafq-3.0}/AFQ/utils/testing.py +101 -60
  85. {pyafq-2.0.1 → pyafq-3.0}/AFQ/utils/tests/test_conversions.py +8 -8
  86. {pyafq-2.0.1 → pyafq-3.0}/AFQ/utils/tests/test_stats.py +4 -5
  87. pyafq-3.0/AFQ/utils/tests/test_streamlines.py +74 -0
  88. pyafq-3.0/AFQ/utils/tests/test_volume.py +28 -0
  89. {pyafq-2.0.1 → pyafq-3.0}/AFQ/utils/volume.py +25 -57
  90. pyafq-3.0/AFQ/version.py +24 -0
  91. pyafq-3.0/AFQ/viz/__init__.py +0 -0
  92. {pyafq-2.0.1 → pyafq-3.0}/AFQ/viz/altair.py +102 -78
  93. pyafq-3.0/AFQ/viz/fury_backend.py +463 -0
  94. {pyafq-2.0.1 → pyafq-3.0}/AFQ/viz/plot.py +549 -448
  95. {pyafq-2.0.1 → pyafq-3.0}/AFQ/viz/plotly_backend.py +320 -184
  96. {pyafq-2.0.1 → pyafq-3.0}/AFQ/viz/utils.py +289 -216
  97. {pyafq-2.0.1 → pyafq-3.0}/CHANGES.rst +92 -10
  98. pyafq-3.0/NOTICE.md +4 -0
  99. {pyafq-2.0.1 → pyafq-3.0}/PKG-INFO +47 -26
  100. {pyafq-2.0.1 → pyafq-3.0}/README.md +15 -1
  101. {pyafq-2.0.1 → pyafq-3.0}/bin/pyAFQ +1 -2
  102. {pyafq-2.0.1 → pyafq-3.0}/docs/Makefile +21 -4
  103. pyafq-3.0/docs/source/_static/CSVfile.png +0 -0
  104. pyafq-3.0/docs/source/_static/FAbrain.png +0 -0
  105. pyafq-3.0/docs/source/_static/ProfileViz.png +0 -0
  106. pyafq-3.0/docs/source/_static/TP_viz.png +0 -0
  107. pyafq-3.0/docs/source/_static/arcuaterois.png +0 -0
  108. pyafq-3.0/docs/source/_static/beaware.png +0 -0
  109. pyafq-3.0/docs/source/_static/custom.css +114 -0
  110. pyafq-3.0/docs/source/_static/diffusion-anisotropic.gif +0 -0
  111. pyafq-3.0/docs/source/_static/diffusion-isotropic.gif +0 -0
  112. pyafq-3.0/docs/source/_static/dti_in_brain.png +0 -0
  113. pyafq-3.0/docs/source/_static/dtiexplanation.jpg +0 -0
  114. pyafq-3.0/docs/source/_static/ecosystem.jpg +0 -0
  115. pyafq-3.0/docs/source/_static/inherintambiguity.png +0 -0
  116. pyafq-3.0/docs/source/_static/logo.png +0 -0
  117. pyafq-3.0/docs/source/_static/modelling.png +0 -0
  118. pyafq-3.0/docs/source/_static/modeltotrack.png +0 -0
  119. pyafq-3.0/docs/source/_static/sphx_glr_plot_stages_of_tractometry_001.gif +0 -0
  120. pyafq-3.0/docs/source/_static/sphx_glr_plot_stages_of_tractometry_002.gif +0 -0
  121. pyafq-3.0/docs/source/_static/sphx_glr_plot_stages_of_tractometry_003.gif +0 -0
  122. pyafq-3.0/docs/source/_static/sphx_glr_plot_stages_of_tractometry_004.gif +0 -0
  123. pyafq-3.0/docs/source/_static/sphx_glr_plot_stages_of_tractometry_005.gif +0 -0
  124. pyafq-3.0/docs/source/_static/sphx_glr_plot_stages_of_tractometry_006.gif +0 -0
  125. pyafq-3.0/docs/source/_static/sphx_glr_plot_stages_of_tractometry_010.gif +0 -0
  126. pyafq-3.0/docs/source/_static/sphx_glr_plot_stages_of_tractometry_011.gif +0 -0
  127. pyafq-3.0/docs/source/_static/sphx_glr_plot_stages_of_tractometry_012.gif +0 -0
  128. pyafq-3.0/docs/source/_static/tractometry_pipeline.png +0 -0
  129. pyafq-3.0/docs/source/_static/tropic.png +0 -0
  130. pyafq-3.0/docs/source/_templates/footer.html +15 -0
  131. pyafq-3.0/docs/source/bib.rst +6 -0
  132. {pyafq-2.0.1 → pyafq-3.0}/docs/source/conf.py +11 -4
  133. pyafq-3.0/docs/source/developing/contributing.rst +15 -0
  134. pyafq-3.0/docs/source/developing/definitions.rst +61 -0
  135. {pyafq-2.0.1/docs/source/howto → pyafq-3.0/docs/source}/developing/index.rst +2 -1
  136. pyafq-3.0/docs/source/explanations/bundle_orientation.rst +56 -0
  137. pyafq-3.0/docs/source/explanations/index.rst +313 -0
  138. {pyafq-2.0.1 → pyafq-3.0}/docs/source/explanations/modeling.rst +1 -5
  139. {pyafq-2.0.1 → pyafq-3.0}/docs/source/explanations/tractography.rst +1 -9
  140. pyafq-3.0/docs/source/explanations/whats_new_3.rst +47 -0
  141. pyafq-3.0/docs/source/guides_index.rst +10 -0
  142. {pyafq-2.0.1/docs/source/howto/usage → pyafq-3.0/docs/source/howto}/converter.rst +2 -1
  143. {pyafq-2.0.1/docs/source/howto/usage → pyafq-3.0/docs/source/howto}/data.rst +2 -1
  144. {pyafq-2.0.1/docs/source/howto/usage → pyafq-3.0/docs/source/howto}/docker.rst +4 -1
  145. {pyafq-2.0.1 → pyafq-3.0}/docs/source/howto/getting_help.rst +9 -8
  146. {pyafq-2.0.1/docs/source/howto/usage → pyafq-3.0/docs/source/howto}/image.rst +1 -1
  147. pyafq-3.0/docs/source/howto/index.rst +28 -0
  148. pyafq-3.0/docs/source/howto/installation_guide.rst +132 -0
  149. pyafq-3.0/docs/source/howto/rerun.rst +62 -0
  150. pyafq-3.0/docs/source/howto/singularity.rst +27 -0
  151. {pyafq-2.0.1 → pyafq-3.0}/docs/source/index.rst +56 -19
  152. pyafq-3.0/docs/source/reference/bundledict.rst +197 -0
  153. pyafq-3.0/docs/source/reference/fibertracts.rst +341 -0
  154. pyafq-3.0/docs/source/reference/index.rst +16 -0
  155. {pyafq-2.0.1 → pyafq-3.0}/docs/source/reference/kwargs.rst +46 -29
  156. pyafq-3.0/docs/source/reference/mapping.rst +31 -0
  157. {pyafq-2.0.1 → pyafq-3.0}/docs/source/reference/methods.rst +146 -50
  158. pyafq-3.0/docs/source/reference/tissue_properties.rst +190 -0
  159. {pyafq-2.0.1 → pyafq-3.0}/docs/source/reference/viz_backend.rst +11 -9
  160. pyafq-3.0/docs/source/references.bib +1016 -0
  161. {pyafq-2.0.1 → pyafq-3.0}/docs/source/sphinxext/methodsdocs.py +3 -2
  162. {pyafq-2.0.1 → pyafq-3.0}/docs/source/sphinxext/updatedocs.py +4 -5
  163. {pyafq-2.0.1 → pyafq-3.0}/docs/source/tutorials/index.rst +4 -5
  164. {pyafq-2.0.1 → pyafq-3.0}/examples/howto_examples/acoustic_radiations.py +1 -8
  165. {pyafq-2.0.1 → pyafq-3.0}/examples/howto_examples/add_custom_bundle.py +8 -18
  166. pyafq-2.0.1/examples/howto_examples/plot_afq_callosal.py → pyafq-3.0/examples/howto_examples/afq_callosal.py +4 -3
  167. pyafq-2.0.1/examples/howto_examples/run_afq_fwdti.py → pyafq-3.0/examples/howto_examples/afq_fwdti.py +8 -15
  168. {pyafq-2.0.1 → pyafq-3.0}/examples/howto_examples/baby_afq.py +6 -6
  169. {pyafq-2.0.1 → pyafq-3.0}/examples/howto_examples/cerebellar_peduncles.py +1 -14
  170. {pyafq-2.0.1 → pyafq-3.0}/examples/howto_examples/cloudknot_example.py +1 -10
  171. {pyafq-2.0.1 → pyafq-3.0}/examples/howto_examples/cloudknot_hcp_example.py +0 -7
  172. {pyafq-2.0.1 → pyafq-3.0}/examples/howto_examples/optic_radiations.py +2 -9
  173. pyafq-3.0/examples/howto_examples/optic_tract.py +176 -0
  174. {pyafq-2.0.1 → pyafq-3.0}/examples/howto_examples/plot_stages_of_tractometry.py +213 -231
  175. pyafq-2.0.1/examples/howto_examples/run_pyAFQ_with_GPU.py → pyafq-3.0/examples/howto_examples/pyAFQ_with_GPU.py +19 -9
  176. pyafq-3.0/examples/howto_examples/pyafq_2.py +249 -0
  177. pyafq-2.0.1/examples/howto_examples/plot_recobundles.py → pyafq-3.0/examples/howto_examples/recobundles.py +4 -2
  178. {pyafq-2.0.1 → pyafq-3.0}/examples/howto_examples/use_subject_space_rois_from_freesurfer.py +3 -2
  179. {pyafq-2.0.1 → pyafq-3.0}/examples/howto_examples/vof_example.py +3 -2
  180. {pyafq-2.0.1 → pyafq-3.0}/examples/tutorial_examples/README.rst +2 -2
  181. {pyafq-2.0.1 → pyafq-3.0}/examples/tutorial_examples/plot_001_group_afq_api.py +123 -53
  182. {pyafq-2.0.1 → pyafq-3.0}/examples/tutorial_examples/plot_002_participant_afq_api.py +118 -65
  183. {pyafq-2.0.1 → pyafq-3.0}/examples/tutorial_examples/plot_003_rerun.py +31 -16
  184. {pyafq-2.0.1 → pyafq-3.0}/examples/tutorial_examples/plot_004_export.py +70 -50
  185. {pyafq-2.0.1 → pyafq-3.0}/examples/tutorial_examples/plot_005_viz.py +53 -141
  186. {pyafq-2.0.1 → pyafq-3.0}/examples/tutorial_examples/plot_006_bids_layout.py +23 -7
  187. pyafq-3.0/examples/tutorial_examples/plot_007_rois.py +176 -0
  188. {pyafq-2.0.1 → pyafq-3.0}/gpu_docker/Dockerfile +4 -5
  189. pyafq-2.0.1/gpu_docker/cuda_track_template.def → pyafq-3.0/gpu_docker/pyafq_with_gpu_template.def +5 -16
  190. {pyafq-2.0.1 → pyafq-3.0}/pyAFQ.egg-info/PKG-INFO +47 -26
  191. {pyafq-2.0.1 → pyafq-3.0}/pyAFQ.egg-info/SOURCES.txt +80 -33
  192. {pyafq-2.0.1 → pyafq-3.0}/pyAFQ.egg-info/requires.txt +31 -21
  193. {pyafq-2.0.1 → pyafq-3.0}/pyafq_docker/Dockerfile +3 -0
  194. pyafq-3.0/pyproject.toml +42 -0
  195. {pyafq-2.0.1 → pyafq-3.0}/setup.cfg +25 -16
  196. pyafq-3.0/setup.py +36 -0
  197. pyafq-2.0.1/.github/workflows/nightly_pft_test.yml +0 -32
  198. pyafq-2.0.1/.github/workflows/publish-to-test-pypi.yml +0 -39
  199. pyafq-2.0.1/AFQ/_fixes.py +0 -248
  200. pyafq-2.0.1/AFQ/api/bundle_dict.py +0 -1189
  201. pyafq-2.0.1/AFQ/api/participant.py +0 -385
  202. pyafq-2.0.1/AFQ/api/utils.py +0 -155
  203. pyafq-2.0.1/AFQ/data/fetch.py +0 -1844
  204. pyafq-2.0.1/AFQ/data/utils.py +0 -52
  205. pyafq-2.0.1/AFQ/models/QBallTP.py +0 -69
  206. pyafq-2.0.1/AFQ/recognition/cleaning.py +0 -194
  207. pyafq-2.0.1/AFQ/recognition/criteria.py +0 -426
  208. pyafq-2.0.1/AFQ/recognition/other_bundles.py +0 -153
  209. pyafq-2.0.1/AFQ/recognition/preprocess.py +0 -81
  210. pyafq-2.0.1/AFQ/recognition/roi.py +0 -92
  211. pyafq-2.0.1/AFQ/recognition/tests/test_other_bundles.py +0 -43
  212. pyafq-2.0.1/AFQ/recognition/tests/test_recognition.py +0 -251
  213. pyafq-2.0.1/AFQ/recognition/tests/test_rois.py +0 -108
  214. pyafq-2.0.1/AFQ/recognition/tests/test_utils.py +0 -81
  215. pyafq-2.0.1/AFQ/registration.py +0 -186
  216. pyafq-2.0.1/AFQ/tasks/data.py +0 -1220
  217. pyafq-2.0.1/AFQ/tasks/decorators.py +0 -220
  218. pyafq-2.0.1/AFQ/tasks/tractography.py +0 -490
  219. pyafq-2.0.1/AFQ/tests/test_api.py +0 -974
  220. pyafq-2.0.1/AFQ/tests/test_bundle_dict.py +0 -58
  221. pyafq-2.0.1/AFQ/tests/test_csd.py +0 -34
  222. pyafq-2.0.1/AFQ/tests/test_registration.py +0 -91
  223. pyafq-2.0.1/AFQ/tests/test_tractography.py +0 -138
  224. pyafq-2.0.1/AFQ/tests/test_viz.py +0 -14
  225. pyafq-2.0.1/AFQ/tractography/gputractography.py +0 -221
  226. pyafq-2.0.1/AFQ/tractography/tractography.py +0 -277
  227. pyafq-2.0.1/AFQ/tractography/utils.py +0 -45
  228. pyafq-2.0.1/AFQ/utils/docs.py +0 -27
  229. pyafq-2.0.1/AFQ/utils/streamlines.py +0 -135
  230. pyafq-2.0.1/AFQ/utils/tests/test_streamlines.py +0 -68
  231. pyafq-2.0.1/AFQ/utils/tests/test_volume.py +0 -57
  232. pyafq-2.0.1/AFQ/version.py +0 -21
  233. pyafq-2.0.1/AFQ/viz/fury_backend.py +0 -554
  234. pyafq-2.0.1/docs/source/_static/custom.css +0 -70
  235. pyafq-2.0.1/docs/source/_static/logo.png +0 -0
  236. pyafq-2.0.1/docs/source/explanations/bundle_orientation.rst +0 -52
  237. pyafq-2.0.1/docs/source/explanations/index.rst +0 -30
  238. pyafq-2.0.1/docs/source/explanations/tractometry_pipeline.rst +0 -31
  239. pyafq-2.0.1/docs/source/howto/contributing.rst +0 -12
  240. pyafq-2.0.1/docs/source/howto/developing/definitions.rst +0 -46
  241. pyafq-2.0.1/docs/source/howto/index.rst +0 -17
  242. pyafq-2.0.1/docs/source/howto/installation_guide.rst +0 -99
  243. pyafq-2.0.1/docs/source/howto/usage/index.rst +0 -18
  244. pyafq-2.0.1/docs/source/howto/usage/kwargs.rst +0 -238
  245. pyafq-2.0.1/docs/source/howto/usage/methods.rst +0 -350
  246. pyafq-2.0.1/docs/source/howto/usage/singularity.rst +0 -16
  247. pyafq-2.0.1/docs/source/reference/bundledict.rst +0 -98
  248. pyafq-2.0.1/docs/source/reference/index.rst +0 -13
  249. pyafq-2.0.1/docs/source/reference/mapping.rst +0 -28
  250. pyafq-2.0.1/gpu_docker/cuda_build.sh +0 -15
  251. pyafq-2.0.1/pyproject.toml +0 -15
  252. pyafq-2.0.1/setup.py +0 -33
  253. {pyafq-2.0.1 → pyafq-3.0}/.github/CITATION.cff +0 -0
  254. {pyafq-2.0.1 → pyafq-3.0}/.github/CONTRIBUTING.md +0 -0
  255. {pyafq-2.0.1 → pyafq-3.0}/.gitignore +0 -0
  256. {pyafq-2.0.1 → pyafq-3.0}/.mailmap +0 -0
  257. {pyafq-2.0.1 → pyafq-3.0}/.maintenance/update_changes.sh +0 -0
  258. {pyafq-2.0.1 → pyafq-3.0}/.pep8speaks.yml +0 -0
  259. {pyafq-2.0.1 → pyafq-3.0}/.zenodo.json +0 -0
  260. {pyafq-2.0.1 → pyafq-3.0}/AFQ/__init__.py +0 -0
  261. {pyafq-2.0.1 → pyafq-3.0}/AFQ/api/__init__.py +0 -0
  262. {pyafq-2.0.1 → pyafq-3.0}/AFQ/data/__init__.py +0 -0
  263. {pyafq-2.0.1 → pyafq-3.0}/AFQ/definitions/__init__.py +0 -0
  264. {pyafq-2.0.1 → pyafq-3.0}/AFQ/models/__init__.py +0 -0
  265. {pyafq-2.0.1/AFQ/recognition → pyafq-3.0/AFQ/nn}/__init__.py +0 -0
  266. {pyafq-2.0.1/AFQ/recognition/tests → pyafq-3.0/AFQ/recognition}/__init__.py +0 -0
  267. {pyafq-2.0.1/AFQ/tasks → pyafq-3.0/AFQ/recognition/tests}/__init__.py +0 -0
  268. {pyafq-2.0.1/AFQ/tests → pyafq-3.0/AFQ/tasks}/__init__.py +0 -0
  269. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/.datalad/.gitattributes → pyafq-3.0/AFQ/tests/__init__.py +0 -0
  270. {pyafq-2.0.1 → pyafq-3.0}/AFQ/tests/data/MoriGroups_Test.mat +0 -0
  271. {pyafq-2.0.1 → pyafq-3.0}/AFQ/tests/data/WholeBrainFG_test.mat +0 -0
  272. {pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/.datalad}/.gitattributes +0 -0
  273. {pyafq-2.0.1 → pyafq-3.0}/AFQ/tests/data/mocks3/ds000102-mimic/.datalad/config +0 -0
  274. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/CHANGES → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/.gitattributes +0 -0
  275. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/README → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/CHANGES +0 -0
  276. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/annex-uuid → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/README +0 -0
  277. {pyafq-2.0.1 → pyafq-3.0}/AFQ/tests/data/mocks3/ds000102-mimic/T1w.json +0 -0
  278. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/aMRIQC.csv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/annex-uuid +0 -0
  279. {pyafq-2.0.1 → pyafq-3.0}/AFQ/tests/data/mocks3/ds000102-mimic/dataset_description.json +0 -0
  280. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_group.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/aMRIQC.csv +0 -0
  281. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-01.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_group.pdf +0 -0
  282. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-02.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-01.pdf +0 -0
  283. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-03.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-02.pdf +0 -0
  284. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-04.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-03.pdf +0 -0
  285. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-05.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-04.pdf +0 -0
  286. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-06.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-05.pdf +0 -0
  287. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-07.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-06.pdf +0 -0
  288. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-08.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-07.pdf +0 -0
  289. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-09.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-08.pdf +0 -0
  290. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-10.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-09.pdf +0 -0
  291. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-11.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-10.pdf +0 -0
  292. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-12.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-11.pdf +0 -0
  293. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-13.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-12.pdf +0 -0
  294. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-14.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-13.pdf +0 -0
  295. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-15.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-14.pdf +0 -0
  296. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-16.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-15.pdf +0 -0
  297. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-17.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-16.pdf +0 -0
  298. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-18.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-17.pdf +0 -0
  299. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-19.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-18.pdf +0 -0
  300. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-20.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-19.pdf +0 -0
  301. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-21.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-20.pdf +0 -0
  302. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-22.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-21.pdf +0 -0
  303. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-23.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-22.pdf +0 -0
  304. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-24.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-23.pdf +0 -0
  305. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-25.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-24.pdf +0 -0
  306. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-26.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-25.pdf +0 -0
  307. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/fMRIQC.csv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/anatomical_sub-26.pdf +0 -0
  308. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_group.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/fMRIQC.csv +0 -0
  309. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-01.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_group.pdf +0 -0
  310. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-02.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-01.pdf +0 -0
  311. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-03.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-02.pdf +0 -0
  312. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-04.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-03.pdf +0 -0
  313. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-05.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-04.pdf +0 -0
  314. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-06.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-05.pdf +0 -0
  315. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-07.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-06.pdf +0 -0
  316. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-08.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-07.pdf +0 -0
  317. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-09.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-08.pdf +0 -0
  318. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-10.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-09.pdf +0 -0
  319. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-11.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-10.pdf +0 -0
  320. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-12.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-11.pdf +0 -0
  321. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-13.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-12.pdf +0 -0
  322. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-14.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-13.pdf +0 -0
  323. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-15.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-14.pdf +0 -0
  324. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-16.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-15.pdf +0 -0
  325. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-17.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-16.pdf +0 -0
  326. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-18.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-17.pdf +0 -0
  327. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-19.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-18.pdf +0 -0
  328. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-20.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-19.pdf +0 -0
  329. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-21.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-20.pdf +0 -0
  330. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-22.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-21.pdf +0 -0
  331. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-23.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-22.pdf +0 -0
  332. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-24.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-23.pdf +0 -0
  333. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-25.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-24.pdf +0 -0
  334. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-26.pdf → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-25.pdf +0 -0
  335. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/participants.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/derivatives/mriqc/functional_sub-26.pdf +0 -0
  336. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/anat/sub-01_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/participants.tsv +0 -0
  337. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/func/sub-01_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/anat/sub-01_T1w.nii.gz +0 -0
  338. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/func/sub-01_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/func/sub-01_task-flanker_run-1_bold.nii.gz +0 -0
  339. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/func/sub-01_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/func/sub-01_task-flanker_run-1_events.tsv +0 -0
  340. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/func/sub-01_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/func/sub-01_task-flanker_run-2_bold.nii.gz +0 -0
  341. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/anat/sub-02_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-01/func/sub-01_task-flanker_run-2_events.tsv +0 -0
  342. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/func/sub-02_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/anat/sub-02_T1w.nii.gz +0 -0
  343. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/func/sub-02_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/func/sub-02_task-flanker_run-1_bold.nii.gz +0 -0
  344. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/func/sub-02_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/func/sub-02_task-flanker_run-1_events.tsv +0 -0
  345. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/func/sub-02_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/func/sub-02_task-flanker_run-2_bold.nii.gz +0 -0
  346. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/anat/sub-03_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-02/func/sub-02_task-flanker_run-2_events.tsv +0 -0
  347. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/func/sub-03_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/anat/sub-03_T1w.nii.gz +0 -0
  348. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/func/sub-03_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/func/sub-03_task-flanker_run-1_bold.nii.gz +0 -0
  349. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/func/sub-03_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/func/sub-03_task-flanker_run-1_events.tsv +0 -0
  350. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/func/sub-03_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/func/sub-03_task-flanker_run-2_bold.nii.gz +0 -0
  351. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/anat/sub-04_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-03/func/sub-03_task-flanker_run-2_events.tsv +0 -0
  352. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/func/sub-04_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/anat/sub-04_T1w.nii.gz +0 -0
  353. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/func/sub-04_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/func/sub-04_task-flanker_run-1_bold.nii.gz +0 -0
  354. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/func/sub-04_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/func/sub-04_task-flanker_run-1_events.tsv +0 -0
  355. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/func/sub-04_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/func/sub-04_task-flanker_run-2_bold.nii.gz +0 -0
  356. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/anat/sub-05_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-04/func/sub-04_task-flanker_run-2_events.tsv +0 -0
  357. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/func/sub-05_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/anat/sub-05_T1w.nii.gz +0 -0
  358. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/func/sub-05_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/func/sub-05_task-flanker_run-1_bold.nii.gz +0 -0
  359. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/func/sub-05_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/func/sub-05_task-flanker_run-1_events.tsv +0 -0
  360. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/func/sub-05_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/func/sub-05_task-flanker_run-2_bold.nii.gz +0 -0
  361. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/anat/sub-06_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-05/func/sub-05_task-flanker_run-2_events.tsv +0 -0
  362. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/func/sub-06_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/anat/sub-06_T1w.nii.gz +0 -0
  363. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/func/sub-06_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/func/sub-06_task-flanker_run-1_bold.nii.gz +0 -0
  364. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/func/sub-06_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/func/sub-06_task-flanker_run-1_events.tsv +0 -0
  365. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/func/sub-06_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/func/sub-06_task-flanker_run-2_bold.nii.gz +0 -0
  366. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/anat/sub-07_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-06/func/sub-06_task-flanker_run-2_events.tsv +0 -0
  367. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/func/sub-07_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/anat/sub-07_T1w.nii.gz +0 -0
  368. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/func/sub-07_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/func/sub-07_task-flanker_run-1_bold.nii.gz +0 -0
  369. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/func/sub-07_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/func/sub-07_task-flanker_run-1_events.tsv +0 -0
  370. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/func/sub-07_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/func/sub-07_task-flanker_run-2_bold.nii.gz +0 -0
  371. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/anat/sub-08_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-07/func/sub-07_task-flanker_run-2_events.tsv +0 -0
  372. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/func/sub-08_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/anat/sub-08_T1w.nii.gz +0 -0
  373. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/func/sub-08_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/func/sub-08_task-flanker_run-1_bold.nii.gz +0 -0
  374. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/func/sub-08_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/func/sub-08_task-flanker_run-1_events.tsv +0 -0
  375. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/func/sub-08_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/func/sub-08_task-flanker_run-2_bold.nii.gz +0 -0
  376. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/anat/sub-09_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-08/func/sub-08_task-flanker_run-2_events.tsv +0 -0
  377. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/func/sub-09_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/anat/sub-09_T1w.nii.gz +0 -0
  378. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/func/sub-09_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/func/sub-09_task-flanker_run-1_bold.nii.gz +0 -0
  379. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/func/sub-09_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/func/sub-09_task-flanker_run-1_events.tsv +0 -0
  380. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/func/sub-09_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/func/sub-09_task-flanker_run-2_bold.nii.gz +0 -0
  381. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/anat/sub-10_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-09/func/sub-09_task-flanker_run-2_events.tsv +0 -0
  382. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/func/sub-10_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/anat/sub-10_T1w.nii.gz +0 -0
  383. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/func/sub-10_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/func/sub-10_task-flanker_run-1_bold.nii.gz +0 -0
  384. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/func/sub-10_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/func/sub-10_task-flanker_run-1_events.tsv +0 -0
  385. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/func/sub-10_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/func/sub-10_task-flanker_run-2_bold.nii.gz +0 -0
  386. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/anat/sub-11_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-10/func/sub-10_task-flanker_run-2_events.tsv +0 -0
  387. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/func/sub-11_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/anat/sub-11_T1w.nii.gz +0 -0
  388. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/func/sub-11_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/func/sub-11_task-flanker_run-1_bold.nii.gz +0 -0
  389. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/func/sub-11_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/func/sub-11_task-flanker_run-1_events.tsv +0 -0
  390. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/func/sub-11_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/func/sub-11_task-flanker_run-2_bold.nii.gz +0 -0
  391. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/anat/sub-12_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-11/func/sub-11_task-flanker_run-2_events.tsv +0 -0
  392. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/func/sub-12_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/anat/sub-12_T1w.nii.gz +0 -0
  393. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/func/sub-12_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/func/sub-12_task-flanker_run-1_bold.nii.gz +0 -0
  394. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/func/sub-12_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/func/sub-12_task-flanker_run-1_events.tsv +0 -0
  395. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/func/sub-12_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/func/sub-12_task-flanker_run-2_bold.nii.gz +0 -0
  396. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/anat/sub-13_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-12/func/sub-12_task-flanker_run-2_events.tsv +0 -0
  397. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/func/sub-13_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/anat/sub-13_T1w.nii.gz +0 -0
  398. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/func/sub-13_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/func/sub-13_task-flanker_run-1_bold.nii.gz +0 -0
  399. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/func/sub-13_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/func/sub-13_task-flanker_run-1_events.tsv +0 -0
  400. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/func/sub-13_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/func/sub-13_task-flanker_run-2_bold.nii.gz +0 -0
  401. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/anat/sub-14_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-13/func/sub-13_task-flanker_run-2_events.tsv +0 -0
  402. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/func/sub-14_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/anat/sub-14_T1w.nii.gz +0 -0
  403. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/func/sub-14_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/func/sub-14_task-flanker_run-1_bold.nii.gz +0 -0
  404. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/func/sub-14_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/func/sub-14_task-flanker_run-1_events.tsv +0 -0
  405. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/func/sub-14_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/func/sub-14_task-flanker_run-2_bold.nii.gz +0 -0
  406. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/anat/sub-15_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-14/func/sub-14_task-flanker_run-2_events.tsv +0 -0
  407. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/func/sub-15_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/anat/sub-15_T1w.nii.gz +0 -0
  408. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/func/sub-15_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/func/sub-15_task-flanker_run-1_bold.nii.gz +0 -0
  409. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/func/sub-15_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/func/sub-15_task-flanker_run-1_events.tsv +0 -0
  410. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/func/sub-15_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/func/sub-15_task-flanker_run-2_bold.nii.gz +0 -0
  411. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/anat/sub-16_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-15/func/sub-15_task-flanker_run-2_events.tsv +0 -0
  412. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/func/sub-16_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/anat/sub-16_T1w.nii.gz +0 -0
  413. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/func/sub-16_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/func/sub-16_task-flanker_run-1_bold.nii.gz +0 -0
  414. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/func/sub-16_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/func/sub-16_task-flanker_run-1_events.tsv +0 -0
  415. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/func/sub-16_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/func/sub-16_task-flanker_run-2_bold.nii.gz +0 -0
  416. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/anat/sub-17_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-16/func/sub-16_task-flanker_run-2_events.tsv +0 -0
  417. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/func/sub-17_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/anat/sub-17_T1w.nii.gz +0 -0
  418. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/func/sub-17_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/func/sub-17_task-flanker_run-1_bold.nii.gz +0 -0
  419. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/func/sub-17_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/func/sub-17_task-flanker_run-1_events.tsv +0 -0
  420. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/func/sub-17_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/func/sub-17_task-flanker_run-2_bold.nii.gz +0 -0
  421. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/anat/sub-18_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-17/func/sub-17_task-flanker_run-2_events.tsv +0 -0
  422. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/func/sub-18_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/anat/sub-18_T1w.nii.gz +0 -0
  423. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/func/sub-18_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/func/sub-18_task-flanker_run-1_bold.nii.gz +0 -0
  424. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/func/sub-18_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/func/sub-18_task-flanker_run-1_events.tsv +0 -0
  425. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/func/sub-18_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/func/sub-18_task-flanker_run-2_bold.nii.gz +0 -0
  426. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/anat/sub-19_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-18/func/sub-18_task-flanker_run-2_events.tsv +0 -0
  427. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/func/sub-19_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/anat/sub-19_T1w.nii.gz +0 -0
  428. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/func/sub-19_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/func/sub-19_task-flanker_run-1_bold.nii.gz +0 -0
  429. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/func/sub-19_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/func/sub-19_task-flanker_run-1_events.tsv +0 -0
  430. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/func/sub-19_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/func/sub-19_task-flanker_run-2_bold.nii.gz +0 -0
  431. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/anat/sub-20_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-19/func/sub-19_task-flanker_run-2_events.tsv +0 -0
  432. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/func/sub-20_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/anat/sub-20_T1w.nii.gz +0 -0
  433. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/func/sub-20_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/func/sub-20_task-flanker_run-1_bold.nii.gz +0 -0
  434. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/func/sub-20_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/func/sub-20_task-flanker_run-1_events.tsv +0 -0
  435. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/func/sub-20_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/func/sub-20_task-flanker_run-2_bold.nii.gz +0 -0
  436. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/anat/sub-21_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-20/func/sub-20_task-flanker_run-2_events.tsv +0 -0
  437. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/func/sub-21_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/anat/sub-21_T1w.nii.gz +0 -0
  438. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/func/sub-21_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/func/sub-21_task-flanker_run-1_bold.nii.gz +0 -0
  439. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/func/sub-21_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/func/sub-21_task-flanker_run-1_events.tsv +0 -0
  440. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/func/sub-21_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/func/sub-21_task-flanker_run-2_bold.nii.gz +0 -0
  441. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/anat/sub-22_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-21/func/sub-21_task-flanker_run-2_events.tsv +0 -0
  442. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/func/sub-22_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/anat/sub-22_T1w.nii.gz +0 -0
  443. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/func/sub-22_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/func/sub-22_task-flanker_run-1_bold.nii.gz +0 -0
  444. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/func/sub-22_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/func/sub-22_task-flanker_run-1_events.tsv +0 -0
  445. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/func/sub-22_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/func/sub-22_task-flanker_run-2_bold.nii.gz +0 -0
  446. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/anat/sub-23_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-22/func/sub-22_task-flanker_run-2_events.tsv +0 -0
  447. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/func/sub-23_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/anat/sub-23_T1w.nii.gz +0 -0
  448. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/func/sub-23_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/func/sub-23_task-flanker_run-1_bold.nii.gz +0 -0
  449. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/func/sub-23_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/func/sub-23_task-flanker_run-1_events.tsv +0 -0
  450. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/func/sub-23_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/func/sub-23_task-flanker_run-2_bold.nii.gz +0 -0
  451. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/anat/sub-24_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-23/func/sub-23_task-flanker_run-2_events.tsv +0 -0
  452. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/func/sub-24_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/anat/sub-24_T1w.nii.gz +0 -0
  453. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/func/sub-24_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/func/sub-24_task-flanker_run-1_bold.nii.gz +0 -0
  454. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/func/sub-24_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/func/sub-24_task-flanker_run-1_events.tsv +0 -0
  455. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/func/sub-24_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/func/sub-24_task-flanker_run-2_bold.nii.gz +0 -0
  456. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/anat/sub-25_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-24/func/sub-24_task-flanker_run-2_events.tsv +0 -0
  457. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/func/sub-25_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/anat/sub-25_T1w.nii.gz +0 -0
  458. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/func/sub-25_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/func/sub-25_task-flanker_run-1_bold.nii.gz +0 -0
  459. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/func/sub-25_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/func/sub-25_task-flanker_run-1_events.tsv +0 -0
  460. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/func/sub-25_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/func/sub-25_task-flanker_run-2_bold.nii.gz +0 -0
  461. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/anat/sub-26_T1w.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-25/func/sub-25_task-flanker_run-2_events.tsv +0 -0
  462. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/func/sub-26_task-flanker_run-1_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/anat/sub-26_T1w.nii.gz +0 -0
  463. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/func/sub-26_task-flanker_run-1_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/func/sub-26_task-flanker_run-1_bold.nii.gz +0 -0
  464. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/func/sub-26_task-flanker_run-2_bold.nii.gz → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/func/sub-26_task-flanker_run-1_events.tsv +0 -0
  465. pyafq-2.0.1/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/func/sub-26_task-flanker_run-2_events.tsv → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/func/sub-26_task-flanker_run-2_bold.nii.gz +0 -0
  466. pyafq-2.0.1/AFQ/tractography/__init__.py → pyafq-3.0/AFQ/tests/data/mocks3/ds000102-mimic/sub-26/func/sub-26_task-flanker_run-2_events.tsv +0 -0
  467. {pyafq-2.0.1 → pyafq-3.0}/AFQ/tests/data/mocks3/ds000102-mimic/task-flanker_bold.json +0 -0
  468. {pyafq-2.0.1 → pyafq-3.0}/AFQ/tests/test_data.py +1 -1
  469. {pyafq-2.0.1/AFQ/utils → pyafq-3.0/AFQ/tractography}/__init__.py +0 -0
  470. {pyafq-2.0.1/AFQ/utils/tests → pyafq-3.0/AFQ/utils}/__init__.py +0 -0
  471. {pyafq-2.0.1/AFQ/viz → pyafq-3.0/AFQ/utils/tests}/__init__.py +0 -0
  472. {pyafq-2.0.1 → pyafq-3.0}/AFQ/utils/tests/test_path.py +0 -0
  473. {pyafq-2.0.1 → pyafq-3.0}/CITATION +0 -0
  474. {pyafq-2.0.1 → pyafq-3.0}/LICENSE +0 -0
  475. {pyafq-2.0.1 → pyafq-3.0}/MANIFEST.in +0 -0
  476. {pyafq-2.0.1 → pyafq-3.0}/Makefile +0 -0
  477. {pyafq-2.0.1 → pyafq-3.0}/docs/source/_progressbars.py +0 -0
  478. {pyafq-2.0.1 → pyafq-3.0}/docs/source/_static/BDE_Banner_revised20160211-01.jpg +0 -0
  479. {pyafq-2.0.1/docs/source/explanations → pyafq-3.0/docs/source}/_static/down_left_arrow.png +0 -0
  480. {pyafq-2.0.1/docs/source/explanations → pyafq-3.0/docs/source}/_static/down_right_arrow.png +0 -0
  481. {pyafq-2.0.1 → pyafq-3.0}/docs/source/_static/eScience_Logo_HR.png +0 -0
  482. {pyafq-2.0.1 → pyafq-3.0}/docs/source/_static/escience-logo.png +0 -0
  483. {pyafq-2.0.1/docs/source/explanations → pyafq-3.0/docs/source}/_static/greencheck.png +0 -0
  484. {pyafq-2.0.1/docs/source/explanations → pyafq-3.0/docs/source}/_static/tract_modeling2.png +0 -0
  485. {pyafq-2.0.1/docs/source/explanations → pyafq-3.0/docs/source}/_static/tract_profiling.png +0 -0
  486. {pyafq-2.0.1/docs/source/explanations → pyafq-3.0/docs/source}/_static/tract_recognition.png +0 -0
  487. {pyafq-2.0.1/docs/source/explanations → pyafq-3.0/docs/source}/_static/tract_tractography.png +0 -0
  488. {pyafq-2.0.1 → pyafq-3.0}/docs/source/_templates/layout.html +0 -0
  489. {pyafq-2.0.1/docs/source/howto → pyafq-3.0/docs/source}/developing/releasing.rst +0 -0
  490. {pyafq-2.0.1/docs/source/howto → pyafq-3.0/docs/source}/developing/tasks.rst +0 -0
  491. {pyafq-2.0.1 → pyafq-3.0}/docs/source/explanations/profiling.rst +0 -0
  492. {pyafq-2.0.1 → pyafq-3.0}/docs/source/explanations/recognition.rst +0 -0
  493. {pyafq-2.0.1 → pyafq-3.0}/docs/source/howto/cite.rst +0 -0
  494. {pyafq-2.0.1/docs/source/howto/usage → pyafq-3.0/docs/source/howto}/cleaning_params.rst +0 -0
  495. {pyafq-2.0.1/docs/source/howto/usage → pyafq-3.0/docs/source/howto}/scalars.rst +0 -0
  496. {pyafq-2.0.1/docs/source/howto/usage → pyafq-3.0/docs/source/howto}/segmentation_params.rst +0 -0
  497. {pyafq-2.0.1/docs/source/howto/usage → pyafq-3.0/docs/source/howto}/tractography_params.rst +0 -0
  498. {pyafq-2.0.1 → pyafq-3.0}/docs/source/sphinxext/kwargsdocs.py +0 -0
  499. {pyafq-2.0.1 → pyafq-3.0}/docs/upload-gh-pages.sh +0 -0
  500. {pyafq-2.0.1 → pyafq-3.0}/examples/howto_examples/README.rst +0 -0
  501. {pyafq-2.0.1 → pyafq-3.0}/gpu_docker/docker-build.sh +0 -0
  502. {pyafq-2.0.1 → pyafq-3.0}/gpu_docker/docker-push.sh +0 -0
  503. {pyafq-2.0.1 → pyafq-3.0}/pyAFQ.egg-info/dependency_links.txt +0 -0
  504. {pyafq-2.0.1 → pyafq-3.0}/pyAFQ.egg-info/not-zip-safe +0 -0
  505. {pyafq-2.0.1 → pyafq-3.0}/pyAFQ.egg-info/top_level.txt +0 -0
  506. {pyafq-2.0.1 → pyafq-3.0}/pyafq_docker/docker-build.sh +0 -0
  507. {pyafq-2.0.1 → pyafq-3.0}/pyafq_docker/docker-push.sh +0 -0
  508. {pyafq-2.0.1 → pyafq-3.0}/tox.ini +0 -0
pyafq-3.0/.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