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.
- cloud/gmscalc-HCPYA +1 -1
- cloud/mount-and-run +2 -0
- cloud/rapidtide-HCPYA +3 -3
- rapidtide/Colortables.py +538 -38
- rapidtide/OrthoImageItem.py +1094 -51
- rapidtide/RapidtideDataset.py +1709 -114
- rapidtide/__init__.py +0 -8
- rapidtide/_version.py +4 -4
- rapidtide/calccoherence.py +242 -97
- rapidtide/calcnullsimfunc.py +240 -140
- rapidtide/calcsimfunc.py +314 -129
- rapidtide/correlate.py +1211 -389
- rapidtide/data/examples/src/testLD +56 -0
- rapidtide/data/examples/src/test_findmaxlag.py +2 -2
- rapidtide/data/examples/src/test_mlregressallt.py +32 -17
- rapidtide/data/examples/src/testalign +1 -1
- rapidtide/data/examples/src/testatlasaverage +35 -7
- rapidtide/data/examples/src/testboth +21 -0
- rapidtide/data/examples/src/testcifti +11 -0
- rapidtide/data/examples/src/testdelayvar +13 -0
- rapidtide/data/examples/src/testdlfilt +25 -0
- rapidtide/data/examples/src/testfft +35 -0
- rapidtide/data/examples/src/testfileorfloat +37 -0
- rapidtide/data/examples/src/testfmri +92 -42
- rapidtide/data/examples/src/testfuncs +3 -3
- rapidtide/data/examples/src/testglmfilt +8 -6
- rapidtide/data/examples/src/testhappy +84 -51
- rapidtide/data/examples/src/testinitdelay +19 -0
- rapidtide/data/examples/src/testmodels +33 -0
- rapidtide/data/examples/src/testnewrefine +26 -0
- rapidtide/data/examples/src/testnoiseamp +2 -2
- rapidtide/data/examples/src/testppgproc +17 -0
- rapidtide/data/examples/src/testrefineonly +22 -0
- rapidtide/data/examples/src/testretro +26 -13
- rapidtide/data/examples/src/testretrolagtcs +16 -0
- rapidtide/data/examples/src/testrolloff +11 -0
- rapidtide/data/examples/src/testsimdata +45 -28
- rapidtide/data/models/model_cnn_pytorch/loss.png +0 -0
- rapidtide/data/models/model_cnn_pytorch/loss.txt +1 -0
- rapidtide/data/models/model_cnn_pytorch/model.pth +0 -0
- rapidtide/data/models/model_cnn_pytorch/model_meta.json +68 -0
- rapidtide/data/models/model_cnn_pytorch_fulldata/loss.png +0 -0
- rapidtide/data/models/model_cnn_pytorch_fulldata/loss.txt +1 -0
- rapidtide/data/models/model_cnn_pytorch_fulldata/model.pth +0 -0
- rapidtide/data/models/model_cnn_pytorch_fulldata/model_meta.json +80 -0
- rapidtide/data/models/model_cnnbp_pytorch_fullldata/loss.png +0 -0
- rapidtide/data/models/model_cnnbp_pytorch_fullldata/loss.txt +1 -0
- rapidtide/data/models/model_cnnbp_pytorch_fullldata/model.pth +0 -0
- rapidtide/data/models/model_cnnbp_pytorch_fullldata/model_meta.json +138 -0
- rapidtide/data/models/model_cnnfft_pytorch_fulldata/loss.png +0 -0
- rapidtide/data/models/model_cnnfft_pytorch_fulldata/loss.txt +1 -0
- rapidtide/data/models/model_cnnfft_pytorch_fulldata/model.pth +0 -0
- rapidtide/data/models/model_cnnfft_pytorch_fulldata/model_meta.json +128 -0
- rapidtide/data/models/model_ppgattention_pytorch_w128_fulldata/loss.png +0 -0
- rapidtide/data/models/model_ppgattention_pytorch_w128_fulldata/loss.txt +1 -0
- rapidtide/data/models/model_ppgattention_pytorch_w128_fulldata/model.pth +0 -0
- rapidtide/data/models/model_ppgattention_pytorch_w128_fulldata/model_meta.json +49 -0
- rapidtide/data/models/model_revised_tf2/model.keras +0 -0
- rapidtide/data/models/{model_serdar → model_revised_tf2}/model_meta.json +1 -1
- rapidtide/data/models/model_serdar2_tf2/model.keras +0 -0
- rapidtide/data/models/{model_serdar2 → model_serdar2_tf2}/model_meta.json +1 -1
- rapidtide/data/models/model_serdar_tf2/model.keras +0 -0
- rapidtide/data/models/{model_revised → model_serdar_tf2}/model_meta.json +1 -1
- rapidtide/data/reference/HCP1200v2_MTT_2mm.nii.gz +0 -0
- rapidtide/data/reference/HCP1200v2_binmask_2mm.nii.gz +0 -0
- rapidtide/data/reference/HCP1200v2_csf_2mm.nii.gz +0 -0
- rapidtide/data/reference/HCP1200v2_gray_2mm.nii.gz +0 -0
- rapidtide/data/reference/HCP1200v2_graylaghist.json +7 -0
- rapidtide/data/reference/HCP1200v2_graylaghist.tsv.gz +0 -0
- rapidtide/data/reference/HCP1200v2_laghist.json +7 -0
- rapidtide/data/reference/HCP1200v2_laghist.tsv.gz +0 -0
- rapidtide/data/reference/HCP1200v2_mask_2mm.nii.gz +0 -0
- rapidtide/data/reference/HCP1200v2_maxcorr_2mm.nii.gz +0 -0
- rapidtide/data/reference/HCP1200v2_maxtime_2mm.nii.gz +0 -0
- rapidtide/data/reference/HCP1200v2_maxwidth_2mm.nii.gz +0 -0
- rapidtide/data/reference/HCP1200v2_negmask_2mm.nii.gz +0 -0
- rapidtide/data/reference/HCP1200v2_timepercentile_2mm.nii.gz +0 -0
- rapidtide/data/reference/HCP1200v2_white_2mm.nii.gz +0 -0
- rapidtide/data/reference/HCP1200v2_whitelaghist.json +7 -0
- rapidtide/data/reference/HCP1200v2_whitelaghist.tsv.gz +0 -0
- rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1-seg2.xml +131 -0
- rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1-seg2_regions.txt +60 -0
- rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1-seg2_space-MNI152NLin6Asym_2mm.nii.gz +0 -0
- rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1_space-MNI152NLin2009cAsym_2mm.nii.gz +0 -0
- rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1_space-MNI152NLin2009cAsym_2mm_mask.nii.gz +0 -0
- rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1_space-MNI152NLin6Asym_2mm_mask.nii.gz +0 -0
- rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL2_space-MNI152NLin6Asym_2mm_mask.nii.gz +0 -0
- rapidtide/data/reference/MNI152_T1_1mm_Brain_FAST_seg.nii.gz +0 -0
- rapidtide/data/reference/MNI152_T1_1mm_Brain_Mask.nii.gz +0 -0
- rapidtide/data/reference/MNI152_T1_2mm_Brain_FAST_seg.nii.gz +0 -0
- rapidtide/data/reference/MNI152_T1_2mm_Brain_Mask.nii.gz +0 -0
- rapidtide/decorators.py +91 -0
- rapidtide/dlfilter.py +2553 -414
- rapidtide/dlfiltertorch.py +5201 -0
- rapidtide/externaltools.py +328 -13
- rapidtide/fMRIData_class.py +108 -92
- rapidtide/ffttools.py +168 -0
- rapidtide/filter.py +2704 -1462
- rapidtide/fit.py +2361 -579
- rapidtide/genericmultiproc.py +197 -0
- rapidtide/happy_supportfuncs.py +3255 -548
- rapidtide/helper_classes.py +587 -1116
- rapidtide/io.py +2569 -468
- rapidtide/linfitfiltpass.py +784 -0
- rapidtide/makelaggedtcs.py +267 -97
- rapidtide/maskutil.py +555 -25
- rapidtide/miscmath.py +835 -144
- rapidtide/multiproc.py +217 -44
- rapidtide/patchmatch.py +752 -0
- rapidtide/peakeval.py +32 -32
- rapidtide/ppgproc.py +2205 -0
- rapidtide/qualitycheck.py +353 -40
- rapidtide/refinedelay.py +854 -0
- rapidtide/refineregressor.py +939 -0
- rapidtide/resample.py +725 -204
- rapidtide/scripts/__init__.py +1 -0
- rapidtide/scripts/{adjustoffset → adjustoffset.py} +7 -2
- rapidtide/scripts/{aligntcs → aligntcs.py} +7 -2
- rapidtide/scripts/{applydlfilter → applydlfilter.py} +7 -2
- rapidtide/scripts/applyppgproc.py +28 -0
- rapidtide/scripts/{atlasaverage → atlasaverage.py} +7 -2
- rapidtide/scripts/{atlastool → atlastool.py} +7 -2
- rapidtide/scripts/{calcicc → calcicc.py} +7 -2
- rapidtide/scripts/{calctexticc → calctexticc.py} +7 -2
- rapidtide/scripts/{calcttest → calcttest.py} +7 -2
- rapidtide/scripts/{ccorrica → ccorrica.py} +7 -2
- rapidtide/scripts/delayvar.py +28 -0
- rapidtide/scripts/{diffrois → diffrois.py} +7 -2
- rapidtide/scripts/{endtidalproc → endtidalproc.py} +7 -2
- rapidtide/scripts/{fdica → fdica.py} +7 -2
- rapidtide/scripts/{filtnifti → filtnifti.py} +7 -2
- rapidtide/scripts/{filttc → filttc.py} +7 -2
- rapidtide/scripts/{fingerprint → fingerprint.py} +20 -16
- rapidtide/scripts/{fixtr → fixtr.py} +7 -2
- rapidtide/scripts/{gmscalc → gmscalc.py} +7 -2
- rapidtide/scripts/{happy → happy.py} +7 -2
- rapidtide/scripts/{happy2std → happy2std.py} +7 -2
- rapidtide/scripts/{happywarp → happywarp.py} +8 -4
- rapidtide/scripts/{histnifti → histnifti.py} +7 -2
- rapidtide/scripts/{histtc → histtc.py} +7 -2
- rapidtide/scripts/{glmfilt → linfitfilt.py} +7 -4
- rapidtide/scripts/{localflow → localflow.py} +7 -2
- rapidtide/scripts/{mergequality → mergequality.py} +7 -2
- rapidtide/scripts/{pairproc → pairproc.py} +7 -2
- rapidtide/scripts/{pairwisemergenifti → pairwisemergenifti.py} +7 -2
- rapidtide/scripts/{physiofreq → physiofreq.py} +7 -2
- rapidtide/scripts/{pixelcomp → pixelcomp.py} +7 -2
- rapidtide/scripts/{plethquality → plethquality.py} +7 -2
- rapidtide/scripts/{polyfitim → polyfitim.py} +7 -2
- rapidtide/scripts/{proj2flow → proj2flow.py} +7 -2
- rapidtide/scripts/{rankimage → rankimage.py} +7 -2
- rapidtide/scripts/{rapidtide → rapidtide.py} +7 -2
- rapidtide/scripts/{rapidtide2std → rapidtide2std.py} +7 -2
- rapidtide/scripts/{resamplenifti → resamplenifti.py} +7 -2
- rapidtide/scripts/{resampletc → resampletc.py} +7 -2
- rapidtide/scripts/retrolagtcs.py +28 -0
- rapidtide/scripts/retroregress.py +28 -0
- rapidtide/scripts/{roisummarize → roisummarize.py} +7 -2
- rapidtide/scripts/{runqualitycheck → runqualitycheck.py} +7 -2
- rapidtide/scripts/{showarbcorr → showarbcorr.py} +7 -2
- rapidtide/scripts/{showhist → showhist.py} +7 -2
- rapidtide/scripts/{showstxcorr → showstxcorr.py} +7 -2
- rapidtide/scripts/{showtc → showtc.py} +7 -2
- rapidtide/scripts/{showxcorr_legacy → showxcorr_legacy.py} +8 -8
- rapidtide/scripts/{showxcorrx → showxcorrx.py} +7 -2
- rapidtide/scripts/{showxy → showxy.py} +7 -2
- rapidtide/scripts/{simdata → simdata.py} +7 -2
- rapidtide/scripts/{spatialdecomp → spatialdecomp.py} +7 -2
- rapidtide/scripts/{spatialfit → spatialfit.py} +7 -2
- rapidtide/scripts/{spatialmi → spatialmi.py} +7 -2
- rapidtide/scripts/{spectrogram → spectrogram.py} +7 -2
- rapidtide/scripts/stupidramtricks.py +238 -0
- rapidtide/scripts/{synthASL → synthASL.py} +7 -2
- rapidtide/scripts/{tcfrom2col → tcfrom2col.py} +7 -2
- rapidtide/scripts/{tcfrom3col → tcfrom3col.py} +7 -2
- rapidtide/scripts/{temporaldecomp → temporaldecomp.py} +7 -2
- rapidtide/scripts/{testhrv → testhrv.py} +1 -1
- rapidtide/scripts/{threeD → threeD.py} +7 -2
- rapidtide/scripts/{tidepool → tidepool.py} +7 -2
- rapidtide/scripts/{variabilityizer → variabilityizer.py} +7 -2
- rapidtide/simFuncClasses.py +2113 -0
- rapidtide/simfuncfit.py +312 -108
- rapidtide/stats.py +579 -247
- rapidtide/tests/.coveragerc +27 -6
- rapidtide-2.9.6.data/scripts/fdica → rapidtide/tests/cleanposttest +4 -6
- rapidtide/tests/happycomp +9 -0
- rapidtide/tests/resethappytargets +1 -1
- rapidtide/tests/resetrapidtidetargets +1 -1
- rapidtide/tests/resettargets +1 -1
- rapidtide/tests/runlocaltest +3 -3
- rapidtide/tests/showkernels +1 -1
- rapidtide/tests/test_aliasedcorrelate.py +4 -4
- rapidtide/tests/test_aligntcs.py +1 -1
- rapidtide/tests/test_calcicc.py +1 -1
- rapidtide/tests/test_cleanregressor.py +184 -0
- rapidtide/tests/test_congrid.py +70 -81
- rapidtide/tests/test_correlate.py +1 -1
- rapidtide/tests/test_corrpass.py +4 -4
- rapidtide/tests/test_delayestimation.py +54 -59
- rapidtide/tests/test_dlfiltertorch.py +437 -0
- rapidtide/tests/test_doresample.py +2 -2
- rapidtide/tests/test_externaltools.py +69 -0
- rapidtide/tests/test_fastresampler.py +9 -5
- rapidtide/tests/test_filter.py +96 -57
- rapidtide/tests/test_findmaxlag.py +50 -19
- rapidtide/tests/test_fullrunhappy_v1.py +15 -10
- rapidtide/tests/test_fullrunhappy_v2.py +19 -13
- rapidtide/tests/test_fullrunhappy_v3.py +28 -13
- rapidtide/tests/test_fullrunhappy_v4.py +30 -11
- rapidtide/tests/test_fullrunhappy_v5.py +62 -0
- rapidtide/tests/test_fullrunrapidtide_v1.py +61 -7
- rapidtide/tests/test_fullrunrapidtide_v2.py +26 -14
- rapidtide/tests/test_fullrunrapidtide_v3.py +28 -8
- rapidtide/tests/test_fullrunrapidtide_v4.py +16 -8
- rapidtide/tests/test_fullrunrapidtide_v5.py +15 -6
- rapidtide/tests/test_fullrunrapidtide_v6.py +142 -0
- rapidtide/tests/test_fullrunrapidtide_v7.py +114 -0
- rapidtide/tests/test_fullrunrapidtide_v8.py +66 -0
- rapidtide/tests/test_getparsers.py +158 -0
- rapidtide/tests/test_io.py +59 -18
- rapidtide/tests/{test_glmpass.py → test_linfitfiltpass.py} +10 -10
- rapidtide/tests/test_mi.py +1 -1
- rapidtide/tests/test_miscmath.py +1 -1
- rapidtide/tests/test_motionregress.py +5 -5
- rapidtide/tests/test_nullcorr.py +6 -9
- rapidtide/tests/test_padvec.py +216 -0
- rapidtide/tests/test_parserfuncs.py +101 -0
- rapidtide/tests/test_phaseanalysis.py +1 -1
- rapidtide/tests/test_rapidtideparser.py +59 -53
- rapidtide/tests/test_refinedelay.py +296 -0
- rapidtide/tests/test_runmisc.py +5 -5
- rapidtide/tests/test_sharedmem.py +60 -0
- rapidtide/tests/test_simroundtrip.py +132 -0
- rapidtide/tests/test_simulate.py +1 -1
- rapidtide/tests/test_stcorrelate.py +4 -2
- rapidtide/tests/test_timeshift.py +2 -2
- rapidtide/tests/test_valtoindex.py +1 -1
- rapidtide/tests/test_zRapidtideDataset.py +5 -3
- rapidtide/tests/utils.py +10 -9
- rapidtide/tidepoolTemplate.py +88 -70
- rapidtide/tidepoolTemplate.ui +60 -46
- rapidtide/tidepoolTemplate_alt.py +88 -53
- rapidtide/tidepoolTemplate_alt.ui +62 -52
- rapidtide/tidepoolTemplate_alt_qt6.py +921 -0
- rapidtide/tidepoolTemplate_big.py +1125 -0
- rapidtide/tidepoolTemplate_big.ui +2386 -0
- rapidtide/tidepoolTemplate_big_qt6.py +1129 -0
- rapidtide/tidepoolTemplate_qt6.py +793 -0
- rapidtide/util.py +1389 -148
- rapidtide/voxelData.py +1048 -0
- rapidtide/wiener.py +138 -25
- rapidtide/wiener2.py +114 -8
- rapidtide/workflows/adjustoffset.py +107 -5
- rapidtide/workflows/aligntcs.py +86 -3
- rapidtide/workflows/applydlfilter.py +231 -89
- rapidtide/workflows/applyppgproc.py +540 -0
- rapidtide/workflows/atlasaverage.py +309 -48
- rapidtide/workflows/atlastool.py +130 -9
- rapidtide/workflows/calcSimFuncMap.py +490 -0
- rapidtide/workflows/calctexticc.py +202 -10
- rapidtide/workflows/ccorrica.py +123 -15
- rapidtide/workflows/cleanregressor.py +415 -0
- rapidtide/workflows/delayvar.py +1268 -0
- rapidtide/workflows/diffrois.py +84 -6
- rapidtide/workflows/endtidalproc.py +149 -9
- rapidtide/workflows/fdica.py +197 -17
- rapidtide/workflows/filtnifti.py +71 -4
- rapidtide/workflows/filttc.py +76 -5
- rapidtide/workflows/fitSimFuncMap.py +578 -0
- rapidtide/workflows/fixtr.py +74 -4
- rapidtide/workflows/gmscalc.py +116 -6
- rapidtide/workflows/happy.py +1242 -480
- rapidtide/workflows/happy2std.py +145 -13
- rapidtide/workflows/happy_parser.py +277 -59
- rapidtide/workflows/histnifti.py +120 -4
- rapidtide/workflows/histtc.py +85 -4
- rapidtide/workflows/{glmfilt.py → linfitfilt.py} +128 -14
- rapidtide/workflows/localflow.py +329 -29
- rapidtide/workflows/mergequality.py +80 -4
- rapidtide/workflows/niftidecomp.py +323 -19
- rapidtide/workflows/niftistats.py +178 -8
- rapidtide/workflows/pairproc.py +99 -5
- rapidtide/workflows/pairwisemergenifti.py +86 -3
- rapidtide/workflows/parser_funcs.py +1488 -56
- rapidtide/workflows/physiofreq.py +139 -12
- rapidtide/workflows/pixelcomp.py +211 -9
- rapidtide/workflows/plethquality.py +105 -23
- rapidtide/workflows/polyfitim.py +159 -19
- rapidtide/workflows/proj2flow.py +76 -3
- rapidtide/workflows/rankimage.py +115 -8
- rapidtide/workflows/rapidtide.py +1785 -1858
- rapidtide/workflows/rapidtide2std.py +101 -3
- rapidtide/workflows/rapidtide_parser.py +590 -389
- rapidtide/workflows/refineDelayMap.py +249 -0
- rapidtide/workflows/refineRegressor.py +1215 -0
- rapidtide/workflows/regressfrommaps.py +308 -0
- rapidtide/workflows/resamplenifti.py +86 -4
- rapidtide/workflows/resampletc.py +92 -4
- rapidtide/workflows/retrolagtcs.py +442 -0
- rapidtide/workflows/retroregress.py +1501 -0
- rapidtide/workflows/roisummarize.py +176 -7
- rapidtide/workflows/runqualitycheck.py +72 -7
- rapidtide/workflows/showarbcorr.py +172 -16
- rapidtide/workflows/showhist.py +87 -3
- rapidtide/workflows/showstxcorr.py +161 -4
- rapidtide/workflows/showtc.py +172 -10
- rapidtide/workflows/showxcorrx.py +250 -62
- rapidtide/workflows/showxy.py +186 -16
- rapidtide/workflows/simdata.py +418 -112
- rapidtide/workflows/spatialfit.py +83 -8
- rapidtide/workflows/spatialmi.py +252 -29
- rapidtide/workflows/spectrogram.py +306 -33
- rapidtide/workflows/synthASL.py +157 -6
- rapidtide/workflows/tcfrom2col.py +77 -3
- rapidtide/workflows/tcfrom3col.py +75 -3
- rapidtide/workflows/tidepool.py +3829 -666
- rapidtide/workflows/utils.py +45 -19
- rapidtide/workflows/utils_doc.py +293 -0
- rapidtide/workflows/variabilityizer.py +118 -5
- {rapidtide-2.9.6.dist-info → rapidtide-3.1.3.dist-info}/METADATA +30 -223
- rapidtide-3.1.3.dist-info/RECORD +393 -0
- {rapidtide-2.9.6.dist-info → rapidtide-3.1.3.dist-info}/WHEEL +1 -1
- rapidtide-3.1.3.dist-info/entry_points.txt +65 -0
- rapidtide-3.1.3.dist-info/top_level.txt +2 -0
- rapidtide/calcandfitcorrpairs.py +0 -262
- rapidtide/data/examples/src/testoutputsize +0 -45
- rapidtide/data/models/model_revised/model.h5 +0 -0
- rapidtide/data/models/model_serdar/model.h5 +0 -0
- rapidtide/data/models/model_serdar2/model.h5 +0 -0
- rapidtide/data/reference/ASPECTS_nlin_asym_09c_2mm.nii.gz +0 -0
- rapidtide/data/reference/ASPECTS_nlin_asym_09c_2mm_mask.nii.gz +0 -0
- rapidtide/data/reference/ATTbasedFlowTerritories_split_nlin_asym_09c_2mm.nii.gz +0 -0
- rapidtide/data/reference/ATTbasedFlowTerritories_split_nlin_asym_09c_2mm_mask.nii.gz +0 -0
- rapidtide/data/reference/HCP1200_binmask_2mm_2009c_asym.nii.gz +0 -0
- rapidtide/data/reference/HCP1200_lag_2mm_2009c_asym.nii.gz +0 -0
- rapidtide/data/reference/HCP1200_mask_2mm_2009c_asym.nii.gz +0 -0
- rapidtide/data/reference/HCP1200_negmask_2mm_2009c_asym.nii.gz +0 -0
- rapidtide/data/reference/HCP1200_sigma_2mm_2009c_asym.nii.gz +0 -0
- rapidtide/data/reference/HCP1200_strength_2mm_2009c_asym.nii.gz +0 -0
- rapidtide/glmpass.py +0 -434
- rapidtide/refine_factored.py +0 -641
- rapidtide/scripts/retroglm +0 -23
- rapidtide/workflows/glmfrommaps.py +0 -202
- rapidtide/workflows/retroglm.py +0 -643
- rapidtide-2.9.6.data/scripts/adjustoffset +0 -23
- rapidtide-2.9.6.data/scripts/aligntcs +0 -23
- rapidtide-2.9.6.data/scripts/applydlfilter +0 -23
- rapidtide-2.9.6.data/scripts/atlasaverage +0 -23
- rapidtide-2.9.6.data/scripts/atlastool +0 -23
- rapidtide-2.9.6.data/scripts/calcicc +0 -22
- rapidtide-2.9.6.data/scripts/calctexticc +0 -23
- rapidtide-2.9.6.data/scripts/calcttest +0 -22
- rapidtide-2.9.6.data/scripts/ccorrica +0 -23
- rapidtide-2.9.6.data/scripts/diffrois +0 -23
- rapidtide-2.9.6.data/scripts/endtidalproc +0 -23
- rapidtide-2.9.6.data/scripts/filtnifti +0 -23
- rapidtide-2.9.6.data/scripts/filttc +0 -23
- rapidtide-2.9.6.data/scripts/fingerprint +0 -593
- rapidtide-2.9.6.data/scripts/fixtr +0 -23
- rapidtide-2.9.6.data/scripts/glmfilt +0 -24
- rapidtide-2.9.6.data/scripts/gmscalc +0 -22
- rapidtide-2.9.6.data/scripts/happy +0 -25
- rapidtide-2.9.6.data/scripts/happy2std +0 -23
- rapidtide-2.9.6.data/scripts/happywarp +0 -350
- rapidtide-2.9.6.data/scripts/histnifti +0 -23
- rapidtide-2.9.6.data/scripts/histtc +0 -23
- rapidtide-2.9.6.data/scripts/localflow +0 -23
- rapidtide-2.9.6.data/scripts/mergequality +0 -23
- rapidtide-2.9.6.data/scripts/pairproc +0 -23
- rapidtide-2.9.6.data/scripts/pairwisemergenifti +0 -23
- rapidtide-2.9.6.data/scripts/physiofreq +0 -23
- rapidtide-2.9.6.data/scripts/pixelcomp +0 -23
- rapidtide-2.9.6.data/scripts/plethquality +0 -23
- rapidtide-2.9.6.data/scripts/polyfitim +0 -23
- rapidtide-2.9.6.data/scripts/proj2flow +0 -23
- rapidtide-2.9.6.data/scripts/rankimage +0 -23
- rapidtide-2.9.6.data/scripts/rapidtide +0 -23
- rapidtide-2.9.6.data/scripts/rapidtide2std +0 -23
- rapidtide-2.9.6.data/scripts/resamplenifti +0 -23
- rapidtide-2.9.6.data/scripts/resampletc +0 -23
- rapidtide-2.9.6.data/scripts/retroglm +0 -23
- rapidtide-2.9.6.data/scripts/roisummarize +0 -23
- rapidtide-2.9.6.data/scripts/runqualitycheck +0 -23
- rapidtide-2.9.6.data/scripts/showarbcorr +0 -23
- rapidtide-2.9.6.data/scripts/showhist +0 -23
- rapidtide-2.9.6.data/scripts/showstxcorr +0 -23
- rapidtide-2.9.6.data/scripts/showtc +0 -23
- rapidtide-2.9.6.data/scripts/showxcorr_legacy +0 -536
- rapidtide-2.9.6.data/scripts/showxcorrx +0 -23
- rapidtide-2.9.6.data/scripts/showxy +0 -23
- rapidtide-2.9.6.data/scripts/simdata +0 -23
- rapidtide-2.9.6.data/scripts/spatialdecomp +0 -23
- rapidtide-2.9.6.data/scripts/spatialfit +0 -23
- rapidtide-2.9.6.data/scripts/spatialmi +0 -23
- rapidtide-2.9.6.data/scripts/spectrogram +0 -23
- rapidtide-2.9.6.data/scripts/synthASL +0 -23
- rapidtide-2.9.6.data/scripts/tcfrom2col +0 -23
- rapidtide-2.9.6.data/scripts/tcfrom3col +0 -23
- rapidtide-2.9.6.data/scripts/temporaldecomp +0 -23
- rapidtide-2.9.6.data/scripts/threeD +0 -236
- rapidtide-2.9.6.data/scripts/tidepool +0 -23
- rapidtide-2.9.6.data/scripts/variabilityizer +0 -23
- rapidtide-2.9.6.dist-info/RECORD +0 -359
- rapidtide-2.9.6.dist-info/top_level.txt +0 -86
- {rapidtide-2.9.6.dist-info → rapidtide-3.1.3.dist-info/licenses}/LICENSE +0 -0
rapidtide/tests/.coveragerc
CHANGED
|
@@ -6,18 +6,39 @@ sigterm = true
|
|
|
6
6
|
source = .
|
|
7
7
|
omit =
|
|
8
8
|
__init__.py
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
|
|
2
|
-
# -*- coding: utf-8 -*-
|
|
1
|
+
#!/bin/sh
|
|
3
2
|
#
|
|
4
|
-
# Copyright 2016-
|
|
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
|
-
|
|
22
|
-
|
|
19
|
+
rm tmp/*
|
|
20
|
+
rm .coverage.*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
2
|
# -*- coding: latin-1 -*-
|
|
3
3
|
#
|
|
4
|
-
# Copyright 2016-
|
|
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-
|
|
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.
|
rapidtide/tests/resettargets
CHANGED
rapidtide/tests/runlocaltest
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/bin/sh
|
|
2
2
|
#
|
|
3
|
-
# Copyright 2016-
|
|
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
|
rapidtide/tests/showkernels
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
2
|
# -*- coding: latin-1 -*-
|
|
3
3
|
#
|
|
4
|
-
# Copyright 2016-
|
|
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-
|
|
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
|
|
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
|
|
87
|
-
siglo = loaxis
|
|
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)
|
rapidtide/tests/test_aligntcs.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
#
|
|
4
|
-
# Copyright 2016-
|
|
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.
|
rapidtide/tests/test_calcicc.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
#
|
|
4
|
-
# Copyright 2016-
|
|
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)
|
rapidtide/tests/test_congrid.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
#
|
|
4
|
-
# Copyright 2016-
|
|
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.
|
|
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
|
|
78
|
-
for
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
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
|
-
|
|
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-
|
|
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.
|
rapidtide/tests/test_corrpass.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
#
|
|
4
|
-
# Copyright 2016-
|
|
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 =
|
|
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 =
|
|
144
|
+
thefitter = tide_simFuncClasses.SimilarityFunctionFitter(
|
|
145
145
|
lagmod=optiondict["lagmod"],
|
|
146
146
|
lthreshval=optiondict["lthreshval"],
|
|
147
147
|
uthreshval=optiondict["uthreshval"],
|