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.
- 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 +94 -27
- 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 +21 -0
- 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 +178 -0
- 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 +590 -1181
- rapidtide/io.py +2569 -468
- rapidtide/linfitfiltpass.py +784 -0
- rapidtide/makelaggedtcs.py +267 -97
- rapidtide/maskutil.py +555 -25
- rapidtide/miscmath.py +867 -137
- 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.5.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 +27 -15
- 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 +1833 -1919
- rapidtide/workflows/rapidtide2std.py +101 -3
- rapidtide/workflows/rapidtide_parser.py +607 -372
- 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.5.dist-info → rapidtide-3.1.3.dist-info}/METADATA +30 -223
- rapidtide-3.1.3.dist-info/RECORD +393 -0
- {rapidtide-2.9.5.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.5.data/scripts/adjustoffset +0 -23
- rapidtide-2.9.5.data/scripts/aligntcs +0 -23
- rapidtide-2.9.5.data/scripts/applydlfilter +0 -23
- rapidtide-2.9.5.data/scripts/atlasaverage +0 -23
- rapidtide-2.9.5.data/scripts/atlastool +0 -23
- rapidtide-2.9.5.data/scripts/calcicc +0 -22
- rapidtide-2.9.5.data/scripts/calctexticc +0 -23
- rapidtide-2.9.5.data/scripts/calcttest +0 -22
- rapidtide-2.9.5.data/scripts/ccorrica +0 -23
- rapidtide-2.9.5.data/scripts/diffrois +0 -23
- rapidtide-2.9.5.data/scripts/endtidalproc +0 -23
- rapidtide-2.9.5.data/scripts/filtnifti +0 -23
- rapidtide-2.9.5.data/scripts/filttc +0 -23
- rapidtide-2.9.5.data/scripts/fingerprint +0 -593
- rapidtide-2.9.5.data/scripts/fixtr +0 -23
- rapidtide-2.9.5.data/scripts/glmfilt +0 -24
- rapidtide-2.9.5.data/scripts/gmscalc +0 -22
- rapidtide-2.9.5.data/scripts/happy +0 -25
- rapidtide-2.9.5.data/scripts/happy2std +0 -23
- rapidtide-2.9.5.data/scripts/happywarp +0 -350
- rapidtide-2.9.5.data/scripts/histnifti +0 -23
- rapidtide-2.9.5.data/scripts/histtc +0 -23
- rapidtide-2.9.5.data/scripts/localflow +0 -23
- rapidtide-2.9.5.data/scripts/mergequality +0 -23
- rapidtide-2.9.5.data/scripts/pairproc +0 -23
- rapidtide-2.9.5.data/scripts/pairwisemergenifti +0 -23
- rapidtide-2.9.5.data/scripts/physiofreq +0 -23
- rapidtide-2.9.5.data/scripts/pixelcomp +0 -23
- rapidtide-2.9.5.data/scripts/plethquality +0 -23
- rapidtide-2.9.5.data/scripts/polyfitim +0 -23
- rapidtide-2.9.5.data/scripts/proj2flow +0 -23
- rapidtide-2.9.5.data/scripts/rankimage +0 -23
- rapidtide-2.9.5.data/scripts/rapidtide +0 -23
- rapidtide-2.9.5.data/scripts/rapidtide2std +0 -23
- rapidtide-2.9.5.data/scripts/resamplenifti +0 -23
- rapidtide-2.9.5.data/scripts/resampletc +0 -23
- rapidtide-2.9.5.data/scripts/retroglm +0 -23
- rapidtide-2.9.5.data/scripts/roisummarize +0 -23
- rapidtide-2.9.5.data/scripts/runqualitycheck +0 -23
- rapidtide-2.9.5.data/scripts/showarbcorr +0 -23
- rapidtide-2.9.5.data/scripts/showhist +0 -23
- rapidtide-2.9.5.data/scripts/showstxcorr +0 -23
- rapidtide-2.9.5.data/scripts/showtc +0 -23
- rapidtide-2.9.5.data/scripts/showxcorr_legacy +0 -536
- rapidtide-2.9.5.data/scripts/showxcorrx +0 -23
- rapidtide-2.9.5.data/scripts/showxy +0 -23
- rapidtide-2.9.5.data/scripts/simdata +0 -23
- rapidtide-2.9.5.data/scripts/spatialdecomp +0 -23
- rapidtide-2.9.5.data/scripts/spatialfit +0 -23
- rapidtide-2.9.5.data/scripts/spatialmi +0 -23
- rapidtide-2.9.5.data/scripts/spectrogram +0 -23
- rapidtide-2.9.5.data/scripts/synthASL +0 -23
- rapidtide-2.9.5.data/scripts/tcfrom2col +0 -23
- rapidtide-2.9.5.data/scripts/tcfrom3col +0 -23
- rapidtide-2.9.5.data/scripts/temporaldecomp +0 -23
- rapidtide-2.9.5.data/scripts/threeD +0 -236
- rapidtide-2.9.5.data/scripts/tidepool +0 -23
- rapidtide-2.9.5.data/scripts/variabilityizer +0 -23
- rapidtide-2.9.5.dist-info/RECORD +0 -357
- rapidtide-2.9.5.dist-info/top_level.txt +0 -86
- {rapidtide-2.9.5.dist-info → rapidtide-3.1.3.dist-info/licenses}/LICENSE +0 -0
|
@@ -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.
|
|
@@ -18,20 +18,23 @@
|
|
|
18
18
|
#
|
|
19
19
|
import argparse
|
|
20
20
|
import sys
|
|
21
|
+
from argparse import Namespace
|
|
22
|
+
from typing import Any, Callable, Dict, List, Optional, Tuple, Union
|
|
21
23
|
|
|
22
24
|
import matplotlib.cm as cm
|
|
23
25
|
import numpy as np
|
|
24
26
|
import scipy as sp
|
|
27
|
+
from numpy.typing import NDArray
|
|
25
28
|
from scipy.signal import correlate
|
|
26
29
|
from scipy.stats import pearsonr
|
|
27
30
|
|
|
28
31
|
import rapidtide.calcnullsimfunc as tide_nullsimfunc
|
|
29
32
|
import rapidtide.correlate as tide_corr
|
|
30
33
|
import rapidtide.fit as tide_fit
|
|
31
|
-
import rapidtide.helper_classes as tide_classes
|
|
32
34
|
import rapidtide.io as tide_io
|
|
33
35
|
import rapidtide.miscmath as tide_math
|
|
34
36
|
import rapidtide.peakeval as tide_peakeval
|
|
37
|
+
import rapidtide.simFuncClasses as tide_simFuncClasses
|
|
35
38
|
import rapidtide.stats as tide_stats
|
|
36
39
|
import rapidtide.util as tide_util
|
|
37
40
|
import rapidtide.workflows.parser_funcs as pf
|
|
@@ -40,9 +43,31 @@ DEFAULT_SIGMAMAX = 1000.0
|
|
|
40
43
|
DEFAULT_SIGMAMIN = 0.25
|
|
41
44
|
|
|
42
45
|
|
|
43
|
-
def _get_parser():
|
|
46
|
+
def _get_parser() -> Any:
|
|
44
47
|
"""
|
|
45
|
-
Argument parser for showxcorrx
|
|
48
|
+
Argument parser for showxcorrx.
|
|
49
|
+
|
|
50
|
+
This function constructs and returns an `argparse.ArgumentParser` object configured
|
|
51
|
+
to handle command-line arguments for the `showxcorrx` utility. It supports a wide
|
|
52
|
+
range of options for loading time series data, preprocessing, cross-correlation
|
|
53
|
+
computation, and output formatting.
|
|
54
|
+
|
|
55
|
+
Returns
|
|
56
|
+
-------
|
|
57
|
+
argparse.ArgumentParser
|
|
58
|
+
Configured argument parser for `showxcorrx`.
|
|
59
|
+
|
|
60
|
+
Notes
|
|
61
|
+
-----
|
|
62
|
+
The parser includes groups for general options, preprocessing, similarity function
|
|
63
|
+
options, output settings, and debugging. It supports optional arguments such as
|
|
64
|
+
sample rate specification, data filtering, detrending, correlation weighting,
|
|
65
|
+
and plotting controls.
|
|
66
|
+
|
|
67
|
+
Examples
|
|
68
|
+
--------
|
|
69
|
+
>>> parser = _get_parser()
|
|
70
|
+
>>> args = parser.parse_args()
|
|
46
71
|
"""
|
|
47
72
|
parser = argparse.ArgumentParser(
|
|
48
73
|
prog="showxcorrx",
|
|
@@ -179,7 +204,7 @@ def _get_parser():
|
|
|
179
204
|
default=False,
|
|
180
205
|
)
|
|
181
206
|
|
|
182
|
-
pf.addpermutationopts(
|
|
207
|
+
pf.addpermutationopts(parser, numreps=0)
|
|
183
208
|
|
|
184
209
|
# similarity function options
|
|
185
210
|
similarityopts = parser.add_argument_group("Similarity function options")
|
|
@@ -317,13 +342,168 @@ def _get_parser():
|
|
|
317
342
|
return parser
|
|
318
343
|
|
|
319
344
|
|
|
320
|
-
def printthresholds(pcts, thepercentiles, labeltext):
|
|
345
|
+
def printthresholds(pcts: Any, thepercentiles: Any, labeltext: Any) -> None:
|
|
346
|
+
"""
|
|
347
|
+
Print thresholds with corresponding percentiles.
|
|
348
|
+
|
|
349
|
+
This function prints a formatted list of thresholds along with their
|
|
350
|
+
corresponding percentile values for statistical analysis reporting.
|
|
351
|
+
|
|
352
|
+
Parameters
|
|
353
|
+
----------
|
|
354
|
+
pcts : Any
|
|
355
|
+
Array or list of percentile values to be printed
|
|
356
|
+
thepercentiles : Any
|
|
357
|
+
Array or list of percentile thresholds (typically between 0 and 1)
|
|
358
|
+
labeltext : Any
|
|
359
|
+
Text label to be printed before the threshold values
|
|
360
|
+
|
|
361
|
+
Returns
|
|
362
|
+
-------
|
|
363
|
+
None
|
|
364
|
+
This function prints to stdout and does not return any value
|
|
365
|
+
|
|
366
|
+
Notes
|
|
367
|
+
-----
|
|
368
|
+
The function formats the output to show "p < threshold: value" format
|
|
369
|
+
where the threshold is calculated as 1.0 - thepercentiles[i].
|
|
370
|
+
|
|
371
|
+
Examples
|
|
372
|
+
--------
|
|
373
|
+
>>> printthresholds([0.05, 0.01], [0.95, 0.99], "Significance Levels:")
|
|
374
|
+
Significance Levels:
|
|
375
|
+
p < 0.050 : 0.05
|
|
376
|
+
p < 0.010 : 0.01
|
|
377
|
+
"""
|
|
321
378
|
print(labeltext)
|
|
322
379
|
for i in range(0, len(pcts)):
|
|
323
380
|
print("\tp <", "{:.3f}".format(1.0 - thepercentiles[i]), ": ", pcts[i])
|
|
324
381
|
|
|
325
382
|
|
|
326
|
-
def showxcorrx(args):
|
|
383
|
+
def showxcorrx(args: Any) -> None:
|
|
384
|
+
"""
|
|
385
|
+
Compute and display cross-correlation or mutual information between two time series.
|
|
386
|
+
|
|
387
|
+
This function performs cross-correlation or mutual information analysis between two
|
|
388
|
+
time series, with optional filtering, normalization, and statistical significance
|
|
389
|
+
testing. It supports various similarity metrics and can output results to files or
|
|
390
|
+
display plots.
|
|
391
|
+
|
|
392
|
+
Parameters
|
|
393
|
+
----------
|
|
394
|
+
args : argparse.Namespace
|
|
395
|
+
Command-line arguments containing parameters for the analysis. Expected attributes include:
|
|
396
|
+
- infilename1, infilename2 : str
|
|
397
|
+
File names for the two time series.
|
|
398
|
+
- display : bool
|
|
399
|
+
Whether to display plots.
|
|
400
|
+
- samplerate : float or str
|
|
401
|
+
Sampling rate of the time series. If "auto", defaults to 1.0 Hz.
|
|
402
|
+
- startpoint, endpoint : float
|
|
403
|
+
Time range to analyze.
|
|
404
|
+
- trimdata : bool
|
|
405
|
+
Whether to trim data to the shortest length.
|
|
406
|
+
- invert : bool
|
|
407
|
+
Whether to invert the second time series.
|
|
408
|
+
- theprefilter : object
|
|
409
|
+
Filter object for preprocessing data.
|
|
410
|
+
- detrendorder : int
|
|
411
|
+
Order of detrending for correlation normalization.
|
|
412
|
+
- windowfunc : str
|
|
413
|
+
Window function for correlation normalization.
|
|
414
|
+
- corrweighting : str
|
|
415
|
+
Weighting method for correlation.
|
|
416
|
+
- zeropadding : int
|
|
417
|
+
Zero padding for correlation.
|
|
418
|
+
- smoothingtime : float
|
|
419
|
+
Smoothing time for mutual information calculation.
|
|
420
|
+
- minorm : bool
|
|
421
|
+
Whether to normalize mutual information.
|
|
422
|
+
- similaritymetric : str
|
|
423
|
+
Similarity metric to use ("correlation", "mutualinfo", "hybrid").
|
|
424
|
+
- lagmin, lagmax : float
|
|
425
|
+
Minimum and maximum lag for analysis.
|
|
426
|
+
- absmaxsigma, absminsigma : float
|
|
427
|
+
Sigma thresholds for peak fitting.
|
|
428
|
+
- cepstral : bool
|
|
429
|
+
Whether to compute cepstral delay.
|
|
430
|
+
- calccoherence : bool
|
|
431
|
+
Whether to compute coherence.
|
|
432
|
+
- calccsd : bool
|
|
433
|
+
Whether to compute cross-spectral density.
|
|
434
|
+
- numestreps : int
|
|
435
|
+
Number of bootstrap replicates for significance testing.
|
|
436
|
+
- showprogressbar : bool
|
|
437
|
+
Whether to show progress bar during bootstrap.
|
|
438
|
+
- permutationmethod : str
|
|
439
|
+
Permutation method for bootstrap.
|
|
440
|
+
- nprocs : int
|
|
441
|
+
Number of processes for parallel computation.
|
|
442
|
+
- summarymode : bool
|
|
443
|
+
Whether to output in summary format.
|
|
444
|
+
- resoutputfile : str
|
|
445
|
+
Output file for results.
|
|
446
|
+
- label : str
|
|
447
|
+
Label for output.
|
|
448
|
+
- labelline : bool
|
|
449
|
+
Whether to include label in output.
|
|
450
|
+
- colors : str
|
|
451
|
+
Comma-separated list of colors for plots.
|
|
452
|
+
- linewidths : str
|
|
453
|
+
Comma-separated list of line widths for plots.
|
|
454
|
+
- legendloc : int
|
|
455
|
+
Legend location for plots.
|
|
456
|
+
- legends : str
|
|
457
|
+
Legend labels for plots.
|
|
458
|
+
- dolegend : bool
|
|
459
|
+
Whether to display legend.
|
|
460
|
+
- thetitle : str
|
|
461
|
+
Title for plots.
|
|
462
|
+
- showxax, showyax : bool
|
|
463
|
+
Whether to show x and y axes.
|
|
464
|
+
- xlabel, ylabel : str
|
|
465
|
+
Axis labels.
|
|
466
|
+
- outputfile : str
|
|
467
|
+
Output file for plot.
|
|
468
|
+
- saveres : int
|
|
469
|
+
Resolution for saved plots.
|
|
470
|
+
- corroutputfile : str
|
|
471
|
+
Output file for correlation data.
|
|
472
|
+
- debug : bool
|
|
473
|
+
Whether to print debug information.
|
|
474
|
+
- verbose : bool
|
|
475
|
+
Whether to print verbose output.
|
|
476
|
+
- fontscalefac : float
|
|
477
|
+
Font scaling factor for plots.
|
|
478
|
+
|
|
479
|
+
Returns
|
|
480
|
+
-------
|
|
481
|
+
None
|
|
482
|
+
This function does not return a value but may display plots or write output files.
|
|
483
|
+
|
|
484
|
+
Notes
|
|
485
|
+
-----
|
|
486
|
+
The function supports multiple similarity metrics:
|
|
487
|
+
- "correlation": Pearson correlation coefficient
|
|
488
|
+
- "mutualinfo": Mutual information
|
|
489
|
+
- "hybrid": Combination of both metrics
|
|
490
|
+
|
|
491
|
+
Examples
|
|
492
|
+
--------
|
|
493
|
+
>>> import argparse
|
|
494
|
+
>>> args = argparse.Namespace(
|
|
495
|
+
... infilename1='data1.txt',
|
|
496
|
+
... infilename2='data2.txt',
|
|
497
|
+
... display=True,
|
|
498
|
+
... samplerate=1.0,
|
|
499
|
+
... startpoint=0,
|
|
500
|
+
... endpoint=100,
|
|
501
|
+
... similaritymetric='correlation',
|
|
502
|
+
... lagmin=-10,
|
|
503
|
+
... lagmax=10
|
|
504
|
+
... )
|
|
505
|
+
>>> showxcorrx(args)
|
|
506
|
+
"""
|
|
327
507
|
# set some default values
|
|
328
508
|
zerooutbadfit = False
|
|
329
509
|
peakfittype = "gauss"
|
|
@@ -454,12 +634,12 @@ def showxcorrx(args):
|
|
|
454
634
|
)
|
|
455
635
|
)
|
|
456
636
|
if (np.max(filtereddata1) - np.min(filtereddata1)) > 0.0:
|
|
457
|
-
thefit,
|
|
637
|
+
thefit, R2 = tide_fit.mlregress(regressorvec, filtereddata1)
|
|
458
638
|
if (np.max(filtereddata2) - np.min(filtereddata2)) > 0.0:
|
|
459
|
-
thefit,
|
|
639
|
+
thefit, R2 = tide_fit.mlregress(regressorvec, filtereddata2)
|
|
460
640
|
|
|
461
641
|
# initialize the Correlator and MutualInformationator
|
|
462
|
-
theCorrelator =
|
|
642
|
+
theCorrelator = tide_simFuncClasses.Correlator(
|
|
463
643
|
Fs=args.samplerate,
|
|
464
644
|
ncprefilter=theprefilter,
|
|
465
645
|
detrendorder=args.detrendorder,
|
|
@@ -469,7 +649,7 @@ def showxcorrx(args):
|
|
|
469
649
|
debug=args.debug,
|
|
470
650
|
)
|
|
471
651
|
theCorrelator.setreftc(trimdata2 * flipfac)
|
|
472
|
-
theMutualInformationator =
|
|
652
|
+
theMutualInformationator = tide_simFuncClasses.MutualInformationator(
|
|
473
653
|
Fs=args.samplerate,
|
|
474
654
|
smoothingtime=args.smoothingtime,
|
|
475
655
|
ncprefilter=theprefilter,
|
|
@@ -497,14 +677,22 @@ def showxcorrx(args):
|
|
|
497
677
|
else:
|
|
498
678
|
# do the correlation
|
|
499
679
|
thexcorr, xcorr_x, globalmax = theCorrelator.run(trimdata1, trim=False)
|
|
680
|
+
if args.display and args.debug:
|
|
681
|
+
plt.plot(xcorr_x, thexcorr)
|
|
682
|
+
plt.show()
|
|
500
683
|
print("Correlator lengths (x, y):", len(xcorr_x), len(thexcorr))
|
|
501
684
|
if dumpfiltered:
|
|
502
685
|
tide_io.writenpvecs(theCorrelator.preptesttc, "correlator_filtereddata1.txt")
|
|
503
686
|
tide_io.writenpvecs(theCorrelator.prepreftc, "correlator_filtereddata2.txt")
|
|
687
|
+
if args.debug:
|
|
688
|
+
print(f"limits: {args.lagmin, args.lagmax}")
|
|
504
689
|
theCorrelator.setlimits(
|
|
505
690
|
int((-args.lagmin * args.samplerate) - 0.5), int((args.lagmax * args.samplerate) + 0.5)
|
|
506
691
|
)
|
|
507
692
|
thexcorr_trim, xcorr_x_trim, dummy = theCorrelator.getfunction(trim=True)
|
|
693
|
+
if args.display and args.debug:
|
|
694
|
+
plt.plot(xcorr_x_trim, thexcorr_trim)
|
|
695
|
+
plt.show()
|
|
508
696
|
print("trimmed Correlator lengths (x, y):", len(xcorr_x_trim), len(thexcorr_trim))
|
|
509
697
|
|
|
510
698
|
if args.cepstral:
|
|
@@ -550,8 +738,8 @@ def showxcorrx(args):
|
|
|
550
738
|
)
|
|
551
739
|
|
|
552
740
|
if args.similaritymetric == "mutualinfo":
|
|
553
|
-
#
|
|
554
|
-
themifitter =
|
|
741
|
+
# initialize the similarity function fitter
|
|
742
|
+
themifitter = tide_simFuncClasses.SimilarityFunctionFitter(
|
|
555
743
|
corrtimeaxis=MI_x_trim,
|
|
556
744
|
lagmin=args.lagmin,
|
|
557
745
|
lagmax=args.lagmax,
|
|
@@ -565,8 +753,8 @@ def showxcorrx(args):
|
|
|
565
753
|
)
|
|
566
754
|
maxdelaymi = MI_x_trim[np.argmax(theMI_trim)]
|
|
567
755
|
else:
|
|
568
|
-
#
|
|
569
|
-
thexsimfuncfitter =
|
|
756
|
+
# initialize the correlation fitter
|
|
757
|
+
thexsimfuncfitter = tide_simFuncClasses.SimilarityFunctionFitter(
|
|
570
758
|
corrtimeaxis=xcorr_x,
|
|
571
759
|
lagmin=args.lagmin,
|
|
572
760
|
lagmax=args.lagmax,
|
|
@@ -591,9 +779,9 @@ def showxcorrx(args):
|
|
|
591
779
|
print("\n\nmaxdelay before refinement", maxdelay)
|
|
592
780
|
|
|
593
781
|
timeaxis = np.linspace(0, 1.0, num=len(trimdata1), endpoint=False) / args.samplerate
|
|
594
|
-
thetc = trimdata1
|
|
782
|
+
thetc = np.zeros_like(trimdata1)
|
|
595
783
|
|
|
596
|
-
if args.similaritymetric == "hybrid":
|
|
784
|
+
if args.similaritymetric == "hybrid" or args.similaritymetric == "correlation":
|
|
597
785
|
peakstartind = tide_util.valtoindex(xcorr_x, args.lagmin, discretization="floor")
|
|
598
786
|
peakendind = tide_util.valtoindex(xcorr_x, args.lagmax, discretization="ceiling") + 1
|
|
599
787
|
dummy, thepeaks = tide_peakeval._procOneVoxelPeaks(
|
|
@@ -676,17 +864,15 @@ def showxcorrx(args):
|
|
|
676
864
|
if args.numestreps > 0:
|
|
677
865
|
# generate a list of correlations from shuffled data
|
|
678
866
|
print("calculating null crosscorrelations")
|
|
679
|
-
corrlist = tide_nullsimfunc.
|
|
680
|
-
filtereddata2,
|
|
867
|
+
corrlist = tide_nullsimfunc.getNullDistributionData(
|
|
681
868
|
args.samplerate,
|
|
682
869
|
theCorrelator,
|
|
683
870
|
thexsimfuncfitter,
|
|
871
|
+
None,
|
|
684
872
|
numestreps=args.numestreps,
|
|
685
|
-
despeckle_thresh=1000.0,
|
|
686
873
|
showprogressbar=args.showprogressbar,
|
|
687
874
|
permutationmethod=args.permutationmethod,
|
|
688
875
|
nprocs=args.nprocs,
|
|
689
|
-
fixdelay=False,
|
|
690
876
|
)
|
|
691
877
|
|
|
692
878
|
# calculate percentiles for the crosscorrelation from the distribution data
|
|
@@ -709,17 +895,15 @@ def showxcorrx(args):
|
|
|
709
895
|
)
|
|
710
896
|
|
|
711
897
|
print("calculating null Pearson correlations")
|
|
712
|
-
corrlist_pear = tide_nullsimfunc.
|
|
713
|
-
filtereddata2,
|
|
898
|
+
corrlist_pear = tide_nullsimfunc.getNullDistributionData(
|
|
714
899
|
args.samplerate,
|
|
715
900
|
theCorrelator,
|
|
716
901
|
thexsimfuncfitter,
|
|
902
|
+
None,
|
|
717
903
|
numestreps=args.numestreps,
|
|
718
|
-
despeckle_thresh=1000.0,
|
|
719
904
|
showprogressbar=args.showprogressbar,
|
|
720
905
|
permutationmethod=args.permutationmethod,
|
|
721
906
|
nprocs=args.nprocs,
|
|
722
|
-
fixdelay=True,
|
|
723
907
|
)
|
|
724
908
|
|
|
725
909
|
# calculate significance for the pearson correlation
|
|
@@ -743,7 +927,7 @@ def showxcorrx(args):
|
|
|
743
927
|
tide_io.writenpvecs(corrlist_pear, "corrlist_pear.txt")
|
|
744
928
|
|
|
745
929
|
if args.debug:
|
|
746
|
-
print(thepxcorr)
|
|
930
|
+
print(thepxcorr.statistic, thepxcorr.pvalue)
|
|
747
931
|
|
|
748
932
|
if args.similaritymetric == "mutualinfo":
|
|
749
933
|
print(f"{tcname1}[0] = {tcname2}[{-maxdelaymi} seconds]")
|
|
@@ -777,7 +961,7 @@ def showxcorrx(args):
|
|
|
777
961
|
"xcorr_maxdelay",
|
|
778
962
|
]
|
|
779
963
|
thedataitems = [
|
|
780
|
-
str(thepxcorr
|
|
964
|
+
str(thepxcorr.statistic),
|
|
781
965
|
str(pearpcts_fit[0]),
|
|
782
966
|
str(R),
|
|
783
967
|
str(pcts_fit[0]),
|
|
@@ -786,8 +970,8 @@ def showxcorrx(args):
|
|
|
786
970
|
else:
|
|
787
971
|
thelabelitems = ["pearson_R", "pearson_p", "xcorr_R", "xcorr_maxdelay"]
|
|
788
972
|
thedataitems = [
|
|
789
|
-
str(thepxcorr
|
|
790
|
-
str(thepxcorr
|
|
973
|
+
str(thepxcorr.statistic),
|
|
974
|
+
str(thepxcorr.pvalue),
|
|
791
975
|
str(R),
|
|
792
976
|
str(-maxdelay),
|
|
793
977
|
]
|
|
@@ -806,7 +990,7 @@ def showxcorrx(args):
|
|
|
806
990
|
"""else:
|
|
807
991
|
# report the pearson correlation
|
|
808
992
|
if showpearson:
|
|
809
|
-
print("Pearson_R:\t", thepxcorr
|
|
993
|
+
print("Pearson_R:\t", thepxcorr.statistic)
|
|
810
994
|
if args.numestreps > 0:
|
|
811
995
|
for idx, percentile in enumerate(thepercentiles):
|
|
812
996
|
print(
|
|
@@ -862,39 +1046,43 @@ def showxcorrx(args):
|
|
|
862
1046
|
print("illegal legend location:", args.legendloc)
|
|
863
1047
|
sys.exit()
|
|
864
1048
|
|
|
865
|
-
fig = plt.figure()
|
|
866
|
-
ax = fig.add_subplot(111)
|
|
867
|
-
thelegend = []
|
|
868
|
-
if args.legends is not None:
|
|
869
|
-
thelegend.append = args.legends
|
|
870
|
-
else:
|
|
871
|
-
if args.similaritymetric == "mutualinfo":
|
|
872
|
-
thelegend.append("Mutual Information")
|
|
873
|
-
ax.plot(
|
|
874
|
-
MI_x_trim,
|
|
875
|
-
theMI_trim,
|
|
876
|
-
color=colorlist[0],
|
|
877
|
-
label=thelegend[0],
|
|
878
|
-
linewidth=thelinewidth[0],
|
|
879
|
-
)
|
|
880
|
-
else:
|
|
881
|
-
thelegend.append("Cross correlation")
|
|
882
|
-
ax.plot(
|
|
883
|
-
xcorr_x_trim,
|
|
884
|
-
thexcorr_trim,
|
|
885
|
-
color=colorlist[0],
|
|
886
|
-
label=thelegend[0],
|
|
887
|
-
linewidth=thelinewidth[0],
|
|
888
|
-
)
|
|
889
|
-
if args.dolegend:
|
|
890
|
-
ax.legend(thelegend, fontsize=thelegendfontsize, loc=args.legendloc)
|
|
891
|
-
ax.set_title("Similarity metric over the search range", fontsize=thetitlefontsize)
|
|
892
|
-
if args.showxax:
|
|
893
|
-
ax.tick_params(axis="x", labelsize=thexlabelfontsize, which="both")
|
|
894
|
-
if args.showyax:
|
|
895
|
-
ax.tick_params(axis="y", labelsize=theylabelfontsize, which="both")
|
|
896
|
-
|
|
897
1049
|
if args.display:
|
|
1050
|
+
fig = plt.figure()
|
|
1051
|
+
ax = fig.add_subplot(111)
|
|
1052
|
+
thelegend = []
|
|
1053
|
+
if args.legends is not None:
|
|
1054
|
+
thelegend.append = args.legends
|
|
1055
|
+
else:
|
|
1056
|
+
if args.similaritymetric == "mutualinfo":
|
|
1057
|
+
thelegend.append("Mutual Information")
|
|
1058
|
+
ax.plot(
|
|
1059
|
+
MI_x_trim,
|
|
1060
|
+
theMI_trim,
|
|
1061
|
+
color=colorlist[0],
|
|
1062
|
+
label=thelegend[0],
|
|
1063
|
+
linewidth=thelinewidth[0],
|
|
1064
|
+
)
|
|
1065
|
+
else:
|
|
1066
|
+
thelegend.append("Cross correlation")
|
|
1067
|
+
ax.plot(
|
|
1068
|
+
xcorr_x_trim,
|
|
1069
|
+
thexcorr_trim,
|
|
1070
|
+
color=colorlist[0],
|
|
1071
|
+
label=thelegend[0],
|
|
1072
|
+
linewidth=thelinewidth[0],
|
|
1073
|
+
)
|
|
1074
|
+
if args.dolegend:
|
|
1075
|
+
ax.legend(thelegend, fontsize=thelegendfontsize, loc=args.legendloc)
|
|
1076
|
+
if args.thetitle is not None:
|
|
1077
|
+
ax.set_title(args.thetitle, fontsize=thetitlefontsize)
|
|
1078
|
+
else:
|
|
1079
|
+
ax.set_title("Similarity metric over the search range", fontsize=thetitlefontsize)
|
|
1080
|
+
if args.showxax:
|
|
1081
|
+
ax.set_xlabel(args.xlabel, fontsize=thexlabelfontsize, fontweight="bold")
|
|
1082
|
+
ax.tick_params(axis="x", labelsize=thexlabelfontsize, which="both")
|
|
1083
|
+
if args.showyax:
|
|
1084
|
+
ax.set_ylabel(args.ylabel, fontsize=theylabelfontsize, fontweight="bold")
|
|
1085
|
+
ax.tick_params(axis="y", labelsize=theylabelfontsize, which="both")
|
|
898
1086
|
if args.outputfile is not None:
|
|
899
1087
|
plt.savefig(args.outputfile, bbox_inches="tight", dpi=args.saveres)
|
|
900
1088
|
else:
|