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
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
# -*- coding: utf-8 -*-
|
|
3
|
+
#
|
|
4
|
+
# Copyright 2016-2025 Blaise Frederick
|
|
5
|
+
#
|
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
# you may not use this file except in compliance with the License.
|
|
8
|
+
# You may obtain a copy of the License at
|
|
9
|
+
#
|
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
#
|
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
# See the License for the specific language governing permissions and
|
|
16
|
+
# limitations under the License.
|
|
17
|
+
#
|
|
18
|
+
#
|
|
19
|
+
import matplotlib as mpl
|
|
20
|
+
import matplotlib.pyplot as plt
|
|
21
|
+
import numpy as np
|
|
22
|
+
import scipy as sp
|
|
23
|
+
|
|
24
|
+
from rapidtide.filter import NoncausalFilter
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def maketestwaves(timeaxis):
|
|
28
|
+
# construct some test waveforms for end effects
|
|
29
|
+
tclen = len(timeaxis)
|
|
30
|
+
testwaves = []
|
|
31
|
+
testwaves.append(
|
|
32
|
+
{
|
|
33
|
+
"name": "constant high",
|
|
34
|
+
"timeaxis": 1.0 * timeaxis,
|
|
35
|
+
"waveform": np.ones((tclen), dtype="float"),
|
|
36
|
+
}
|
|
37
|
+
)
|
|
38
|
+
testwaves.append(
|
|
39
|
+
{
|
|
40
|
+
"name": "white noise",
|
|
41
|
+
"timeaxis": 1.0 * timeaxis,
|
|
42
|
+
"waveform": 0.3 * np.random.normal(size=tclen),
|
|
43
|
+
}
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
scratch = np.zeros_like(timeaxis)
|
|
47
|
+
scratch[int(tclen / 5) : int(2 * tclen / 5)] = 1.0
|
|
48
|
+
scratch[int(3 * tclen / 5) : int(4 * tclen / 5)] = 1.0
|
|
49
|
+
testwaves.append(
|
|
50
|
+
{
|
|
51
|
+
"name": "block regressor",
|
|
52
|
+
"timeaxis": 1.0 * timeaxis,
|
|
53
|
+
"waveform": 1.0 * scratch,
|
|
54
|
+
}
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
scratch = np.zeros_like(timeaxis)
|
|
58
|
+
scratch[int(tclen / 2) :] = 1.0
|
|
59
|
+
testwaves.append(
|
|
60
|
+
{
|
|
61
|
+
"name": "step regressor",
|
|
62
|
+
"timeaxis": 1.0 * timeaxis,
|
|
63
|
+
"waveform": 1.0 * scratch,
|
|
64
|
+
}
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
scratch = np.exp(-timeaxis / timeaxis[2])
|
|
68
|
+
testwaves.append(
|
|
69
|
+
{
|
|
70
|
+
"name": "damped exponential regressor",
|
|
71
|
+
"timeaxis": 1.0 * timeaxis,
|
|
72
|
+
"waveform": 1.0 * scratch,
|
|
73
|
+
}
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
testwaves.append(
|
|
77
|
+
{
|
|
78
|
+
"name": "white noise plus exponential",
|
|
79
|
+
"timeaxis": 1.0 * timeaxis,
|
|
80
|
+
"waveform": 0.3 * np.random.normal(size=tclen) + scratch,
|
|
81
|
+
}
|
|
82
|
+
)
|
|
83
|
+
return testwaves
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
def eval_padvecprops(
|
|
87
|
+
sampletime=0.72, tclengthinsecs=300.0, numruns=100, displayplots=False, debug=False
|
|
88
|
+
):
|
|
89
|
+
np.random.seed(12345)
|
|
90
|
+
tclen = int(tclengthinsecs // sampletime)
|
|
91
|
+
print("Testing transfer function:")
|
|
92
|
+
lowestfreq = 1.0 / (sampletime * tclen)
|
|
93
|
+
nyquist = 0.5 / sampletime
|
|
94
|
+
print(
|
|
95
|
+
" sampletime=",
|
|
96
|
+
sampletime,
|
|
97
|
+
", timecourse length=",
|
|
98
|
+
tclengthinsecs,
|
|
99
|
+
"s, possible frequency range:",
|
|
100
|
+
lowestfreq,
|
|
101
|
+
nyquist,
|
|
102
|
+
)
|
|
103
|
+
timeaxis = np.linspace(0.0, sampletime * tclen, num=tclen, endpoint=False)
|
|
104
|
+
|
|
105
|
+
overall = np.random.normal(size=tclen)
|
|
106
|
+
nperseg = np.min([tclen, 2048])
|
|
107
|
+
f, dummy = sp.signal.welch(overall, fs=1.0 / sampletime, nperseg=nperseg)
|
|
108
|
+
|
|
109
|
+
padtypelist = ["reflect", "zero", "cyclic", "constant", "constant+"]
|
|
110
|
+
transferfunclist = ["brickwall", "trapezoidal", "butterworth"]
|
|
111
|
+
|
|
112
|
+
# construct some test waveforms for end effects
|
|
113
|
+
testwaves = maketestwaves(timeaxis)
|
|
114
|
+
|
|
115
|
+
for padtype in padtypelist:
|
|
116
|
+
allfilters = []
|
|
117
|
+
# construct all the physiological filters
|
|
118
|
+
for filtertype in ["None", "lfo", "resp", "cardiac", "hrv_lf", "hrv_hf", "hrv_vhf"]:
|
|
119
|
+
testfilter = NoncausalFilter(filtertype=filtertype, padtype=padtype)
|
|
120
|
+
lstest, lptest, uptest, ustest = testfilter.getfreqs()
|
|
121
|
+
if lptest < nyquist:
|
|
122
|
+
for transferfunc in transferfunclist:
|
|
123
|
+
allfilters.append(
|
|
124
|
+
{
|
|
125
|
+
"name": filtertype + " " + transferfunc + " " + padtype,
|
|
126
|
+
"filter": NoncausalFilter(
|
|
127
|
+
filtertype=filtertype,
|
|
128
|
+
transferfunc=transferfunc,
|
|
129
|
+
padtype=padtype,
|
|
130
|
+
debug=False,
|
|
131
|
+
),
|
|
132
|
+
}
|
|
133
|
+
)
|
|
134
|
+
|
|
135
|
+
# make the lowpass filters
|
|
136
|
+
for transferfunc in transferfunclist:
|
|
137
|
+
testfilter = NoncausalFilter(
|
|
138
|
+
filtertype="arb",
|
|
139
|
+
transferfunc=transferfunc,
|
|
140
|
+
initlowerstop=0.0,
|
|
141
|
+
initlowerpass=0.0,
|
|
142
|
+
initupperpass=0.1,
|
|
143
|
+
initupperstop=0.11,
|
|
144
|
+
)
|
|
145
|
+
lstest, lptest, uptest, ustest = testfilter.getfreqs()
|
|
146
|
+
if lptest < nyquist:
|
|
147
|
+
allfilters.append(
|
|
148
|
+
{
|
|
149
|
+
"name": "0.1Hz LP " + transferfunc,
|
|
150
|
+
"filter": NoncausalFilter(
|
|
151
|
+
filtertype="arb",
|
|
152
|
+
transferfunc=transferfunc,
|
|
153
|
+
initlowerstop=0.0,
|
|
154
|
+
initlowerpass=0.0,
|
|
155
|
+
initupperpass=0.1,
|
|
156
|
+
initupperstop=0.11,
|
|
157
|
+
debug=False,
|
|
158
|
+
),
|
|
159
|
+
}
|
|
160
|
+
)
|
|
161
|
+
|
|
162
|
+
# make the highpass filters
|
|
163
|
+
for transferfunc in transferfunclist:
|
|
164
|
+
testfilter = NoncausalFilter(
|
|
165
|
+
filtertype="arb",
|
|
166
|
+
transferfunc=transferfunc,
|
|
167
|
+
initlowerstop=0.09,
|
|
168
|
+
initlowerpass=0.1,
|
|
169
|
+
initupperpass=1.0e20,
|
|
170
|
+
initupperstop=1.0e20,
|
|
171
|
+
)
|
|
172
|
+
lstest, lptest, uptest, ustest = testfilter.getfreqs()
|
|
173
|
+
if lptest < nyquist:
|
|
174
|
+
allfilters.append(
|
|
175
|
+
{
|
|
176
|
+
"name": "0.1Hz HP " + transferfunc,
|
|
177
|
+
"filter": NoncausalFilter(
|
|
178
|
+
filtertype="arb",
|
|
179
|
+
transferfunc=transferfunc,
|
|
180
|
+
initlowerstop=0.09,
|
|
181
|
+
initlowerpass=0.1,
|
|
182
|
+
initupperpass=1.0e20,
|
|
183
|
+
initupperstop=1.0e20,
|
|
184
|
+
debug=False,
|
|
185
|
+
),
|
|
186
|
+
}
|
|
187
|
+
)
|
|
188
|
+
|
|
189
|
+
# show the end effects waveforms
|
|
190
|
+
if displayplots:
|
|
191
|
+
plt.figure()
|
|
192
|
+
plt.ylim([-2.2, 2.2 * len(testwaves)])
|
|
193
|
+
for thewave in testwaves:
|
|
194
|
+
legend = []
|
|
195
|
+
offset = 0.0
|
|
196
|
+
for thefilter in allfilters:
|
|
197
|
+
plt.plot(
|
|
198
|
+
thewave["timeaxis"],
|
|
199
|
+
offset + thefilter["filter"].apply(1.0 / sampletime, thewave["waveform"]),
|
|
200
|
+
)
|
|
201
|
+
legend.append(thewave["name"] + ": " + thefilter["name"])
|
|
202
|
+
offset += 1.25
|
|
203
|
+
plt.legend(legend)
|
|
204
|
+
plt.title(padtype)
|
|
205
|
+
plt.show()
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
def test_padvec(displayplots=False, debug=False):
|
|
209
|
+
eval_padvecprops(
|
|
210
|
+
sampletime=0.72, tclengthinsecs=300.0, numruns=100, displayplots=displayplots, debug=debug
|
|
211
|
+
)
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
if __name__ == "__main__":
|
|
215
|
+
mpl.use("TkAgg")
|
|
216
|
+
test_padvec(displayplots=True, debug=True)
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
# -*- coding: utf-8 -*-
|
|
3
|
+
#
|
|
4
|
+
# Copyright 2016-2025 Blaise Frederick
|
|
5
|
+
#
|
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
# you may not use this file except in compliance with the License.
|
|
8
|
+
# You may obtain a copy of the License at
|
|
9
|
+
#
|
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
#
|
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
# See the License for the specific language governing permissions and
|
|
16
|
+
# limitations under the License.
|
|
17
|
+
#
|
|
18
|
+
#
|
|
19
|
+
import argparse
|
|
20
|
+
import os
|
|
21
|
+
|
|
22
|
+
import rapidtide.io as tide_io
|
|
23
|
+
import rapidtide.workflows.parser_funcs as pf
|
|
24
|
+
from rapidtide.tests.utils import get_examples_path, get_test_temp_path
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def proccolspec(thecolspec):
|
|
28
|
+
if thecolspec is not None:
|
|
29
|
+
# see if this is a numeric or text list
|
|
30
|
+
tokenlist = (thecolspec.split(",")[0]).split("-")
|
|
31
|
+
try:
|
|
32
|
+
firstelement = int(tokenlist[0])
|
|
33
|
+
return tide_io.colspectolist(thecolspec)
|
|
34
|
+
except ValueError:
|
|
35
|
+
return thecolspec.split(",")
|
|
36
|
+
else:
|
|
37
|
+
return [None]
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def _get_parser():
|
|
41
|
+
"""
|
|
42
|
+
Argument parser for adjust offset
|
|
43
|
+
"""
|
|
44
|
+
parser = argparse.ArgumentParser(
|
|
45
|
+
prog="dummy",
|
|
46
|
+
description="dummy",
|
|
47
|
+
allow_abbrev=False,
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
# Required arguments
|
|
51
|
+
parser.add_argument(
|
|
52
|
+
"inputmap",
|
|
53
|
+
type=lambda x: pf.is_valid_file(parser, x),
|
|
54
|
+
help="The name of the rapidtide maxtime map.",
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
return parser
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
def test_parserfuncs(debug=False, local=False):
|
|
61
|
+
# set input and output directories
|
|
62
|
+
if local:
|
|
63
|
+
exampleroot = "../data/examples/src"
|
|
64
|
+
testtemproot = "./tmp"
|
|
65
|
+
else:
|
|
66
|
+
exampleroot = get_examples_path()
|
|
67
|
+
testtemproot = get_test_temp_path()
|
|
68
|
+
|
|
69
|
+
theparser = _get_parser()
|
|
70
|
+
|
|
71
|
+
testvecs = [
|
|
72
|
+
["sub-RAPIDTIDETEST_desc-oversampledmovingregressor_timeseries.json", [None]],
|
|
73
|
+
[
|
|
74
|
+
"sub-RAPIDTIDETEST_desc-oversampledmovingregressor_timeseries.json:acolname",
|
|
75
|
+
["acolname"],
|
|
76
|
+
],
|
|
77
|
+
[
|
|
78
|
+
"sub-RAPIDTIDETEST_desc-oversampledmovingregressor_timeseries.json:acolname,bcolname",
|
|
79
|
+
["acolname", "bcolname"],
|
|
80
|
+
],
|
|
81
|
+
[
|
|
82
|
+
"sub-RAPIDTIDETEST_desc-oversampledmovingregressor_timeseries.tsv.gz:1,2,5-10",
|
|
83
|
+
[1, 2, 5, 6, 7, 8, 9, 10],
|
|
84
|
+
],
|
|
85
|
+
[
|
|
86
|
+
"sub-RAPIDTIDETEST_desc-oversampledmovingregressor_timeseries.json:3,2,7,5-10,6-11",
|
|
87
|
+
[2, 3, 5, 6, 7, 8, 9, 10, 11],
|
|
88
|
+
],
|
|
89
|
+
]
|
|
90
|
+
for infile, expectedcols in testvecs:
|
|
91
|
+
filename = os.path.join(exampleroot, infile)
|
|
92
|
+
retval = pf.is_valid_file(theparser, filename)
|
|
93
|
+
thename, thecolspec = tide_io.parsefilespec(retval)
|
|
94
|
+
collist = proccolspec(thecolspec)
|
|
95
|
+
if debug:
|
|
96
|
+
print(filename, retval, thename, thecolspec, collist)
|
|
97
|
+
assert collist == expectedcols
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
if __name__ == "__main__":
|
|
101
|
+
test_parserfuncs(debug=True, local=True)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
#
|
|
4
|
-
# Copyright 2018-
|
|
4
|
+
# Copyright 2018-2025 Blaise Frederick
|
|
5
5
|
#
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
7
|
# you may not use this file except in compliance with the License.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
#
|
|
4
|
-
# Copyright 2016-
|
|
4
|
+
# Copyright 2016-2025 Blaise Frederick
|
|
5
5
|
#
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
7
|
# you may not use this file except in compliance with the License.
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
#
|
|
19
19
|
import numpy as np
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
import rapidtide.workflows.parser_funcs as pf
|
|
22
|
+
import rapidtide.workflows.rapidtide_parser as rp
|
|
22
23
|
|
|
23
24
|
testlist = {}
|
|
24
25
|
testlist["searchrange"] = {
|
|
@@ -72,16 +73,37 @@ testlist["numnull"] = {
|
|
|
72
73
|
"command": ["--numnull", "0"],
|
|
73
74
|
"results": [["numestreps", 0], ["ampthreshfromsig", False]],
|
|
74
75
|
}
|
|
75
|
-
testlist["
|
|
76
|
-
"command": ["--
|
|
76
|
+
testlist["initialdelay"] = {
|
|
77
|
+
"command": ["--initialdelay", "0.0"],
|
|
77
78
|
"results": [
|
|
78
|
-
["
|
|
79
|
+
["initialdelayvalue", 0.0, "isfloat"],
|
|
80
|
+
],
|
|
81
|
+
}
|
|
82
|
+
testlist["nodelayfit"] = {
|
|
83
|
+
"command": ["--nodelayfit"],
|
|
84
|
+
"results": [
|
|
85
|
+
["fixdelay", True],
|
|
86
|
+
],
|
|
87
|
+
}
|
|
88
|
+
testlist["delaymapping"] = {
|
|
89
|
+
"command": ["--delaymapping"],
|
|
90
|
+
"results": [
|
|
91
|
+
["fixdelay", True],
|
|
92
|
+
["passes", rp.DEFAULT_DELAYMAPPING_PASSES],
|
|
93
|
+
["despeckle_passes", rp.DEFAULT_DELAYMAPPING_DESPECKLE_PASSES],
|
|
94
|
+
["gausssigma", rp.DEFAULT_DELAYMAPPING_SPATIALFILT],
|
|
95
|
+
["lagmin", rp.DEFAULT_DELAYMAPPING_LAGMIN],
|
|
96
|
+
["lagmax", rp.DEFAULT_DELAYMAPPING_LAGMAX],
|
|
97
|
+
["refineoffset", True],
|
|
98
|
+
["refinedelay", True],
|
|
99
|
+
["outputlevel", "normal"],
|
|
100
|
+
["dolinfitfilt", True],
|
|
79
101
|
],
|
|
80
102
|
}
|
|
81
103
|
|
|
82
104
|
|
|
83
|
-
def checktests(
|
|
84
|
-
for thetest in
|
|
105
|
+
def checktests(thetestvec, testlist, theargs, epsilon):
|
|
106
|
+
for thetest in thetestvec:
|
|
85
107
|
for theresult in testlist[thetest]["results"]:
|
|
86
108
|
print("testing", testlist[thetest]["command"], "effect on", theresult[0])
|
|
87
109
|
if len(theresult) <= 2:
|
|
@@ -101,25 +123,9 @@ def checktests(testvec, testlist, theargs, epsilon):
|
|
|
101
123
|
assert np.fabs(theargs[theresult[0]] - theresult[1]) < epsilon
|
|
102
124
|
|
|
103
125
|
|
|
104
|
-
def
|
|
105
|
-
epsilon = 0.00001
|
|
106
|
-
|
|
107
|
-
# construct the first test vector
|
|
108
|
-
testvec = []
|
|
109
|
-
testvec.append("filterband")
|
|
110
|
-
testvec.append("filtertype")
|
|
111
|
-
testvec.append("searchrange")
|
|
112
|
-
testvec.append("pickleft")
|
|
113
|
-
testvec.append("corrweighting")
|
|
114
|
-
testvec.append("datafreq")
|
|
115
|
-
testvec.append("noantialias")
|
|
116
|
-
testvec.append("invert")
|
|
117
|
-
testvec.append("interptype")
|
|
118
|
-
testvec.append("offsettime")
|
|
119
|
-
testvec.append("datafreq")
|
|
120
|
-
|
|
126
|
+
def checkavector(thetestvec, epsilon):
|
|
121
127
|
print(testlist)
|
|
122
|
-
print(
|
|
128
|
+
print(thetestvec)
|
|
123
129
|
|
|
124
130
|
# make the argument and results lists
|
|
125
131
|
arglist = [
|
|
@@ -127,7 +133,7 @@ def main():
|
|
|
127
133
|
"../data/examples/dst/parsertestdummy",
|
|
128
134
|
]
|
|
129
135
|
resultlist = []
|
|
130
|
-
for thetest in
|
|
136
|
+
for thetest in thetestvec:
|
|
131
137
|
arglist += testlist[thetest]["command"]
|
|
132
138
|
for theresult in testlist[thetest]["results"]:
|
|
133
139
|
resultlist += [theresult]
|
|
@@ -135,38 +141,38 @@ def main():
|
|
|
135
141
|
print(arglist)
|
|
136
142
|
print(resultlist)
|
|
137
143
|
|
|
138
|
-
theargs, ncprefilter = process_args(inputargs=arglist)
|
|
139
|
-
|
|
140
|
-
checktests(testvec, testlist, theargs, epsilon)
|
|
144
|
+
theargs, ncprefilter = rp.process_args(inputargs=arglist)
|
|
141
145
|
|
|
142
|
-
|
|
143
|
-
testvec = []
|
|
144
|
-
testvec.append("filterfreqs")
|
|
145
|
-
testvec.append("datatstep")
|
|
146
|
-
testvec.append("timerange")
|
|
147
|
-
testvec.append("numnull")
|
|
148
|
-
testvec.append("fixdelay")
|
|
149
|
-
|
|
150
|
-
print(testlist)
|
|
151
|
-
print(testvec)
|
|
146
|
+
checktests(thetestvec, testlist, theargs, epsilon)
|
|
152
147
|
|
|
153
|
-
# make the argument and results lists
|
|
154
|
-
arglist = [
|
|
155
|
-
"../data/examples/src/sub-RAPIDTIDETEST.nii.gz",
|
|
156
|
-
"../data/examples/dst/parsertestdummy",
|
|
157
|
-
]
|
|
158
|
-
resultlist = []
|
|
159
|
-
for thetest in testvec:
|
|
160
|
-
arglist += testlist[thetest]["command"]
|
|
161
|
-
for theresult in testlist[thetest]["results"]:
|
|
162
|
-
resultlist += [theresult]
|
|
163
148
|
|
|
164
|
-
|
|
165
|
-
|
|
149
|
+
def main():
|
|
150
|
+
epsilon = 0.00001
|
|
166
151
|
|
|
167
|
-
|
|
152
|
+
# construct the first test vector
|
|
153
|
+
thetestvec = []
|
|
154
|
+
thetestvec.append("filterband")
|
|
155
|
+
thetestvec.append("filtertype")
|
|
156
|
+
thetestvec.append("searchrange")
|
|
157
|
+
thetestvec.append("pickleft")
|
|
158
|
+
thetestvec.append("corrweighting")
|
|
159
|
+
thetestvec.append("datafreq")
|
|
160
|
+
thetestvec.append("noantialias")
|
|
161
|
+
thetestvec.append("invert")
|
|
162
|
+
thetestvec.append("interptype")
|
|
163
|
+
thetestvec.append("offsettime")
|
|
164
|
+
thetestvec.append("datafreq")
|
|
165
|
+
checkavector(thetestvec, epsilon)
|
|
168
166
|
|
|
169
|
-
|
|
167
|
+
# construct the second test vector
|
|
168
|
+
thetestvec = []
|
|
169
|
+
thetestvec.append("filterfreqs")
|
|
170
|
+
thetestvec.append("datatstep")
|
|
171
|
+
thetestvec.append("timerange")
|
|
172
|
+
thetestvec.append("numnull")
|
|
173
|
+
thetestvec.append("initialdelay")
|
|
174
|
+
thetestvec.append("nodelayfit")
|
|
175
|
+
checkavector(thetestvec, epsilon)
|
|
170
176
|
|
|
171
177
|
|
|
172
178
|
if __name__ == "__main__":
|