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
|
@@ -1,536 +0,0 @@
|
|
|
1
|
-
#!python
|
|
2
|
-
# -*- coding: utf-8 -*-
|
|
3
|
-
#
|
|
4
|
-
# Copyright 2016-2024 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 getopt
|
|
20
|
-
import sys
|
|
21
|
-
|
|
22
|
-
import numpy as np
|
|
23
|
-
from matplotlib.pyplot import figure, plot, show
|
|
24
|
-
from numpy import argmax, r_, zeros
|
|
25
|
-
from numpy.random import permutation
|
|
26
|
-
from scipy.stats import pearsonr
|
|
27
|
-
|
|
28
|
-
import rapidtide.correlate as tide_corr
|
|
29
|
-
import rapidtide.filter as tide_filt
|
|
30
|
-
import rapidtide.fit as tide_fit
|
|
31
|
-
import rapidtide.io as tide_io
|
|
32
|
-
import rapidtide.miscmath as tide_math
|
|
33
|
-
import rapidtide.stats as tide_stats
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
def getNullDistributionData(
|
|
37
|
-
indata,
|
|
38
|
-
xcorr_x,
|
|
39
|
-
thefilter,
|
|
40
|
-
windowfunc,
|
|
41
|
-
detrendorder,
|
|
42
|
-
searchstart,
|
|
43
|
-
searchend,
|
|
44
|
-
numreps=1000,
|
|
45
|
-
):
|
|
46
|
-
print("estimating significance distribution using ", numreps, " repetitions")
|
|
47
|
-
corrlist = zeros(numreps, dtype="float")
|
|
48
|
-
corrlist_pear = zeros(numreps, dtype="float")
|
|
49
|
-
xcorr_x_trim = xcorr_x[searchstart : searchend + 1]
|
|
50
|
-
|
|
51
|
-
filteredindata = tide_math.corrnormalize(
|
|
52
|
-
thefilter.apply(Fs, indata), windowfunc=windowfunc, detrendorder=detrendorder
|
|
53
|
-
)
|
|
54
|
-
for i in range(0, numreps):
|
|
55
|
-
# make a shuffled copy of the regressors
|
|
56
|
-
shuffleddata = permutation(indata)
|
|
57
|
-
|
|
58
|
-
# filter it
|
|
59
|
-
filteredshuffleddata = tide_math.corrnormalize(
|
|
60
|
-
thefilter.apply(Fs, shuffleddata),
|
|
61
|
-
windowfunc=windowfunc,
|
|
62
|
-
detrendorder=detrendorder,
|
|
63
|
-
)
|
|
64
|
-
|
|
65
|
-
# crosscorrelate with original
|
|
66
|
-
if gccphat:
|
|
67
|
-
theshuffledxcorr = tide_corr.fastcorrelate(
|
|
68
|
-
filteredindata, filteredshuffleddata, usefft=dofftcorr, weighting="phat"
|
|
69
|
-
)
|
|
70
|
-
|
|
71
|
-
else:
|
|
72
|
-
theshuffledxcorr = tide_corr.fastcorrelate(
|
|
73
|
-
filteredindata, filteredshuffleddata, usefft=dofftcorr
|
|
74
|
-
)
|
|
75
|
-
|
|
76
|
-
# find and tabulate correlation coefficient at optimal lag
|
|
77
|
-
theshuffledxcorr_trim = theshuffledxcorr[searchstart : searchend + 1]
|
|
78
|
-
maxdelay = xcorr_x_trim[argmax(theshuffledxcorr_trim)]
|
|
79
|
-
corrlist[i] = theshuffledxcorr_trim[argmax(theshuffledxcorr_trim)]
|
|
80
|
-
|
|
81
|
-
# find and tabulate correlation coefficient at 0 lag
|
|
82
|
-
corrlist_pear[i] = pearsonr(filteredindata, filteredshuffleddata)[0]
|
|
83
|
-
|
|
84
|
-
# progress
|
|
85
|
-
# tide_util.progressbar(i + 1, numreps, label='Percent complete')
|
|
86
|
-
|
|
87
|
-
# jump to line after progress bar
|
|
88
|
-
print()
|
|
89
|
-
|
|
90
|
-
# return the distribution data
|
|
91
|
-
return corrlist, corrlist_pear
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
def usage():
|
|
95
|
-
print("showxcorr - calculate and display crosscorrelation between two timeseries")
|
|
96
|
-
print("")
|
|
97
|
-
print(
|
|
98
|
-
"usage: showxcorr timecourse1 timecourse2 samplerate [-l LABEL] [-s STARTTIME] [-D DURATION] [-d] [-F LOWERFREQ,UPPERFREQ[,LOWERSTOP,UPPERSTOP]] [-V] [-L] [-R] [-C] [-t] [-w] [-f] [-z FILENAME] [-N TRIALS]"
|
|
99
|
-
)
|
|
100
|
-
print("")
|
|
101
|
-
print("required arguments:")
|
|
102
|
-
print(" timcoursefile1: text file containing a timeseries")
|
|
103
|
-
print(" timcoursefile2: text file containing a timeseries")
|
|
104
|
-
print(" samplerate: the sample rate of the timecourses, in Hz")
|
|
105
|
-
print("")
|
|
106
|
-
print("optional arguments:")
|
|
107
|
-
print(" -t - detrend the data")
|
|
108
|
-
print(" -w - window the data with a hamming function")
|
|
109
|
-
print(" -l LABEL - label for the delay value")
|
|
110
|
-
print(" -s STARTTIME - time of first datapoint to use in seconds in the first file")
|
|
111
|
-
print(" -D DURATION - amount of data to use in seconds")
|
|
112
|
-
print(" -r RANGE - restrict peak search range to +/- RANGE seconds (default is ")
|
|
113
|
-
print(" +/-15)")
|
|
114
|
-
print(" -d - turns off display of graph")
|
|
115
|
-
print(" -F - filter data and regressors from LOWERFREQ to UPPERFREQ.")
|
|
116
|
-
print(" LOWERSTOP and UPPERSTOP can be specified, or will be ")
|
|
117
|
-
print(" calculated automatically")
|
|
118
|
-
print(" -V - filter data and regressors to VLF band")
|
|
119
|
-
print(" -L - filter data and regressors to LFO band")
|
|
120
|
-
print(" -R - filter data and regressors to respiratory band")
|
|
121
|
-
print(" -C - filter data and regressors to cardiac band")
|
|
122
|
-
print(" -T - trim data to match")
|
|
123
|
-
print(" -A - print data on a single summary line")
|
|
124
|
-
print(" -a - if summary mode is on, add a header line showing what values ")
|
|
125
|
-
print(" mean")
|
|
126
|
-
print(" -f - negate (flip) second regressor")
|
|
127
|
-
print(" -z FILENAME - use the columns of FILENAME as controlling variables and ")
|
|
128
|
-
print(" return the partial correlation")
|
|
129
|
-
print(" -N TRIALS - estimate significance thresholds by Monte Carlo with TRIALS ")
|
|
130
|
-
print(" repetition")
|
|
131
|
-
print(" -Y - turn on debugging")
|
|
132
|
-
print("")
|
|
133
|
-
return ()
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
def main():
|
|
137
|
-
# get the command line parameters
|
|
138
|
-
searchrange = 15.0
|
|
139
|
-
uselabel = False
|
|
140
|
-
displayplots = True
|
|
141
|
-
gccphat = False
|
|
142
|
-
windowfunc = "None"
|
|
143
|
-
detrendorder = 0
|
|
144
|
-
dopartial = False
|
|
145
|
-
duration = 1000000.0
|
|
146
|
-
starttime = 0.0
|
|
147
|
-
doplot = False
|
|
148
|
-
thelabel = ""
|
|
149
|
-
trimdata = False
|
|
150
|
-
verbose = True
|
|
151
|
-
summarymode = False
|
|
152
|
-
dofftcorr = True
|
|
153
|
-
labelline = False
|
|
154
|
-
estimate_significance = False
|
|
155
|
-
writecorrlists = False
|
|
156
|
-
flipregressor = False
|
|
157
|
-
|
|
158
|
-
debug = False
|
|
159
|
-
if debug:
|
|
160
|
-
dumpfiltered = True
|
|
161
|
-
else:
|
|
162
|
-
dumpfiltered = False
|
|
163
|
-
showpearson = True
|
|
164
|
-
|
|
165
|
-
nargs = len(sys.argv)
|
|
166
|
-
if nargs < 4:
|
|
167
|
-
usage()
|
|
168
|
-
exit()
|
|
169
|
-
infilename1 = sys.argv[1]
|
|
170
|
-
infilename2 = sys.argv[2]
|
|
171
|
-
Fs = float(sys.argv[3])
|
|
172
|
-
|
|
173
|
-
theprefilter = tide_filt.NoncausalFilter()
|
|
174
|
-
|
|
175
|
-
inputdata1 = tide_io.readvec(infilename1)
|
|
176
|
-
inputdata2 = tide_io.readvec(infilename2)
|
|
177
|
-
numpoints = len(inputdata1)
|
|
178
|
-
|
|
179
|
-
# now scan for optional arguments
|
|
180
|
-
try:
|
|
181
|
-
opts, args = getopt.getopt(sys.argv[4:], "fN:r:z:aATtVLRCF:dl:s:D:wY", ["help"])
|
|
182
|
-
except getopt.GetoptError as err:
|
|
183
|
-
# print help information and exit:
|
|
184
|
-
print(str(err)) # will print something like "option -x not recognized"
|
|
185
|
-
usage()
|
|
186
|
-
sys.exit(2)
|
|
187
|
-
|
|
188
|
-
for o, a in opts:
|
|
189
|
-
if o == "-d":
|
|
190
|
-
displayplots = False
|
|
191
|
-
if verbose:
|
|
192
|
-
print("disable display")
|
|
193
|
-
elif o == "-Y":
|
|
194
|
-
debug = True
|
|
195
|
-
dumpfiltered = True
|
|
196
|
-
if verbose:
|
|
197
|
-
print("turning on debugging")
|
|
198
|
-
elif o == "-T":
|
|
199
|
-
trimdata = True
|
|
200
|
-
if verbose:
|
|
201
|
-
print("trimming data to match")
|
|
202
|
-
elif o == "-g":
|
|
203
|
-
gccphat = True
|
|
204
|
-
if verbose:
|
|
205
|
-
print("doing phase alignment transform")
|
|
206
|
-
elif o == "-f":
|
|
207
|
-
flipregressor = True
|
|
208
|
-
if verbose:
|
|
209
|
-
print("negating second regressor")
|
|
210
|
-
elif o == "-a":
|
|
211
|
-
labelline = True
|
|
212
|
-
if verbose:
|
|
213
|
-
print("turning on label line")
|
|
214
|
-
elif o == "-t":
|
|
215
|
-
detrendorder = 1
|
|
216
|
-
if verbose:
|
|
217
|
-
print("enabling linear detrending")
|
|
218
|
-
elif o == "-w":
|
|
219
|
-
windowfunc = "hamming"
|
|
220
|
-
if verbose:
|
|
221
|
-
print("enabling hamming windowing")
|
|
222
|
-
elif o == "-z":
|
|
223
|
-
controlvariablefile = a
|
|
224
|
-
dopartial = True
|
|
225
|
-
if verbose:
|
|
226
|
-
print("performing partial correlations")
|
|
227
|
-
elif o == "-l":
|
|
228
|
-
thelabel = a
|
|
229
|
-
uselabel = True
|
|
230
|
-
if verbose:
|
|
231
|
-
print("label set to", thelabel)
|
|
232
|
-
elif o == "-N":
|
|
233
|
-
numreps = int(a)
|
|
234
|
-
estimate_significance = True
|
|
235
|
-
if verbose:
|
|
236
|
-
print("estimating significance threshold with ", numreps, " trials")
|
|
237
|
-
elif o == "-r":
|
|
238
|
-
searchrange = float(a)
|
|
239
|
-
if verbose:
|
|
240
|
-
print("peak search restricted to +/-", searchrange, " seconds")
|
|
241
|
-
elif o == "-D":
|
|
242
|
-
duration = float(a)
|
|
243
|
-
if verbose:
|
|
244
|
-
print("duration set to", duration)
|
|
245
|
-
elif o == "-s":
|
|
246
|
-
starttime = float(a)
|
|
247
|
-
if verbose:
|
|
248
|
-
print("starttime set to", starttime)
|
|
249
|
-
elif o == "-V":
|
|
250
|
-
theprefilter.settype("vlf")
|
|
251
|
-
if verbose:
|
|
252
|
-
print("prefiltering to vlf band")
|
|
253
|
-
elif o == "-L":
|
|
254
|
-
theprefilter.settype("lfo")
|
|
255
|
-
if verbose:
|
|
256
|
-
print("prefiltering to lfo band")
|
|
257
|
-
elif o == "-R":
|
|
258
|
-
theprefilter.settype("resp")
|
|
259
|
-
if verbose:
|
|
260
|
-
print("prefiltering to respiratory band")
|
|
261
|
-
elif o == "-C":
|
|
262
|
-
theprefilter.settype("cardiac")
|
|
263
|
-
if verbose:
|
|
264
|
-
print("prefiltering to cardiac band")
|
|
265
|
-
elif o == "-A":
|
|
266
|
-
verbose = False
|
|
267
|
-
summarymode = True
|
|
268
|
-
elif o == "-F":
|
|
269
|
-
arbvec = a.split(",")
|
|
270
|
-
if len(arbvec) != 2 and len(arbvec) != 4:
|
|
271
|
-
usage()
|
|
272
|
-
sys.exit()
|
|
273
|
-
if len(arbvec) == 2:
|
|
274
|
-
arb_lower = float(arbvec[0])
|
|
275
|
-
arb_upper = float(arbvec[1])
|
|
276
|
-
arb_lowerstop = 0.9 * float(arbvec[0])
|
|
277
|
-
arb_upperstop = 1.1 * float(arbvec[1])
|
|
278
|
-
if len(arbvec) == 4:
|
|
279
|
-
arb_lower = float(arbvec[0])
|
|
280
|
-
arb_upper = float(arbvec[1])
|
|
281
|
-
arb_lowerstop = float(arbvec[2])
|
|
282
|
-
arb_upperstop = float(arbvec[3])
|
|
283
|
-
theprefilter.settype("arb")
|
|
284
|
-
theprefilter.setfreqs(arb_lowerstop, arb_lower, arb_upper, arb_upperstop)
|
|
285
|
-
if verbose:
|
|
286
|
-
print(
|
|
287
|
-
"prefiltering to ",
|
|
288
|
-
arb_lower,
|
|
289
|
-
arb_upper,
|
|
290
|
-
"(stops at ",
|
|
291
|
-
arb_lowerstop,
|
|
292
|
-
arb_upperstop,
|
|
293
|
-
")",
|
|
294
|
-
)
|
|
295
|
-
else:
|
|
296
|
-
assert False, "unhandled option"
|
|
297
|
-
|
|
298
|
-
startpoint1 = max([int(starttime * Fs), 0])
|
|
299
|
-
if debug:
|
|
300
|
-
print("startpoint set to ", startpoint1)
|
|
301
|
-
endpoint1 = min([startpoint1 + int(duration * Fs), int(len(inputdata1))])
|
|
302
|
-
if debug:
|
|
303
|
-
print("endpoint set to ", endpoint1)
|
|
304
|
-
endpoint2 = min([int(duration * Fs), int(len(inputdata1)), int(len(inputdata2))])
|
|
305
|
-
trimdata1 = inputdata1[startpoint1:endpoint1]
|
|
306
|
-
trimdata2 = inputdata2[0:endpoint2]
|
|
307
|
-
|
|
308
|
-
if trimdata:
|
|
309
|
-
minlen = np.min([len(trimdata1), len(trimdata2)])
|
|
310
|
-
trimdata1 = trimdata1[0:minlen]
|
|
311
|
-
trimdata2 = trimdata2[0:minlen]
|
|
312
|
-
|
|
313
|
-
# band limit the regressor if that is needed
|
|
314
|
-
if theprefilter.gettype() != "None":
|
|
315
|
-
if verbose:
|
|
316
|
-
print("filtering to ", theprefilter.gettype(), " band")
|
|
317
|
-
filtereddata1 = tide_math.corrnormalize(
|
|
318
|
-
theprefilter.apply(Fs, trimdata1),
|
|
319
|
-
windowfunc=windowfunc,
|
|
320
|
-
detrendorder=detrendorder,
|
|
321
|
-
)
|
|
322
|
-
filtereddata2 = tide_math.corrnormalize(
|
|
323
|
-
theprefilter.apply(Fs, trimdata2),
|
|
324
|
-
windowfunc=windowfunc,
|
|
325
|
-
detrendorder=detrendorder,
|
|
326
|
-
)
|
|
327
|
-
if flipregressor:
|
|
328
|
-
filtereddata2 *= -1.0
|
|
329
|
-
if dumpfiltered:
|
|
330
|
-
tide_io.writenpvecs(filtereddata1, "filtereddata1.txt")
|
|
331
|
-
tide_io.writenpvecs(filtereddata2, "filtereddata2.txt")
|
|
332
|
-
|
|
333
|
-
if dopartial:
|
|
334
|
-
controlvars = tide_io.readvecs(controlvariablefile)
|
|
335
|
-
regressorvec = []
|
|
336
|
-
for j in range(0, controlvars.shape[0]):
|
|
337
|
-
regressorvec.append(
|
|
338
|
-
tide_math.corrnormalize(
|
|
339
|
-
theprefilter.apply(Fs, controlvars[j, :]),
|
|
340
|
-
windowfunc=windowfunc,
|
|
341
|
-
detrendorder=detrendorder,
|
|
342
|
-
)
|
|
343
|
-
)
|
|
344
|
-
if (np.max(filtereddata1) - np.min(filtereddata1)) > 0.0:
|
|
345
|
-
thefit, filtereddata1 = tide_fit.mlregress(regressorvec, filtereddata1)
|
|
346
|
-
if (np.max(filtereddata2) - np.min(filtereddata2)) > 0.0:
|
|
347
|
-
thefit, filtereddata2 = tide_fit.mlregress(regressorvec, filtereddata2)
|
|
348
|
-
|
|
349
|
-
if gccphat:
|
|
350
|
-
thexcorr = tide_corr.fastcorrelate(
|
|
351
|
-
filtereddata1, filtereddata2, usefft=dofftcorr, weighting="phat"
|
|
352
|
-
)
|
|
353
|
-
else:
|
|
354
|
-
thexcorr = tide_corr.fastcorrelate(filtereddata1, filtereddata2, usefft=dofftcorr)
|
|
355
|
-
thepxcorr = pearsonr(filtereddata1, filtereddata2)
|
|
356
|
-
|
|
357
|
-
xcorrlen = len(thexcorr)
|
|
358
|
-
sampletime = 1.0 / Fs
|
|
359
|
-
xcorr_x = r_[0.0:xcorrlen] * sampletime - (xcorrlen * sampletime) / 2.0 + sampletime / 2.0
|
|
360
|
-
halfwindow = int(searchrange * Fs)
|
|
361
|
-
corrzero = xcorrlen // 2
|
|
362
|
-
searchstart = corrzero - halfwindow
|
|
363
|
-
searchend = corrzero + halfwindow
|
|
364
|
-
xcorr_x_trim = xcorr_x[searchstart : searchend + 1]
|
|
365
|
-
thexcorr_trim = thexcorr[searchstart : searchend + 1]
|
|
366
|
-
if debug:
|
|
367
|
-
print("searching for peak correlation over range ", searchstart, searchend)
|
|
368
|
-
maxdelay = xcorr_x_trim[argmax(thexcorr_trim)]
|
|
369
|
-
if debug:
|
|
370
|
-
print("maxdelay before refinement", maxdelay)
|
|
371
|
-
dofindmaxlag = True
|
|
372
|
-
if dofindmaxlag:
|
|
373
|
-
print("executing findmaxlag")
|
|
374
|
-
(
|
|
375
|
-
maxindex,
|
|
376
|
-
maxdelay,
|
|
377
|
-
maxval,
|
|
378
|
-
maxsigma,
|
|
379
|
-
maskval,
|
|
380
|
-
failreason,
|
|
381
|
-
peakstart,
|
|
382
|
-
peakend,
|
|
383
|
-
) = tide_fit.findmaxlag_gauss(
|
|
384
|
-
xcorr_x_trim,
|
|
385
|
-
thexcorr_trim,
|
|
386
|
-
-searchrange,
|
|
387
|
-
searchrange,
|
|
388
|
-
1000.0,
|
|
389
|
-
refine=True,
|
|
390
|
-
useguess=False,
|
|
391
|
-
fastgauss=False,
|
|
392
|
-
displayplots=False,
|
|
393
|
-
)
|
|
394
|
-
print(maxindex, maxdelay, maxval, maxsigma, maskval, failreason)
|
|
395
|
-
R = maxval
|
|
396
|
-
if debug:
|
|
397
|
-
print("maxdelay after refinement", maxdelay)
|
|
398
|
-
if failreason > 0:
|
|
399
|
-
print("failreason =", failreason)
|
|
400
|
-
else:
|
|
401
|
-
R = thexcorr_trim[argmax(thexcorr_trim)]
|
|
402
|
-
|
|
403
|
-
# set the significance threshold
|
|
404
|
-
if estimate_significance:
|
|
405
|
-
# generate a list of correlations from shuffled data
|
|
406
|
-
corrlist, corrlist_pear = getNullDistributionData(
|
|
407
|
-
trimdata1,
|
|
408
|
-
xcorr_x,
|
|
409
|
-
theprefilter,
|
|
410
|
-
windowfunc,
|
|
411
|
-
detrendorder,
|
|
412
|
-
searchstart,
|
|
413
|
-
searchend,
|
|
414
|
-
numreps=numreps,
|
|
415
|
-
)
|
|
416
|
-
|
|
417
|
-
# calculate percentiles for the crosscorrelation from the distribution data
|
|
418
|
-
histlen = 100
|
|
419
|
-
thepercentiles = [0.95, 0.99, 0.995]
|
|
420
|
-
|
|
421
|
-
pcts, pcts_fit, histfit = tide_stats.sigFromDistributionData(
|
|
422
|
-
corrlist, histlen, thepercentiles
|
|
423
|
-
)
|
|
424
|
-
if debug:
|
|
425
|
-
tide_stats.printthresholds(
|
|
426
|
-
pcts,
|
|
427
|
-
thepercentiles,
|
|
428
|
-
"Crosscorrelation significance thresholds from data:",
|
|
429
|
-
)
|
|
430
|
-
tide_stats.printthresholds(
|
|
431
|
-
pcts_fit,
|
|
432
|
-
thepercentiles,
|
|
433
|
-
"Crosscorrelation significance thresholds from fit:",
|
|
434
|
-
)
|
|
435
|
-
|
|
436
|
-
# calculate significance for the pearson correlation
|
|
437
|
-
pearpcts, pearpcts_fit, histfit = tide_stats.sigFromDistributionData(
|
|
438
|
-
corrlist_pear, histlen, thepercentiles
|
|
439
|
-
)
|
|
440
|
-
if debug:
|
|
441
|
-
tide_stats.printthresholds(
|
|
442
|
-
pearpcts,
|
|
443
|
-
thepercentiles,
|
|
444
|
-
"Pearson correlation significance thresholds from data:",
|
|
445
|
-
)
|
|
446
|
-
tide_stats.printthresholds(
|
|
447
|
-
pearpcts_fit,
|
|
448
|
-
thepercentiles,
|
|
449
|
-
"Pearson correlation significance thresholds from fit:",
|
|
450
|
-
)
|
|
451
|
-
|
|
452
|
-
if writecorrlists:
|
|
453
|
-
tide_io.writenpvecs(corrlist, "corrlist.txt")
|
|
454
|
-
tide_io.writenpvecs(corrlist_pear, "corrlist_pear.txt")
|
|
455
|
-
|
|
456
|
-
# report the pearson correlation
|
|
457
|
-
if showpearson and verbose:
|
|
458
|
-
print("Pearson_R:\t", thepxcorr[0])
|
|
459
|
-
if estimate_significance:
|
|
460
|
-
for idx, percentile in enumerate(thepercentiles):
|
|
461
|
-
print(
|
|
462
|
-
" pear_p(",
|
|
463
|
-
"{:.3f}".format(1.0 - percentile),
|
|
464
|
-
"):\t",
|
|
465
|
-
pearpcts[idx],
|
|
466
|
-
)
|
|
467
|
-
print("")
|
|
468
|
-
|
|
469
|
-
if debug:
|
|
470
|
-
print(thepxcorr)
|
|
471
|
-
|
|
472
|
-
if verbose:
|
|
473
|
-
if uselabel:
|
|
474
|
-
print(thelabel, ":\t", maxdelay)
|
|
475
|
-
else:
|
|
476
|
-
print("Crosscorrelation_Rmax:\t", R)
|
|
477
|
-
print("Crosscorrelation_maxdelay:\t", maxdelay)
|
|
478
|
-
if estimate_significance:
|
|
479
|
-
for idx, percentile in enumerate(thepercentiles):
|
|
480
|
-
print(
|
|
481
|
-
" xc_p(",
|
|
482
|
-
"{:.3f}".format(1.0 - percentile),
|
|
483
|
-
"):\t",
|
|
484
|
-
pcts[idx],
|
|
485
|
-
)
|
|
486
|
-
print(infilename1, "[0 seconds] == ", infilename2, "[", -maxdelay, " seconds]")
|
|
487
|
-
|
|
488
|
-
if summarymode:
|
|
489
|
-
if estimate_significance:
|
|
490
|
-
if uselabel:
|
|
491
|
-
if labelline:
|
|
492
|
-
print(
|
|
493
|
-
"thelabel",
|
|
494
|
-
"pearson_R",
|
|
495
|
-
"pearson_R(p=0.05)",
|
|
496
|
-
"xcorr_R",
|
|
497
|
-
"xcorr_R(P=0.05)",
|
|
498
|
-
"xcorr_maxdelay",
|
|
499
|
-
)
|
|
500
|
-
print(thelabel, thepxcorr[0], pearpcts_fit[0], R, pcts_fit[0], -maxdelay)
|
|
501
|
-
else:
|
|
502
|
-
if labelline:
|
|
503
|
-
print(
|
|
504
|
-
"pearson_R",
|
|
505
|
-
"pearson_R(p=0.05)",
|
|
506
|
-
"xcorr_R",
|
|
507
|
-
"xcorr_R(P=0.05)",
|
|
508
|
-
"xcorr_maxdelay",
|
|
509
|
-
)
|
|
510
|
-
print(thepxcorr[0], pearpcts_fit[0], R, pcts_fit[0], -maxdelay)
|
|
511
|
-
else:
|
|
512
|
-
if uselabel:
|
|
513
|
-
if labelline:
|
|
514
|
-
print(
|
|
515
|
-
"thelabel",
|
|
516
|
-
"pearson_r",
|
|
517
|
-
"pearson_p",
|
|
518
|
-
"xcorr_R",
|
|
519
|
-
"xcorr_maxdelay",
|
|
520
|
-
)
|
|
521
|
-
print(thelabel, thepxcorr[0], thepxcorr[1], R, -maxdelay)
|
|
522
|
-
else:
|
|
523
|
-
if labelline:
|
|
524
|
-
print("pearson_r\tpearson_p\txcorr_R\txcorr_t\txcorr_maxdelay")
|
|
525
|
-
print(thepxcorr[0], "\t", thepxcorr[1], "\t", R, "\t", -maxdelay)
|
|
526
|
-
|
|
527
|
-
if displayplots:
|
|
528
|
-
fig = figure()
|
|
529
|
-
ax = fig.add_subplot(111)
|
|
530
|
-
# ax.set_title('GCC')
|
|
531
|
-
plot(xcorr_x, thexcorr, "k")
|
|
532
|
-
show()
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
if __name__ == "__main__":
|
|
536
|
-
main()
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
#!python
|
|
2
|
-
# -*- coding: utf-8 -*-
|
|
3
|
-
#
|
|
4
|
-
# Copyright 2016-2024 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 rapidtide.workflows.parser_funcs as pf
|
|
20
|
-
import rapidtide.workflows.showxcorrx as theworkflow
|
|
21
|
-
|
|
22
|
-
if __name__ == "__main__":
|
|
23
|
-
pf.generic_init(theworkflow._get_parser, theworkflow.showxcorrx)
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
#!python
|
|
2
|
-
# -*- coding: utf-8 -*-
|
|
3
|
-
#
|
|
4
|
-
# Copyright 2016-2024 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 rapidtide.workflows.parser_funcs as pf
|
|
20
|
-
import rapidtide.workflows.showxy as theworkflow
|
|
21
|
-
|
|
22
|
-
if __name__ == "__main__":
|
|
23
|
-
pf.generic_init(theworkflow._get_parser, theworkflow.showxy)
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
#!python
|
|
2
|
-
# -*- coding: utf-8 -*-
|
|
3
|
-
#
|
|
4
|
-
# Copyright 2016-2024 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 rapidtide.workflows.parser_funcs as pf
|
|
20
|
-
import rapidtide.workflows.simdata as theworkflow
|
|
21
|
-
|
|
22
|
-
if __name__ == "__main__":
|
|
23
|
-
pf.generic_init(theworkflow._get_parser, theworkflow.simdata)
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
#!python
|
|
2
|
-
# -*- coding: utf-8 -*-
|
|
3
|
-
#
|
|
4
|
-
# Copyright 2016-2024 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 rapidtide.workflows.niftidecomp as theworkflow
|
|
20
|
-
import rapidtide.workflows.parser_funcs as pf
|
|
21
|
-
|
|
22
|
-
if __name__ == "__main__":
|
|
23
|
-
pf.generic_init(theworkflow._get_parser_spatial, theworkflow.main_spatial)
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
#!python
|
|
2
|
-
# -*- coding: utf-8 -*-
|
|
3
|
-
#
|
|
4
|
-
# Copyright 2016-2024 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 rapidtide.workflows.parser_funcs as pf
|
|
20
|
-
import rapidtide.workflows.spatialfit as theworkflow
|
|
21
|
-
|
|
22
|
-
if __name__ == "__main__":
|
|
23
|
-
pf.generic_init(theworkflow._get_parser, theworkflow.spatialfit)
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
#!python
|
|
2
|
-
# -*- coding: utf-8 -*-
|
|
3
|
-
#
|
|
4
|
-
# Copyright 2016-2024 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 rapidtide.workflows.parser_funcs as pf
|
|
20
|
-
import rapidtide.workflows.spatialmi as theworkflow
|
|
21
|
-
|
|
22
|
-
if __name__ == "__main__":
|
|
23
|
-
pf.generic_init(theworkflow._get_parser, theworkflow.spatialmi)
|