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
rapidtide/Colortables.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
#
|
|
4
|
-
# Copyright 2016-
|
|
4
|
+
# Copyright 2016-2025 Blaise Frederick
|
|
5
5
|
#
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
7
|
# you may not use this file except in compliance with the License.
|
|
@@ -16,7 +16,57 @@
|
|
|
16
16
|
# limitations under the License.
|
|
17
17
|
#
|
|
18
18
|
#
|
|
19
|
-
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def setendalpha(thestate: dict, alpha: int, debug: bool = False) -> dict:
|
|
22
|
+
"""
|
|
23
|
+
Adjust the alpha values of the first and last color ticks in a gradient state.
|
|
24
|
+
|
|
25
|
+
This function modifies the alpha channel of the first and last color stops in a
|
|
26
|
+
gradient defined by `thestate`. It ensures that the first tick starts with the
|
|
27
|
+
specified alpha value and the last tick ends with the specified alpha value,
|
|
28
|
+
while preserving the original color values and intermediate ticks.
|
|
29
|
+
|
|
30
|
+
Parameters
|
|
31
|
+
----------
|
|
32
|
+
thestate : dict
|
|
33
|
+
A dictionary representing the current gradient state. It must contain:
|
|
34
|
+
- "ticks": list of tuples (float, tuple), where the first element is the
|
|
35
|
+
position (0.0 to 1.0) and the second is the RGBA color tuple.
|
|
36
|
+
- "mode": string, either "rgb" or "hsv", indicating the color mode.
|
|
37
|
+
alpha : int
|
|
38
|
+
The alpha value (0-255) to set for the first and last color ticks.
|
|
39
|
+
debug : bool, optional
|
|
40
|
+
If True, prints debug information about the process. Default is False.
|
|
41
|
+
|
|
42
|
+
Returns
|
|
43
|
+
-------
|
|
44
|
+
dict
|
|
45
|
+
A new gradient state dictionary with updated ticks. The returned dictionary
|
|
46
|
+
has the same structure as the input `thestate`, but with modified alpha
|
|
47
|
+
values at the start and end of the gradient.
|
|
48
|
+
|
|
49
|
+
Notes
|
|
50
|
+
-----
|
|
51
|
+
- The function ensures that the first tick starts at 0.0000 and the last tick
|
|
52
|
+
ends at 1.0000.
|
|
53
|
+
- If the original first tick is not at 0.0, a new tick at 0.0000 is added with
|
|
54
|
+
the specified alpha and a black color (0, 0, 0).
|
|
55
|
+
- If the original last tick is not at 1.0, a new tick at 1.0000 is added with
|
|
56
|
+
the specified alpha and a white color (255, 255, 255) in RGB mode or red (255, 0, 0)
|
|
57
|
+
in HSV mode.
|
|
58
|
+
- Intermediate ticks are preserved as-is.
|
|
59
|
+
|
|
60
|
+
Examples
|
|
61
|
+
--------
|
|
62
|
+
>>> thestate = {
|
|
63
|
+
... "ticks": [(0.2, (255, 0, 0, 255)), (0.8, (0, 255, 0, 255))],
|
|
64
|
+
... "mode": "rgb"
|
|
65
|
+
... }
|
|
66
|
+
>>> result = setendalpha(thestate, alpha=128)
|
|
67
|
+
>>> print(result["ticks"])
|
|
68
|
+
[(0.0, (0, 0, 0, 128)), (0.0001, (0, 0, 0, 255)), (0.2, (255, 0, 0, 255)), (0.8, (0, 255, 0, 255)), (0.9999, (255, 255, 255, 255)), (1.0, (255, 255, 255, 128))]
|
|
69
|
+
"""
|
|
20
70
|
if debug:
|
|
21
71
|
print("color mode:", thestate["mode"])
|
|
22
72
|
sortedticks = sorted(thestate["ticks"], key=lambda x: x[0])
|
|
@@ -60,87 +110,452 @@ def setendalpha(thestate, alpha, debug=False):
|
|
|
60
110
|
return adjustedgradient
|
|
61
111
|
|
|
62
112
|
|
|
63
|
-
def gen_thermal_state():
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
return Gradients["thermal"]
|
|
67
|
-
|
|
113
|
+
def gen_thermal_state() -> dict:
|
|
114
|
+
"""
|
|
115
|
+
Generate and return a thermal gradient dictionary for use in pyqtgraph.
|
|
68
116
|
|
|
69
|
-
|
|
70
|
-
|
|
117
|
+
This function retrieves the built-in "thermal" gradient from pyqtgraph's
|
|
118
|
+
GradientEditorItem and ensures it has the correct name attribute set.
|
|
71
119
|
|
|
72
|
-
|
|
120
|
+
Returns
|
|
121
|
+
-------
|
|
122
|
+
dict
|
|
123
|
+
A dictionary representing the thermal gradient with the following structure:
|
|
124
|
+
- 'name': str, gradient name ("thermal")
|
|
125
|
+
- Gradient color stops and their positions
|
|
73
126
|
|
|
127
|
+
Notes
|
|
128
|
+
-----
|
|
129
|
+
The thermal gradient is a predefined color map that transitions from blue
|
|
130
|
+
through purple to red, commonly used for thermal imaging and heat maps.
|
|
74
131
|
|
|
75
|
-
|
|
132
|
+
Examples
|
|
133
|
+
--------
|
|
134
|
+
>>> thermal_gradient = gen_thermal_state()
|
|
135
|
+
>>> print(thermal_gradient['name'])
|
|
136
|
+
'thermal'
|
|
137
|
+
"""
|
|
76
138
|
from pyqtgraph.graphicsItems.GradientEditorItem import Gradients
|
|
77
139
|
|
|
78
|
-
|
|
140
|
+
thegradient = Gradients["thermal"]
|
|
141
|
+
thegradient["name"] = "thermal"
|
|
142
|
+
return thegradient
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
def gen_flame_state() -> dict:
|
|
146
|
+
"""
|
|
147
|
+
Generate and return a flame color gradient dictionary.
|
|
148
|
+
|
|
149
|
+
This function creates a flame-colored gradient using the pyqtgraph GradientEditorItem
|
|
150
|
+
gradients collection. The returned gradient can be used for styling plots, widgets,
|
|
151
|
+
or other graphical elements that support gradient color schemes.
|
|
152
|
+
|
|
153
|
+
Returns
|
|
154
|
+
-------
|
|
155
|
+
dict
|
|
156
|
+
A dictionary containing the flame gradient definition with the following structure:
|
|
157
|
+
- 'name': str, gradient name ("flame")
|
|
158
|
+
- Gradient color stops and their corresponding RGB values
|
|
159
|
+
- Other gradient properties as defined in pyqtgraph's GradientEditorItem
|
|
160
|
+
|
|
161
|
+
Notes
|
|
162
|
+
-----
|
|
163
|
+
The function relies on pyqtgraph's built-in gradients collection. The "flame" gradient
|
|
164
|
+
typically represents a color scheme transitioning from dark colors to bright orange/red
|
|
165
|
+
colors, resembling a flame or fire effect.
|
|
166
|
+
|
|
167
|
+
Examples
|
|
168
|
+
--------
|
|
169
|
+
>>> flame_gradient = gen_flame_state()
|
|
170
|
+
>>> print(flame_gradient['name'])
|
|
171
|
+
'flame'
|
|
172
|
+
|
|
173
|
+
See Also
|
|
174
|
+
--------
|
|
175
|
+
pyqtgraph.graphicsItems.GradientEditorItem.Gradients :
|
|
176
|
+
The source of built-in gradients in pyqtgraph
|
|
177
|
+
"""
|
|
178
|
+
from pyqtgraph.graphicsItems.GradientEditorItem import Gradients
|
|
79
179
|
|
|
180
|
+
thegradient = Gradients["flame"]
|
|
181
|
+
thegradient["name"] = "flame"
|
|
182
|
+
return thegradient
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
def gen_yellowy_state() -> dict:
|
|
186
|
+
"""
|
|
187
|
+
Generate and return the yellowy gradient definition.
|
|
188
|
+
|
|
189
|
+
This function retrieves the predefined 'yellowy' gradient from pyqtgraph's
|
|
190
|
+
GradientEditorItem Gradients collection and returns it as a dictionary with
|
|
191
|
+
the gradient data and name.
|
|
192
|
+
|
|
193
|
+
Returns
|
|
194
|
+
-------
|
|
195
|
+
dict
|
|
196
|
+
A dictionary containing the yellowy gradient definition with the following structure:
|
|
197
|
+
- Keys: Gradient color point definitions
|
|
198
|
+
- 'name': str, the name of the gradient ('yellowy')
|
|
199
|
+
|
|
200
|
+
Notes
|
|
201
|
+
-----
|
|
202
|
+
The yellowy gradient is predefined in pyqtgraph's GradientEditorItem module.
|
|
203
|
+
This function provides a convenient way to access and return the gradient data
|
|
204
|
+
for use in plotting and visualization applications.
|
|
205
|
+
|
|
206
|
+
Examples
|
|
207
|
+
--------
|
|
208
|
+
>>> gradient = gen_yellowy_state()
|
|
209
|
+
>>> print(gradient['name'])
|
|
210
|
+
'yellowy'
|
|
211
|
+
"""
|
|
212
|
+
from pyqtgraph.graphicsItems.GradientEditorItem import Gradients
|
|
80
213
|
|
|
81
|
-
|
|
214
|
+
thegradient = Gradients["yellowy"]
|
|
215
|
+
thegradient["name"] = "yellowy"
|
|
216
|
+
return thegradient
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
def gen_bipolar_state() -> dict:
|
|
220
|
+
"""
|
|
221
|
+
Generate and return the bipolar gradient configuration.
|
|
222
|
+
|
|
223
|
+
This function retrieves the bipolar gradient from pyqtgraph's GradientEditorItem
|
|
224
|
+
and returns it as a dictionary with the gradient name set to "bipolar".
|
|
225
|
+
|
|
226
|
+
Returns
|
|
227
|
+
-------
|
|
228
|
+
dict
|
|
229
|
+
A dictionary containing the bipolar gradient configuration with the following structure:
|
|
230
|
+
- 'name': str, gradient name ("bipolar")
|
|
231
|
+
- Gradient color stops and values as defined in pyqtgraph's bipolar gradient
|
|
232
|
+
|
|
233
|
+
Notes
|
|
234
|
+
-----
|
|
235
|
+
The bipolar gradient is commonly used for visualizing data with both positive and negative values,
|
|
236
|
+
typically displaying negative values in one color (e.g., blue) and positive values in another (e.g., red).
|
|
237
|
+
This gradient is particularly useful for scientific visualization and data analysis applications.
|
|
238
|
+
|
|
239
|
+
Examples
|
|
240
|
+
--------
|
|
241
|
+
>>> gradient = gen_bipolar_state()
|
|
242
|
+
>>> print(gradient['name'])
|
|
243
|
+
'bipolar'
|
|
244
|
+
"""
|
|
82
245
|
from pyqtgraph.graphicsItems.GradientEditorItem import Gradients
|
|
83
246
|
|
|
84
|
-
|
|
247
|
+
thegradient = Gradients["bipolar"]
|
|
248
|
+
thegradient["name"] = "bipolar"
|
|
249
|
+
return thegradient
|
|
85
250
|
|
|
86
251
|
|
|
87
|
-
def gen_spectrum_state():
|
|
88
|
-
|
|
252
|
+
def gen_spectrum_state() -> dict:
|
|
253
|
+
"""Generate and return the spectrum gradient dictionary.
|
|
89
254
|
|
|
90
|
-
|
|
255
|
+
This function retrieves the 'spectrum' gradient from pyqtgraph's GradientEditorItem
|
|
256
|
+
and ensures it has the correct name attribute set.
|
|
91
257
|
|
|
258
|
+
Returns
|
|
259
|
+
-------
|
|
260
|
+
dict
|
|
261
|
+
A dictionary containing the spectrum gradient definition with keys:
|
|
262
|
+
- 'name': str, set to "spectrum"
|
|
263
|
+
- Gradient color stops and other properties from pyqtgraph's spectrum gradient
|
|
92
264
|
|
|
93
|
-
|
|
94
|
-
|
|
265
|
+
Notes
|
|
266
|
+
-----
|
|
267
|
+
The function relies on pyqtgraph's built-in gradients and specifically uses
|
|
268
|
+
the "spectrum" gradient which provides a rainbow-like color mapping.
|
|
95
269
|
|
|
96
|
-
|
|
270
|
+
Examples
|
|
271
|
+
--------
|
|
272
|
+
>>> spectrum_grad = gen_spectrum_state()
|
|
273
|
+
>>> print(spectrum_grad['name'])
|
|
274
|
+
'spectrum'
|
|
275
|
+
"""
|
|
276
|
+
from pyqtgraph.graphicsItems.GradientEditorItem import Gradients
|
|
97
277
|
|
|
278
|
+
thegradient = Gradients["spectrum"]
|
|
279
|
+
thegradient["name"] = "spectrum"
|
|
280
|
+
return thegradient
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
def gen_turbo_state() -> dict:
|
|
284
|
+
"""
|
|
285
|
+
Generate and return the turbo color gradient definition.
|
|
286
|
+
|
|
287
|
+
This function retrieves the 'turbo' color gradient from pyqtgraph's GradientEditorItem
|
|
288
|
+
and returns it as a dictionary with the gradient data and name.
|
|
289
|
+
|
|
290
|
+
Returns
|
|
291
|
+
-------
|
|
292
|
+
dict
|
|
293
|
+
A dictionary containing the turbo color gradient definition with the following structure:
|
|
294
|
+
- 'colorMap': list of color stops
|
|
295
|
+
- 'name': string identifier "turbo"
|
|
296
|
+
- Other gradient properties as defined in pyqtgraph's Gradients
|
|
297
|
+
|
|
298
|
+
Notes
|
|
299
|
+
-----
|
|
300
|
+
The turbo gradient is a perceptually uniform color map designed for scientific visualization.
|
|
301
|
+
It provides better color distinction across the entire range of values compared to traditional
|
|
302
|
+
colormaps like 'jet' or 'hsv'.
|
|
303
|
+
|
|
304
|
+
Examples
|
|
305
|
+
--------
|
|
306
|
+
>>> gradient = gen_turbo_state()
|
|
307
|
+
>>> print(gradient['name'])
|
|
308
|
+
'turbo'
|
|
309
|
+
>>> print(len(gradient['colorMap']))
|
|
310
|
+
256
|
|
311
|
+
"""
|
|
312
|
+
from pyqtgraph.graphicsItems.GradientEditorItem import Gradients
|
|
98
313
|
|
|
99
|
-
|
|
314
|
+
thegradient = Gradients["turbo"]
|
|
315
|
+
thegradient["name"] = "turbo"
|
|
316
|
+
return thegradient
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
def gen_gray_state() -> dict:
|
|
320
|
+
"""
|
|
321
|
+
Generate a gray color state configuration.
|
|
322
|
+
|
|
323
|
+
Returns
|
|
324
|
+
-------
|
|
325
|
+
dict
|
|
326
|
+
A dictionary containing color state configuration with the following keys:
|
|
327
|
+
- ticks: List of tuples containing time values and RGBA color tuples
|
|
328
|
+
- mode: Color mode string, currently "rgb"
|
|
329
|
+
- name: Name of the color state, currently "gray"
|
|
330
|
+
|
|
331
|
+
Notes
|
|
332
|
+
-----
|
|
333
|
+
This function returns a predefined gray color state configuration with:
|
|
334
|
+
- Start color: Black (0, 0, 0, 255)
|
|
335
|
+
- End color: White (255, 255, 255, 255)
|
|
336
|
+
- Time values: 0.0 and 1.0
|
|
337
|
+
|
|
338
|
+
Examples
|
|
339
|
+
--------
|
|
340
|
+
>>> state = gen_gray_state()
|
|
341
|
+
>>> print(state['name'])
|
|
342
|
+
'gray'
|
|
343
|
+
>>> print(state['ticks'])
|
|
344
|
+
[(0.0, (0, 0, 0, 255)), (1.0, (255, 255, 255, 255))]
|
|
345
|
+
"""
|
|
100
346
|
return {
|
|
101
347
|
"ticks": [
|
|
102
348
|
(0.0000, (0, 0, 0, 255)),
|
|
103
349
|
(1.0000, (255, 255, 255, 255)),
|
|
104
350
|
],
|
|
105
351
|
"mode": "rgb",
|
|
352
|
+
"name": "gray",
|
|
106
353
|
}
|
|
107
354
|
|
|
108
355
|
|
|
109
|
-
def gen_grey_state():
|
|
356
|
+
def gen_grey_state() -> dict:
|
|
357
|
+
"""
|
|
358
|
+
Generate a grey color state configuration.
|
|
359
|
+
|
|
360
|
+
Returns
|
|
361
|
+
-------
|
|
362
|
+
dict
|
|
363
|
+
A dictionary containing grey color state configuration with the following keys:
|
|
364
|
+
- ticks: list of tuples containing time and RGBA color values
|
|
365
|
+
- mode: string indicating color mode ('rgb')
|
|
366
|
+
- name: string identifier for the color state
|
|
367
|
+
|
|
368
|
+
Notes
|
|
369
|
+
-----
|
|
370
|
+
This function returns a predefined grey color state where:
|
|
371
|
+
- Time 0.0 corresponds to black (0, 0, 0, 255)
|
|
372
|
+
- Time 1.0 corresponds to white (255, 255, 255, 255)
|
|
373
|
+
|
|
374
|
+
Examples
|
|
375
|
+
--------
|
|
376
|
+
>>> state = gen_grey_state()
|
|
377
|
+
>>> print(state['name'])
|
|
378
|
+
'grey'
|
|
379
|
+
>>> print(state['ticks'])
|
|
380
|
+
[(0.0, (0, 0, 0, 255)), (1.0, (255, 255, 255, 255))]
|
|
381
|
+
"""
|
|
110
382
|
return {
|
|
111
383
|
"ticks": [
|
|
112
384
|
(0.0000, (0, 0, 0, 255)),
|
|
113
385
|
(1.0000, (255, 255, 255, 255)),
|
|
114
386
|
],
|
|
115
387
|
"mode": "rgb",
|
|
388
|
+
"name": "grey",
|
|
116
389
|
}
|
|
117
390
|
|
|
118
391
|
|
|
119
|
-
def gen_viridis_state():
|
|
392
|
+
def gen_viridis_state() -> dict:
|
|
393
|
+
"""Generate and return the viridis color gradient configuration.
|
|
394
|
+
|
|
395
|
+
This function retrieves the viridis color gradient from pyqtgraph's GradientEditorItem
|
|
396
|
+
and returns it as a dictionary with the gradient data and name.
|
|
397
|
+
|
|
398
|
+
Returns
|
|
399
|
+
-------
|
|
400
|
+
dict
|
|
401
|
+
A dictionary containing the viridis color gradient data with the following structure:
|
|
402
|
+
- 'colorMap': list of QColor objects representing the gradient colors
|
|
403
|
+
- 'positions': list of float values representing the color positions (0.0 to 1.0)
|
|
404
|
+
- 'name': str, the name of the gradient ('viridis')
|
|
405
|
+
|
|
406
|
+
Notes
|
|
407
|
+
-----
|
|
408
|
+
The viridis gradient is a perceptually uniform colormap designed to be
|
|
409
|
+
visible to colorblind individuals and optimized for scientific visualization.
|
|
410
|
+
|
|
411
|
+
Examples
|
|
412
|
+
--------
|
|
413
|
+
>>> gradient_dict = gen_viridis_state()
|
|
414
|
+
>>> print(gradient_dict['name'])
|
|
415
|
+
'viridis'
|
|
416
|
+
>>> print(len(gradient_dict['colorMap']))
|
|
417
|
+
256
|
|
418
|
+
"""
|
|
120
419
|
from pyqtgraph.graphicsItems.GradientEditorItem import Gradients
|
|
121
420
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
def gen_inferno_state():
|
|
126
|
-
from pyqtgraph.graphicsItems.GradientEditorItem import Gradients
|
|
421
|
+
thegradient = Gradients["viridis"]
|
|
422
|
+
thegradient["name"] = "viridis"
|
|
423
|
+
return thegradient
|
|
127
424
|
|
|
128
|
-
return Gradients["inferno"]
|
|
129
425
|
|
|
426
|
+
def gen_inferno_state() -> dict:
|
|
427
|
+
"""Generate and return the inferno color gradient configuration.
|
|
130
428
|
|
|
131
|
-
|
|
132
|
-
|
|
429
|
+
This function retrieves the inferno color gradient from pyqtgraph's GradientEditorItem
|
|
430
|
+
and returns it as a dictionary with the gradient data and name.
|
|
133
431
|
|
|
134
|
-
|
|
432
|
+
Returns
|
|
433
|
+
-------
|
|
434
|
+
dict
|
|
435
|
+
A dictionary containing the inferno color gradient data with the following structure:
|
|
436
|
+
- 'name': str, gradient name ("inferno")
|
|
437
|
+
- Gradient color points and their corresponding colors
|
|
135
438
|
|
|
439
|
+
Notes
|
|
440
|
+
-----
|
|
441
|
+
The inferno gradient is a perceptually uniform color map designed for scientific visualization.
|
|
442
|
+
It transitions from dark to bright colors, making it suitable for heat maps and other data visualizations.
|
|
136
443
|
|
|
137
|
-
|
|
444
|
+
Examples
|
|
445
|
+
--------
|
|
446
|
+
>>> gradient = gen_inferno_state()
|
|
447
|
+
>>> print(gradient['name'])
|
|
448
|
+
'inferno'
|
|
449
|
+
"""
|
|
138
450
|
from pyqtgraph.graphicsItems.GradientEditorItem import Gradients
|
|
139
451
|
|
|
140
|
-
|
|
452
|
+
thegradient = Gradients["inferno"]
|
|
453
|
+
thegradient["name"] = "inferno"
|
|
454
|
+
return thegradient
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
def gen_plasma_state() -> dict:
|
|
458
|
+
"""
|
|
459
|
+
Generate and return the plasma color gradient definition.
|
|
460
|
+
|
|
461
|
+
This function retrieves the plasma gradient from PyQtd's GradientEditorItem
|
|
462
|
+
and returns it as a dictionary with the gradient data and name.
|
|
463
|
+
|
|
464
|
+
Returns
|
|
465
|
+
-------
|
|
466
|
+
dict
|
|
467
|
+
Dictionary containing the plasma color gradient definition with keys:
|
|
468
|
+
- 'colorMap': The color mapping data for the gradient
|
|
469
|
+
- 'name': String identifier "plasma"
|
|
470
|
+
|
|
471
|
+
Notes
|
|
472
|
+
-----
|
|
473
|
+
The plasma gradient is a popular color scheme that maps values to colors
|
|
474
|
+
in a way that resembles plasma physics visualization. It typically transitions
|
|
475
|
+
from blue through purple to red as values increase.
|
|
476
|
+
|
|
477
|
+
Examples
|
|
478
|
+
--------
|
|
479
|
+
>>> gradient = gen_plasma_state()
|
|
480
|
+
>>> print(gradient['name'])
|
|
481
|
+
'plasma'
|
|
482
|
+
"""
|
|
483
|
+
from pyqtgraph.graphicsItems.GradientEditorItem import Gradients
|
|
141
484
|
|
|
485
|
+
thegradient = Gradients["plasma"]
|
|
486
|
+
thegradient["name"] = "plasma"
|
|
487
|
+
return thegradient
|
|
488
|
+
|
|
489
|
+
|
|
490
|
+
def gen_magma_state() -> dict:
|
|
491
|
+
"""
|
|
492
|
+
Generate and return the magma color gradient definition.
|
|
493
|
+
|
|
494
|
+
This function retrieves the magma color gradient from pyqtgraph's gradient collection
|
|
495
|
+
and returns it as a dictionary with the gradient data and name.
|
|
496
|
+
|
|
497
|
+
Returns
|
|
498
|
+
-------
|
|
499
|
+
dict
|
|
500
|
+
A dictionary containing the magma color gradient definition with the following structure:
|
|
501
|
+
- Keys: Color stop positions (float values between 0 and 1)
|
|
502
|
+
- Values: RGBA color tuples (float values between 0 and 1)
|
|
503
|
+
- Additional key: "name" with value "magma"
|
|
504
|
+
|
|
505
|
+
Notes
|
|
506
|
+
-----
|
|
507
|
+
The magma gradient is a perceptually uniform colormap designed for scientific visualization.
|
|
508
|
+
It transitions from dark purple to bright yellow, making it suitable for displaying
|
|
509
|
+
data with varying magnitudes.
|
|
510
|
+
|
|
511
|
+
Examples
|
|
512
|
+
--------
|
|
513
|
+
>>> magma_gradient = gen_magma_state()
|
|
514
|
+
>>> print(magma_gradient["name"])
|
|
515
|
+
'magma'
|
|
516
|
+
>>> print(len(magma_gradient) > 1)
|
|
517
|
+
True
|
|
518
|
+
"""
|
|
519
|
+
from pyqtgraph.graphicsItems.GradientEditorItem import Gradients
|
|
142
520
|
|
|
143
|
-
|
|
521
|
+
thegradient = Gradients["magma"]
|
|
522
|
+
thegradient["name"] = "magma"
|
|
523
|
+
return thegradient
|
|
524
|
+
|
|
525
|
+
|
|
526
|
+
def gen_g2y2r_state() -> dict:
|
|
527
|
+
"""
|
|
528
|
+
Generate a color transition state configuration for green-to-yellow-to-red transition.
|
|
529
|
+
|
|
530
|
+
This function returns a dictionary containing color transition data that defines
|
|
531
|
+
a smooth color transition from green to yellow to red, with intermediate states
|
|
532
|
+
and timing information for animation or visualization purposes.
|
|
533
|
+
|
|
534
|
+
Returns
|
|
535
|
+
-------
|
|
536
|
+
dict
|
|
537
|
+
A dictionary containing the following keys:
|
|
538
|
+
- ticks: list of tuples containing (time, rgba_color) pairs
|
|
539
|
+
- mode: str, color mode identifier ("rgb")
|
|
540
|
+
- name: str, transition name ("g2y2r")
|
|
541
|
+
|
|
542
|
+
Notes
|
|
543
|
+
-----
|
|
544
|
+
The color transition follows this sequence:
|
|
545
|
+
- Start: (0, 0, 0, 0) - Transparent black
|
|
546
|
+
- Green: (0, 255, 0, 255) - Pure green
|
|
547
|
+
- Yellow: (255, 255, 0, 255) - Pure yellow
|
|
548
|
+
- Red: (255, 0, 0, 255) - Pure red
|
|
549
|
+
- End: (255, 0, 0, 0) - Transparent red
|
|
550
|
+
|
|
551
|
+
Examples
|
|
552
|
+
--------
|
|
553
|
+
>>> state = gen_g2y2r_state()
|
|
554
|
+
>>> print(state['name'])
|
|
555
|
+
'g2y2r'
|
|
556
|
+
>>> print(len(state['ticks']))
|
|
557
|
+
5
|
|
558
|
+
"""
|
|
144
559
|
return {
|
|
145
560
|
"ticks": [
|
|
146
561
|
(0.0000, (0, 0, 0, 0)),
|
|
@@ -150,17 +565,77 @@ def gen_g2y2r_state():
|
|
|
150
565
|
(1.0000, (255, 0, 0, 0)),
|
|
151
566
|
],
|
|
152
567
|
"mode": "rgb",
|
|
568
|
+
"name": "g2y2r",
|
|
153
569
|
}
|
|
154
570
|
|
|
155
571
|
|
|
156
|
-
def gen_mask_state():
|
|
572
|
+
def gen_mask_state() -> dict:
|
|
573
|
+
"""Generate a mask state configuration dictionary.
|
|
574
|
+
|
|
575
|
+
This function creates and returns a dictionary containing mask state
|
|
576
|
+
configuration parameters including tick values, color mode, and name.
|
|
577
|
+
|
|
578
|
+
Returns
|
|
579
|
+
-------
|
|
580
|
+
dict
|
|
581
|
+
A dictionary containing mask state configuration with the following keys:
|
|
582
|
+
- ticks: list of tuples containing (time, rgba_color) values
|
|
583
|
+
- mode: string indicating color mode ('rgb')
|
|
584
|
+
- name: string identifier for the mask
|
|
585
|
+
|
|
586
|
+
Notes
|
|
587
|
+
-----
|
|
588
|
+
The returned dictionary represents a simple mask state with two ticks:
|
|
589
|
+
- First tick at time 0.0 with black color (0, 0, 0, 255)
|
|
590
|
+
- Second tick at time 1.0 with white color (255, 255, 255, 0)
|
|
591
|
+
|
|
592
|
+
Examples
|
|
593
|
+
--------
|
|
594
|
+
>>> mask_state = gen_mask_state()
|
|
595
|
+
>>> print(mask_state['name'])
|
|
596
|
+
'mask'
|
|
597
|
+
>>> print(mask_state['ticks'])
|
|
598
|
+
[(0.0, (0, 0, 0, 255)), (1.0, (255, 255, 255, 0))]
|
|
599
|
+
"""
|
|
157
600
|
return {
|
|
158
601
|
"ticks": [(0.0000, (0, 0, 0, 255)), (1.0000, (255, 255, 255, 0))],
|
|
159
602
|
"mode": "rgb",
|
|
603
|
+
"name": "mask",
|
|
160
604
|
}
|
|
161
605
|
|
|
162
606
|
|
|
163
|
-
def gen_greyclip_state():
|
|
607
|
+
def gen_greyclip_state() -> dict:
|
|
608
|
+
"""
|
|
609
|
+
Generate a greyclip color state configuration.
|
|
610
|
+
|
|
611
|
+
This function returns a dictionary containing color state information for a greyclip
|
|
612
|
+
color mapping. The color state defines a gradient transition from black to white
|
|
613
|
+
to red, with specific tick points and color values.
|
|
614
|
+
|
|
615
|
+
Returns
|
|
616
|
+
-------
|
|
617
|
+
dict
|
|
618
|
+
A dictionary containing the color state configuration with the following keys:
|
|
619
|
+
- ticks: list of tuples containing (position, rgba_color) where position is
|
|
620
|
+
a float between 0.0 and 1.0, and rgba_color is a tuple of (r, g, b, a)
|
|
621
|
+
values in the range 0-255
|
|
622
|
+
- mode: string indicating the color mode, always "rgb" for this function
|
|
623
|
+
- name: string identifier for the color state, always "greyclip"
|
|
624
|
+
|
|
625
|
+
Notes
|
|
626
|
+
-----
|
|
627
|
+
The returned color state defines a gradient that starts at black (0, 0, 0, 255),
|
|
628
|
+
transitions to white (255, 255, 255, 255) at 99% position, and ends at red
|
|
629
|
+
(255, 0, 0, 255) at 100% position.
|
|
630
|
+
|
|
631
|
+
Examples
|
|
632
|
+
--------
|
|
633
|
+
>>> state = gen_greyclip_state()
|
|
634
|
+
>>> print(state['name'])
|
|
635
|
+
'greyclip'
|
|
636
|
+
>>> print(len(state['ticks']))
|
|
637
|
+
3
|
|
638
|
+
"""
|
|
164
639
|
return {
|
|
165
640
|
"ticks": [
|
|
166
641
|
(0.0, (0, 0, 0, 255)),
|
|
@@ -168,10 +643,35 @@ def gen_greyclip_state():
|
|
|
168
643
|
(1.0, (255, 0, 0, 255)),
|
|
169
644
|
],
|
|
170
645
|
"mode": "rgb",
|
|
646
|
+
"name": "greyclip",
|
|
171
647
|
}
|
|
172
648
|
|
|
173
649
|
|
|
174
|
-
def getagradient():
|
|
650
|
+
def getagradient(): # type: ignore
|
|
651
|
+
"""Create and return a gradient widget for color selection.
|
|
652
|
+
|
|
653
|
+
This function creates a PyQtGraph GradientWidget configured for right-oriented
|
|
654
|
+
gradient editing with the ability to add new color points.
|
|
655
|
+
|
|
656
|
+
Returns
|
|
657
|
+
-------
|
|
658
|
+
pyqtgraph.GradientWidget
|
|
659
|
+
A configured GradientWidget instance with:
|
|
660
|
+
- orientation="right" (vertical gradient)
|
|
661
|
+
- allowAdd=True (allows adding new color points)
|
|
662
|
+
|
|
663
|
+
Notes
|
|
664
|
+
-----
|
|
665
|
+
The returned widget can be used to create color gradients for visualization
|
|
666
|
+
purposes. The gradient widget allows users to interactively modify color
|
|
667
|
+
stops and create custom color mappings.
|
|
668
|
+
|
|
669
|
+
Examples
|
|
670
|
+
--------
|
|
671
|
+
>>> gradient_widget = getagradient()
|
|
672
|
+
>>> # Use the gradient widget in a PyQt application
|
|
673
|
+
>>> layout.addWidget(gradient_widget)
|
|
674
|
+
"""
|
|
175
675
|
from pyqtgraph import GradientWidget
|
|
176
676
|
|
|
177
677
|
return GradientWidget(orientation="right", allowAdd=True)
|