rapidtide 3.0.5__tar.gz → 3.0.7__tar.gz
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.
- {rapidtide-3.0.5 → rapidtide-3.0.7}/CHANGELOG.md +17 -0
- {rapidtide-3.0.5/rapidtide.egg-info → rapidtide-3.0.7}/PKG-INFO +1 -1
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/RapidtideDataset.py +17 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/_version.py +3 -3
- rapidtide-3.0.7/rapidtide/calccoherence.py +146 -0
- rapidtide-3.0.7/rapidtide/calcnullsimfunc.py +179 -0
- rapidtide-3.0.7/rapidtide/calcsimfunc.py +176 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/correlate.py +25 -6
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testatlasaverage +22 -0
- rapidtide-3.0.7/rapidtide/data/examples/src/testfmri +30 -0
- rapidtide-3.0.7/rapidtide/data/examples/src/testhappy +77 -0
- rapidtide-3.0.7/rapidtide/data/examples/src/testsimdata +53 -0
- rapidtide-3.0.5/rapidtide/makelaggedtcs.py → rapidtide-3.0.7/rapidtide/genericmultiproc.py +38 -58
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/happy_supportfuncs.py +608 -107
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/linfitfiltpass.py +8 -1
- rapidtide-3.0.7/rapidtide/makelaggedtcs.py +113 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/multiproc.py +5 -17
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/refineregressor.py +59 -81
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/resample.py +24 -14
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/.coveragerc +9 -0
- rapidtide-3.0.7/rapidtide/tests/test_congrid.py +153 -0
- rapidtide-3.0.7/rapidtide/tests/test_externaltools.py +69 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_fastresampler.py +1 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_fullrunrapidtide_v2.py +1 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_nullcorr.py +2 -5
- rapidtide-3.0.7/rapidtide/tests/test_parserfuncs.py +101 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_zRapidtideDataset.py +2 -2
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/voxelData.py +17 -3
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/ccorrica.py +1 -2
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/cleanregressor.py +3 -2
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/happy.py +62 -3
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/happy_parser.py +36 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/rapidtide.py +18 -13
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/rapidtide_parser.py +8 -1
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/regressfrommaps.py +0 -2
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/showarbcorr.py +19 -6
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/showxcorrx.py +4 -8
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/simdata.py +149 -65
- {rapidtide-3.0.5 → rapidtide-3.0.7/rapidtide.egg-info}/PKG-INFO +1 -1
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide.egg-info/SOURCES.txt +2 -3
- rapidtide-3.0.5/rapidtide/DerivativeDelay.py +0 -209
- rapidtide-3.0.5/rapidtide/calcandfitcorrpairs.py +0 -262
- rapidtide-3.0.5/rapidtide/calccoherence.py +0 -168
- rapidtide-3.0.5/rapidtide/calcnullsimfunc.py +0 -225
- rapidtide-3.0.5/rapidtide/calcsimfunc.py +0 -194
- rapidtide-3.0.5/rapidtide/data/examples/src/testfmri +0 -15
- rapidtide-3.0.5/rapidtide/data/examples/src/testhappy +0 -80
- rapidtide-3.0.5/rapidtide/data/examples/src/testsimdata +0 -36
- rapidtide-3.0.5/rapidtide/tests/test_congrid.py +0 -164
- rapidtide-3.0.5/rapidtide/tests/test_parserfuncs.py +0 -70
- rapidtide-3.0.5/rapidtide/transformerdlfilter.py +0 -126
- {rapidtide-3.0.5 → rapidtide-3.0.7}/CODE_OF_CONDUCT.md +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/CONTRIBUTING.md +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/INSTALL.rst +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/LICENSE +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/MANIFEST.in +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/README.rst +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/TODO.md +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/USAGE.rst +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/cloud/download-nda-data +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/cloud/downloadcmd-auther +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/cloud/gmscalc-HCPYA +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/cloud/list-rapidtide-relevant-images +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/cloud/mount-and-run +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/cloud/rapidtide-HCPYA +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/cloud/rapidtide-cloud-test +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/cloud/simple-cp-test +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/pyproject.toml +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/Colortables.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/OrthoImageItem.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/RegressorRefiner.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/__init__.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/installtestdata +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/test_findmaxlag.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/test_io +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/test_mlregressallt.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/test_rapidtidecompare +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testalign +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testboth +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testcifti +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testcomplex +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testdecomp +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testdelayvar +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testfileorfloat +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testfingerprint +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testfmridocker +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testfrozen +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testfuncs +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testglmfilt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testinitdelay +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testlinfit +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testlocalflow +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testmodels +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testnewrefine +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testnoiseamp +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testoscorr +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testpad +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testrefineonly +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testretro +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/examples/src/testretrolagtcs +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/models/model_cnn_w064_l13_fn20_fl08/loss.png +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/models/model_cnn_w064_l13_fn20_fl08/loss.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/models/model_cnn_w064_l13_fn20_fl08/model.keras +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/models/model_cnn_w064_l13_fn20_fl08/model_meta.json +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/models/model_revised_tf2/model.keras +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/models/model_revised_tf2/model_meta.json +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/models/model_serdar2_tf2/model.keras +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/models/model_serdar2_tf2/model_meta.json +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/models/model_serdar_tf2/model.keras +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/models/model_serdar_tf2/model_meta.json +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/ASPECTS_2mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/ASPECTS_2mm_mask.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/ASPECTS_3mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/ASPECTS_3mm_mask.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/ASPECTS_regions.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/ATTbasedFlowTerritories_split_2mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/ATTbasedFlowTerritories_split_2mm_mask.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/ATTbasedFlowTerritories_split_regions.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200_binmask_2mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200_lag_2mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200_mask_2mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200_negmask_2mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200_sigma_2mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200_strength_2mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200v2_MTT_2mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200v2_binmask_2mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200v2_csf_2mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200v2_gray_2mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200v2_graylaghist.json +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200v2_graylaghist.tsv.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200v2_laghist.json +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200v2_laghist.tsv.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200v2_mask_2mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200v2_maxcorr_2mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200v2_maxtime_2mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200v2_maxwidth_2mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200v2_negmask_2mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200v2_timepercentile_2mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200v2_white_2mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200v2_whitelaghist.json +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/HCP1200v2_whitelaghist.tsv.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1-seg2.xml +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1-seg2_regions.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1-seg2_space-MNI152NLin6Asym_2mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1.xml +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1_regions.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1_space-MNI152NLin6Asym_2mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1_space-MNI152NLin6Asym_2mm_mask.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL2.xml +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL2_regions.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL2_space-MNI152NLin6Asym_2mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL2_space-MNI152NLin6Asym_2mm_mask.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/MNI152_T1_1mm_Brain_FAST_seg.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/MNI152_T1_1mm_Brain_Mask.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/MNI152_T1_2mm_Brain_FAST_seg.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/MNI152_T1_2mm_Brain_Mask.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/MNI152_T1_3mm.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/MNI152_T1_3mm_brain_mask.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/data/reference/slicetimes/HCP-YA_slicetimes.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/dlfilter.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/externaltools.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/fMRIData_class.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/filter.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/fit.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/helper_classes.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/io.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/maskutil.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/miscmath.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/patchmatch.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/peakeval.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/qualitycheck.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/refinedelay.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/__init__.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/adjustoffset.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/aligntcs.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/applydlfilter.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/atlasaverage.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/atlastool.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/calcicc.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/calctexticc.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/calcttest.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/ccorrica.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/delayvar.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/diffrois.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/endtidalproc.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/fdica.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/filtnifti.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/filttc.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/fingerprint.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/fixtr.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/gmscalc.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/happy.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/happy2std.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/happywarp.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/histnifti.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/histtc.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/linfitfilt.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/localflow.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/mergequality.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/pairproc.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/pairwisemergenifti.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/physiofreq.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/pixelcomp.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/plethquality.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/polyfitim.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/proj2flow.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/rankimage.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/rapidtide.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/rapidtide2std.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/resamplenifti.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/resampletc.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/retrolagtcs.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/retroregress.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/roisummarize.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/runqualitycheck.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/showarbcorr.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/showhist.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/showstxcorr.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/showtc.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/showxcorr_legacy.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/showxcorrx.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/showxy.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/simdata.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/spatialdecomp.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/spatialfit.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/spatialmi.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/spectrogram.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/stupidramtricks.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/synthASL.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/tcfrom2col.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/tcfrom3col.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/temporaldecomp.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/testhrv.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/threeD.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/tidepool.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/scripts/variabilityizer.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/simfuncfit.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/stats.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/__init__.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/cleanposttest +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/matplotlibrc +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/resethappytargets +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/resetrapidtidetargets +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/resettargets +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/runlocaltest +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/showdirectories +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/showkernels +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_aliasedcorrelate.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_aligntcs.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_calcicc.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_cleanregressor.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_correlate.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_corrpass.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_delayestimation.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_doresample.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_filter.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_findmaxlag.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_fullrunhappy_v1.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_fullrunhappy_v2.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_fullrunhappy_v3.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_fullrunhappy_v4.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_fullrunhappy_v5.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_fullrunrapidtide_v1.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_fullrunrapidtide_v3.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_fullrunrapidtide_v4.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_fullrunrapidtide_v5.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_fullrunrapidtide_v6.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_fullrunrapidtide_v7.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_getparsers.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_io.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_linfitfiltpass.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_mi.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_miscmath.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_motionregress.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_padvec.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_phaseanalysis.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_rapidtideparser.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_refinedelay.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_runmisc.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_sharedmem.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_simulate.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_stcorrelate.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_timeshift.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/test_valtoindex.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/testdata/100206_REST1_LR_cardfromfmri_25.0Hz.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/testdata/100206_REST1_LR_cardfromfmri_dlfiltered_25.0Hz.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/testdata/100206_REST1_LR_info.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/testdata/100206_REST1_LR_normcardfromfmri_25.0Hz.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/testdata/100206_REST1_LR_normcardfromfmri_dlfiltered_25.0Hz.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/testdata/100206_REST1_LR_normpleth_25.0Hz.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/testdata/100206_REST1_LR_pleth_25.0Hz.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/testdata/100206_REST1_LR_pleth_dlfiltered_25.0Hz.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/testdata/fmri_globalmean.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/testdata/happy_phase1target_vesselmask.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/testdata/happy_phase2output_vesselmask.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/testdata/happy_target_vesselmask.nii.gz +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/testdata/lforegressor.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/testdata/lt_rt.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/testdata/phasetest.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/testdata/rapidtide2x_phase1target_reference_fmrires.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/testdata/stcorrtest_Rvalue.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/testdata/stcorrtest_delay.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/testdata/stcorrtest_mask.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/testdata/stcorrtest_pearson.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/testdata/stcorrtest_pvalue.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/testdata/testfilt.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/tmp/.placeholder.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/usercustomize.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tests/utils.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tidepoolTemplate.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tidepoolTemplate.ui +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tidepoolTemplate_alt.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tidepoolTemplate_alt.ui +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tidepoolTemplate_alt_qt6.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tidepoolTemplate_big.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tidepoolTemplate_big.ui +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tidepoolTemplate_big_qt6.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/tidepoolTemplate_qt6.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/util.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/wiener.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/wiener2.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/__init__.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/adjustoffset.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/aligntcs.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/applydlfilter.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/atlasaverage.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/atlastool.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/calctexticc.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/delayestimation.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/delayvar.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/diffrois.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/endtidalproc.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/fdica.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/filtnifti.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/filttc.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/fixtr.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/gmscalc.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/happy2std.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/histnifti.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/histtc.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/linfitfilt.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/localflow.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/mergequality.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/niftidecomp.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/niftistats.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/pairproc.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/pairwisemergenifti.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/parser_funcs.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/physiofreq.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/pixelcomp.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/plethquality.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/polyfitim.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/proj2flow.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/rankimage.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/rapidtide2std.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/resamplenifti.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/resampletc.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/retrolagtcs.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/retroregress.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/roisummarize.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/runqualitycheck.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/showhist.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/showstxcorr.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/showtc.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/showxy.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/spatialfit.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/spatialmi.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/spectrogram.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/synthASL.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/tcfrom2col.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/tcfrom3col.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/tidepool.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/utils.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide/workflows/variabilityizer.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide.egg-info/dependency_links.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide.egg-info/entry_points.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide.egg-info/requires.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/rapidtide.egg-info/top_level.txt +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/setup.cfg +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/setup.py +0 -0
- {rapidtide-3.0.5 → rapidtide-3.0.7}/versioneer.py +0 -0
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Release history
|
|
2
2
|
|
|
3
|
+
## Version 3.0.7 (6/16/25)
|
|
4
|
+
* (rapidtide) Save the full autocorrelation function of the probe regressor at each pass.
|
|
5
|
+
* (rapidtide) Now save a version of the mean fMRI image prior to filtering
|
|
6
|
+
* (rapidtide) Added the abilty to disable masking of sLFO filter. Use ``--nosLFOfiltmask`` to disable.
|
|
7
|
+
* (happy) Implemented multiprocessing for detrending, phase projection, and phase projection smoothing.
|
|
8
|
+
* (happy) Precache convolution gridding kernel outputs to improve repeatability.
|
|
9
|
+
* (happy) Early implementation of Wright's method for finding vessels.
|
|
10
|
+
* (showarbcorr) Fixed some internal issues.
|
|
11
|
+
* (simdata) Many changes to finetune the simulation and make the output more realistic. Still in progress.
|
|
12
|
+
* (Docker) Turned on provenance and sbom in Docker builds.
|
|
13
|
+
* (package) Accepted several dependabot PRs.
|
|
14
|
+
|
|
15
|
+
## Version 3.0.6 (5/21/25)
|
|
16
|
+
* (rapidtide) Made a generic, reusable multiprocessing module and moved many functions over to it.
|
|
17
|
+
* (ccorrica) Samplerate is now set properly if input is a BIDS tsv file.
|
|
18
|
+
* (package) Added several new tests.
|
|
19
|
+
|
|
3
20
|
## Version 3.0.5 (5/7/25)
|
|
4
21
|
* (rapidtide) Loosened the sample rate matching when appending timecourses to files, and read NIFTI tr values using modern header features. This should help address https://github.com/bbfrederick/rapidtide/issues/205 (thank you to https://github.com/phildeming for finding this).
|
|
5
22
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rapidtide
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.7
|
|
4
4
|
Summary: Tools for performing correlation analysis on fMRI data.
|
|
5
5
|
Author: Taylor Salo, Daniel M. Drucker, Ph.D., Jeffrey N Stout, Yaroslav O. Halchenko, Derek Monroe
|
|
6
6
|
Author-email: "Blaise deB. Frederick" <blaise.frederick@gmail.com>
|
|
@@ -903,6 +903,23 @@ class RapidtideDataset:
|
|
|
903
903
|
print("using ", self.fileroot + "meanvalue.nii.gz", " as background")
|
|
904
904
|
# allloadedmaps.append('anatomic')
|
|
905
905
|
return True
|
|
906
|
+
elif os.path.isfile(self.fileroot + "desc-unfiltmean_map.nii.gz"):
|
|
907
|
+
thepath, thebase = os.path.split(self.fileroot)
|
|
908
|
+
self.overlays["anatomic"] = Overlay(
|
|
909
|
+
"anatomic",
|
|
910
|
+
self.fileroot + "desc-unfiltmean_map.nii.gz",
|
|
911
|
+
thebase,
|
|
912
|
+
init_LUT=self.init_LUT,
|
|
913
|
+
verbose=self.verbose,
|
|
914
|
+
)
|
|
915
|
+
if self.verbose > 1:
|
|
916
|
+
print(
|
|
917
|
+
"using ",
|
|
918
|
+
self.fileroot + "desc-unfiltmean_map.nii.gz",
|
|
919
|
+
" as background",
|
|
920
|
+
)
|
|
921
|
+
# allloadedmaps.append('anatomic')
|
|
922
|
+
return True
|
|
906
923
|
elif os.path.isfile(self.fileroot + "desc-mean_map.nii.gz"):
|
|
907
924
|
thepath, thebase = os.path.split(self.fileroot)
|
|
908
925
|
self.overlays["anatomic"] = Overlay(
|
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "2025-
|
|
11
|
+
"date": "2025-06-16T13:13:35-0400",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "3.0.
|
|
14
|
+
"full-revisionid": "9e8ae750c70431c04a50473c749c451e996d490f",
|
|
15
|
+
"version": "3.0.7"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
|
@@ -0,0 +1,146 @@
|
|
|
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 gc
|
|
20
|
+
import logging
|
|
21
|
+
import warnings
|
|
22
|
+
|
|
23
|
+
import numpy as np
|
|
24
|
+
|
|
25
|
+
import rapidtide.genericmultiproc as tide_genericmultiproc
|
|
26
|
+
|
|
27
|
+
warnings.simplefilter(action="ignore", category=FutureWarning)
|
|
28
|
+
LGR = logging.getLogger("GENERAL")
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def _procOneVoxelCoherence(
|
|
32
|
+
vox,
|
|
33
|
+
voxelargs,
|
|
34
|
+
**kwargs,
|
|
35
|
+
):
|
|
36
|
+
options = {
|
|
37
|
+
"alt": False,
|
|
38
|
+
"debug": False,
|
|
39
|
+
}
|
|
40
|
+
options.update(kwargs)
|
|
41
|
+
alt = options["alt"]
|
|
42
|
+
debug = options["debug"]
|
|
43
|
+
(theCoherer, fmritc) = voxelargs
|
|
44
|
+
if debug:
|
|
45
|
+
print(f"{alt=}")
|
|
46
|
+
if alt:
|
|
47
|
+
(
|
|
48
|
+
thecoherence_y,
|
|
49
|
+
thecoherence_x,
|
|
50
|
+
globalmaxindex,
|
|
51
|
+
dummy,
|
|
52
|
+
dummy,
|
|
53
|
+
dummy,
|
|
54
|
+
) = theCoherer.run(fmritc, trim=True, alt=True)
|
|
55
|
+
else:
|
|
56
|
+
thecoherence_y, thecoherence_x, globalmaxindex = theCoherer.run(fmritc, trim=True)
|
|
57
|
+
maxindex = np.argmax(thecoherence_y)
|
|
58
|
+
return (
|
|
59
|
+
vox,
|
|
60
|
+
thecoherence_x,
|
|
61
|
+
thecoherence_y,
|
|
62
|
+
thecoherence_y[maxindex],
|
|
63
|
+
thecoherence_x[maxindex],
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
def _packvoxeldata(voxnum, voxelargs):
|
|
68
|
+
return [
|
|
69
|
+
voxelargs[0],
|
|
70
|
+
(voxelargs[1])[voxnum, :],
|
|
71
|
+
]
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def _unpackvoxeldata(retvals, voxelproducts):
|
|
75
|
+
(voxelproducts[0])[retvals[0]] = retvals[2]
|
|
76
|
+
(voxelproducts[1])[retvals[0]] = retvals[3]
|
|
77
|
+
(voxelproducts[2])[retvals[0]] = retvals[4]
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
def coherencepass(
|
|
81
|
+
fmridata,
|
|
82
|
+
theCoherer,
|
|
83
|
+
coherencefunc,
|
|
84
|
+
coherencepeakval,
|
|
85
|
+
coherencepeakfreq,
|
|
86
|
+
alt=False,
|
|
87
|
+
chunksize=1000,
|
|
88
|
+
nprocs=1,
|
|
89
|
+
alwaysmultiproc=False,
|
|
90
|
+
showprogressbar=True,
|
|
91
|
+
debug=False,
|
|
92
|
+
):
|
|
93
|
+
"""
|
|
94
|
+
|
|
95
|
+
Parameters
|
|
96
|
+
----------
|
|
97
|
+
fmridata
|
|
98
|
+
theCoherer
|
|
99
|
+
coherencefunc
|
|
100
|
+
coherencepeakval
|
|
101
|
+
coherencepeakfreq
|
|
102
|
+
chunksize
|
|
103
|
+
nprocs
|
|
104
|
+
alwaysmultiproc
|
|
105
|
+
showprogressbar
|
|
106
|
+
rt_floatset
|
|
107
|
+
rt_floattype
|
|
108
|
+
|
|
109
|
+
Returns
|
|
110
|
+
-------
|
|
111
|
+
|
|
112
|
+
"""
|
|
113
|
+
inputshape = np.shape(fmridata)
|
|
114
|
+
voxelargs = [theCoherer, fmridata]
|
|
115
|
+
voxelfunc = _procOneVoxelCoherence
|
|
116
|
+
packfunc = _packvoxeldata
|
|
117
|
+
unpackfunc = _unpackvoxeldata
|
|
118
|
+
voxeltargets = [coherencefunc, coherencepeakval, coherencepeakfreq]
|
|
119
|
+
voxelmask = fmridata[:, 0] * 0.0 + 1
|
|
120
|
+
|
|
121
|
+
volumetotal = tide_genericmultiproc.run_multiproc(
|
|
122
|
+
voxelfunc,
|
|
123
|
+
packfunc,
|
|
124
|
+
unpackfunc,
|
|
125
|
+
voxelargs,
|
|
126
|
+
voxeltargets,
|
|
127
|
+
inputshape,
|
|
128
|
+
voxelmask,
|
|
129
|
+
LGR,
|
|
130
|
+
nprocs,
|
|
131
|
+
alwaysmultiproc,
|
|
132
|
+
showprogressbar,
|
|
133
|
+
chunksize,
|
|
134
|
+
alt=alt,
|
|
135
|
+
debug=debug,
|
|
136
|
+
)
|
|
137
|
+
LGR.info(f"\nCoherence performed on {volumetotal} voxels")
|
|
138
|
+
|
|
139
|
+
# garbage collect
|
|
140
|
+
uncollected = gc.collect()
|
|
141
|
+
if uncollected != 0:
|
|
142
|
+
LGR.info(f"garbage collected - unable to collect {uncollected} objects")
|
|
143
|
+
else:
|
|
144
|
+
LGR.info("garbage collected")
|
|
145
|
+
|
|
146
|
+
return volumetotal
|
|
@@ -0,0 +1,179 @@
|
|
|
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 sys
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
import numpy as np
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
import rapidtide.filter as tide_filt
|
|
26
|
+
import rapidtide.miscmath as tide_math
|
|
27
|
+
import rapidtide.genericmultiproc as tide_genericmultiproc
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
# note: rawtimecourse has been filtered, but NOT windowed
|
|
31
|
+
def _procOneNullCorrelationx(
|
|
32
|
+
vox,
|
|
33
|
+
voxelargs,
|
|
34
|
+
**kwargs,
|
|
35
|
+
):
|
|
36
|
+
|
|
37
|
+
options = {
|
|
38
|
+
"permutationmethod": "shuffle",
|
|
39
|
+
"debug": False,
|
|
40
|
+
}
|
|
41
|
+
options.update(kwargs)
|
|
42
|
+
permutationmethod = options["permutationmethod"]
|
|
43
|
+
debug = options["debug"]
|
|
44
|
+
if debug:
|
|
45
|
+
print(f"{permutationmethod=}")
|
|
46
|
+
(
|
|
47
|
+
normalizedreftc,
|
|
48
|
+
rawtcfft_r,
|
|
49
|
+
rawtcfft_ang,
|
|
50
|
+
theCorrelator,
|
|
51
|
+
thefitter,
|
|
52
|
+
) = voxelargs
|
|
53
|
+
|
|
54
|
+
# make a shuffled copy of the regressors
|
|
55
|
+
if permutationmethod == "shuffle":
|
|
56
|
+
permutedtc = np.random.permutation(normalizedreftc)
|
|
57
|
+
# apply the appropriate filter
|
|
58
|
+
# permutedtc = theCorrelator.ncprefilter.apply(Fs, permutedtc)
|
|
59
|
+
elif permutationmethod == "phaserandom":
|
|
60
|
+
permutedtc = tide_filt.ifftfrompolar(rawtcfft_r, np.random.permutation(rawtcfft_ang))
|
|
61
|
+
else:
|
|
62
|
+
print("illegal shuffling method")
|
|
63
|
+
sys.exit()
|
|
64
|
+
|
|
65
|
+
# crosscorrelate with original
|
|
66
|
+
thexcorr_y, thexcorr_x, dummy = theCorrelator.run(permutedtc)
|
|
67
|
+
|
|
68
|
+
# fit the correlation
|
|
69
|
+
thefitter.setcorrtimeaxis(thexcorr_x)
|
|
70
|
+
(
|
|
71
|
+
maxindex,
|
|
72
|
+
maxlag,
|
|
73
|
+
maxval,
|
|
74
|
+
maxsigma,
|
|
75
|
+
maskval,
|
|
76
|
+
failreason,
|
|
77
|
+
peakstart,
|
|
78
|
+
peakend,
|
|
79
|
+
) = thefitter.fit(thexcorr_y)
|
|
80
|
+
|
|
81
|
+
return vox, maxval
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
def _packvoxeldata(voxnum, voxelargs):
|
|
85
|
+
return [voxelargs[0], voxelargs[1], voxelargs[2], voxelargs[3], voxelargs[4]]
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
def _unpackvoxeldata(retvals, voxelproducts):
|
|
89
|
+
(voxelproducts[0])[retvals[0]] = retvals[1]
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
def getNullDistributionData(
|
|
93
|
+
Fs,
|
|
94
|
+
theCorrelator,
|
|
95
|
+
thefitter,
|
|
96
|
+
LGR,
|
|
97
|
+
numestreps=0,
|
|
98
|
+
nprocs=1,
|
|
99
|
+
alwaysmultiproc=False,
|
|
100
|
+
showprogressbar=True,
|
|
101
|
+
chunksize=1000,
|
|
102
|
+
permutationmethod="shuffle",
|
|
103
|
+
rt_floatset=np.float64,
|
|
104
|
+
rt_floattype="float64",
|
|
105
|
+
debug=False,
|
|
106
|
+
):
|
|
107
|
+
r"""Calculate a set of null correlations to determine the distribution of correlation values. This can
|
|
108
|
+
be used to find the spurious correlation threshold
|
|
109
|
+
|
|
110
|
+
Parameters
|
|
111
|
+
----------
|
|
112
|
+
Fs: float
|
|
113
|
+
The sample frequency of rawtimecourse, in Hz
|
|
114
|
+
|
|
115
|
+
rawtimecourse : 1D numpy array
|
|
116
|
+
The test regressor. This should be filtered to the desired bandwidth, but NOT windowed.
|
|
117
|
+
:param rawtimecourse:
|
|
118
|
+
|
|
119
|
+
corrscale: 1D numpy array
|
|
120
|
+
The time axis of the cross correlation function.
|
|
121
|
+
|
|
122
|
+
filterfunc: function
|
|
123
|
+
This is a preconfigured NoncausalFilter function which is used to filter data to the desired bandwidth
|
|
124
|
+
|
|
125
|
+
corrorigin: int
|
|
126
|
+
The bin number in the correlation timescale corresponding to 0.0 seconds delay
|
|
127
|
+
|
|
128
|
+
negbins: int
|
|
129
|
+
The lower edge of the search range for correlation peaks, in number of bins below corrorigin
|
|
130
|
+
|
|
131
|
+
posbins: int
|
|
132
|
+
The upper edge of the search range for correlation peaks, in number of bins above corrorigin
|
|
133
|
+
|
|
134
|
+
"""
|
|
135
|
+
inputshape = np.asarray([numestreps])
|
|
136
|
+
normalizedreftc = theCorrelator.ncprefilter.apply(
|
|
137
|
+
Fs,
|
|
138
|
+
tide_math.corrnormalize(
|
|
139
|
+
theCorrelator.reftc,
|
|
140
|
+
windowfunc="None",
|
|
141
|
+
detrendorder=theCorrelator.detrendorder,
|
|
142
|
+
),
|
|
143
|
+
)
|
|
144
|
+
rawtcfft_r, rawtcfft_ang = tide_filt.polarfft(normalizedreftc)
|
|
145
|
+
corrlist = np.zeros((numestreps), dtype=rt_floattype)
|
|
146
|
+
voxelmask = np.ones((numestreps), dtype=rt_floattype)
|
|
147
|
+
voxelargs = [normalizedreftc, rawtcfft_r, rawtcfft_ang, theCorrelator, thefitter]
|
|
148
|
+
voxelfunc = _procOneNullCorrelationx
|
|
149
|
+
packfunc = _packvoxeldata
|
|
150
|
+
unpackfunc = _unpackvoxeldata
|
|
151
|
+
voxeltargets = [
|
|
152
|
+
corrlist,
|
|
153
|
+
]
|
|
154
|
+
|
|
155
|
+
volumetotal = tide_genericmultiproc.run_multiproc(
|
|
156
|
+
voxelfunc,
|
|
157
|
+
packfunc,
|
|
158
|
+
unpackfunc,
|
|
159
|
+
voxelargs,
|
|
160
|
+
voxeltargets,
|
|
161
|
+
inputshape,
|
|
162
|
+
voxelmask,
|
|
163
|
+
LGR,
|
|
164
|
+
nprocs,
|
|
165
|
+
alwaysmultiproc,
|
|
166
|
+
showprogressbar,
|
|
167
|
+
chunksize,
|
|
168
|
+
permutationmethod=permutationmethod,
|
|
169
|
+
debug=debug,
|
|
170
|
+
)
|
|
171
|
+
|
|
172
|
+
# return the distribution data
|
|
173
|
+
numnonzero = len(np.where(corrlist != 0.0)[0])
|
|
174
|
+
print(
|
|
175
|
+
"{:d} non-zero correlations out of {:d} ({:.2f}%)".format(
|
|
176
|
+
numnonzero, len(corrlist), 100.0 * numnonzero / len(corrlist)
|
|
177
|
+
)
|
|
178
|
+
)
|
|
179
|
+
return corrlist
|
|
@@ -0,0 +1,176 @@
|
|
|
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 gc
|
|
20
|
+
import logging
|
|
21
|
+
import warnings
|
|
22
|
+
|
|
23
|
+
import numpy as np
|
|
24
|
+
|
|
25
|
+
import rapidtide.genericmultiproc as tide_genericmultiproc
|
|
26
|
+
import rapidtide.resample as tide_resample
|
|
27
|
+
|
|
28
|
+
warnings.simplefilter(action="ignore", category=FutureWarning)
|
|
29
|
+
LGR = logging.getLogger("GENERAL")
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def _procOneVoxelCorrelation(
|
|
33
|
+
vox,
|
|
34
|
+
voxelargs,
|
|
35
|
+
**kwargs,
|
|
36
|
+
):
|
|
37
|
+
options = {
|
|
38
|
+
"oversampfactor": 1,
|
|
39
|
+
"interptype": "univariate",
|
|
40
|
+
"debug": False,
|
|
41
|
+
}
|
|
42
|
+
options.update(kwargs)
|
|
43
|
+
oversampfactor = options["oversampfactor"]
|
|
44
|
+
interptype = options["interptype"]
|
|
45
|
+
debug = options["debug"]
|
|
46
|
+
if debug:
|
|
47
|
+
print(f"{oversampfactor=} {interptype=}")
|
|
48
|
+
(thetc, theCorrelator, fmri_x, fmritc, os_fmri_x, theglobalmaxlist, thexcorr_y) = voxelargs
|
|
49
|
+
if oversampfactor >= 1:
|
|
50
|
+
thetc[:] = tide_resample.doresample(fmri_x, fmritc, os_fmri_x, method=interptype)
|
|
51
|
+
else:
|
|
52
|
+
thetc[:] = fmritc
|
|
53
|
+
thexcorr_y, thexcorr_x, theglobalmax = theCorrelator.run(thetc)
|
|
54
|
+
# print(f"_procOneVoxelCorrelation: {thexcorr_x=}")
|
|
55
|
+
|
|
56
|
+
return vox, np.mean(thetc), thexcorr_y, thexcorr_x, theglobalmax, theglobalmaxlist
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def _packvoxeldata(voxnum, voxelargs):
|
|
60
|
+
return [
|
|
61
|
+
voxelargs[0],
|
|
62
|
+
voxelargs[1],
|
|
63
|
+
voxelargs[2],
|
|
64
|
+
(voxelargs[3])[voxnum, :],
|
|
65
|
+
voxelargs[4],
|
|
66
|
+
voxelargs[5],
|
|
67
|
+
voxelargs[6],
|
|
68
|
+
]
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def _unpackvoxeldata(retvals, voxelproducts):
|
|
72
|
+
(voxelproducts[0])[retvals[0]] = retvals[1]
|
|
73
|
+
(voxelproducts[1])[retvals[0], :] = retvals[2]
|
|
74
|
+
voxelproducts[2] = retvals[3]
|
|
75
|
+
(voxelproducts[3]).append(retvals[4] + 0)
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
def correlationpass(
|
|
79
|
+
fmridata,
|
|
80
|
+
referencetc,
|
|
81
|
+
theCorrelator,
|
|
82
|
+
fmri_x,
|
|
83
|
+
os_fmri_x,
|
|
84
|
+
lagmininpts,
|
|
85
|
+
lagmaxinpts,
|
|
86
|
+
corrout,
|
|
87
|
+
meanval,
|
|
88
|
+
nprocs=1,
|
|
89
|
+
alwaysmultiproc=False,
|
|
90
|
+
oversampfactor=1,
|
|
91
|
+
interptype="univariate",
|
|
92
|
+
showprogressbar=True,
|
|
93
|
+
chunksize=1000,
|
|
94
|
+
rt_floatset=np.float64,
|
|
95
|
+
rt_floattype="float64",
|
|
96
|
+
debug=False,
|
|
97
|
+
):
|
|
98
|
+
"""
|
|
99
|
+
|
|
100
|
+
Parameters
|
|
101
|
+
----------
|
|
102
|
+
fmridata
|
|
103
|
+
referencetc - the reference regressor, already oversampled
|
|
104
|
+
theCorrelator
|
|
105
|
+
fmri_x
|
|
106
|
+
os_fmri_x
|
|
107
|
+
tr
|
|
108
|
+
lagmininpts
|
|
109
|
+
lagmaxinpts
|
|
110
|
+
corrout
|
|
111
|
+
meanval
|
|
112
|
+
nprocs
|
|
113
|
+
oversampfactor
|
|
114
|
+
interptype
|
|
115
|
+
showprogressbar
|
|
116
|
+
chunksize
|
|
117
|
+
rt_floatset
|
|
118
|
+
rt_floattype
|
|
119
|
+
|
|
120
|
+
Returns
|
|
121
|
+
-------
|
|
122
|
+
|
|
123
|
+
"""
|
|
124
|
+
if debug:
|
|
125
|
+
print(f"calling setreftc in calcsimfunc with length {len(referencetc)}")
|
|
126
|
+
theCorrelator.setreftc(referencetc)
|
|
127
|
+
theCorrelator.setlimits(lagmininpts, lagmaxinpts)
|
|
128
|
+
thetc = np.zeros(np.shape(os_fmri_x), dtype=rt_floattype)
|
|
129
|
+
theglobalmaxlist = []
|
|
130
|
+
|
|
131
|
+
# generate a corrscale of the correct length
|
|
132
|
+
dummy = np.zeros(100, dtype=rt_floattype)
|
|
133
|
+
dummy, dummy, dummy, thecorrscale, dummy, dummy = _procOneVoxelCorrelation(
|
|
134
|
+
0,
|
|
135
|
+
_packvoxeldata(
|
|
136
|
+
0, [thetc, theCorrelator, fmri_x, fmridata, os_fmri_x, theglobalmaxlist, dummy]
|
|
137
|
+
),
|
|
138
|
+
oversampfactor=oversampfactor,
|
|
139
|
+
interptype=interptype,
|
|
140
|
+
)
|
|
141
|
+
|
|
142
|
+
inputshape = np.shape(fmridata)
|
|
143
|
+
voxelargs = [thetc, theCorrelator, fmri_x, fmridata, os_fmri_x, theglobalmaxlist, thecorrscale]
|
|
144
|
+
voxelfunc = _procOneVoxelCorrelation
|
|
145
|
+
packfunc = _packvoxeldata
|
|
146
|
+
unpackfunc = _unpackvoxeldata
|
|
147
|
+
voxeltargets = [meanval, corrout, thecorrscale, theglobalmaxlist]
|
|
148
|
+
voxelmask = fmridata[:, 0] * 0.0 + 1
|
|
149
|
+
|
|
150
|
+
volumetotal = tide_genericmultiproc.run_multiproc(
|
|
151
|
+
voxelfunc,
|
|
152
|
+
packfunc,
|
|
153
|
+
unpackfunc,
|
|
154
|
+
voxelargs,
|
|
155
|
+
voxeltargets,
|
|
156
|
+
inputshape,
|
|
157
|
+
voxelmask,
|
|
158
|
+
LGR,
|
|
159
|
+
nprocs,
|
|
160
|
+
alwaysmultiproc,
|
|
161
|
+
showprogressbar,
|
|
162
|
+
chunksize,
|
|
163
|
+
oversampfactor=oversampfactor,
|
|
164
|
+
interptype=interptype,
|
|
165
|
+
debug=debug,
|
|
166
|
+
)
|
|
167
|
+
LGR.info(f"\nSimilarity function calculated on {volumetotal} voxels")
|
|
168
|
+
|
|
169
|
+
# garbage collect
|
|
170
|
+
uncollected = gc.collect()
|
|
171
|
+
if uncollected != 0:
|
|
172
|
+
LGR.info(f"garbage collected - unable to collect {uncollected} objects")
|
|
173
|
+
else:
|
|
174
|
+
LGR.info("garbage collected")
|
|
175
|
+
|
|
176
|
+
return volumetotal, theglobalmaxlist, thecorrscale
|
|
@@ -761,18 +761,14 @@ class AliasedCorrelator:
|
|
|
761
761
|
return corrfunc
|
|
762
762
|
|
|
763
763
|
|
|
764
|
-
def
|
|
764
|
+
def matchsamplerates(
|
|
765
765
|
input1,
|
|
766
766
|
Fs1,
|
|
767
767
|
input2,
|
|
768
768
|
Fs2,
|
|
769
|
-
start1=0.0,
|
|
770
|
-
start2=0.0,
|
|
771
|
-
windowfunc="hamming",
|
|
772
769
|
method="univariate",
|
|
773
770
|
debug=False,
|
|
774
771
|
):
|
|
775
|
-
"""Calculate something."""
|
|
776
772
|
if Fs1 > Fs2:
|
|
777
773
|
corrFs = Fs1
|
|
778
774
|
matchedinput1 = input1
|
|
@@ -782,9 +778,32 @@ def arbcorr(
|
|
|
782
778
|
matchedinput1 = tide_resample.upsample(input1, Fs1, corrFs, method=method, debug=debug)
|
|
783
779
|
matchedinput2 = input2
|
|
784
780
|
else:
|
|
785
|
-
corrFs =
|
|
781
|
+
corrFs = Fs2
|
|
786
782
|
matchedinput1 = input1
|
|
787
783
|
matchedinput2 = input2
|
|
784
|
+
return matchedinput1, matchedinput2, corrFs
|
|
785
|
+
|
|
786
|
+
|
|
787
|
+
def arbcorr(
|
|
788
|
+
input1,
|
|
789
|
+
Fs1,
|
|
790
|
+
input2,
|
|
791
|
+
Fs2,
|
|
792
|
+
start1=0.0,
|
|
793
|
+
start2=0.0,
|
|
794
|
+
windowfunc="hamming",
|
|
795
|
+
method="univariate",
|
|
796
|
+
debug=False,
|
|
797
|
+
):
|
|
798
|
+
# upsample to the higher frequency of the two
|
|
799
|
+
matchedinput1, matchedinput2, corrFs = matchsamplerates(
|
|
800
|
+
input1,
|
|
801
|
+
Fs1,
|
|
802
|
+
input2,
|
|
803
|
+
Fs2,
|
|
804
|
+
method=method,
|
|
805
|
+
debug=debug,
|
|
806
|
+
)
|
|
788
807
|
norm1 = tide_math.corrnormalize(matchedinput1, detrendorder=1, windowfunc=windowfunc)
|
|
789
808
|
norm2 = tide_math.corrnormalize(matchedinput2, detrendorder=1, windowfunc=windowfunc)
|
|
790
809
|
thexcorr_y = signal.fftconvolve(norm1, norm2[::-1], mode="full")
|
|
@@ -21,3 +21,25 @@ atlasaverage \
|
|
|
21
21
|
--extramask /opt/fsl-latest/data/standard/MNI152_T1_1mm_brain_mask.nii.gz \
|
|
22
22
|
--summarymethod median \
|
|
23
23
|
--headerline
|
|
24
|
+
|
|
25
|
+
atlasaverage \
|
|
26
|
+
sub-RAPIDTIDETEST.nii.gz \
|
|
27
|
+
sub-RAPIDTIDETEST_dseg.nii.gz \
|
|
28
|
+
../dst/synthsegaverages \
|
|
29
|
+
--ignorezeros \
|
|
30
|
+
--numpercentiles 3 \
|
|
31
|
+
--includemask sub-RAPIDTIDETEST_brainmask.nii.gz \
|
|
32
|
+
--regionlabelfile dseglabels.txt \
|
|
33
|
+
--summarymethod mean
|
|
34
|
+
|
|
35
|
+
atlasaverage \
|
|
36
|
+
sub-RAPIDTIDETEST.nii.gz \
|
|
37
|
+
sub-RAPIDTIDETEST_dseg.nii.gz \
|
|
38
|
+
../dst/synthsegaverages_pctnorm \
|
|
39
|
+
--normmethod pct \
|
|
40
|
+
--ignorezeros \
|
|
41
|
+
--numpercentiles 3 \
|
|
42
|
+
--includemask sub-RAPIDTIDETEST_brainmask.nii.gz \
|
|
43
|
+
--regionlabelfile dseglabels.txt \
|
|
44
|
+
--summarymethod mean
|
|
45
|
+
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
rapidtide \
|
|
4
|
+
--spatialfilt -1 \
|
|
5
|
+
--nprocs -1 \
|
|
6
|
+
--searchrange -5 20 \
|
|
7
|
+
--simcalcrange 50 -1 \
|
|
8
|
+
--outputlevel more \
|
|
9
|
+
--graymattermask sub-RAPIDTIDETEST_synthseg.nii.gz:SSEG_GRAY \
|
|
10
|
+
--brainmask sub-RAPIDTIDETEST_brainmask.nii.gz \
|
|
11
|
+
--whitemattermask sub-RAPIDTIDETEST_synthseg.nii.gz:SSEG_WHITE \
|
|
12
|
+
--csfmask sub-RAPIDTIDETEST_synthseg.nii.gz:SSEG_CSF \
|
|
13
|
+
--cleanrefined \
|
|
14
|
+
sub-RAPIDTIDETEST.nii.gz \
|
|
15
|
+
../dst/sub-RAPIDTIDETEST
|
|
16
|
+
|
|
17
|
+
rapidtide \
|
|
18
|
+
--spatialfilt -1 \
|
|
19
|
+
--nprocs -1 \
|
|
20
|
+
--searchrange -5 20 \
|
|
21
|
+
--simcalcrange 50 -1 \
|
|
22
|
+
--outputlevel more \
|
|
23
|
+
--nosLFOfiltmask \
|
|
24
|
+
--graymattermask sub-RAPIDTIDETEST_synthseg.nii.gz:SSEG_GRAY \
|
|
25
|
+
--brainmask sub-RAPIDTIDETEST_brainmask.nii.gz \
|
|
26
|
+
--whitemattermask sub-RAPIDTIDETEST_synthseg.nii.gz:SSEG_WHITE \
|
|
27
|
+
--csfmask sub-RAPIDTIDETEST_synthseg.nii.gz:SSEG_CSF \
|
|
28
|
+
--cleanrefined \
|
|
29
|
+
sub-RAPIDTIDETEST.nii.gz \
|
|
30
|
+
../dst/sub-RAPIDTIDETEST_nosLFOfiltmask
|