rapidtide 2.9.6__py3-none-any.whl → 3.1.3__py3-none-any.whl

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 (405) hide show
  1. cloud/gmscalc-HCPYA +1 -1
  2. cloud/mount-and-run +2 -0
  3. cloud/rapidtide-HCPYA +3 -3
  4. rapidtide/Colortables.py +538 -38
  5. rapidtide/OrthoImageItem.py +1094 -51
  6. rapidtide/RapidtideDataset.py +1709 -114
  7. rapidtide/__init__.py +0 -8
  8. rapidtide/_version.py +4 -4
  9. rapidtide/calccoherence.py +242 -97
  10. rapidtide/calcnullsimfunc.py +240 -140
  11. rapidtide/calcsimfunc.py +314 -129
  12. rapidtide/correlate.py +1211 -389
  13. rapidtide/data/examples/src/testLD +56 -0
  14. rapidtide/data/examples/src/test_findmaxlag.py +2 -2
  15. rapidtide/data/examples/src/test_mlregressallt.py +32 -17
  16. rapidtide/data/examples/src/testalign +1 -1
  17. rapidtide/data/examples/src/testatlasaverage +35 -7
  18. rapidtide/data/examples/src/testboth +21 -0
  19. rapidtide/data/examples/src/testcifti +11 -0
  20. rapidtide/data/examples/src/testdelayvar +13 -0
  21. rapidtide/data/examples/src/testdlfilt +25 -0
  22. rapidtide/data/examples/src/testfft +35 -0
  23. rapidtide/data/examples/src/testfileorfloat +37 -0
  24. rapidtide/data/examples/src/testfmri +92 -42
  25. rapidtide/data/examples/src/testfuncs +3 -3
  26. rapidtide/data/examples/src/testglmfilt +8 -6
  27. rapidtide/data/examples/src/testhappy +84 -51
  28. rapidtide/data/examples/src/testinitdelay +19 -0
  29. rapidtide/data/examples/src/testmodels +33 -0
  30. rapidtide/data/examples/src/testnewrefine +26 -0
  31. rapidtide/data/examples/src/testnoiseamp +2 -2
  32. rapidtide/data/examples/src/testppgproc +17 -0
  33. rapidtide/data/examples/src/testrefineonly +22 -0
  34. rapidtide/data/examples/src/testretro +26 -13
  35. rapidtide/data/examples/src/testretrolagtcs +16 -0
  36. rapidtide/data/examples/src/testrolloff +11 -0
  37. rapidtide/data/examples/src/testsimdata +45 -28
  38. rapidtide/data/models/model_cnn_pytorch/loss.png +0 -0
  39. rapidtide/data/models/model_cnn_pytorch/loss.txt +1 -0
  40. rapidtide/data/models/model_cnn_pytorch/model.pth +0 -0
  41. rapidtide/data/models/model_cnn_pytorch/model_meta.json +68 -0
  42. rapidtide/data/models/model_cnn_pytorch_fulldata/loss.png +0 -0
  43. rapidtide/data/models/model_cnn_pytorch_fulldata/loss.txt +1 -0
  44. rapidtide/data/models/model_cnn_pytorch_fulldata/model.pth +0 -0
  45. rapidtide/data/models/model_cnn_pytorch_fulldata/model_meta.json +80 -0
  46. rapidtide/data/models/model_cnnbp_pytorch_fullldata/loss.png +0 -0
  47. rapidtide/data/models/model_cnnbp_pytorch_fullldata/loss.txt +1 -0
  48. rapidtide/data/models/model_cnnbp_pytorch_fullldata/model.pth +0 -0
  49. rapidtide/data/models/model_cnnbp_pytorch_fullldata/model_meta.json +138 -0
  50. rapidtide/data/models/model_cnnfft_pytorch_fulldata/loss.png +0 -0
  51. rapidtide/data/models/model_cnnfft_pytorch_fulldata/loss.txt +1 -0
  52. rapidtide/data/models/model_cnnfft_pytorch_fulldata/model.pth +0 -0
  53. rapidtide/data/models/model_cnnfft_pytorch_fulldata/model_meta.json +128 -0
  54. rapidtide/data/models/model_ppgattention_pytorch_w128_fulldata/loss.png +0 -0
  55. rapidtide/data/models/model_ppgattention_pytorch_w128_fulldata/loss.txt +1 -0
  56. rapidtide/data/models/model_ppgattention_pytorch_w128_fulldata/model.pth +0 -0
  57. rapidtide/data/models/model_ppgattention_pytorch_w128_fulldata/model_meta.json +49 -0
  58. rapidtide/data/models/model_revised_tf2/model.keras +0 -0
  59. rapidtide/data/models/{model_serdar → model_revised_tf2}/model_meta.json +1 -1
  60. rapidtide/data/models/model_serdar2_tf2/model.keras +0 -0
  61. rapidtide/data/models/{model_serdar2 → model_serdar2_tf2}/model_meta.json +1 -1
  62. rapidtide/data/models/model_serdar_tf2/model.keras +0 -0
  63. rapidtide/data/models/{model_revised → model_serdar_tf2}/model_meta.json +1 -1
  64. rapidtide/data/reference/HCP1200v2_MTT_2mm.nii.gz +0 -0
  65. rapidtide/data/reference/HCP1200v2_binmask_2mm.nii.gz +0 -0
  66. rapidtide/data/reference/HCP1200v2_csf_2mm.nii.gz +0 -0
  67. rapidtide/data/reference/HCP1200v2_gray_2mm.nii.gz +0 -0
  68. rapidtide/data/reference/HCP1200v2_graylaghist.json +7 -0
  69. rapidtide/data/reference/HCP1200v2_graylaghist.tsv.gz +0 -0
  70. rapidtide/data/reference/HCP1200v2_laghist.json +7 -0
  71. rapidtide/data/reference/HCP1200v2_laghist.tsv.gz +0 -0
  72. rapidtide/data/reference/HCP1200v2_mask_2mm.nii.gz +0 -0
  73. rapidtide/data/reference/HCP1200v2_maxcorr_2mm.nii.gz +0 -0
  74. rapidtide/data/reference/HCP1200v2_maxtime_2mm.nii.gz +0 -0
  75. rapidtide/data/reference/HCP1200v2_maxwidth_2mm.nii.gz +0 -0
  76. rapidtide/data/reference/HCP1200v2_negmask_2mm.nii.gz +0 -0
  77. rapidtide/data/reference/HCP1200v2_timepercentile_2mm.nii.gz +0 -0
  78. rapidtide/data/reference/HCP1200v2_white_2mm.nii.gz +0 -0
  79. rapidtide/data/reference/HCP1200v2_whitelaghist.json +7 -0
  80. rapidtide/data/reference/HCP1200v2_whitelaghist.tsv.gz +0 -0
  81. rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1-seg2.xml +131 -0
  82. rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1-seg2_regions.txt +60 -0
  83. rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1-seg2_space-MNI152NLin6Asym_2mm.nii.gz +0 -0
  84. rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1_space-MNI152NLin2009cAsym_2mm.nii.gz +0 -0
  85. rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1_space-MNI152NLin2009cAsym_2mm_mask.nii.gz +0 -0
  86. rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1_space-MNI152NLin6Asym_2mm_mask.nii.gz +0 -0
  87. rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL2_space-MNI152NLin6Asym_2mm_mask.nii.gz +0 -0
  88. rapidtide/data/reference/MNI152_T1_1mm_Brain_FAST_seg.nii.gz +0 -0
  89. rapidtide/data/reference/MNI152_T1_1mm_Brain_Mask.nii.gz +0 -0
  90. rapidtide/data/reference/MNI152_T1_2mm_Brain_FAST_seg.nii.gz +0 -0
  91. rapidtide/data/reference/MNI152_T1_2mm_Brain_Mask.nii.gz +0 -0
  92. rapidtide/decorators.py +91 -0
  93. rapidtide/dlfilter.py +2553 -414
  94. rapidtide/dlfiltertorch.py +5201 -0
  95. rapidtide/externaltools.py +328 -13
  96. rapidtide/fMRIData_class.py +108 -92
  97. rapidtide/ffttools.py +168 -0
  98. rapidtide/filter.py +2704 -1462
  99. rapidtide/fit.py +2361 -579
  100. rapidtide/genericmultiproc.py +197 -0
  101. rapidtide/happy_supportfuncs.py +3255 -548
  102. rapidtide/helper_classes.py +587 -1116
  103. rapidtide/io.py +2569 -468
  104. rapidtide/linfitfiltpass.py +784 -0
  105. rapidtide/makelaggedtcs.py +267 -97
  106. rapidtide/maskutil.py +555 -25
  107. rapidtide/miscmath.py +835 -144
  108. rapidtide/multiproc.py +217 -44
  109. rapidtide/patchmatch.py +752 -0
  110. rapidtide/peakeval.py +32 -32
  111. rapidtide/ppgproc.py +2205 -0
  112. rapidtide/qualitycheck.py +353 -40
  113. rapidtide/refinedelay.py +854 -0
  114. rapidtide/refineregressor.py +939 -0
  115. rapidtide/resample.py +725 -204
  116. rapidtide/scripts/__init__.py +1 -0
  117. rapidtide/scripts/{adjustoffset → adjustoffset.py} +7 -2
  118. rapidtide/scripts/{aligntcs → aligntcs.py} +7 -2
  119. rapidtide/scripts/{applydlfilter → applydlfilter.py} +7 -2
  120. rapidtide/scripts/applyppgproc.py +28 -0
  121. rapidtide/scripts/{atlasaverage → atlasaverage.py} +7 -2
  122. rapidtide/scripts/{atlastool → atlastool.py} +7 -2
  123. rapidtide/scripts/{calcicc → calcicc.py} +7 -2
  124. rapidtide/scripts/{calctexticc → calctexticc.py} +7 -2
  125. rapidtide/scripts/{calcttest → calcttest.py} +7 -2
  126. rapidtide/scripts/{ccorrica → ccorrica.py} +7 -2
  127. rapidtide/scripts/delayvar.py +28 -0
  128. rapidtide/scripts/{diffrois → diffrois.py} +7 -2
  129. rapidtide/scripts/{endtidalproc → endtidalproc.py} +7 -2
  130. rapidtide/scripts/{fdica → fdica.py} +7 -2
  131. rapidtide/scripts/{filtnifti → filtnifti.py} +7 -2
  132. rapidtide/scripts/{filttc → filttc.py} +7 -2
  133. rapidtide/scripts/{fingerprint → fingerprint.py} +20 -16
  134. rapidtide/scripts/{fixtr → fixtr.py} +7 -2
  135. rapidtide/scripts/{gmscalc → gmscalc.py} +7 -2
  136. rapidtide/scripts/{happy → happy.py} +7 -2
  137. rapidtide/scripts/{happy2std → happy2std.py} +7 -2
  138. rapidtide/scripts/{happywarp → happywarp.py} +8 -4
  139. rapidtide/scripts/{histnifti → histnifti.py} +7 -2
  140. rapidtide/scripts/{histtc → histtc.py} +7 -2
  141. rapidtide/scripts/{glmfilt → linfitfilt.py} +7 -4
  142. rapidtide/scripts/{localflow → localflow.py} +7 -2
  143. rapidtide/scripts/{mergequality → mergequality.py} +7 -2
  144. rapidtide/scripts/{pairproc → pairproc.py} +7 -2
  145. rapidtide/scripts/{pairwisemergenifti → pairwisemergenifti.py} +7 -2
  146. rapidtide/scripts/{physiofreq → physiofreq.py} +7 -2
  147. rapidtide/scripts/{pixelcomp → pixelcomp.py} +7 -2
  148. rapidtide/scripts/{plethquality → plethquality.py} +7 -2
  149. rapidtide/scripts/{polyfitim → polyfitim.py} +7 -2
  150. rapidtide/scripts/{proj2flow → proj2flow.py} +7 -2
  151. rapidtide/scripts/{rankimage → rankimage.py} +7 -2
  152. rapidtide/scripts/{rapidtide → rapidtide.py} +7 -2
  153. rapidtide/scripts/{rapidtide2std → rapidtide2std.py} +7 -2
  154. rapidtide/scripts/{resamplenifti → resamplenifti.py} +7 -2
  155. rapidtide/scripts/{resampletc → resampletc.py} +7 -2
  156. rapidtide/scripts/retrolagtcs.py +28 -0
  157. rapidtide/scripts/retroregress.py +28 -0
  158. rapidtide/scripts/{roisummarize → roisummarize.py} +7 -2
  159. rapidtide/scripts/{runqualitycheck → runqualitycheck.py} +7 -2
  160. rapidtide/scripts/{showarbcorr → showarbcorr.py} +7 -2
  161. rapidtide/scripts/{showhist → showhist.py} +7 -2
  162. rapidtide/scripts/{showstxcorr → showstxcorr.py} +7 -2
  163. rapidtide/scripts/{showtc → showtc.py} +7 -2
  164. rapidtide/scripts/{showxcorr_legacy → showxcorr_legacy.py} +8 -8
  165. rapidtide/scripts/{showxcorrx → showxcorrx.py} +7 -2
  166. rapidtide/scripts/{showxy → showxy.py} +7 -2
  167. rapidtide/scripts/{simdata → simdata.py} +7 -2
  168. rapidtide/scripts/{spatialdecomp → spatialdecomp.py} +7 -2
  169. rapidtide/scripts/{spatialfit → spatialfit.py} +7 -2
  170. rapidtide/scripts/{spatialmi → spatialmi.py} +7 -2
  171. rapidtide/scripts/{spectrogram → spectrogram.py} +7 -2
  172. rapidtide/scripts/stupidramtricks.py +238 -0
  173. rapidtide/scripts/{synthASL → synthASL.py} +7 -2
  174. rapidtide/scripts/{tcfrom2col → tcfrom2col.py} +7 -2
  175. rapidtide/scripts/{tcfrom3col → tcfrom3col.py} +7 -2
  176. rapidtide/scripts/{temporaldecomp → temporaldecomp.py} +7 -2
  177. rapidtide/scripts/{testhrv → testhrv.py} +1 -1
  178. rapidtide/scripts/{threeD → threeD.py} +7 -2
  179. rapidtide/scripts/{tidepool → tidepool.py} +7 -2
  180. rapidtide/scripts/{variabilityizer → variabilityizer.py} +7 -2
  181. rapidtide/simFuncClasses.py +2113 -0
  182. rapidtide/simfuncfit.py +312 -108
  183. rapidtide/stats.py +579 -247
  184. rapidtide/tests/.coveragerc +27 -6
  185. rapidtide-2.9.6.data/scripts/fdica → rapidtide/tests/cleanposttest +4 -6
  186. rapidtide/tests/happycomp +9 -0
  187. rapidtide/tests/resethappytargets +1 -1
  188. rapidtide/tests/resetrapidtidetargets +1 -1
  189. rapidtide/tests/resettargets +1 -1
  190. rapidtide/tests/runlocaltest +3 -3
  191. rapidtide/tests/showkernels +1 -1
  192. rapidtide/tests/test_aliasedcorrelate.py +4 -4
  193. rapidtide/tests/test_aligntcs.py +1 -1
  194. rapidtide/tests/test_calcicc.py +1 -1
  195. rapidtide/tests/test_cleanregressor.py +184 -0
  196. rapidtide/tests/test_congrid.py +70 -81
  197. rapidtide/tests/test_correlate.py +1 -1
  198. rapidtide/tests/test_corrpass.py +4 -4
  199. rapidtide/tests/test_delayestimation.py +54 -59
  200. rapidtide/tests/test_dlfiltertorch.py +437 -0
  201. rapidtide/tests/test_doresample.py +2 -2
  202. rapidtide/tests/test_externaltools.py +69 -0
  203. rapidtide/tests/test_fastresampler.py +9 -5
  204. rapidtide/tests/test_filter.py +96 -57
  205. rapidtide/tests/test_findmaxlag.py +50 -19
  206. rapidtide/tests/test_fullrunhappy_v1.py +15 -10
  207. rapidtide/tests/test_fullrunhappy_v2.py +19 -13
  208. rapidtide/tests/test_fullrunhappy_v3.py +28 -13
  209. rapidtide/tests/test_fullrunhappy_v4.py +30 -11
  210. rapidtide/tests/test_fullrunhappy_v5.py +62 -0
  211. rapidtide/tests/test_fullrunrapidtide_v1.py +61 -7
  212. rapidtide/tests/test_fullrunrapidtide_v2.py +26 -14
  213. rapidtide/tests/test_fullrunrapidtide_v3.py +28 -8
  214. rapidtide/tests/test_fullrunrapidtide_v4.py +16 -8
  215. rapidtide/tests/test_fullrunrapidtide_v5.py +15 -6
  216. rapidtide/tests/test_fullrunrapidtide_v6.py +142 -0
  217. rapidtide/tests/test_fullrunrapidtide_v7.py +114 -0
  218. rapidtide/tests/test_fullrunrapidtide_v8.py +66 -0
  219. rapidtide/tests/test_getparsers.py +158 -0
  220. rapidtide/tests/test_io.py +59 -18
  221. rapidtide/tests/{test_glmpass.py → test_linfitfiltpass.py} +10 -10
  222. rapidtide/tests/test_mi.py +1 -1
  223. rapidtide/tests/test_miscmath.py +1 -1
  224. rapidtide/tests/test_motionregress.py +5 -5
  225. rapidtide/tests/test_nullcorr.py +6 -9
  226. rapidtide/tests/test_padvec.py +216 -0
  227. rapidtide/tests/test_parserfuncs.py +101 -0
  228. rapidtide/tests/test_phaseanalysis.py +1 -1
  229. rapidtide/tests/test_rapidtideparser.py +59 -53
  230. rapidtide/tests/test_refinedelay.py +296 -0
  231. rapidtide/tests/test_runmisc.py +5 -5
  232. rapidtide/tests/test_sharedmem.py +60 -0
  233. rapidtide/tests/test_simroundtrip.py +132 -0
  234. rapidtide/tests/test_simulate.py +1 -1
  235. rapidtide/tests/test_stcorrelate.py +4 -2
  236. rapidtide/tests/test_timeshift.py +2 -2
  237. rapidtide/tests/test_valtoindex.py +1 -1
  238. rapidtide/tests/test_zRapidtideDataset.py +5 -3
  239. rapidtide/tests/utils.py +10 -9
  240. rapidtide/tidepoolTemplate.py +88 -70
  241. rapidtide/tidepoolTemplate.ui +60 -46
  242. rapidtide/tidepoolTemplate_alt.py +88 -53
  243. rapidtide/tidepoolTemplate_alt.ui +62 -52
  244. rapidtide/tidepoolTemplate_alt_qt6.py +921 -0
  245. rapidtide/tidepoolTemplate_big.py +1125 -0
  246. rapidtide/tidepoolTemplate_big.ui +2386 -0
  247. rapidtide/tidepoolTemplate_big_qt6.py +1129 -0
  248. rapidtide/tidepoolTemplate_qt6.py +793 -0
  249. rapidtide/util.py +1389 -148
  250. rapidtide/voxelData.py +1048 -0
  251. rapidtide/wiener.py +138 -25
  252. rapidtide/wiener2.py +114 -8
  253. rapidtide/workflows/adjustoffset.py +107 -5
  254. rapidtide/workflows/aligntcs.py +86 -3
  255. rapidtide/workflows/applydlfilter.py +231 -89
  256. rapidtide/workflows/applyppgproc.py +540 -0
  257. rapidtide/workflows/atlasaverage.py +309 -48
  258. rapidtide/workflows/atlastool.py +130 -9
  259. rapidtide/workflows/calcSimFuncMap.py +490 -0
  260. rapidtide/workflows/calctexticc.py +202 -10
  261. rapidtide/workflows/ccorrica.py +123 -15
  262. rapidtide/workflows/cleanregressor.py +415 -0
  263. rapidtide/workflows/delayvar.py +1268 -0
  264. rapidtide/workflows/diffrois.py +84 -6
  265. rapidtide/workflows/endtidalproc.py +149 -9
  266. rapidtide/workflows/fdica.py +197 -17
  267. rapidtide/workflows/filtnifti.py +71 -4
  268. rapidtide/workflows/filttc.py +76 -5
  269. rapidtide/workflows/fitSimFuncMap.py +578 -0
  270. rapidtide/workflows/fixtr.py +74 -4
  271. rapidtide/workflows/gmscalc.py +116 -6
  272. rapidtide/workflows/happy.py +1242 -480
  273. rapidtide/workflows/happy2std.py +145 -13
  274. rapidtide/workflows/happy_parser.py +277 -59
  275. rapidtide/workflows/histnifti.py +120 -4
  276. rapidtide/workflows/histtc.py +85 -4
  277. rapidtide/workflows/{glmfilt.py → linfitfilt.py} +128 -14
  278. rapidtide/workflows/localflow.py +329 -29
  279. rapidtide/workflows/mergequality.py +80 -4
  280. rapidtide/workflows/niftidecomp.py +323 -19
  281. rapidtide/workflows/niftistats.py +178 -8
  282. rapidtide/workflows/pairproc.py +99 -5
  283. rapidtide/workflows/pairwisemergenifti.py +86 -3
  284. rapidtide/workflows/parser_funcs.py +1488 -56
  285. rapidtide/workflows/physiofreq.py +139 -12
  286. rapidtide/workflows/pixelcomp.py +211 -9
  287. rapidtide/workflows/plethquality.py +105 -23
  288. rapidtide/workflows/polyfitim.py +159 -19
  289. rapidtide/workflows/proj2flow.py +76 -3
  290. rapidtide/workflows/rankimage.py +115 -8
  291. rapidtide/workflows/rapidtide.py +1785 -1858
  292. rapidtide/workflows/rapidtide2std.py +101 -3
  293. rapidtide/workflows/rapidtide_parser.py +590 -389
  294. rapidtide/workflows/refineDelayMap.py +249 -0
  295. rapidtide/workflows/refineRegressor.py +1215 -0
  296. rapidtide/workflows/regressfrommaps.py +308 -0
  297. rapidtide/workflows/resamplenifti.py +86 -4
  298. rapidtide/workflows/resampletc.py +92 -4
  299. rapidtide/workflows/retrolagtcs.py +442 -0
  300. rapidtide/workflows/retroregress.py +1501 -0
  301. rapidtide/workflows/roisummarize.py +176 -7
  302. rapidtide/workflows/runqualitycheck.py +72 -7
  303. rapidtide/workflows/showarbcorr.py +172 -16
  304. rapidtide/workflows/showhist.py +87 -3
  305. rapidtide/workflows/showstxcorr.py +161 -4
  306. rapidtide/workflows/showtc.py +172 -10
  307. rapidtide/workflows/showxcorrx.py +250 -62
  308. rapidtide/workflows/showxy.py +186 -16
  309. rapidtide/workflows/simdata.py +418 -112
  310. rapidtide/workflows/spatialfit.py +83 -8
  311. rapidtide/workflows/spatialmi.py +252 -29
  312. rapidtide/workflows/spectrogram.py +306 -33
  313. rapidtide/workflows/synthASL.py +157 -6
  314. rapidtide/workflows/tcfrom2col.py +77 -3
  315. rapidtide/workflows/tcfrom3col.py +75 -3
  316. rapidtide/workflows/tidepool.py +3829 -666
  317. rapidtide/workflows/utils.py +45 -19
  318. rapidtide/workflows/utils_doc.py +293 -0
  319. rapidtide/workflows/variabilityizer.py +118 -5
  320. {rapidtide-2.9.6.dist-info → rapidtide-3.1.3.dist-info}/METADATA +30 -223
  321. rapidtide-3.1.3.dist-info/RECORD +393 -0
  322. {rapidtide-2.9.6.dist-info → rapidtide-3.1.3.dist-info}/WHEEL +1 -1
  323. rapidtide-3.1.3.dist-info/entry_points.txt +65 -0
  324. rapidtide-3.1.3.dist-info/top_level.txt +2 -0
  325. rapidtide/calcandfitcorrpairs.py +0 -262
  326. rapidtide/data/examples/src/testoutputsize +0 -45
  327. rapidtide/data/models/model_revised/model.h5 +0 -0
  328. rapidtide/data/models/model_serdar/model.h5 +0 -0
  329. rapidtide/data/models/model_serdar2/model.h5 +0 -0
  330. rapidtide/data/reference/ASPECTS_nlin_asym_09c_2mm.nii.gz +0 -0
  331. rapidtide/data/reference/ASPECTS_nlin_asym_09c_2mm_mask.nii.gz +0 -0
  332. rapidtide/data/reference/ATTbasedFlowTerritories_split_nlin_asym_09c_2mm.nii.gz +0 -0
  333. rapidtide/data/reference/ATTbasedFlowTerritories_split_nlin_asym_09c_2mm_mask.nii.gz +0 -0
  334. rapidtide/data/reference/HCP1200_binmask_2mm_2009c_asym.nii.gz +0 -0
  335. rapidtide/data/reference/HCP1200_lag_2mm_2009c_asym.nii.gz +0 -0
  336. rapidtide/data/reference/HCP1200_mask_2mm_2009c_asym.nii.gz +0 -0
  337. rapidtide/data/reference/HCP1200_negmask_2mm_2009c_asym.nii.gz +0 -0
  338. rapidtide/data/reference/HCP1200_sigma_2mm_2009c_asym.nii.gz +0 -0
  339. rapidtide/data/reference/HCP1200_strength_2mm_2009c_asym.nii.gz +0 -0
  340. rapidtide/glmpass.py +0 -434
  341. rapidtide/refine_factored.py +0 -641
  342. rapidtide/scripts/retroglm +0 -23
  343. rapidtide/workflows/glmfrommaps.py +0 -202
  344. rapidtide/workflows/retroglm.py +0 -643
  345. rapidtide-2.9.6.data/scripts/adjustoffset +0 -23
  346. rapidtide-2.9.6.data/scripts/aligntcs +0 -23
  347. rapidtide-2.9.6.data/scripts/applydlfilter +0 -23
  348. rapidtide-2.9.6.data/scripts/atlasaverage +0 -23
  349. rapidtide-2.9.6.data/scripts/atlastool +0 -23
  350. rapidtide-2.9.6.data/scripts/calcicc +0 -22
  351. rapidtide-2.9.6.data/scripts/calctexticc +0 -23
  352. rapidtide-2.9.6.data/scripts/calcttest +0 -22
  353. rapidtide-2.9.6.data/scripts/ccorrica +0 -23
  354. rapidtide-2.9.6.data/scripts/diffrois +0 -23
  355. rapidtide-2.9.6.data/scripts/endtidalproc +0 -23
  356. rapidtide-2.9.6.data/scripts/filtnifti +0 -23
  357. rapidtide-2.9.6.data/scripts/filttc +0 -23
  358. rapidtide-2.9.6.data/scripts/fingerprint +0 -593
  359. rapidtide-2.9.6.data/scripts/fixtr +0 -23
  360. rapidtide-2.9.6.data/scripts/glmfilt +0 -24
  361. rapidtide-2.9.6.data/scripts/gmscalc +0 -22
  362. rapidtide-2.9.6.data/scripts/happy +0 -25
  363. rapidtide-2.9.6.data/scripts/happy2std +0 -23
  364. rapidtide-2.9.6.data/scripts/happywarp +0 -350
  365. rapidtide-2.9.6.data/scripts/histnifti +0 -23
  366. rapidtide-2.9.6.data/scripts/histtc +0 -23
  367. rapidtide-2.9.6.data/scripts/localflow +0 -23
  368. rapidtide-2.9.6.data/scripts/mergequality +0 -23
  369. rapidtide-2.9.6.data/scripts/pairproc +0 -23
  370. rapidtide-2.9.6.data/scripts/pairwisemergenifti +0 -23
  371. rapidtide-2.9.6.data/scripts/physiofreq +0 -23
  372. rapidtide-2.9.6.data/scripts/pixelcomp +0 -23
  373. rapidtide-2.9.6.data/scripts/plethquality +0 -23
  374. rapidtide-2.9.6.data/scripts/polyfitim +0 -23
  375. rapidtide-2.9.6.data/scripts/proj2flow +0 -23
  376. rapidtide-2.9.6.data/scripts/rankimage +0 -23
  377. rapidtide-2.9.6.data/scripts/rapidtide +0 -23
  378. rapidtide-2.9.6.data/scripts/rapidtide2std +0 -23
  379. rapidtide-2.9.6.data/scripts/resamplenifti +0 -23
  380. rapidtide-2.9.6.data/scripts/resampletc +0 -23
  381. rapidtide-2.9.6.data/scripts/retroglm +0 -23
  382. rapidtide-2.9.6.data/scripts/roisummarize +0 -23
  383. rapidtide-2.9.6.data/scripts/runqualitycheck +0 -23
  384. rapidtide-2.9.6.data/scripts/showarbcorr +0 -23
  385. rapidtide-2.9.6.data/scripts/showhist +0 -23
  386. rapidtide-2.9.6.data/scripts/showstxcorr +0 -23
  387. rapidtide-2.9.6.data/scripts/showtc +0 -23
  388. rapidtide-2.9.6.data/scripts/showxcorr_legacy +0 -536
  389. rapidtide-2.9.6.data/scripts/showxcorrx +0 -23
  390. rapidtide-2.9.6.data/scripts/showxy +0 -23
  391. rapidtide-2.9.6.data/scripts/simdata +0 -23
  392. rapidtide-2.9.6.data/scripts/spatialdecomp +0 -23
  393. rapidtide-2.9.6.data/scripts/spatialfit +0 -23
  394. rapidtide-2.9.6.data/scripts/spatialmi +0 -23
  395. rapidtide-2.9.6.data/scripts/spectrogram +0 -23
  396. rapidtide-2.9.6.data/scripts/synthASL +0 -23
  397. rapidtide-2.9.6.data/scripts/tcfrom2col +0 -23
  398. rapidtide-2.9.6.data/scripts/tcfrom3col +0 -23
  399. rapidtide-2.9.6.data/scripts/temporaldecomp +0 -23
  400. rapidtide-2.9.6.data/scripts/threeD +0 -236
  401. rapidtide-2.9.6.data/scripts/tidepool +0 -23
  402. rapidtide-2.9.6.data/scripts/variabilityizer +0 -23
  403. rapidtide-2.9.6.dist-info/RECORD +0 -359
  404. rapidtide-2.9.6.dist-info/top_level.txt +0 -86
  405. {rapidtide-2.9.6.dist-info → rapidtide-3.1.3.dist-info/licenses}/LICENSE +0 -0
@@ -0,0 +1,216 @@
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 matplotlib as mpl
20
+ import matplotlib.pyplot as plt
21
+ import numpy as np
22
+ import scipy as sp
23
+
24
+ from rapidtide.filter import NoncausalFilter
25
+
26
+
27
+ def maketestwaves(timeaxis):
28
+ # construct some test waveforms for end effects
29
+ tclen = len(timeaxis)
30
+ testwaves = []
31
+ testwaves.append(
32
+ {
33
+ "name": "constant high",
34
+ "timeaxis": 1.0 * timeaxis,
35
+ "waveform": np.ones((tclen), dtype="float"),
36
+ }
37
+ )
38
+ testwaves.append(
39
+ {
40
+ "name": "white noise",
41
+ "timeaxis": 1.0 * timeaxis,
42
+ "waveform": 0.3 * np.random.normal(size=tclen),
43
+ }
44
+ )
45
+
46
+ scratch = np.zeros_like(timeaxis)
47
+ scratch[int(tclen / 5) : int(2 * tclen / 5)] = 1.0
48
+ scratch[int(3 * tclen / 5) : int(4 * tclen / 5)] = 1.0
49
+ testwaves.append(
50
+ {
51
+ "name": "block regressor",
52
+ "timeaxis": 1.0 * timeaxis,
53
+ "waveform": 1.0 * scratch,
54
+ }
55
+ )
56
+
57
+ scratch = np.zeros_like(timeaxis)
58
+ scratch[int(tclen / 2) :] = 1.0
59
+ testwaves.append(
60
+ {
61
+ "name": "step regressor",
62
+ "timeaxis": 1.0 * timeaxis,
63
+ "waveform": 1.0 * scratch,
64
+ }
65
+ )
66
+
67
+ scratch = np.exp(-timeaxis / timeaxis[2])
68
+ testwaves.append(
69
+ {
70
+ "name": "damped exponential regressor",
71
+ "timeaxis": 1.0 * timeaxis,
72
+ "waveform": 1.0 * scratch,
73
+ }
74
+ )
75
+
76
+ testwaves.append(
77
+ {
78
+ "name": "white noise plus exponential",
79
+ "timeaxis": 1.0 * timeaxis,
80
+ "waveform": 0.3 * np.random.normal(size=tclen) + scratch,
81
+ }
82
+ )
83
+ return testwaves
84
+
85
+
86
+ def eval_padvecprops(
87
+ sampletime=0.72, tclengthinsecs=300.0, numruns=100, displayplots=False, debug=False
88
+ ):
89
+ np.random.seed(12345)
90
+ tclen = int(tclengthinsecs // sampletime)
91
+ print("Testing transfer function:")
92
+ lowestfreq = 1.0 / (sampletime * tclen)
93
+ nyquist = 0.5 / sampletime
94
+ print(
95
+ " sampletime=",
96
+ sampletime,
97
+ ", timecourse length=",
98
+ tclengthinsecs,
99
+ "s, possible frequency range:",
100
+ lowestfreq,
101
+ nyquist,
102
+ )
103
+ timeaxis = np.linspace(0.0, sampletime * tclen, num=tclen, endpoint=False)
104
+
105
+ overall = np.random.normal(size=tclen)
106
+ nperseg = np.min([tclen, 2048])
107
+ f, dummy = sp.signal.welch(overall, fs=1.0 / sampletime, nperseg=nperseg)
108
+
109
+ padtypelist = ["reflect", "zero", "cyclic", "constant", "constant+"]
110
+ transferfunclist = ["brickwall", "trapezoidal", "butterworth"]
111
+
112
+ # construct some test waveforms for end effects
113
+ testwaves = maketestwaves(timeaxis)
114
+
115
+ for padtype in padtypelist:
116
+ allfilters = []
117
+ # construct all the physiological filters
118
+ for filtertype in ["None", "lfo", "resp", "cardiac", "hrv_lf", "hrv_hf", "hrv_vhf"]:
119
+ testfilter = NoncausalFilter(filtertype=filtertype, padtype=padtype)
120
+ lstest, lptest, uptest, ustest = testfilter.getfreqs()
121
+ if lptest < nyquist:
122
+ for transferfunc in transferfunclist:
123
+ allfilters.append(
124
+ {
125
+ "name": filtertype + " " + transferfunc + " " + padtype,
126
+ "filter": NoncausalFilter(
127
+ filtertype=filtertype,
128
+ transferfunc=transferfunc,
129
+ padtype=padtype,
130
+ debug=False,
131
+ ),
132
+ }
133
+ )
134
+
135
+ # make the lowpass filters
136
+ for transferfunc in transferfunclist:
137
+ testfilter = NoncausalFilter(
138
+ filtertype="arb",
139
+ transferfunc=transferfunc,
140
+ initlowerstop=0.0,
141
+ initlowerpass=0.0,
142
+ initupperpass=0.1,
143
+ initupperstop=0.11,
144
+ )
145
+ lstest, lptest, uptest, ustest = testfilter.getfreqs()
146
+ if lptest < nyquist:
147
+ allfilters.append(
148
+ {
149
+ "name": "0.1Hz LP " + transferfunc,
150
+ "filter": NoncausalFilter(
151
+ filtertype="arb",
152
+ transferfunc=transferfunc,
153
+ initlowerstop=0.0,
154
+ initlowerpass=0.0,
155
+ initupperpass=0.1,
156
+ initupperstop=0.11,
157
+ debug=False,
158
+ ),
159
+ }
160
+ )
161
+
162
+ # make the highpass filters
163
+ for transferfunc in transferfunclist:
164
+ testfilter = NoncausalFilter(
165
+ filtertype="arb",
166
+ transferfunc=transferfunc,
167
+ initlowerstop=0.09,
168
+ initlowerpass=0.1,
169
+ initupperpass=1.0e20,
170
+ initupperstop=1.0e20,
171
+ )
172
+ lstest, lptest, uptest, ustest = testfilter.getfreqs()
173
+ if lptest < nyquist:
174
+ allfilters.append(
175
+ {
176
+ "name": "0.1Hz HP " + transferfunc,
177
+ "filter": NoncausalFilter(
178
+ filtertype="arb",
179
+ transferfunc=transferfunc,
180
+ initlowerstop=0.09,
181
+ initlowerpass=0.1,
182
+ initupperpass=1.0e20,
183
+ initupperstop=1.0e20,
184
+ debug=False,
185
+ ),
186
+ }
187
+ )
188
+
189
+ # show the end effects waveforms
190
+ if displayplots:
191
+ plt.figure()
192
+ plt.ylim([-2.2, 2.2 * len(testwaves)])
193
+ for thewave in testwaves:
194
+ legend = []
195
+ offset = 0.0
196
+ for thefilter in allfilters:
197
+ plt.plot(
198
+ thewave["timeaxis"],
199
+ offset + thefilter["filter"].apply(1.0 / sampletime, thewave["waveform"]),
200
+ )
201
+ legend.append(thewave["name"] + ": " + thefilter["name"])
202
+ offset += 1.25
203
+ plt.legend(legend)
204
+ plt.title(padtype)
205
+ plt.show()
206
+
207
+
208
+ def test_padvec(displayplots=False, debug=False):
209
+ eval_padvecprops(
210
+ sampletime=0.72, tclengthinsecs=300.0, numruns=100, displayplots=displayplots, debug=debug
211
+ )
212
+
213
+
214
+ if __name__ == "__main__":
215
+ mpl.use("TkAgg")
216
+ test_padvec(displayplots=True, debug=True)
@@ -0,0 +1,101 @@
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 argparse
20
+ import os
21
+
22
+ import rapidtide.io as tide_io
23
+ import rapidtide.workflows.parser_funcs as pf
24
+ from rapidtide.tests.utils import get_examples_path, get_test_temp_path
25
+
26
+
27
+ def proccolspec(thecolspec):
28
+ if thecolspec is not None:
29
+ # see if this is a numeric or text list
30
+ tokenlist = (thecolspec.split(",")[0]).split("-")
31
+ try:
32
+ firstelement = int(tokenlist[0])
33
+ return tide_io.colspectolist(thecolspec)
34
+ except ValueError:
35
+ return thecolspec.split(",")
36
+ else:
37
+ return [None]
38
+
39
+
40
+ def _get_parser():
41
+ """
42
+ Argument parser for adjust offset
43
+ """
44
+ parser = argparse.ArgumentParser(
45
+ prog="dummy",
46
+ description="dummy",
47
+ allow_abbrev=False,
48
+ )
49
+
50
+ # Required arguments
51
+ parser.add_argument(
52
+ "inputmap",
53
+ type=lambda x: pf.is_valid_file(parser, x),
54
+ help="The name of the rapidtide maxtime map.",
55
+ )
56
+
57
+ return parser
58
+
59
+
60
+ def test_parserfuncs(debug=False, local=False):
61
+ # set input and output directories
62
+ if local:
63
+ exampleroot = "../data/examples/src"
64
+ testtemproot = "./tmp"
65
+ else:
66
+ exampleroot = get_examples_path()
67
+ testtemproot = get_test_temp_path()
68
+
69
+ theparser = _get_parser()
70
+
71
+ testvecs = [
72
+ ["sub-RAPIDTIDETEST_desc-oversampledmovingregressor_timeseries.json", [None]],
73
+ [
74
+ "sub-RAPIDTIDETEST_desc-oversampledmovingregressor_timeseries.json:acolname",
75
+ ["acolname"],
76
+ ],
77
+ [
78
+ "sub-RAPIDTIDETEST_desc-oversampledmovingregressor_timeseries.json:acolname,bcolname",
79
+ ["acolname", "bcolname"],
80
+ ],
81
+ [
82
+ "sub-RAPIDTIDETEST_desc-oversampledmovingregressor_timeseries.tsv.gz:1,2,5-10",
83
+ [1, 2, 5, 6, 7, 8, 9, 10],
84
+ ],
85
+ [
86
+ "sub-RAPIDTIDETEST_desc-oversampledmovingregressor_timeseries.json:3,2,7,5-10,6-11",
87
+ [2, 3, 5, 6, 7, 8, 9, 10, 11],
88
+ ],
89
+ ]
90
+ for infile, expectedcols in testvecs:
91
+ filename = os.path.join(exampleroot, infile)
92
+ retval = pf.is_valid_file(theparser, filename)
93
+ thename, thecolspec = tide_io.parsefilespec(retval)
94
+ collist = proccolspec(thecolspec)
95
+ if debug:
96
+ print(filename, retval, thename, thecolspec, collist)
97
+ assert collist == expectedcols
98
+
99
+
100
+ if __name__ == "__main__":
101
+ test_parserfuncs(debug=True, local=True)
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding: utf-8 -*-
3
3
  #
4
- # Copyright 2018-2024 Blaise Frederick
4
+ # Copyright 2018-2025 Blaise Frederick
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
7
7
  # you may not use this file except in compliance with the License.
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding: utf-8 -*-
3
3
  #
4
- # Copyright 2016-2024 Blaise Frederick
4
+ # Copyright 2016-2025 Blaise Frederick
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
7
7
  # you may not use this file except in compliance with the License.
@@ -18,7 +18,8 @@
18
18
  #
19
19
  import numpy as np
20
20
 
21
- from rapidtide.workflows.rapidtide_parser import process_args
21
+ import rapidtide.workflows.parser_funcs as pf
22
+ import rapidtide.workflows.rapidtide_parser as rp
22
23
 
23
24
  testlist = {}
24
25
  testlist["searchrange"] = {
@@ -72,16 +73,37 @@ testlist["numnull"] = {
72
73
  "command": ["--numnull", "0"],
73
74
  "results": [["numestreps", 0], ["ampthreshfromsig", False]],
74
75
  }
75
- testlist["fixdelay"] = {
76
- "command": ["--fixdelay", "0.0"],
76
+ testlist["initialdelay"] = {
77
+ "command": ["--initialdelay", "0.0"],
77
78
  "results": [
78
- ["fixeddelayvalue", 0.0, "isfloat"],
79
+ ["initialdelayvalue", 0.0, "isfloat"],
80
+ ],
81
+ }
82
+ testlist["nodelayfit"] = {
83
+ "command": ["--nodelayfit"],
84
+ "results": [
85
+ ["fixdelay", True],
86
+ ],
87
+ }
88
+ testlist["delaymapping"] = {
89
+ "command": ["--delaymapping"],
90
+ "results": [
91
+ ["fixdelay", True],
92
+ ["passes", rp.DEFAULT_DELAYMAPPING_PASSES],
93
+ ["despeckle_passes", rp.DEFAULT_DELAYMAPPING_DESPECKLE_PASSES],
94
+ ["gausssigma", rp.DEFAULT_DELAYMAPPING_SPATIALFILT],
95
+ ["lagmin", rp.DEFAULT_DELAYMAPPING_LAGMIN],
96
+ ["lagmax", rp.DEFAULT_DELAYMAPPING_LAGMAX],
97
+ ["refineoffset", True],
98
+ ["refinedelay", True],
99
+ ["outputlevel", "normal"],
100
+ ["dolinfitfilt", True],
79
101
  ],
80
102
  }
81
103
 
82
104
 
83
- def checktests(testvec, testlist, theargs, epsilon):
84
- for thetest in testvec:
105
+ def checktests(thetestvec, testlist, theargs, epsilon):
106
+ for thetest in thetestvec:
85
107
  for theresult in testlist[thetest]["results"]:
86
108
  print("testing", testlist[thetest]["command"], "effect on", theresult[0])
87
109
  if len(theresult) <= 2:
@@ -101,25 +123,9 @@ def checktests(testvec, testlist, theargs, epsilon):
101
123
  assert np.fabs(theargs[theresult[0]] - theresult[1]) < epsilon
102
124
 
103
125
 
104
- def main():
105
- epsilon = 0.00001
106
-
107
- # construct the first test vector
108
- testvec = []
109
- testvec.append("filterband")
110
- testvec.append("filtertype")
111
- testvec.append("searchrange")
112
- testvec.append("pickleft")
113
- testvec.append("corrweighting")
114
- testvec.append("datafreq")
115
- testvec.append("noantialias")
116
- testvec.append("invert")
117
- testvec.append("interptype")
118
- testvec.append("offsettime")
119
- testvec.append("datafreq")
120
-
126
+ def checkavector(thetestvec, epsilon):
121
127
  print(testlist)
122
- print(testvec)
128
+ print(thetestvec)
123
129
 
124
130
  # make the argument and results lists
125
131
  arglist = [
@@ -127,7 +133,7 @@ def main():
127
133
  "../data/examples/dst/parsertestdummy",
128
134
  ]
129
135
  resultlist = []
130
- for thetest in testvec:
136
+ for thetest in thetestvec:
131
137
  arglist += testlist[thetest]["command"]
132
138
  for theresult in testlist[thetest]["results"]:
133
139
  resultlist += [theresult]
@@ -135,38 +141,38 @@ def main():
135
141
  print(arglist)
136
142
  print(resultlist)
137
143
 
138
- theargs, ncprefilter = process_args(inputargs=arglist)
139
-
140
- checktests(testvec, testlist, theargs, epsilon)
144
+ theargs, ncprefilter = rp.process_args(inputargs=arglist)
141
145
 
142
- # construct the second test vector
143
- testvec = []
144
- testvec.append("filterfreqs")
145
- testvec.append("datatstep")
146
- testvec.append("timerange")
147
- testvec.append("numnull")
148
- testvec.append("fixdelay")
149
-
150
- print(testlist)
151
- print(testvec)
146
+ checktests(thetestvec, testlist, theargs, epsilon)
152
147
 
153
- # make the argument and results lists
154
- arglist = [
155
- "../data/examples/src/sub-RAPIDTIDETEST.nii.gz",
156
- "../data/examples/dst/parsertestdummy",
157
- ]
158
- resultlist = []
159
- for thetest in testvec:
160
- arglist += testlist[thetest]["command"]
161
- for theresult in testlist[thetest]["results"]:
162
- resultlist += [theresult]
163
148
 
164
- print(arglist)
165
- print(resultlist)
149
+ def main():
150
+ epsilon = 0.00001
166
151
 
167
- theargs, ncprefilter = process_args(inputargs=arglist)
152
+ # construct the first test vector
153
+ thetestvec = []
154
+ thetestvec.append("filterband")
155
+ thetestvec.append("filtertype")
156
+ thetestvec.append("searchrange")
157
+ thetestvec.append("pickleft")
158
+ thetestvec.append("corrweighting")
159
+ thetestvec.append("datafreq")
160
+ thetestvec.append("noantialias")
161
+ thetestvec.append("invert")
162
+ thetestvec.append("interptype")
163
+ thetestvec.append("offsettime")
164
+ thetestvec.append("datafreq")
165
+ checkavector(thetestvec, epsilon)
168
166
 
169
- checktests(testvec, testlist, theargs, epsilon)
167
+ # construct the second test vector
168
+ thetestvec = []
169
+ thetestvec.append("filterfreqs")
170
+ thetestvec.append("datatstep")
171
+ thetestvec.append("timerange")
172
+ thetestvec.append("numnull")
173
+ thetestvec.append("initialdelay")
174
+ thetestvec.append("nodelayfit")
175
+ checkavector(thetestvec, epsilon)
170
176
 
171
177
 
172
178
  if __name__ == "__main__":