rapidtide 2.9.5__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 +94 -27
  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 +21 -0
  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 +178 -0
  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 +590 -1181
  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 +867 -137
  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.5.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 +27 -15
  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 +1833 -1919
  292. rapidtide/workflows/rapidtide2std.py +101 -3
  293. rapidtide/workflows/rapidtide_parser.py +607 -372
  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.5.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.5.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.5.data/scripts/adjustoffset +0 -23
  346. rapidtide-2.9.5.data/scripts/aligntcs +0 -23
  347. rapidtide-2.9.5.data/scripts/applydlfilter +0 -23
  348. rapidtide-2.9.5.data/scripts/atlasaverage +0 -23
  349. rapidtide-2.9.5.data/scripts/atlastool +0 -23
  350. rapidtide-2.9.5.data/scripts/calcicc +0 -22
  351. rapidtide-2.9.5.data/scripts/calctexticc +0 -23
  352. rapidtide-2.9.5.data/scripts/calcttest +0 -22
  353. rapidtide-2.9.5.data/scripts/ccorrica +0 -23
  354. rapidtide-2.9.5.data/scripts/diffrois +0 -23
  355. rapidtide-2.9.5.data/scripts/endtidalproc +0 -23
  356. rapidtide-2.9.5.data/scripts/filtnifti +0 -23
  357. rapidtide-2.9.5.data/scripts/filttc +0 -23
  358. rapidtide-2.9.5.data/scripts/fingerprint +0 -593
  359. rapidtide-2.9.5.data/scripts/fixtr +0 -23
  360. rapidtide-2.9.5.data/scripts/glmfilt +0 -24
  361. rapidtide-2.9.5.data/scripts/gmscalc +0 -22
  362. rapidtide-2.9.5.data/scripts/happy +0 -25
  363. rapidtide-2.9.5.data/scripts/happy2std +0 -23
  364. rapidtide-2.9.5.data/scripts/happywarp +0 -350
  365. rapidtide-2.9.5.data/scripts/histnifti +0 -23
  366. rapidtide-2.9.5.data/scripts/histtc +0 -23
  367. rapidtide-2.9.5.data/scripts/localflow +0 -23
  368. rapidtide-2.9.5.data/scripts/mergequality +0 -23
  369. rapidtide-2.9.5.data/scripts/pairproc +0 -23
  370. rapidtide-2.9.5.data/scripts/pairwisemergenifti +0 -23
  371. rapidtide-2.9.5.data/scripts/physiofreq +0 -23
  372. rapidtide-2.9.5.data/scripts/pixelcomp +0 -23
  373. rapidtide-2.9.5.data/scripts/plethquality +0 -23
  374. rapidtide-2.9.5.data/scripts/polyfitim +0 -23
  375. rapidtide-2.9.5.data/scripts/proj2flow +0 -23
  376. rapidtide-2.9.5.data/scripts/rankimage +0 -23
  377. rapidtide-2.9.5.data/scripts/rapidtide +0 -23
  378. rapidtide-2.9.5.data/scripts/rapidtide2std +0 -23
  379. rapidtide-2.9.5.data/scripts/resamplenifti +0 -23
  380. rapidtide-2.9.5.data/scripts/resampletc +0 -23
  381. rapidtide-2.9.5.data/scripts/retroglm +0 -23
  382. rapidtide-2.9.5.data/scripts/roisummarize +0 -23
  383. rapidtide-2.9.5.data/scripts/runqualitycheck +0 -23
  384. rapidtide-2.9.5.data/scripts/showarbcorr +0 -23
  385. rapidtide-2.9.5.data/scripts/showhist +0 -23
  386. rapidtide-2.9.5.data/scripts/showstxcorr +0 -23
  387. rapidtide-2.9.5.data/scripts/showtc +0 -23
  388. rapidtide-2.9.5.data/scripts/showxcorr_legacy +0 -536
  389. rapidtide-2.9.5.data/scripts/showxcorrx +0 -23
  390. rapidtide-2.9.5.data/scripts/showxy +0 -23
  391. rapidtide-2.9.5.data/scripts/simdata +0 -23
  392. rapidtide-2.9.5.data/scripts/spatialdecomp +0 -23
  393. rapidtide-2.9.5.data/scripts/spatialfit +0 -23
  394. rapidtide-2.9.5.data/scripts/spatialmi +0 -23
  395. rapidtide-2.9.5.data/scripts/spectrogram +0 -23
  396. rapidtide-2.9.5.data/scripts/synthASL +0 -23
  397. rapidtide-2.9.5.data/scripts/tcfrom2col +0 -23
  398. rapidtide-2.9.5.data/scripts/tcfrom3col +0 -23
  399. rapidtide-2.9.5.data/scripts/temporaldecomp +0 -23
  400. rapidtide-2.9.5.data/scripts/threeD +0 -236
  401. rapidtide-2.9.5.data/scripts/tidepool +0 -23
  402. rapidtide-2.9.5.data/scripts/variabilityizer +0 -23
  403. rapidtide-2.9.5.dist-info/RECORD +0 -357
  404. rapidtide-2.9.5.dist-info/top_level.txt +0 -86
  405. {rapidtide-2.9.5.dist-info → rapidtide-3.1.3.dist-info/licenses}/LICENSE +0 -0
@@ -6,18 +6,39 @@ sigterm = true
6
6
  source = .
7
7
  omit =
8
8
  __init__.py
9
- ../__init__.py
10
- ../scripts/__init__.py
11
- ../OrthoImageItem.py
12
- ../wiener2.py
13
- ../tidepoolTemplate.py
14
- ../tidepoolTemplate_alt.py
9
+ scripts/__init__.py
10
+ OrthoImageItem.py
11
+ wiener2.py
12
+ fMRIData_class.py
13
+ tidepoolTemplate.py
14
+ tidepoolTemplate_qt6.py
15
+ tidepoolTemplate_alt.py
16
+ tidepoolTemplate_alt_qt6.py
17
+ tidepoolTemplate_big.py
18
+ tidepoolTemplate_big_qt6.py
19
+ */tidepool.py
20
+ */delayvar.py
21
+ */variabilityizer.py
22
+ */synthASL.py
23
+ */proj2flow.py
24
+ */adjustoffset.py
25
+ notreadyforprimetime/*
15
26
 
16
27
  [report]
17
28
  exclude_lines =
18
29
  # Don't complain if non-runnable code isn't run:
19
30
  if displayplots:
20
31
  if args.displayplots:
32
+ if args.display:
33
+ if doplot:
34
+ if args.doplot:
35
+ if args.displayplots:
21
36
  if debug:
37
+ if optiondict["debug"]:
38
+ if optiondict['debug']:
39
+ if args.debug:
40
+ if self.debug:
22
41
  if False:
23
42
  if __name__ == .__main__.:
43
+ except np.lib.RankWarning:
44
+ except IndexError:
@@ -1,7 +1,6 @@
1
- #!python
2
- # -*- coding: utf-8 -*-
1
+ #!/bin/sh
3
2
  #
4
- # Copyright 2016-2024 Blaise Frederick
3
+ # Copyright 2016-2021 Blaise Frederick
5
4
  #
6
5
  # Licensed under the Apache License, Version 2.0 (the "License");
7
6
  # you may not use this file except in compliance with the License.
@@ -16,7 +15,6 @@
16
15
  # limitations under the License.
17
16
  #
18
17
  #
19
- import rapidtide.workflows.fdica as fdica_workflow
20
18
 
21
- if __name__ == "__main__":
22
- fdica_workflow.main()
19
+ rm tmp/*
20
+ rm .coverage.*
@@ -0,0 +1,9 @@
1
+ #!/bin/bash
2
+
3
+ cd tmp
4
+ for NEWFILE in happyout1_desc*.nii.gz
5
+ do
6
+ OLDFILE=`echo ${NEWFILE} | sed 's/happyout1_/happyout1t_/g'`
7
+ echo ${OLDFILE} ${NEWFILE}
8
+ diff ${OLDFILE} ${NEWFILE}
9
+ done
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding: latin-1 -*-
3
3
  #
4
- # Copyright 2016-2021 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.
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding: latin-1 -*-
3
3
  #
4
- # Copyright 2016-2021 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.
@@ -1,6 +1,6 @@
1
1
  #!/bin/csh -f
2
2
  #
3
- # Copyright 2016-2021 Blaise Frederick
3
+ # Copyright 2016-2025 Blaise Frederick
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  #!/bin/sh
2
2
  #
3
- # Copyright 2016-2021 Blaise Frederick
3
+ # Copyright 2016-2025 Blaise Frederick
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -18,8 +18,8 @@
18
18
 
19
19
  # make sure the test data is installed
20
20
  pushd ../data/examples/src
21
- cleanupdir
22
- installtestdatahere
21
+ ./cleanupdir
22
+ ./installtestdatahere
23
23
  popd
24
24
 
25
25
  # clean out old tests
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding: latin-1 -*-
3
3
  #
4
- # Copyright 2016-2021 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.
@@ -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.
@@ -62,7 +62,7 @@ def aliasedcorrelate(
62
62
  lowresaxis = np.arange(0.0, len(lowressignal)) * (1.0 / lowres_Fs) - lowresstarttime
63
63
  tcgenerator = tide_resample.FastResampler(highresaxis, hiressignal, padtime=padtime)
64
64
  targetsignal = tide_math.corrnormalize(lowressignal)
65
- corrfunc = timerange * 0.0
65
+ corrfunc = np.zeros_like(timerange)
66
66
  for i in range(len(timerange)):
67
67
  aliasedhiressignal = tide_math.corrnormalize(tcgenerator.yfromx(lowresaxis + timerange[i]))
68
68
  corrfunc[i] = np.dot(aliasedhiressignal, targetsignal)
@@ -83,8 +83,8 @@ def test_aliasedcorrelate(displayplots=False):
83
83
  timerange = np.linspace(0.0, width, num=101) - width / 2.0
84
84
  hiaxis = np.linspace(0.0, 2.0 * np.pi * inlenhi / Fs_hi, num=inlenhi, endpoint=False)
85
85
  loaxis = np.linspace(0.0, 2.0 * np.pi * inlenlo / Fs_lo, num=inlenlo, endpoint=False)
86
- sighi = hiaxis * 0.0
87
- siglo = loaxis * 0.0
86
+ sighi = np.zeros_like(hiaxis)
87
+ siglo = np.zeros_like(loaxis)
88
88
  for theinfo in siginfo:
89
89
  sighi += theinfo[0] * np.sin(theinfo[1] * hiaxis)
90
90
  siglo += theinfo[0] * np.sin(theinfo[1] * loaxis)
@@ -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.
@@ -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.
@@ -0,0 +1,184 @@
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.miscmath as tide_math
26
+ import rapidtide.resample as tide_resample
27
+ import rapidtide.simFuncClasses as tide_simFuncClasses
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_simFuncClasses.Correlator(
62
+ Fs=oversampfreq,
63
+ ncprefilter=theprefilter,
64
+ detrendorder=1,
65
+ windowfunc="hamming",
66
+ corrweighting="phat",
67
+ )
68
+ theFitter = tide_simFuncClasses.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=np.float64,
154
+ )
155
+ print(f"\t{len(referencetc)=}")
156
+ print(f"\t{len(resampref_y)=}")
157
+ print(f"\t{len(resampnonosref_y)=}")
158
+ print(f"\t{len(cleaned_resampref_y)=}")
159
+ print(f"\t{len(cleaned_referencetc)=}")
160
+ print(f"\t{len(cleaned_nonosreferencetc)=}")
161
+ print(f"\t{check_autocorrelation=}")
162
+ print(f"\t{despeckle_thresh=}")
163
+ print(f"\t{sidelobeamp=}")
164
+ print(f"\t{sidelobetime=}")
165
+ print(f"\t{lagmod=}")
166
+ print(f"\t{acwidth=}")
167
+ print(f"\t{absmaxsigma=}")
168
+ assert len(referencetc) == len(cleaned_referencetc)
169
+ assert len(resampref_y) == len(cleaned_resampref_y)
170
+ assert len(resampnonosref_y) == len(cleaned_nonosreferencetc)
171
+
172
+ if debug:
173
+ print(
174
+ "*********************************************************************************"
175
+ )
176
+ print(f"{echotime=}, {echoamp=}, {check_autocorrelation=}, {osvalidsimcalcstart=}")
177
+ print(
178
+ "**************End****************************************************************"
179
+ )
180
+
181
+
182
+ if __name__ == "__main__":
183
+ mpl.use("TkAgg")
184
+ test_cleanregressor(debug=True, local=True, displayplots=True)
@@ -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.
@@ -20,6 +20,7 @@ import matplotlib as mpl
20
20
  import matplotlib.pyplot as plt
21
21
  import numpy as np
22
22
 
23
+ from rapidtide.happy_supportfuncs import preloadcongrid
23
24
  from rapidtide.resample import congrid
24
25
  from rapidtide.tests.utils import mse
25
26
 
@@ -56,7 +57,7 @@ def test_congrid(debug=False, displayplots=False):
56
57
  binslist = [1.5, 2.0, 2.5, 3.0]
57
58
 
58
59
  for cycles in cyclist:
59
- timecoursein = np.float64(sourceaxis * 0.0)
60
+ timecoursein = np.zeros_like(sourceaxis, np.float64)
60
61
  for i in range(len(sourceaxis)):
61
62
  timecoursein[i] = funcvalue2(sourceaxis[i], frequency=cycles)
62
63
 
@@ -74,86 +75,74 @@ def test_congrid(debug=False, displayplots=False):
74
75
  weights = np.zeros((gridlen), dtype=float)
75
76
  griddeddata = np.zeros((gridlen), dtype=float)
76
77
 
77
- for gridkernel in kernellist:
78
- for congridbins in binslist:
79
- print("about to grid")
80
-
81
- # reinitialize grid outputs
82
- weights *= 0.0
83
- griddeddata *= 0.0
84
-
85
- for i in range(numsamples):
86
- thevals, theweights, theindices = congrid(
87
- gridaxis,
88
- testvals[i],
89
- funcvalue2(testvals[i], frequency=cycles),
90
- congridbins,
91
- kernel=gridkernel,
92
- debug=False,
93
- )
94
- for i in range(len(theindices)):
95
- weights[theindices[i]] += theweights[i]
96
- griddeddata[theindices[i]] += thevals[i]
97
-
98
- griddeddata = np.where(weights > 0.0, griddeddata / weights, 0.0)
99
-
100
- target = np.float64(gridaxis * 0.0)
101
- for i in range(len(gridaxis)):
102
- target[i] = funcvalue2(gridaxis[i], frequency=cycles)
103
-
104
- print("gridding done")
105
- print("debug:", debug)
106
-
107
- # plot if we are doing that
108
- if displayplots:
109
- offset = 0.0
110
- legend = []
111
- plt.plot(sourceaxis, timecoursein)
112
- legend.append("Original")
113
- # offset += 1.0
114
- plt.plot(gridaxis, target + offset)
115
- legend.append("Target")
116
- # offset += 1.0
117
- plt.plot(gridaxis, griddeddata + offset)
118
- legend.append("Gridded")
119
- plt.plot(gridaxis, weights)
120
- legend.append("Weights")
121
- plt.legend(legend)
122
- plt.show()
123
-
124
- # do the tests
125
- msethresh = 6.0e-2
126
- themse = mse(target, griddeddata)
127
- if debug:
128
- if themse >= msethresh:
129
- extra = "FAIL"
130
- else:
131
- extra = ""
132
- print(
133
- "mse for",
134
- cycles,
135
- "cycles:",
136
- gridkernel,
137
- str(congridbins),
138
- ":",
139
- themse,
140
- extra,
141
- )
142
- outputlines.append(
143
- " ".join(
144
- [
145
- "mse for",
146
- str(cycles),
147
- "cycles:",
148
- gridkernel,
149
- str(congridbins),
150
- ":",
151
- str(themse),
152
- ]
78
+ for prefill in [True, False]:
79
+ for gridkernel in kernellist:
80
+ for congridbins in binslist:
81
+ print("about to grid")
82
+
83
+ # reinitialize grid outputs
84
+ weights *= 0.0
85
+ griddeddata *= 0.0
86
+
87
+ if prefill:
88
+ preloadcongrid(
89
+ gridaxis, congridbins, gridkernel=gridkernel, cyclic=True, debug=False
90
+ )
91
+ for i in range(numsamples):
92
+ thevals, theweights, theindices = congrid(
93
+ gridaxis,
94
+ testvals[i],
95
+ funcvalue2(testvals[i], frequency=cycles),
96
+ congridbins,
97
+ kernel=gridkernel,
98
+ debug=False,
99
+ )
100
+ for i in range(len(theindices)):
101
+ weights[theindices[i]] += theweights[i]
102
+ griddeddata[theindices[i]] += thevals[i]
103
+
104
+ griddeddata = np.where(weights > 0.0, griddeddata / weights, 0.0)
105
+
106
+ target = np.zeros_like(gridaxis, np.float64)
107
+ for i in range(len(gridaxis)):
108
+ target[i] = funcvalue2(gridaxis[i], frequency=cycles)
109
+
110
+ print("gridding done")
111
+ print("debug:", debug)
112
+
113
+ # plot if we are doing that
114
+ if displayplots:
115
+ offset = 0.0
116
+ legend = []
117
+ plt.plot(sourceaxis, timecoursein)
118
+ legend.append("Original")
119
+ # offset += 1.0
120
+ plt.plot(gridaxis, target + offset)
121
+ legend.append("Target")
122
+ # offset += 1.0
123
+ plt.plot(gridaxis, griddeddata + offset)
124
+ legend.append("Gridded")
125
+ plt.plot(gridaxis, weights)
126
+ legend.append("Weights")
127
+ plt.legend(legend)
128
+ plt.show()
129
+
130
+ # do the tests
131
+ msethresh = 6.0e-2
132
+ themse = mse(target, griddeddata)
133
+ if debug:
134
+ if themse >= msethresh:
135
+ extra = "FAIL"
136
+ else:
137
+ extra = ""
138
+ print(
139
+ f"mse for {cycles} cycles: {prefill=}, {gridkernel} {congridbins}: {themse} {extra}"
140
+ )
141
+ outputlines.append(
142
+ f"mse for {cycles} cycles: {prefill=}, {gridkernel} {congridbins}: {themse}"
153
143
  )
154
- )
155
- if not debug:
156
- assert themse < msethresh
144
+ if not debug:
145
+ assert themse < msethresh
157
146
  if debug:
158
147
  for theline in outputlines:
159
148
  print(theline)
@@ -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.
@@ -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.
@@ -23,8 +23,8 @@ import numpy as np
23
23
  import rapidtide.calcsimfunc as tide_calcsimfunc
24
24
  import rapidtide.correlate as tide_corr
25
25
  import rapidtide.filter as tide_filt
26
- import rapidtide.helper_classes as tide_classes
27
26
  import rapidtide.resample as tide_resample
27
+ import rapidtide.simFuncClasses as tide_simFuncClasses
28
28
  import rapidtide.simfuncfit as tide_simfuncfit
29
29
  from rapidtide.tests.utils import mse
30
30
 
@@ -133,7 +133,7 @@ def test_calcsimfunc(debug=False, displayplots=False):
133
133
  }
134
134
 
135
135
  theprefilter = tide_filt.NoncausalFilter("lfo")
136
- theCorrelator = tide_classes.Correlator(
136
+ theCorrelator = tide_simFuncClasses.Correlator(
137
137
  Fs=oversampfreq,
138
138
  ncprefilter=theprefilter,
139
139
  detrendorder=optiondict["detrendorder"],
@@ -141,7 +141,7 @@ def test_calcsimfunc(debug=False, displayplots=False):
141
141
  corrweighting=optiondict["corrweighting"],
142
142
  )
143
143
 
144
- thefitter = tide_classes.SimilarityFunctionFitter(
144
+ thefitter = tide_simFuncClasses.SimilarityFunctionFitter(
145
145
  lagmod=optiondict["lagmod"],
146
146
  lthreshval=optiondict["lthreshval"],
147
147
  uthreshval=optiondict["uthreshval"],