rapidtide 3.0.2__tar.gz → 3.0.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) hide show
  1. {rapidtide-3.0.2 → rapidtide-3.0.3}/CHANGELOG.md +11 -1
  2. {rapidtide-3.0.2/rapidtide.egg-info → rapidtide-3.0.3}/PKG-INFO +1 -1
  3. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/calcsimfunc.py +3 -0
  4. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/correlate.py +18 -1
  5. rapidtide-3.0.3/rapidtide/data/examples/src/testfmri +15 -0
  6. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testretro +10 -4
  7. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/helper_classes.py +4 -4
  8. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/io.py +2 -0
  9. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/maskutil.py +144 -0
  10. rapidtide-3.0.3/rapidtide/tests/test_cleanregressor.py +185 -0
  11. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_fullrunrapidtide_v1.py +4 -0
  12. rapidtide-3.0.3/rapidtide/tests/test_fullrunrapidtide_v7.py +114 -0
  13. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_io.py +58 -13
  14. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/voxelData.py +1 -0
  15. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/cleanregressor.py +43 -6
  16. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/rapidtide.py +239 -106
  17. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/rapidtide_parser.py +115 -66
  18. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/retroregress.py +170 -34
  19. {rapidtide-3.0.2 → rapidtide-3.0.3/rapidtide.egg-info}/PKG-INFO +1 -1
  20. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide.egg-info/SOURCES.txt +2 -0
  21. rapidtide-3.0.2/rapidtide/data/examples/src/testfmri +0 -12
  22. {rapidtide-3.0.2 → rapidtide-3.0.3}/CODE_OF_CONDUCT.md +0 -0
  23. {rapidtide-3.0.2 → rapidtide-3.0.3}/CONTRIBUTING.md +0 -0
  24. {rapidtide-3.0.2 → rapidtide-3.0.3}/INSTALL.rst +0 -0
  25. {rapidtide-3.0.2 → rapidtide-3.0.3}/LICENSE +0 -0
  26. {rapidtide-3.0.2 → rapidtide-3.0.3}/MANIFEST.in +0 -0
  27. {rapidtide-3.0.2 → rapidtide-3.0.3}/README.rst +0 -0
  28. {rapidtide-3.0.2 → rapidtide-3.0.3}/TODO.md +0 -0
  29. {rapidtide-3.0.2 → rapidtide-3.0.3}/USAGE.rst +0 -0
  30. {rapidtide-3.0.2 → rapidtide-3.0.3}/cloud/download-nda-data +0 -0
  31. {rapidtide-3.0.2 → rapidtide-3.0.3}/cloud/downloadcmd-auther +0 -0
  32. {rapidtide-3.0.2 → rapidtide-3.0.3}/cloud/gmscalc-HCPYA +0 -0
  33. {rapidtide-3.0.2 → rapidtide-3.0.3}/cloud/list-rapidtide-relevant-images +0 -0
  34. {rapidtide-3.0.2 → rapidtide-3.0.3}/cloud/mount-and-run +0 -0
  35. {rapidtide-3.0.2 → rapidtide-3.0.3}/cloud/rapidtide-HCPYA +0 -0
  36. {rapidtide-3.0.2 → rapidtide-3.0.3}/cloud/rapidtide-cloud-test +0 -0
  37. {rapidtide-3.0.2 → rapidtide-3.0.3}/cloud/simple-cp-test +0 -0
  38. {rapidtide-3.0.2 → rapidtide-3.0.3}/pyproject.toml +0 -0
  39. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/Colortables.py +0 -0
  40. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/DerivativeDelay.py +0 -0
  41. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/OrthoImageItem.py +0 -0
  42. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/RapidtideDataset.py +0 -0
  43. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/RegressorRefiner.py +0 -0
  44. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/__init__.py +0 -0
  45. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/_version.py +0 -0
  46. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/calcandfitcorrpairs.py +0 -0
  47. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/calccoherence.py +0 -0
  48. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/calcnullsimfunc.py +0 -0
  49. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/installtestdata +0 -0
  50. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/test_findmaxlag.py +0 -0
  51. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/test_io +0 -0
  52. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/test_mlregressallt.py +0 -0
  53. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/test_rapidtidecompare +0 -0
  54. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testalign +0 -0
  55. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testatlasaverage +0 -0
  56. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testboth +0 -0
  57. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testcifti +0 -0
  58. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testcomplex +0 -0
  59. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testdecomp +0 -0
  60. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testdelayvar +0 -0
  61. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testfileorfloat +0 -0
  62. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testfingerprint +0 -0
  63. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testfmridocker +0 -0
  64. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testfrozen +0 -0
  65. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testfuncs +0 -0
  66. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testglmfilt +0 -0
  67. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testhappy +0 -0
  68. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testinitdelay +0 -0
  69. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testlinfit +0 -0
  70. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testlocalflow +0 -0
  71. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testmodels +0 -0
  72. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testnewrefine +0 -0
  73. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testnoiseamp +0 -0
  74. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testoscorr +0 -0
  75. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testpad +0 -0
  76. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testrefineonly +0 -0
  77. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testretrolagtcs +0 -0
  78. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/examples/src/testsimdata +0 -0
  79. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/models/model_cnn_w064_l13_fn20_fl08/loss.png +0 -0
  80. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/models/model_cnn_w064_l13_fn20_fl08/loss.txt +0 -0
  81. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/models/model_cnn_w064_l13_fn20_fl08/model.keras +0 -0
  82. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/models/model_cnn_w064_l13_fn20_fl08/model_meta.json +0 -0
  83. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/models/model_revised_tf2/model.keras +0 -0
  84. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/models/model_revised_tf2/model_meta.json +0 -0
  85. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/models/model_serdar2_tf2/model.keras +0 -0
  86. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/models/model_serdar2_tf2/model_meta.json +0 -0
  87. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/models/model_serdar_tf2/model.keras +0 -0
  88. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/models/model_serdar_tf2/model_meta.json +0 -0
  89. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/ASPECTS_2mm.nii.gz +0 -0
  90. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/ASPECTS_2mm_mask.nii.gz +0 -0
  91. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/ASPECTS_3mm.nii.gz +0 -0
  92. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/ASPECTS_3mm_mask.nii.gz +0 -0
  93. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/ASPECTS_regions.txt +0 -0
  94. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/ATTbasedFlowTerritories_split_2mm.nii.gz +0 -0
  95. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/ATTbasedFlowTerritories_split_2mm_mask.nii.gz +0 -0
  96. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/ATTbasedFlowTerritories_split_regions.txt +0 -0
  97. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200_binmask_2mm.nii.gz +0 -0
  98. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200_lag_2mm.nii.gz +0 -0
  99. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200_mask_2mm.nii.gz +0 -0
  100. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200_negmask_2mm.nii.gz +0 -0
  101. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200_sigma_2mm.nii.gz +0 -0
  102. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200_strength_2mm.nii.gz +0 -0
  103. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200v2_MTT_2mm.nii.gz +0 -0
  104. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200v2_binmask_2mm.nii.gz +0 -0
  105. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200v2_csf_2mm.nii.gz +0 -0
  106. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200v2_gray_2mm.nii.gz +0 -0
  107. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200v2_graylaghist.json +0 -0
  108. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200v2_graylaghist.tsv.gz +0 -0
  109. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200v2_laghist.json +0 -0
  110. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200v2_laghist.tsv.gz +0 -0
  111. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200v2_mask_2mm.nii.gz +0 -0
  112. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200v2_maxcorr_2mm.nii.gz +0 -0
  113. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200v2_maxtime_2mm.nii.gz +0 -0
  114. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200v2_maxwidth_2mm.nii.gz +0 -0
  115. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200v2_negmask_2mm.nii.gz +0 -0
  116. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200v2_timepercentile_2mm.nii.gz +0 -0
  117. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200v2_white_2mm.nii.gz +0 -0
  118. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200v2_whitelaghist.json +0 -0
  119. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/HCP1200v2_whitelaghist.tsv.gz +0 -0
  120. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1-seg2.xml +0 -0
  121. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1-seg2_regions.txt +0 -0
  122. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1-seg2_space-MNI152NLin6Asym_2mm.nii.gz +0 -0
  123. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1.xml +0 -0
  124. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1_regions.txt +0 -0
  125. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1_space-MNI152NLin6Asym_2mm.nii.gz +0 -0
  126. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1_space-MNI152NLin6Asym_2mm_mask.nii.gz +0 -0
  127. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL2.xml +0 -0
  128. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL2_regions.txt +0 -0
  129. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL2_space-MNI152NLin6Asym_2mm.nii.gz +0 -0
  130. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL2_space-MNI152NLin6Asym_2mm_mask.nii.gz +0 -0
  131. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/MNI152_T1_1mm_Brain_FAST_seg.nii.gz +0 -0
  132. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/MNI152_T1_1mm_Brain_Mask.nii.gz +0 -0
  133. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/MNI152_T1_2mm_Brain_FAST_seg.nii.gz +0 -0
  134. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/MNI152_T1_2mm_Brain_Mask.nii.gz +0 -0
  135. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/MNI152_T1_3mm.nii.gz +0 -0
  136. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/MNI152_T1_3mm_brain_mask.nii.gz +0 -0
  137. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/data/reference/slicetimes/HCP-YA_slicetimes.txt +0 -0
  138. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/dlfilter.py +0 -0
  139. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/externaltools.py +0 -0
  140. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/fMRIData_class.py +0 -0
  141. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/filter.py +0 -0
  142. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/fit.py +0 -0
  143. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/happy_supportfuncs.py +0 -0
  144. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/linfitfiltpass.py +0 -0
  145. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/makelaggedtcs.py +0 -0
  146. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/miscmath.py +0 -0
  147. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/multiproc.py +0 -0
  148. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/patchmatch.py +0 -0
  149. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/peakeval.py +0 -0
  150. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/qualitycheck.py +0 -0
  151. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/refinedelay.py +0 -0
  152. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/refineregressor.py +0 -0
  153. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/resample.py +0 -0
  154. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/__init__.py +0 -0
  155. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/adjustoffset.py +0 -0
  156. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/aligntcs.py +0 -0
  157. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/applydlfilter.py +0 -0
  158. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/atlasaverage.py +0 -0
  159. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/atlastool.py +0 -0
  160. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/calcicc.py +0 -0
  161. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/calctexticc.py +0 -0
  162. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/calcttest.py +0 -0
  163. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/ccorrica.py +0 -0
  164. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/delayvar.py +0 -0
  165. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/diffrois.py +0 -0
  166. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/endtidalproc.py +0 -0
  167. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/fdica.py +0 -0
  168. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/filtnifti.py +0 -0
  169. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/filttc.py +0 -0
  170. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/fingerprint.py +0 -0
  171. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/fixtr.py +0 -0
  172. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/gmscalc.py +0 -0
  173. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/happy.py +0 -0
  174. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/happy2std.py +0 -0
  175. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/happywarp.py +0 -0
  176. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/histnifti.py +0 -0
  177. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/histtc.py +0 -0
  178. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/linfitfilt.py +0 -0
  179. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/localflow.py +0 -0
  180. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/mergequality.py +0 -0
  181. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/pairproc.py +0 -0
  182. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/pairwisemergenifti.py +0 -0
  183. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/physiofreq.py +0 -0
  184. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/pixelcomp.py +0 -0
  185. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/plethquality.py +0 -0
  186. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/polyfitim.py +0 -0
  187. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/proj2flow.py +0 -0
  188. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/rankimage.py +0 -0
  189. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/rapidtide.py +0 -0
  190. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/rapidtide2std.py +0 -0
  191. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/resamplenifti.py +0 -0
  192. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/resampletc.py +0 -0
  193. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/retrolagtcs.py +0 -0
  194. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/retroregress.py +0 -0
  195. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/roisummarize.py +0 -0
  196. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/runqualitycheck.py +0 -0
  197. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/showarbcorr.py +0 -0
  198. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/showhist.py +0 -0
  199. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/showstxcorr.py +0 -0
  200. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/showtc.py +0 -0
  201. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/showxcorr_legacy.py +0 -0
  202. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/showxcorrx.py +0 -0
  203. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/showxy.py +0 -0
  204. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/simdata.py +0 -0
  205. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/spatialdecomp.py +0 -0
  206. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/spatialfit.py +0 -0
  207. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/spatialmi.py +0 -0
  208. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/spectrogram.py +0 -0
  209. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/stupidramtricks.py +0 -0
  210. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/synthASL.py +0 -0
  211. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/tcfrom2col.py +0 -0
  212. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/tcfrom3col.py +0 -0
  213. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/temporaldecomp.py +0 -0
  214. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/testhrv.py +0 -0
  215. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/threeD.py +0 -0
  216. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/tidepool.py +0 -0
  217. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/scripts/variabilityizer.py +0 -0
  218. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/simfuncfit.py +0 -0
  219. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/stats.py +0 -0
  220. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/.coveragerc +0 -0
  221. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/__init__.py +0 -0
  222. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/cleanposttest +0 -0
  223. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/matplotlibrc +0 -0
  224. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/resethappytargets +0 -0
  225. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/resetrapidtidetargets +0 -0
  226. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/resettargets +0 -0
  227. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/runlocaltest +0 -0
  228. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/showdirectories +0 -0
  229. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/showkernels +0 -0
  230. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_aliasedcorrelate.py +0 -0
  231. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_aligntcs.py +0 -0
  232. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_calcicc.py +0 -0
  233. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_congrid.py +0 -0
  234. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_correlate.py +0 -0
  235. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_corrpass.py +0 -0
  236. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_delayestimation.py +0 -0
  237. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_doresample.py +0 -0
  238. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_fastresampler.py +0 -0
  239. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_filter.py +0 -0
  240. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_findmaxlag.py +0 -0
  241. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_fullrunhappy_v1.py +0 -0
  242. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_fullrunhappy_v2.py +0 -0
  243. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_fullrunhappy_v3.py +0 -0
  244. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_fullrunhappy_v4.py +0 -0
  245. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_fullrunhappy_v5.py +0 -0
  246. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_fullrunrapidtide_v2.py +0 -0
  247. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_fullrunrapidtide_v3.py +0 -0
  248. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_fullrunrapidtide_v4.py +0 -0
  249. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_fullrunrapidtide_v5.py +0 -0
  250. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_fullrunrapidtide_v6.py +0 -0
  251. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_linfitfiltpass.py +0 -0
  252. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_mi.py +0 -0
  253. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_miscmath.py +0 -0
  254. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_motionregress.py +0 -0
  255. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_nullcorr.py +0 -0
  256. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_padvec.py +0 -0
  257. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_phaseanalysis.py +0 -0
  258. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_rapidtideparser.py +0 -0
  259. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_refinedelay.py +0 -0
  260. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_runmisc.py +0 -0
  261. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_sharedmem.py +0 -0
  262. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_simulate.py +0 -0
  263. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_stcorrelate.py +0 -0
  264. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_timeshift.py +0 -0
  265. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_valtoindex.py +0 -0
  266. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/test_zRapidtideDataset.py +0 -0
  267. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/testdata/100206_REST1_LR_cardfromfmri_25.0Hz.txt +0 -0
  268. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/testdata/100206_REST1_LR_cardfromfmri_dlfiltered_25.0Hz.txt +0 -0
  269. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/testdata/100206_REST1_LR_info.txt +0 -0
  270. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/testdata/100206_REST1_LR_normcardfromfmri_25.0Hz.txt +0 -0
  271. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/testdata/100206_REST1_LR_normcardfromfmri_dlfiltered_25.0Hz.txt +0 -0
  272. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/testdata/100206_REST1_LR_normpleth_25.0Hz.txt +0 -0
  273. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/testdata/100206_REST1_LR_pleth_25.0Hz.txt +0 -0
  274. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/testdata/100206_REST1_LR_pleth_dlfiltered_25.0Hz.txt +0 -0
  275. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/testdata/fmri_globalmean.txt +0 -0
  276. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/testdata/happy_phase1target_vesselmask.nii.gz +0 -0
  277. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/testdata/happy_phase2output_vesselmask.nii.gz +0 -0
  278. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/testdata/happy_target_vesselmask.nii.gz +0 -0
  279. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/testdata/lforegressor.txt +0 -0
  280. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/testdata/lt_rt.txt +0 -0
  281. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/testdata/phasetest.txt +0 -0
  282. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/testdata/rapidtide2x_phase1target_reference_fmrires.txt +0 -0
  283. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/testdata/stcorrtest_Rvalue.txt +0 -0
  284. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/testdata/stcorrtest_delay.txt +0 -0
  285. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/testdata/stcorrtest_mask.txt +0 -0
  286. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/testdata/stcorrtest_pearson.txt +0 -0
  287. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/testdata/stcorrtest_pvalue.txt +0 -0
  288. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/testdata/testfilt.txt +0 -0
  289. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/tmp/.placeholder.txt +0 -0
  290. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/usercustomize.py +0 -0
  291. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tests/utils.py +0 -0
  292. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tidepoolTemplate.py +0 -0
  293. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tidepoolTemplate.ui +0 -0
  294. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tidepoolTemplate_alt.py +0 -0
  295. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tidepoolTemplate_alt.ui +0 -0
  296. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tidepoolTemplate_alt_qt6.py +0 -0
  297. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tidepoolTemplate_big.py +0 -0
  298. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tidepoolTemplate_big.ui +0 -0
  299. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tidepoolTemplate_big_qt6.py +0 -0
  300. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/tidepoolTemplate_qt6.py +0 -0
  301. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/transformerdlfilter.py +0 -0
  302. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/util.py +0 -0
  303. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/wiener.py +0 -0
  304. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/wiener2.py +0 -0
  305. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/__init__.py +0 -0
  306. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/adjustoffset.py +0 -0
  307. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/aligntcs.py +0 -0
  308. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/applydlfilter.py +0 -0
  309. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/atlasaverage.py +0 -0
  310. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/atlastool.py +0 -0
  311. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/calctexticc.py +0 -0
  312. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/ccorrica.py +0 -0
  313. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/delayestimation.py +0 -0
  314. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/delayvar.py +0 -0
  315. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/diffrois.py +0 -0
  316. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/endtidalproc.py +0 -0
  317. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/fdica.py +0 -0
  318. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/filtnifti.py +0 -0
  319. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/filttc.py +0 -0
  320. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/fixtr.py +0 -0
  321. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/gmscalc.py +0 -0
  322. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/happy.py +0 -0
  323. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/happy2std.py +0 -0
  324. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/happy_parser.py +0 -0
  325. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/histnifti.py +0 -0
  326. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/histtc.py +0 -0
  327. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/linfitfilt.py +0 -0
  328. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/localflow.py +0 -0
  329. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/mergequality.py +0 -0
  330. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/niftidecomp.py +0 -0
  331. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/niftistats.py +0 -0
  332. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/pairproc.py +0 -0
  333. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/pairwisemergenifti.py +0 -0
  334. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/parser_funcs.py +0 -0
  335. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/physiofreq.py +0 -0
  336. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/pixelcomp.py +0 -0
  337. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/plethquality.py +0 -0
  338. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/polyfitim.py +0 -0
  339. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/proj2flow.py +0 -0
  340. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/rankimage.py +0 -0
  341. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/rapidtide2std.py +0 -0
  342. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/regressfrommaps.py +0 -0
  343. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/resamplenifti.py +0 -0
  344. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/resampletc.py +0 -0
  345. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/retrolagtcs.py +0 -0
  346. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/roisummarize.py +0 -0
  347. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/runqualitycheck.py +0 -0
  348. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/showarbcorr.py +0 -0
  349. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/showhist.py +0 -0
  350. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/showstxcorr.py +0 -0
  351. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/showtc.py +0 -0
  352. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/showxcorrx.py +0 -0
  353. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/showxy.py +0 -0
  354. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/simdata.py +0 -0
  355. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/spatialfit.py +0 -0
  356. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/spatialmi.py +0 -0
  357. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/spectrogram.py +0 -0
  358. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/synthASL.py +0 -0
  359. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/tcfrom2col.py +0 -0
  360. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/tcfrom3col.py +0 -0
  361. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/tidepool.py +0 -0
  362. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/utils.py +0 -0
  363. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide/workflows/variabilityizer.py +0 -0
  364. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide.egg-info/dependency_links.txt +0 -0
  365. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide.egg-info/entry_points.txt +0 -0
  366. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide.egg-info/requires.txt +0 -0
  367. {rapidtide-3.0.2 → rapidtide-3.0.3}/rapidtide.egg-info/top_level.txt +0 -0
  368. {rapidtide-3.0.2 → rapidtide-3.0.3}/setup.cfg +0 -0
  369. {rapidtide-3.0.2 → rapidtide-3.0.3}/versioneer.py +0 -0
@@ -1,8 +1,18 @@
1
1
  # Release history
2
2
 
3
+ ## Version 3.0.3 (5/4/25)
4
+ * (rapidtide, retroregress) If you supply a brain, GM, WM, or CSF mask, rapidtide extracts the matching timecourse from the mask at startup, and after filtering, if it's done. retroregress extracts the timecourses after filtering.
5
+ * (rapidtide) Fixed mask logic when gray matter mask is provided.
6
+ * (rapidtide) Fixed a crash when ``--acfix`` is selected and a bad sidelobe is encountered if the similarity calculation range is not the entire timecourse (THAT was hard to pin down...).
7
+ * (rapidtide, tidepool) Fixed a serious cosmetic bug in corrout files introduced in v3.0.2 - teoffset was not being set properly by rapidtide, so the tidepool similarity function display was very wrong.
8
+ * (rapidtide) shiftedtcs file is now written during each pass if ``--saveintermediatemaps`` is set and ``--outputlevel`` is ``more`` or ``max`` (in response to a feature request).
9
+ * (rapidtide) Added back the ability to have integral powers of the motion regressors.
10
+ * (rapidtide) Added the ability to specify a CSF mask.
11
+
12
+
3
13
  ## Version 3.0.2 (4/28/25)
4
- * (rapidtide) Leaned harder into using the voxelData class, and beefed up its capabilities.
5
14
  * (retroregress) Added a new argument to ``--outputlevel``, ``onlyregressors``. When selected, retroregress generates the voxel specific sLFO regressor(s), saves them, and exits. This option exists so that you can use the rapidtide voxel specific sLFO regressors in an external processing routine such as XCP-D without extraneous data storage or processing time.
15
+ * (rapidtide) Leaned harder into using the voxelData class, and beefed up its capabilities.
6
16
  * (happy) Updated to use voxelData.
7
17
  * (happy) Moved phase projection to an external routine.
8
18
  * (documentation) Fixed a few more typos.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rapidtide
3
- Version: 3.0.2
3
+ Version: 3.0.3
4
4
  Summary: Tools for performing correlation analysis on fMRI data.
5
5
  Author: Taylor Salo, Daniel M. Drucker, Ph.D., Jeffrey N Stout, Yaroslav O. Halchenko, Derek Monroe
6
6
  Author-email: "Blaise deB. Frederick" <blaise.frederick@gmail.com>
@@ -69,6 +69,7 @@ def correlationpass(
69
69
  chunksize=1000,
70
70
  rt_floatset=np.float64,
71
71
  rt_floattype="float64",
72
+ debug=False,
72
73
  ):
73
74
  """
74
75
 
@@ -96,6 +97,8 @@ def correlationpass(
96
97
  -------
97
98
 
98
99
  """
100
+ if debug:
101
+ print(f"calling setreftc in calcsimfunc with length {len(referencetc)}")
99
102
  theCorrelator.setreftc(referencetc)
100
103
  theCorrelator.setlimits(lagmininpts, lagmaxinpts)
101
104
 
@@ -86,11 +86,12 @@ def disablenumba():
86
86
  def check_autocorrelation(
87
87
  corrscale,
88
88
  thexcorr,
89
- delta=0.1,
89
+ delta=0.05,
90
90
  acampthresh=0.1,
91
91
  aclagthresh=10.0,
92
92
  displayplots=False,
93
93
  detrendorder=1,
94
+ debug=False,
94
95
  ):
95
96
  """Check for autocorrelation in an array.
96
97
 
@@ -110,10 +111,23 @@ def check_autocorrelation(
110
111
  sidelobetime
111
112
  sidelobeamp
112
113
  """
114
+ if debug:
115
+ print("check_autocorrelation:")
116
+ print(f"delta: {delta}")
117
+ print(f"acampthresh: {acampthresh}")
118
+ print(f"aclagthresh: {aclagthresh}")
119
+ print(f"displayplots: {displayplots}")
113
120
  lookahead = 2
121
+ if displayplots:
122
+ print(f"check_autocorrelation: {displayplots=}")
123
+ plt.plot(corrscale, thexcorr)
124
+ plt.show()
114
125
  peaks = tide_fit.peakdetect(thexcorr, x_axis=corrscale, delta=delta, lookahead=lookahead)
115
126
  maxpeaks = np.asarray(peaks[0], dtype="float64")
116
127
  if len(peaks[0]) > 0:
128
+ if debug:
129
+ print(f"found {len(peaks[0])} peaks")
130
+ print(peaks)
117
131
  LGR.debug(peaks)
118
132
  zeropkindex = np.argmin(abs(maxpeaks[:, 0]))
119
133
  for i in range(zeropkindex + 1, maxpeaks.shape[0]):
@@ -155,6 +169,9 @@ def check_autocorrelation(
155
169
  )
156
170
  plt.show()
157
171
  return sidelobetime, sidelobeamp
172
+ else:
173
+ if debug:
174
+ print("no peaks found")
158
175
  return None, None
159
176
 
160
177
 
@@ -0,0 +1,15 @@
1
+ #!/bin/bash
2
+
3
+ rapidtide \
4
+ --spatialfilt -1 \
5
+ --nprocs -1 \
6
+ --searchrange -5 20 \
7
+ --simcalcrange 50 -1 \
8
+ --outputlevel more \
9
+ --dofinalrefine \
10
+ --graymattermask sub-RAPIDTIDETEST_synthseg.nii.gz:SSEG_GRAY \
11
+ --brainmask sub-RAPIDTIDETEST_brainmask.nii.gz \
12
+ --whitemattermask sub-RAPIDTIDETEST_synthseg.nii.gz:SSEG_WHITE \
13
+ --csfmask sub-RAPIDTIDETEST_synthseg.nii.gz:SSEG_CSF \
14
+ sub-RAPIDTIDETEST.nii.gz \
15
+ ../dst/sub-RAPIDTIDETEST
@@ -1,10 +1,16 @@
1
1
  #!/bin/bash
2
2
 
3
3
  rapidtide \
4
+ --spatialfilt -1 \
4
5
  --nprocs -1 \
5
- --passes 3 \
6
- --outputlevel max \
7
- --regressderivs 1 \
6
+ --searchrange -5 20 \
7
+ --simcalcrange 50 -1 \
8
+ --outputlevel more \
9
+ --dofinalrefine \
10
+ --graymattermask sub-RAPIDTIDETEST_synthseg.nii.gz:SSEG_GRAY \
11
+ --brainmask sub-RAPIDTIDETEST_brainmask.nii.gz \
12
+ --whitemattermask sub-RAPIDTIDETEST_synthseg.nii.gz:SSEG_WHITE \
13
+ --csfmask sub-RAPIDTIDETEST_synthseg.nii.gz:SSEG_CSF \
8
14
  sub-RAPIDTIDETEST.nii.gz \
9
15
  ../dst/sub-RAPIDTIDETEST
10
16
 
@@ -15,7 +21,7 @@ retroregress \
15
21
  ../dst/sub-RAPIDTIDETEST \
16
22
  --alternateoutput ../dst/specialtest \
17
23
  --nprocs -1 \
18
- --outputlevel onlyregressors
24
+ --outputlevel normal
19
25
 
20
26
  #retroregress sub-RAPIDTIDETEST.nii.gz ../dst/sub-RAPIDTIDETEST --alternateoutput ../dst/0deriv_refined --nprocs -1 --regressderivs 0 --makepseudofile --outputlevel max --refinedelay --nofilterwithrefineddelay
21
27
  #retroregress sub-RAPIDTIDETEST.nii.gz ../dst/sub-RAPIDTIDETEST --alternateoutput ../dst/0deriv_refinedfit --nprocs -1 --regressderivs 0 --makepseudofile --outputlevel max --refinedelay
@@ -310,7 +310,7 @@ class MutualInformationator(SimilarityFunctionator):
310
310
  def run(self, thetc, locs=None, trim=True, gettimeaxis=True):
311
311
  if len(thetc) != len(self.reftc):
312
312
  print(
313
- "timecourses are of different sizes:",
313
+ "MutualInformationator: timecourses are of different sizes:",
314
314
  len(thetc),
315
315
  "!=",
316
316
  len(self.reftc),
@@ -434,7 +434,7 @@ class Correlator(SimilarityFunctionator):
434
434
  def run(self, thetc, trim=True):
435
435
  if len(thetc) != len(self.reftc):
436
436
  print(
437
- "timecourses are of different sizes:",
437
+ "Correlator: timecourses are of different sizes:",
438
438
  len(thetc),
439
439
  "!=",
440
440
  len(self.reftc),
@@ -580,7 +580,7 @@ class Coherer:
580
580
  def run(self, thetc, trim=True, alt=False):
581
581
  if len(thetc) != len(self.reftc):
582
582
  print(
583
- "timecourses are of different sizes:",
583
+ "Coherer: timecourses are of different sizes:",
584
584
  len(thetc),
585
585
  "!=",
586
586
  len(self.reftc),
@@ -1076,7 +1076,7 @@ class SimilarityFunctionFitter:
1076
1076
  maxval_init = 0.0
1077
1077
  if self.debug:
1078
1078
  print("bad initial amp:", maxval_init, "is less than 0.0")
1079
- if maxval_init > 1.0:
1079
+ if (maxval_init > 1.0) and self.enforcethresh:
1080
1080
  failreason |= self.FML_INITAMPHIGH
1081
1081
  maxval_init = 1.0
1082
1082
  if self.debug:
@@ -1996,12 +1996,14 @@ def colspectolist(colspec, debug=False):
1996
1996
  ("APARC_CORTGRAY", "1000-1035,2000-2035"),
1997
1997
  ("APARC_GRAY", "8-13,17-20,26-28,47-56,58-60,96,97,1000-1035,2000-2035"),
1998
1998
  ("APARC_WHITE", "2,7,41,46,177,219,3000-3035,4000-4035,5001,5002"),
1999
+ ("APARC_CSF", "4,5,14,15,24,31,43,44,63,72"),
1999
2000
  (
2000
2001
  "APARC_ALLBUTCSF",
2001
2002
  "2,7-13,17-20,26-28,41,46-56,58-60,96,97,177,219,1000-1035,2000-2035,3000-3035,4000-4035,5001,5002",
2002
2003
  ),
2003
2004
  ("SSEG_GRAY", "3,8,10-13,16-18,26,42,47,49-54,58"),
2004
2005
  ("SSEG_WHITE", "2,7,41,46"),
2006
+ ("SSEG_CSF", "4,5,14,15,24,43,44"),
2005
2007
  )
2006
2008
  preprocessedranges = []
2007
2009
  for thisrange in theranges:
@@ -21,8 +21,10 @@ import logging
21
21
 
22
22
  import numpy as np
23
23
  from nilearn import masking
24
+ from sklearn.decomposition import PCA
24
25
 
25
26
  import rapidtide.io as tide_io
27
+ import rapidtide.miscmath as tide_math
26
28
  import rapidtide.stats as tide_stats
27
29
 
28
30
  LGR = logging.getLogger("GENERAL")
@@ -67,8 +69,16 @@ def readamask(
67
69
  thresh=None,
68
70
  maskname="the",
69
71
  tolerance=1.0e-3,
72
+ debug=False,
70
73
  ):
71
74
  LGR.debug(f"readamask called with filename: {maskfilename} vals: {valslist}")
75
+ if debug:
76
+ print("getmaskset:")
77
+ print(f"{maskname=}")
78
+ print(f"\tincludefilename={maskfilename}")
79
+ print(f"\tincludevals={valslist}")
80
+ print(f"\t{istext=}")
81
+ print(f"\t{tolerance=}")
72
82
  if istext:
73
83
  maskarray = tide_io.readvecs(maskfilename).astype("uint16")
74
84
  theshape = np.shape(maskarray)
@@ -109,11 +119,24 @@ def getmaskset(
109
119
  extramaskthresh=0.1,
110
120
  istext=False,
111
121
  tolerance=1.0e-3,
122
+ debug=False,
112
123
  ):
113
124
  internalincludemask = None
114
125
  internalexcludemask = None
115
126
  internalextramask = None
116
127
 
128
+ if debug:
129
+ print("getmaskset:")
130
+ print(f"{maskname=}")
131
+ print(f"\t{includename=}")
132
+ print(f"\t{includevals=}")
133
+ print(f"\t{excludename=}")
134
+ print(f"\t{excludevals=}")
135
+ print(f"\t{istext=}")
136
+ print(f"\t{tolerance=}")
137
+ print(f"\t{extramask=}")
138
+ print(f"\t{extramaskthresh=}")
139
+
117
140
  if includename is not None:
118
141
  LGR.info(f"constructing {maskname} include mask")
119
142
  theincludemask = readamask(
@@ -178,3 +201,124 @@ def getmaskset(
178
201
  )
179
202
 
180
203
  return internalincludemask, internalexcludemask, internalextramask
204
+
205
+
206
+ def getregionsignal(
207
+ indata,
208
+ filter=None,
209
+ Fs=1.0,
210
+ includemask=None,
211
+ excludemask=None,
212
+ signalgenmethod="sum",
213
+ pcacomponents=0.8,
214
+ signame="global mean",
215
+ rt_floatset=np.float64,
216
+ debug=False,
217
+ ):
218
+ # Start with all voxels
219
+ themask = indata[:, 0] * 0 + 1
220
+
221
+ # modify the mask if needed
222
+ if includemask is not None:
223
+ themask = themask * includemask
224
+ if excludemask is not None:
225
+ themask = themask * (1 - excludemask)
226
+
227
+ # combine all the voxels using one of the three methods
228
+ globalmean = rt_floatset(indata[0, :])
229
+ thesize = np.shape(themask)
230
+ numvoxelsused = int(np.sum(np.where(themask > 0.0, 1, 0)))
231
+ selectedvoxels = indata[np.where(themask > 0.0), :][0]
232
+ if debug:
233
+ print(f"getregionsignal: {selectedvoxels.shape=}")
234
+ LGR.info(f"constructing global mean signal using {signalgenmethod}")
235
+ if signalgenmethod == "sum":
236
+ globalmean = np.mean(selectedvoxels, axis=0)
237
+ globalmean -= np.mean(globalmean)
238
+ elif signalgenmethod == "meanscale":
239
+ themean = np.mean(indata, axis=1)
240
+ for vox in range(0, thesize[0]):
241
+ if themask[vox] > 0.0:
242
+ if themean[vox] != 0.0:
243
+ globalmean += indata[vox, :] / themean[vox] - 1.0
244
+ elif signalgenmethod == "pca":
245
+ themean = np.mean(indata, axis=1)
246
+ thevar = np.var(indata, axis=1)
247
+ scaledvoxels = selectedvoxels * 0.0
248
+ for vox in range(0, selectedvoxels.shape[0]):
249
+ scaledvoxels[vox, :] = selectedvoxels[vox, :] - themean[vox]
250
+ if thevar[vox] > 0.0:
251
+ scaledvoxels[vox, :] = selectedvoxels[vox, :] / thevar[vox]
252
+ try:
253
+ thefit = PCA(n_components=pcacomponents).fit(np.transpose(scaledvoxels))
254
+ except ValueError:
255
+ if pcacomponents == "mle":
256
+ LGR.warning("mle estimation failed - falling back to pcacomponents=0.8")
257
+ thefit = PCA(n_components=0.8).fit(np.transpose(scaledvoxels))
258
+ else:
259
+ raise ValueError("unhandled math exception in PCA refinement - exiting")
260
+
261
+ varex = 100.0 * np.cumsum(thefit.explained_variance_ratio_)[len(thefit.components_) - 1]
262
+ thetransform = thefit.transform(np.transpose(scaledvoxels))
263
+ if debug:
264
+ print(f"getregionsignal: {thetransform.shape=}")
265
+ globalmean = np.mean(thetransform, axis=0)
266
+ globalmean -= np.mean(globalmean)
267
+ if debug:
268
+ print(f"getregionsignal: {varex=}")
269
+ LGR.info(
270
+ f"Using {len(thefit.components_)} component(s), accounting for "
271
+ f"{varex:.2f}% of the variance"
272
+ )
273
+ elif signalgenmethod == "random":
274
+ globalmean = np.random.standard_normal(size=len(globalmean))
275
+ else:
276
+ raise ValueError(f"illegal signal generation method: {signalgenmethod}")
277
+ LGR.info(f"used {numvoxelsused} voxels to calculate {signame} signal")
278
+ if filter is not None:
279
+ globalmean = filter.apply(Fs, globalmean)
280
+ if debug:
281
+ print(f"getregionsignal: {globalmean=}")
282
+ return tide_math.stdnormalize(globalmean), themask
283
+
284
+
285
+ def saveregionaltimeseries(
286
+ tcdesc,
287
+ tcname,
288
+ fmridata,
289
+ includemask,
290
+ fmrifreq,
291
+ outputname,
292
+ filter=None,
293
+ initfile=False,
294
+ excludemask=None,
295
+ filedesc="regional",
296
+ suffix="",
297
+ signalgenmethod="sum",
298
+ pcacomponents=0.8,
299
+ rt_floatset=np.float64,
300
+ debug=False,
301
+ ):
302
+ thetimecourse, themask = getregionsignal(
303
+ fmridata,
304
+ filter=filter,
305
+ Fs=fmrifreq,
306
+ includemask=includemask,
307
+ excludemask=excludemask,
308
+ signalgenmethod=signalgenmethod,
309
+ pcacomponents=pcacomponents,
310
+ signame=tcdesc,
311
+ rt_floatset=rt_floatset,
312
+ debug=debug,
313
+ )
314
+ tide_io.writebidstsv(
315
+ f"{outputname}_desc-{filedesc}_timeseries",
316
+ thetimecourse,
317
+ fmrifreq,
318
+ columns=[f"{tcname}{suffix}"],
319
+ extraheaderinfo={
320
+ "Description": "Regional timecourse averages",
321
+ },
322
+ append=(not initfile),
323
+ )
324
+ return thetimecourse, themask
@@ -0,0 +1,185 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ #
4
+ # Copyright 2016-2025 Blaise Frederick
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ #
19
+ import os
20
+
21
+ import matplotlib as mpl
22
+ import numpy as np
23
+
24
+ import rapidtide.filter as tide_filt
25
+ import rapidtide.helper_classes as tide_classes
26
+ import rapidtide.miscmath as tide_math
27
+ import rapidtide.resample as tide_resample
28
+ import rapidtide.workflows.cleanregressor as tide_cleanregressor
29
+ from rapidtide.tests.utils import get_examples_path, get_test_temp_path, mse
30
+
31
+
32
+ def test_cleanregressor(debug=False, local=False, displayplots=False):
33
+ # set input and output directories
34
+ if local:
35
+ exampleroot = "../data/examples/src"
36
+ testtemproot = "./tmp"
37
+ else:
38
+ exampleroot = get_examples_path()
39
+ testtemproot = get_test_temp_path()
40
+
41
+ outputname = os.path.join(testtemproot, "cleanregressortest")
42
+ thepass = 1
43
+ padtrs = 30
44
+ fmrifreq = 1.0
45
+ oversampfac = 2
46
+ oversampfreq = oversampfac * fmrifreq
47
+ theprefilter = tide_filt.NoncausalFilter("lfo")
48
+ lagmin = -30
49
+ lagmax = 30
50
+ lagmininpts = int((lagmin * oversampfreq) - 0.5)
51
+ lagmaxinpts = int((lagmax * oversampfreq) + 0.5)
52
+ lagmod = 1000.0
53
+ noiseamp = 0.25
54
+ detrendorder = 3
55
+ windowfunc = "hamming"
56
+
57
+ tclen = 500
58
+ osvalidsimcalcstart = 0
59
+ osvalidsimcalcend = tclen * oversampfac
60
+
61
+ theCorrelator = tide_classes.Correlator(
62
+ Fs=oversampfreq,
63
+ ncprefilter=theprefilter,
64
+ detrendorder=1,
65
+ windowfunc="hamming",
66
+ corrweighting="phat",
67
+ )
68
+ theFitter = tide_classes.SimilarityFunctionFitter(
69
+ lagmod=lagmod,
70
+ lagmin=lagmin,
71
+ lagmax=lagmax,
72
+ debug=debug,
73
+ allowhighfitamps=True,
74
+ enforcethresh=False,
75
+ zerooutbadfit=False,
76
+ )
77
+
78
+ # make a reference timecourse
79
+ rng = np.random.default_rng(seed=1234)
80
+ basewave = theprefilter.apply(fmrifreq, rng.normal(loc=0.0, scale=1.0, size=tclen))
81
+ noisewave = rng.normal(loc=0.0, scale=noiseamp, size=tclen)
82
+ theparamsets = [
83
+ [2.0, 0.0, False, 0],
84
+ [2.5, 0.8, True, 0],
85
+ [5.0, 0.5, True, 0],
86
+ [7.5, 0.25, True, 100],
87
+ [10.0, 0.1, True, 0],
88
+ ]
89
+ for paramset in theparamsets:
90
+ echotime = paramset[0]
91
+ echoamp = paramset[1]
92
+ check_autocorrelation = paramset[2]
93
+ osvalidsimcalcstart = paramset[3]
94
+ if debug:
95
+ print(
96
+ "**********Start******************************************************************"
97
+ )
98
+ print(f"{echotime=}, {echoamp=}, {check_autocorrelation=}, {osvalidsimcalcstart=}")
99
+ print(
100
+ "*********************************************************************************"
101
+ )
102
+ theechotc, dummy, dummy, dummy = tide_resample.timeshift(
103
+ basewave, echotime * oversampfreq, padtrs, doplot=displayplots, debug=debug
104
+ )
105
+ resampnonosref_y = basewave + echoamp * theechotc + noisewave
106
+ resampref_y = tide_resample.upsample(resampnonosref_y, fmrifreq, oversampfreq)
107
+ theCorrelator.setreftc(resampnonosref_y)
108
+ referencetc = tide_math.corrnormalize(
109
+ resampref_y[osvalidsimcalcstart:],
110
+ detrendorder=detrendorder,
111
+ windowfunc=windowfunc,
112
+ )
113
+
114
+ resampref_y = tide_resample.upsample(resampnonosref_y, fmrifreq, oversampfreq)
115
+
116
+ (
117
+ cleaned_resampref_y,
118
+ cleaned_referencetc,
119
+ cleaned_nonosreferencetc,
120
+ despeckle_thresh,
121
+ sidelobeamp,
122
+ sidelobetime,
123
+ lagmod,
124
+ acwidth,
125
+ absmaxsigma,
126
+ ) = tide_cleanregressor.cleanregressor(
127
+ outputname,
128
+ thepass,
129
+ referencetc,
130
+ resampref_y,
131
+ resampnonosref_y,
132
+ fmrifreq,
133
+ oversampfreq,
134
+ osvalidsimcalcstart,
135
+ osvalidsimcalcend,
136
+ lagmininpts,
137
+ lagmaxinpts,
138
+ theFitter,
139
+ theCorrelator,
140
+ lagmin,
141
+ lagmax,
142
+ LGR=None,
143
+ check_autocorrelation=check_autocorrelation,
144
+ fix_autocorrelation=True,
145
+ despeckle_thresh=5.0,
146
+ lthreshval=0.0,
147
+ fixdelay=False,
148
+ detrendorder=detrendorder,
149
+ windowfunc=windowfunc,
150
+ respdelete=False,
151
+ displayplots=displayplots,
152
+ debug=debug,
153
+ rt_floattype="float64",
154
+ rt_floatset=np.float64,
155
+ )
156
+ print(f"\t{len(referencetc)=}")
157
+ print(f"\t{len(resampref_y)=}")
158
+ print(f"\t{len(resampnonosref_y)=}")
159
+ print(f"\t{len(cleaned_resampref_y)=}")
160
+ print(f"\t{len(cleaned_referencetc)=}")
161
+ print(f"\t{len(cleaned_nonosreferencetc)=}")
162
+ print(f"\t{check_autocorrelation=}")
163
+ print(f"\t{despeckle_thresh=}")
164
+ print(f"\t{sidelobeamp=}")
165
+ print(f"\t{sidelobetime=}")
166
+ print(f"\t{lagmod=}")
167
+ print(f"\t{acwidth=}")
168
+ print(f"\t{absmaxsigma=}")
169
+ assert len(referencetc) == len(cleaned_referencetc)
170
+ assert len(resampref_y) == len(cleaned_resampref_y)
171
+ assert len(resampnonosref_y) == len(cleaned_nonosreferencetc)
172
+
173
+ if debug:
174
+ print(
175
+ "*********************************************************************************"
176
+ )
177
+ print(f"{echotime=}, {echoamp=}, {check_autocorrelation=}, {osvalidsimcalcstart=}")
178
+ print(
179
+ "**************End****************************************************************"
180
+ )
181
+
182
+
183
+ if __name__ == "__main__":
184
+ mpl.use("TkAgg")
185
+ test_cleanregressor(debug=True, local=True, displayplots=True)
@@ -23,6 +23,7 @@ import matplotlib as mpl
23
23
  import rapidtide.qualitycheck as rapidtide_quality
24
24
  import rapidtide.workflows.rapidtide as rapidtide_workflow
25
25
  import rapidtide.workflows.rapidtide_parser as rapidtide_parser
26
+ import rapidtide.workflows.retroregress as rapidtide_retroregress
26
27
  from rapidtide.tests.utils import get_examples_path, get_test_temp_path
27
28
 
28
29
 
@@ -56,6 +57,8 @@ def test_fullrunrapidtide_v1(debug=False, local=False, displayplots=False):
56
57
  rapidtide_workflow.rapidtide_main(rapidtide_parser.process_args(inputargs=inputargs))
57
58
  rapidtide_quality.qualitycheck(os.path.join(testtemproot, "sub-RAPIDTIDETEST1"))
58
59
 
60
+
61
+ # test fixval
59
62
  inputargs = [
60
63
  os.path.join(exampleroot, "sub-RAPIDTIDETEST.nii.gz"),
61
64
  os.path.join(testtemproot, "sub-RAPIDTIDETEST1_fixval"),
@@ -77,6 +80,7 @@ def test_fullrunrapidtide_v1(debug=False, local=False, displayplots=False):
77
80
  ]
78
81
  rapidtide_workflow.rapidtide_main(rapidtide_parser.process_args(inputargs=inputargs))
79
82
 
83
+ # test fixmap
80
84
  inputargs = [
81
85
  os.path.join(exampleroot, "sub-RAPIDTIDETEST.nii.gz"),
82
86
  os.path.join(testtemproot, "sub-RAPIDTIDETEST1_fixmap"),