rapidtide 3.0.8__py3-none-any.whl → 3.0.9__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.
@@ -45,8 +45,9 @@ import rapidtide.stats as tide_stats
45
45
  import rapidtide.util as tide_util
46
46
  import rapidtide.voxelData as tide_voxelData
47
47
  import rapidtide.wiener as tide_wiener
48
+ import rapidtide.workflows.calcSimFuncMap as tide_calcSimFuncMap
48
49
  import rapidtide.workflows.cleanregressor as tide_cleanregressor
49
- import rapidtide.workflows.estimateDelayMap as tide_estimateDelayMap
50
+ import rapidtide.workflows.fitSimFuncMap as tide_fitSimFuncMap
50
51
  import rapidtide.workflows.refineDelayMap as tide_refineDelayMap
51
52
  import rapidtide.workflows.refineRegressor as tide_refineRegressor
52
53
  import rapidtide.workflows.regressfrommaps as tide_regressfrommaps
@@ -572,7 +573,7 @@ def rapidtide_main(argparsingfunc):
572
573
  savename = f"{outputname}_desc-processed_mask"
573
574
  tide_io.savetonifti(corrmask.reshape(xsize, ysize, numslices), theheader, savename)
574
575
 
575
- LGR.verbose(f"image threshval = {threshval}")
576
+ LGR.verbose(f"image threshval = {threshval:.2f}")
576
577
  validvoxels = np.where(corrmask > 0)[0]
577
578
  if optiondict["debug"]:
578
579
  print(f"{validvoxels.shape=}")
@@ -967,7 +968,7 @@ def rapidtide_main(argparsingfunc):
967
968
  )
968
969
  LGR.verbose("Input vector")
969
970
  LGR.verbose(f"length: {len(inputvec)}")
970
- LGR.verbose(f"input freq: {inputfreq}")
971
+ LGR.verbose(f"input freq: {inputfreq:.2f}")
971
972
  LGR.verbose(f"input start time: {inputstarttime:.3f}")
972
973
 
973
974
  if not optiondict["useinitregressorref"]:
@@ -1345,6 +1346,29 @@ def rapidtide_main(argparsingfunc):
1345
1346
  append=False,
1346
1347
  )
1347
1348
 
1349
+ # prepare for fast resampling
1350
+ optiondict["fastresamplerpadtime"] = (
1351
+ max((-optiondict["lagmin"], optiondict["lagmax"]))
1352
+ + 30.0
1353
+ + np.abs(optiondict["offsettime"])
1354
+ )
1355
+ numpadtrs = int(optiondict["fastresamplerpadtime"] // fmritr)
1356
+ optiondict["fastresamplerpadtime"] = fmritr * numpadtrs
1357
+ LGR.info(f"setting up fast resampling with padtime = {optiondict['fastresamplerpadtime']}")
1358
+
1359
+ genlagtc = tide_resample.FastResampler(
1360
+ reference_x, reference_y, padtime=optiondict["fastresamplerpadtime"]
1361
+ )
1362
+ genlagtc.save(f"{outputname}_desc-lagtcgenerator_timeseries")
1363
+ if optiondict["debug"]:
1364
+ genlagtc.info()
1365
+ totalpadlen = validtimepoints + 2 * numpadtrs
1366
+ paddedinitial_fmri_x = (
1367
+ np.linspace(0.0, totalpadlen * fmritr, num=totalpadlen, endpoint=False)
1368
+ + skiptime
1369
+ - fmritr * numpadtrs
1370
+ )
1371
+
1348
1372
  # allocate all the data arrays
1349
1373
  tide_util.logmem("before main array allocation")
1350
1374
  internalspaceshape = numspatiallocs
@@ -1359,7 +1383,30 @@ def rapidtide_main(argparsingfunc):
1359
1383
  outmaparray = np.zeros(internalspaceshape, dtype=rt_floattype)
1360
1384
  tide_util.logmem("after main array allocation")
1361
1385
 
1362
- corroutlen = np.shape(trimmedcorrscale)[0]
1386
+ if optiondict["similaritymetric"] == "riptide":
1387
+ riptideregressorset, riptidedelays = tide_calcSimFuncMap.makeRIPTiDeRegressors(
1388
+ initial_fmri_x,
1389
+ optiondict["lagmin"],
1390
+ optiondict["lagmax"],
1391
+ genlagtc,
1392
+ LGR,
1393
+ targetstep=optiondict["riptidestep"],
1394
+ edgepad=0,
1395
+ showprogressbar=optiondict["showprogressbar"],
1396
+ chunksize=optiondict["mp_chunksize"],
1397
+ nprocs=optiondict["nprocs"],
1398
+ alwaysmultiproc=optiondict["alwaysmultiproc"],
1399
+ rt_floatset=rt_floatset,
1400
+ rt_floattype=rt_floattype,
1401
+ debug=optiondict["debug"],
1402
+ )
1403
+ numriptideregressors = riptideregressorset.shape[0]
1404
+ corroutlen = numriptideregressors
1405
+ else:
1406
+ riptideregressorset = None
1407
+ riptidedelays = None
1408
+ corroutlen = np.shape(trimmedcorrscale)[0]
1409
+
1363
1410
  if theinputdata.filetype == "text":
1364
1411
  nativecorrshape = (xsize, corroutlen)
1365
1412
  else:
@@ -1372,6 +1419,7 @@ def rapidtide_main(argparsingfunc):
1372
1419
  LGR.debug(
1373
1420
  f"allocating memory for correlation arrays {internalcorrshape} {internalvalidcorrshape}"
1374
1421
  )
1422
+
1375
1423
  corrout, corrout_shm = tide_util.allocarray(
1376
1424
  internalvalidcorrshape,
1377
1425
  rt_floatset,
@@ -1427,29 +1475,6 @@ def rapidtide_main(argparsingfunc):
1427
1475
  else:
1428
1476
  theinitialdelay = None
1429
1477
 
1430
- # prepare for fast resampling
1431
- optiondict["fastresamplerpadtime"] = (
1432
- max((-optiondict["lagmin"], optiondict["lagmax"]))
1433
- + 30.0
1434
- + np.abs(optiondict["offsettime"])
1435
- )
1436
- numpadtrs = int(optiondict["fastresamplerpadtime"] // fmritr)
1437
- optiondict["fastresamplerpadtime"] = fmritr * numpadtrs
1438
- LGR.info(f"setting up fast resampling with padtime = {optiondict['fastresamplerpadtime']}")
1439
-
1440
- genlagtc = tide_resample.FastResampler(
1441
- reference_x, reference_y, padtime=optiondict["fastresamplerpadtime"]
1442
- )
1443
- genlagtc.save(f"{outputname}_desc-lagtcgenerator_timeseries")
1444
- if optiondict["debug"]:
1445
- genlagtc.info()
1446
- totalpadlen = validtimepoints + 2 * numpadtrs
1447
- paddedinitial_fmri_x = (
1448
- np.linspace(0.0, totalpadlen * fmritr, num=totalpadlen, endpoint=False)
1449
- + skiptime
1450
- - fmritr * numpadtrs
1451
- )
1452
-
1453
1478
  if theinputdata.filetype == "text":
1454
1479
  nativefmrishape = (xsize, np.shape(initial_fmri_x)[0])
1455
1480
  elif theinputdata.filetype == "cifti":
@@ -1465,7 +1490,7 @@ def rapidtide_main(argparsingfunc):
1465
1490
  )
1466
1491
 
1467
1492
  # now do the arrays for delay refinement
1468
- if optiondict["dolinfitfilt"] or optiondict["docvrmap"] or optiondict["refinedelay"]:
1493
+ if optiondict["dolinfitfilt"] or optiondict["docvrmap"] or optiondict["refinedelay"] or (optiondict["similaritymetric"] == "riptide"):
1469
1494
  if optiondict["refinedelay"]:
1470
1495
  derivaxissize = np.max([2, optiondict["regressderivs"] + 1])
1471
1496
  else:
@@ -1526,6 +1551,13 @@ def rapidtide_main(argparsingfunc):
1526
1551
  thesize, theunit = tide_util.format_bytes(optiondict["totalRefineDelaybytes"])
1527
1552
  print(f"allocated {thesize:.3f} {theunit} {ramlocation} for delay refinement")
1528
1553
  tide_util.logmem("after derivative delay/sLFO filter array allocation")
1554
+ else:
1555
+ sLFOfitmean = None
1556
+ rvalue = None
1557
+ r2value = None
1558
+ fitNorm = None
1559
+ fitcoeff = None
1560
+ lagtc = None
1529
1561
 
1530
1562
  # prepare for regressor refinement, if we're doing it
1531
1563
  if (
@@ -1903,8 +1935,9 @@ def rapidtide_main(argparsingfunc):
1903
1935
  optiondict["currentstage"] = f"precorrelation_pass{thepass}"
1904
1936
  tide_io.writedicttojson(optiondict, f"{outputname}_desc-runoptions_info.json")
1905
1937
 
1906
- # step 1 - do the initial delay estimation
1907
- internaldespeckleincludemask = tide_estimateDelayMap.estimateDelay(
1938
+ # Step 1a - do the initial delay estimation
1939
+ similaritytype = tide_calcSimFuncMap.calcSimFunc(
1940
+ numvalidspatiallocs,
1908
1941
  fmri_data_valid,
1909
1942
  validsimcalcstart,
1910
1943
  validsimcalcend,
@@ -1916,12 +1949,83 @@ def rapidtide_main(argparsingfunc):
1916
1949
  theMutualInformationator,
1917
1950
  cleaned_referencetc,
1918
1951
  corrout,
1952
+ riptideregressorset,
1953
+ riptidedelays,
1954
+ sLFOfitmean,
1955
+ r2value,
1956
+ fitcoeff,
1957
+ fitNorm,
1919
1958
  meanval,
1920
1959
  corrscale,
1921
1960
  outputname,
1922
1961
  outcorrarray,
1923
1962
  validvoxels,
1924
1963
  nativecorrshape,
1964
+ theinputdata,
1965
+ theheader,
1966
+ lagmininpts,
1967
+ lagmaxinpts,
1968
+ thepass,
1969
+ optiondict,
1970
+ LGR,
1971
+ TimingLGR,
1972
+ similaritymetric=optiondict["similaritymetric"],
1973
+ simcalcoffset=optiondict["simcalcoffset"],
1974
+ echocancel=optiondict["echocancel"],
1975
+ checkpoint=optiondict["checkpoint"],
1976
+ mklthreads=optiondict["mklthreads"],
1977
+ nprocs=optiondict["nprocs_calcsimilarity"],
1978
+ alwaysmultiproc=optiondict["alwaysmultiproc"],
1979
+ oversampfactor=optiondict["oversampfactor"],
1980
+ interptype=optiondict["interptype"],
1981
+ showprogressbar=optiondict["showprogressbar"],
1982
+ chunksize=optiondict["mp_chunksize"],
1983
+ rt_floatset=rt_floatset,
1984
+ rt_floattype=rt_floattype,
1985
+ threaddebug=optiondict["threaddebug"],
1986
+ debug=optiondict["focaldebug"],
1987
+ )
1988
+ if optiondict["similaritymetric"] == "riptide":
1989
+ optiondict["despeckle_passes"] = 0
1990
+ fitcorrscale = riptidedelays
1991
+ else:
1992
+ fitcorrscale = trimmedcorrscale
1993
+
1994
+ if optiondict["saveintermediatemaps"]:
1995
+ theheader = theinputdata.copyheader(numtimepoints=1)
1996
+ bidspasssuffix = f"_intermediatedata-pass{thepass}"
1997
+ maplist = [
1998
+ (lagtimes, "maxtimecoarse", "map", "second", "Lag time in seconds"),
1999
+ (lagstrengths, "maxcorrcoarse", "map", None, "Maximum correlation strength"),
2000
+ ]
2001
+ tide_io.savemaplist(
2002
+ f"{outputname}{bidspasssuffix}",
2003
+ maplist,
2004
+ validvoxels,
2005
+ nativespaceshape,
2006
+ theheader,
2007
+ bidsbasedict,
2008
+ filetype=theinputdata.filetype,
2009
+ rt_floattype=rt_floattype,
2010
+ cifti_hdr=theinputdata.cifti_hdr,
2011
+ )
2012
+
2013
+
2014
+
2015
+ # Step 2a - fit the delay function
2016
+ internaldespeckleincludemask = tide_fitSimFuncMap.fitSimFunc(
2017
+ fmri_data_valid,
2018
+ validsimcalcstart,
2019
+ validsimcalcend,
2020
+ osvalidsimcalcstart,
2021
+ osvalidsimcalcend,
2022
+ initial_fmri_x,
2023
+ os_fmri_x,
2024
+ theMutualInformationator,
2025
+ cleaned_referencetc,
2026
+ corrout,
2027
+ outputname,
2028
+ validvoxels,
1925
2029
  nativespaceshape,
1926
2030
  bidsbasedict,
1927
2031
  numspatiallocs,
@@ -1941,17 +2045,18 @@ def rapidtide_main(argparsingfunc):
1941
2045
  lagsigma,
1942
2046
  failreason,
1943
2047
  outmaparray,
1944
- lagmininpts,
1945
- lagmaxinpts,
2048
+ fitcorrscale,
2049
+ similaritytype,
1946
2050
  thepass,
1947
2051
  optiondict,
1948
2052
  LGR,
1949
2053
  TimingLGR,
2054
+ simplefit=(optiondict["similaritymetric"] == "riptide"),
1950
2055
  rt_floatset=np.float64,
1951
2056
  rt_floattype="float64",
1952
2057
  )
1953
2058
 
1954
- # refine delay
2059
+ # Step 2b - refine delay (optional)
1955
2060
  if optiondict["refinedelayeachpass"]:
1956
2061
  if optiondict["delayoffsetgausssigma"] < 0.0 and theinputdata.filetype != "text":
1957
2062
  # set gausssigma automatically
@@ -2006,7 +2111,26 @@ def rapidtide_main(argparsingfunc):
2006
2111
  )
2007
2112
  lagtimes[:] = lagtimes + delayoffset
2008
2113
 
2009
- # Step 2d - make a rank order map
2114
+ if optiondict["saveintermediatemaps"]:
2115
+ theheader = theinputdata.copyheader(numtimepoints=1)
2116
+ bidspasssuffix = f"_intermediatedata-pass{thepass}"
2117
+ maplist = [
2118
+ (lagtimes, "maxtimerefined", "map", "second", "Lag time in seconds"),
2119
+ (lagstrengths, "maxcorrrefined", "map", None, "Maximum correlation strength"),
2120
+ ]
2121
+ tide_io.savemaplist(
2122
+ f"{outputname}{bidspasssuffix}",
2123
+ maplist,
2124
+ validvoxels,
2125
+ nativespaceshape,
2126
+ theheader,
2127
+ bidsbasedict,
2128
+ filetype=theinputdata.filetype,
2129
+ rt_floattype=rt_floattype,
2130
+ cifti_hdr=theinputdata.cifti_hdr,
2131
+ )
2132
+
2133
+ # Step 2b - make a rank order map
2010
2134
  timepercentile = (
2011
2135
  100.0 * (rankdata(lagtimes, method="dense") - 1) / (numvalidspatiallocs - 1)
2012
2136
  )
@@ -2499,7 +2623,7 @@ def rapidtide_main(argparsingfunc):
2499
2623
  nprocs_makelaggedtcs=optiondict["nprocs_makelaggedtcs"],
2500
2624
  nprocs_regressionfilt=optiondict["nprocs_regressionfilt"],
2501
2625
  regressderivs=optiondict["regressderivs"],
2502
- mp_chunksize=optiondict["mp_chunksize"],
2626
+ chunksize=optiondict["mp_chunksize"],
2503
2627
  showprogressbar=optiondict["showprogressbar"],
2504
2628
  alwaysmultiproc=optiondict["alwaysmultiproc"],
2505
2629
  debug=optiondict["debug"],
@@ -2987,7 +3111,7 @@ def rapidtide_main(argparsingfunc):
2987
3111
  nprocs_makelaggedtcs=optiondict["nprocs_makelaggedtcs"],
2988
3112
  nprocs_regressionfilt=optiondict["nprocs_regressionfilt"],
2989
3113
  regressderivs=optiondict["regressderivs"],
2990
- mp_chunksize=optiondict["mp_chunksize"],
3114
+ chunksize=optiondict["mp_chunksize"],
2991
3115
  showprogressbar=optiondict["showprogressbar"],
2992
3116
  alwaysmultiproc=optiondict["alwaysmultiproc"],
2993
3117
  debug=optiondict["debug"],
@@ -3147,11 +3271,19 @@ def rapidtide_main(argparsingfunc):
3147
3271
  del fitmask
3148
3272
 
3149
3273
  # now do the 4D maps of the similarity function and friends
3150
- theheader = theinputdata.copyheader(
3151
- numtimepoints=np.shape(outcorrarray)[1],
3152
- tr=corrtr,
3153
- toffset=(corrscale[corrorigin - lagmininpts]),
3154
- )
3274
+ if optiondict["similaritymetric"] == "riptide":
3275
+ theheader = theinputdata.copyheader(
3276
+ numtimepoints=np.shape(outcorrarray)[1],
3277
+ tr=riptidedelays[1] - riptidedelays[0],
3278
+ toffset=(riptidedelays[0]),
3279
+ )
3280
+ else:
3281
+ theheader = theinputdata.copyheader(
3282
+ numtimepoints=np.shape(outcorrarray)[1],
3283
+ tr=corrtr,
3284
+ toffset=(corrscale[corrorigin - lagmininpts]),
3285
+ )
3286
+
3155
3287
  if (
3156
3288
  optiondict["savecorrout"]
3157
3289
  or (optiondict["outputlevel"] != "min")
@@ -96,6 +96,9 @@ DEFAULT_OUTPUTLEVEL = "normal"
96
96
 
97
97
  DEFAULT_SLFONOISEAMP_WINDOWSIZE = 40.0
98
98
 
99
+ DEFAULT_COARSEDELAY_TYPE = "simfunc"
100
+ DEFAULT_RIPTIDESTEP = 2.0
101
+
99
102
  DEFAULT_PATCHTHRESH = 3.0
100
103
  DEFAULT_REFINEDELAYMINDELAY = -5.0
101
104
  DEFAULT_REFINEDELAYMAXDELAY = 5.0
@@ -779,10 +782,10 @@ def _get_parser():
779
782
  dest="similaritymetric",
780
783
  action="store",
781
784
  type=str,
782
- choices=["correlation", "mutualinfo", "hybrid"],
785
+ choices=["correlation", "mutualinfo", "hybrid", "riptide"],
783
786
  help=(
784
787
  "Similarity metric for finding delay values. "
785
- 'Choices are "correlation", "mutualinfo", and "hybrid". '
788
+ 'Choices are "correlation", "mutualinfo", "hybrid", and "riptide". '
786
789
  f"Default is {DEFAULT_SIMILARITYMETRIC}."
787
790
  ),
788
791
  default=DEFAULT_SIMILARITYMETRIC,
@@ -1442,6 +1445,17 @@ def _get_parser():
1442
1445
  experimental = parser.add_argument_group(
1443
1446
  "Experimental options (not fully tested, or not tested at all, may not work). Beware!"
1444
1447
  )
1448
+ output.add_argument(
1449
+ "--riptidestep", # was -h
1450
+ dest="riptidestep",
1451
+ action="store",
1452
+ type=lambda x: pf.is_float(parser, x, maxval=5.0),
1453
+ metavar="STEP",
1454
+ help=(
1455
+ f"Timestep between RIPTiDe regressors, in seconds. Default is {DEFAULT_RIPTIDESTEP}."
1456
+ ),
1457
+ default=DEFAULT_RIPTIDESTEP,
1458
+ )
1445
1459
  experimental.add_argument(
1446
1460
  "--refinedelayeachpass",
1447
1461
  dest="refinedelayeachpass",
@@ -2206,6 +2220,13 @@ def process_args(inputargs=None):
2206
2220
  print(f"illegal output level {args['outputlevel']}")
2207
2221
  sys.exit()
2208
2222
 
2223
+ # make the pass options dictionary
2224
+ args["passoptions"] = [
2225
+ {"similaritymetric": "riptide",},
2226
+ {"similaritymetric": "correlation", },
2227
+ {"similaritymetric": "correlation", },
2228
+ ]
2229
+
2209
2230
  # dispersion calculation
2210
2231
  args["dispersioncalc_lower"] = args["lagmin"]
2211
2232
  args["dispersioncalc_upper"] = args["lagmax"]
@@ -49,11 +49,11 @@ def regressfrommaps(
49
49
  nprocs_makelaggedtcs=1,
50
50
  nprocs_regressionfilt=1,
51
51
  regressderivs=0,
52
- mp_chunksize=50000,
52
+ chunksize=50000,
53
53
  showprogressbar=True,
54
54
  alwaysmultiproc=False,
55
55
  saveEVsandquit=False,
56
- ratiosonly=False,
56
+ coefficientsonly=False,
57
57
  debug=False,
58
58
  ):
59
59
  if debug:
@@ -61,7 +61,7 @@ def regressfrommaps(
61
61
  print(f"\t{nprocs_makelaggedtcs=}")
62
62
  print(f"\t{nprocs_regressionfilt=}")
63
63
  print(f"\t{regressderivs=}")
64
- print(f"\t{mp_chunksize=}")
64
+ print(f"\t{chunksize=}")
65
65
  print(f"\t{showprogressbar=}")
66
66
  print(f"\t{alwaysmultiproc=}")
67
67
  print(f"\t{mode=}")
@@ -88,7 +88,7 @@ def regressfrommaps(
88
88
  nprocs=nprocs_makelaggedtcs,
89
89
  alwaysmultiproc=alwaysmultiproc,
90
90
  showprogressbar=showprogressbar,
91
- chunksize=mp_chunksize,
91
+ chunksize=chunksize,
92
92
  rt_floatset=rt_floatset,
93
93
  rt_floattype=rt_floattype,
94
94
  debug=debug,
@@ -146,12 +146,12 @@ def regressfrommaps(
146
146
  fitNorm,
147
147
  movingsignal,
148
148
  filtereddata,
149
- ratiosonly=ratiosonly,
149
+ coefficientsonly=coefficientsonly,
150
150
  nprocs=nprocs_regressionfilt,
151
151
  alwaysmultiproc=alwaysmultiproc,
152
152
  showprogressbar=showprogressbar,
153
153
  verbose=(LGR is not None),
154
- mp_chunksize=mp_chunksize,
154
+ chunksize=chunksize,
155
155
  rt_floatset=rt_floatset,
156
156
  rt_floattype=rt_floattype,
157
157
  debug=debug,
@@ -162,7 +162,7 @@ def regressfrommaps(
162
162
  fitcoeff *= 100.0
163
163
 
164
164
  # determine what was removed
165
- if not ratiosonly:
165
+ if not coefficientsonly:
166
166
  removeddata = fmri_data_valid - filtereddata
167
167
  noiseremoved = np.var(removeddata, axis=0)
168
168
  if saveminimumsLFOfiltfiles:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rapidtide
3
- Version: 3.0.8
3
+ Version: 3.0.9
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>
@@ -8,9 +8,9 @@ cloud/rapidtide-cloud-test,sha256=SATOwGo4QYLvt-6hE0e3wyK9JjuDU5XzfLrfMoybvcY,46
8
8
  cloud/simple-cp-test,sha256=5ef8wmLfcKdny59BV6_DnAPj7O_mi0rOHdFZVN2iiLA,421
9
9
  rapidtide/Colortables.py,sha256=OVtgnQ9xTJPgfdyK1ktESHRjBh09cxLVPZvgUvV5jOo,5814
10
10
  rapidtide/OrthoImageItem.py,sha256=w70QNZUelMI7wTWYaqOfkJEb38PdsxgSf0NLdyjlcNs,21669
11
- rapidtide/RapidtideDataset.py,sha256=mHK6dL1cFSSM5jYw6rkzb57lWVVz-TGX-xMeV8IqF-M,53013
11
+ rapidtide/RapidtideDataset.py,sha256=OEeyDrluWw5ssd0FFXRscox3UotSPcmMVJxBIo0WtMA,53012
12
12
  rapidtide/__init__.py,sha256=cECnPfGNIWXETiummGLjKcNXLROSDiFlLp-RpZSavwc,97
13
- rapidtide/_version.py,sha256=DwRiQfeqcIFk6UI5E8TQ83lfB5cJqui_KryFj1ZUMks,497
13
+ rapidtide/_version.py,sha256=H9j41yg9NrpwHmnes6ZY5RkH2z5gmYe3FGbumsv2BcM,497
14
14
  rapidtide/calccoherence.py,sha256=-_vglu0MZB85Aodw6GpYhBApFBt5eslppfxF4rXM6Xg,3409
15
15
  rapidtide/calcnullsimfunc.py,sha256=j5mPfaRCpJvu8R-kHFzn6vrIQVhCdPPDTSYXslaZU_c,5030
16
16
  rapidtide/calcsimfunc.py,sha256=xCPYns-XOnLWjwujbP7a7EwGEzhEwOHMf04RpFlL3SI,4713
@@ -24,7 +24,7 @@ rapidtide/genericmultiproc.py,sha256=ZQwN84HpC7ZA_w4qekBqA4suU_70ryqGjAsTAIa4oSw
24
24
  rapidtide/happy_supportfuncs.py,sha256=GiUwfjf0ZIYEvN2Fvauhtv58hdiAuQytwx11ZPX8Uvo,56261
25
25
  rapidtide/helper_classes.py,sha256=14q92myZQPl_AUTjh5l1dm6y5-3JkW0xCAEKpgyiuXY,10534
26
26
  rapidtide/io.py,sha256=A3qFJdFFf1XSVlqPvoOF733OoxrRcbRO-gSEoh_95bE,75037
27
- rapidtide/linfitfiltpass.py,sha256=IijkP7gKqdWRJmE6Tc1hDpHhSIGdGAgGXKf79ur2uJo,18869
27
+ rapidtide/linfitfiltpass.py,sha256=FqqUFE44lSEHdqcMmqiAtgye29AebmJyk7nhVzjPF7Q,19801
28
28
  rapidtide/makelaggedtcs.py,sha256=WG-gwYVX-pZPIwVBJR2_YfpSOCsBcLGLXGvDIz5cA68,3066
29
29
  rapidtide/maskutil.py,sha256=IBEgxmHvQ2fnBoTeFu7vw_w3uf91NxpW3IgTDirhWH0,10890
30
30
  rapidtide/miscmath.py,sha256=bEmqnBl6xL2ZRXbId7onXqiEayZJW-jWVCEIp0bfw3o,13918
@@ -32,9 +32,9 @@ rapidtide/multiproc.py,sha256=K5IO0mr-T4rZbL4j7Zp7vFTv-6icavh-dgITZmzP8Ds,5817
32
32
  rapidtide/patchmatch.py,sha256=VxXine2b_fI0oMJWuhXUzfHhZH_-BdqyvW2Ft2n-Vu0,20643
33
33
  rapidtide/peakeval.py,sha256=ZDcuAT4Bw9bTU1oJTvOn9t_rWEZOsXHC5PiNnDdFlX0,5198
34
34
  rapidtide/qualitycheck.py,sha256=exTRCQDf9OsNbmlemr-5YPjDGDg3uSTyc8amidXUZqU,11917
35
- rapidtide/refinedelay.py,sha256=uiwYR6ZaAX_P-FeIzD5NfM_wEssDMdF431cEFl6kLMk,16109
36
- rapidtide/refineregressor.py,sha256=w9RP2SDjC769FmUq_CQ5ZUtr5-7kfzhvlzlBvKs8cXg,21831
37
- rapidtide/resample.py,sha256=UYK3QCgNltOdgXKMEbqsFVjQEVD-Ar1lodLvdUQH4_o,30751
35
+ rapidtide/refinedelay.py,sha256=FB9eA_ZUowubUKlPIBd3srTqY2bMt5jCfEqQBTjwes0,16112
36
+ rapidtide/refineregressor.py,sha256=q3E1Sfi1Qs6H-zWDcVpDkLUA7xKWX3HhYgZO3_s_RwA,21835
37
+ rapidtide/resample.py,sha256=mu4Hn4c_O4s_-kAXoA-nd77IG5BhOlJmRI8AL2vjLtc,30753
38
38
  rapidtide/simFuncClasses.py,sha256=j--6SWOmMdSv0ZqnxBax9ESTWRXGZrVe63q-gNQEkRg,42057
39
39
  rapidtide/simfuncfit.py,sha256=5EUytvZymIPTsv_008qkjJcySxy9QfgfP3HT3ozdW_s,11973
40
40
  rapidtide/stats.py,sha256=jYne4e-Gj0ktNx2SYoGsq5hXekknLAhXz7Gp8SIMifQ,29335
@@ -65,7 +65,7 @@ rapidtide/data/examples/src/testdecomp,sha256=xxxr510aOBjtpJy4aQNAFTyEFZD6QdHp6-
65
65
  rapidtide/data/examples/src/testdelayvar,sha256=tMn1k8IfvBL7MKhgGC6EGcSkChtXWKp1bENOGG4SagI,330
66
66
  rapidtide/data/examples/src/testfileorfloat,sha256=9r4mz7pBV_8iFZya9kmtfbnTRS3-94Cx9Q63Ni3mkZs,815
67
67
  rapidtide/data/examples/src/testfingerprint,sha256=RlAIC1lMDWMGzZKxY24DJRuaUEL0BenSFBey0gL5dqU,402
68
- rapidtide/data/examples/src/testfmri,sha256=XaYFKdIfz91T60p4Qd_NdS-VBT2lIEAFfM89swjiFmg,1194
68
+ rapidtide/data/examples/src/testfmri,sha256=2M_hZZDMIazipzS0P42FNmaZHVM-RFgWmIWYWZZ2ras,1298
69
69
  rapidtide/data/examples/src/testfmridocker,sha256=jjL7bK29rrcog6uO9BtvcyAU3Sv8_5cbw2nqKoiZ95o,1193
70
70
  rapidtide/data/examples/src/testfrozen,sha256=K3qUWDRKPPiCXRgIFuPdwUUjUTzf4QBW8UUhR75NzDM,283
71
71
  rapidtide/data/examples/src/testfuncs,sha256=zjq9u7mXMf0UlbUgePyS1mj7QHclicmw6NY0g31SqeY,1551
@@ -223,7 +223,7 @@ rapidtide/tests/test_cleanregressor.py,sha256=XX1DlO5lAXRsnFUkXGCga8Ry9icjPIAfjv
223
223
  rapidtide/tests/test_congrid.py,sha256=Ni-PeB-oaBgoqyZ2XLhDB3yvAKWTeY-0kyAb6HjvUQ0,5610
224
224
  rapidtide/tests/test_correlate.py,sha256=SKqLbj0MDQ7wZ1N70j6x07_i-Jok9ySPdJMt8lJ7qq0,2547
225
225
  rapidtide/tests/test_corrpass.py,sha256=v01jkJ9zCDGQspY4RMiObpQG8k0K84CWvlfFNMnlKiY,7857
226
- rapidtide/tests/test_delayestimation.py,sha256=aa1VAJ5HTRfGJJEyllmOJX1g9eX4AbZViEtWX8hHbic,13622
226
+ rapidtide/tests/test_delayestimation.py,sha256=ebXKRwo30rtjYLLXNvWBzhZxp_bWMepz2hnI-taAyr4,13619
227
227
  rapidtide/tests/test_doresample.py,sha256=9vwiMo8WutmOKW5LfeMRLG3FAzZNa_1sra-k-36Fn-w,2716
228
228
  rapidtide/tests/test_externaltools.py,sha256=oaD9KQ1Db9fhev9g9OfUecoZLKeGHnmQV4-OGrk3rko,2121
229
229
  rapidtide/tests/test_fastresampler.py,sha256=x9jimD1aGYA48egjAUbjcCcxA7eXsAf2VPP3KbhBkvw,3884
@@ -241,6 +241,7 @@ rapidtide/tests/test_fullrunrapidtide_v4.py,sha256=DTEom1FPHn21WZZveiCCf4L_NabR9
241
241
  rapidtide/tests/test_fullrunrapidtide_v5.py,sha256=NzTYGXaWsJzd7uIIgom_NPwl3EmGCRxlylaUEVN3gxU,1779
242
242
  rapidtide/tests/test_fullrunrapidtide_v6.py,sha256=qjxniiLjkA8sFK3_spNpF13PsN_6ONTB8VtcSYAZ_a0,4368
243
243
  rapidtide/tests/test_fullrunrapidtide_v7.py,sha256=MKZ1Xi2pl04eb-cdxe6BeWkKqFWFTXAPZu3L_s7QNJk,4250
244
+ rapidtide/tests/test_fullrunrapidtide_v8.py,sha256=usfykAA3QuUj8bghF9g2Vq567qCSY3IMStYz3-thwz0,1963
244
245
  rapidtide/tests/test_getparsers.py,sha256=o_YvDHjbGQspZycHSM5ZhlXQsjzdsCN6llCBxQ2Exo4,6870
245
246
  rapidtide/tests/test_io.py,sha256=E99Bmfo3qbeQZEn4btq2bPisKyvUPx6PMPXTvKOasYA,17065
246
247
  rapidtide/tests/test_linfitfiltpass.py,sha256=Q_XbDujj4tGc3X_I37IJJBDsvAs0m-S_oU8WG7DcGKU,5554
@@ -291,19 +292,20 @@ rapidtide/workflows/aligntcs.py,sha256=43hg6F2Qy7ZFv7qIur4fnfcZRsnAAdosw3zYCKgOi
291
292
  rapidtide/workflows/applydlfilter.py,sha256=9dkVYitWSupZWWA1xNtLMf4-BgIwOjYLqDpOj9uV8hY,5430
292
293
  rapidtide/workflows/atlasaverage.py,sha256=6j5cNWk613R98LFmBAfVDJh6TuTo8Uxa-VW7nn0uNOA,17478
293
294
  rapidtide/workflows/atlastool.py,sha256=6aMMtr6knETNTyW-laThMeiO8mcdd71F8MSsdYHMeIM,16076
295
+ rapidtide/workflows/calcSimFuncMap.py,sha256=Tqc0Ac-iQ8dXs3WwRgAs_Aar_54ez9LTZFLp_lz6R0k,8469
294
296
  rapidtide/workflows/calctexticc.py,sha256=9nGGAiqiD2MPg7UiIGR2V7rdtx-jcXQ_Q7uTXCziraQ,10486
295
297
  rapidtide/workflows/ccorrica.py,sha256=ZGuBoM4u860Q7WxbNp-yxTxBaHLNozL7Kbx3o3rvaFk,10457
296
298
  rapidtide/workflows/cleanregressor.py,sha256=vK3Ev5ft_O_zcPzqSSJCBqn9ZOB3xxYp2fYIeRq2EAo,10307
297
- rapidtide/workflows/delayvar.py,sha256=p2KNC9bnfbtieC4MHBGUZvfGIiWAAJx777CKDNRRAo4,39540
299
+ rapidtide/workflows/delayvar.py,sha256=3HPEz1xd1evvEEVVY1jDAb2xoxAqEOTb-0RyN3krRQ8,39544
298
300
  rapidtide/workflows/diffrois.py,sha256=imyKnnO8wnKbVoqsYEpYfJl0oBLllG9_pbV-0D1IdIw,5451
299
301
  rapidtide/workflows/endtidalproc.py,sha256=wsuunEjyd4Hy_ExCabCcmsWjJ3jEhaWYdPr_COD4TfU,4923
300
- rapidtide/workflows/estimateDelayMap.py,sha256=8RMSc70I2PFMGa5e34T9Ougo7V2-fuQXXiLuMo81YIQ,19423
301
302
  rapidtide/workflows/fdica.py,sha256=Vqf-Yhdz6_YByN-4CLMuVwi5ts_Nw1ejBs5LAblHUeY,14954
302
303
  rapidtide/workflows/filtnifti.py,sha256=LXQw8yY7xbVCYAWNO5wsJOYHkxOH5I4x_oRaaXsPt1E,3242
303
304
  rapidtide/workflows/filttc.py,sha256=QHMJ41ZORxB8fG4IcvxKUgSfmOL4X9cFQFpM5px1Uxw,4514
305
+ rapidtide/workflows/fitSimFuncMap.py,sha256=SwyOs8QJHEB8QK6GwKLrGvhg9Cc0wpqYgGt9L1mXB00,16711
304
306
  rapidtide/workflows/fixtr.py,sha256=KYr3veeHDUjozH3IO-0iPhLqNDGEc2NcUvzn6tuxeN8,2025
305
307
  rapidtide/workflows/gmscalc.py,sha256=Z-3HV2EU-HuIhpr7s5u4EAPAaW0gXtj2aVZt7386Gr8,6258
306
- rapidtide/workflows/happy.py,sha256=8iDUnN3j2VoRIdA9G51xvfnT41k76HPuisv25QMxHz0,77220
308
+ rapidtide/workflows/happy.py,sha256=yy5WxWOjSzjLFySVsPBUNbec_GpIIsChwg_TwYuZ7O4,77217
307
309
  rapidtide/workflows/happy2std.py,sha256=6gya9YjfPzPMu15jsMUbu7pLq430-n3b3meiTWhRkAo,8132
308
310
  rapidtide/workflows/happy_parser.py,sha256=OQTcUIvB61p0niNpG__9auUINb962PKmp0wz6qj_uN8,27354
309
311
  rapidtide/workflows/histnifti.py,sha256=BeABj0osc0mEnmyKonN0Hgeis8L8soO-w-cVaeMKLUI,11197
@@ -322,12 +324,12 @@ rapidtide/workflows/plethquality.py,sha256=kTO74C5aSBmomzt59zs1VeiO_C5SPTxvyZZ0v
322
324
  rapidtide/workflows/polyfitim.py,sha256=bVKBrrFa0WjWZju4Lkrr8_9mFWALqCxkpCX28540GQA,10184
323
325
  rapidtide/workflows/proj2flow.py,sha256=SbkYTRZ_SViVfiM0QJjo20RrICtbsQpEd2i9o9XDgPU,7290
324
326
  rapidtide/workflows/rankimage.py,sha256=9opJb3OikO69wtN8zgF3XJxgoHy1-erzZiDKs8pDM6U,3482
325
- rapidtide/workflows/rapidtide.py,sha256=oxm3AV93ZZwEA47s2apY-MxAexfHsmF-3X4y4jnVINc,128189
327
+ rapidtide/workflows/rapidtide.py,sha256=0ES86ZP8iJlq7bhvrJHzg1BqC_9Jhr33oIxDIZ5TLJw,133102
326
328
  rapidtide/workflows/rapidtide2std.py,sha256=coxEnRAof6NNpeXjjECPazx5Wotf4l1SJCnaVEvmHQY,10483
327
- rapidtide/workflows/rapidtide_parser.py,sha256=snfFkNiM1kO76Jnoij1x9ZIbA-09mwrkEum_-kONvno,77281
329
+ rapidtide/workflows/rapidtide_parser.py,sha256=PW6KMi4Qz9dX1KhfAyhJJwRAExQerUBhPDkkHYSZdek,77940
328
330
  rapidtide/workflows/refineDelayMap.py,sha256=a7oqD0OXRKA4FnMLe9kzhRva9GlQ_YpVjHissU4FbbM,3556
329
331
  rapidtide/workflows/refineRegressor.py,sha256=b3jZAPow7A0liAGycAk_7xEwJo2HEYqYsG2qsMnVHZs,23443
330
- rapidtide/workflows/regressfrommaps.py,sha256=fSNpWesx14B-bpz1Bbrq5HMoyXSPZtbK4l1lH4RcQM4,5576
332
+ rapidtide/workflows/regressfrommaps.py,sha256=E4X5Y3jURLGgXJptw8ZxfZhs8mnVDohb7rAjd_PepT0,5585
331
333
  rapidtide/workflows/resamplenifti.py,sha256=GJE7f8bzMRY3QYiMYZOD8bDnga4ah97sp-ZL3yaaIFA,4717
332
334
  rapidtide/workflows/resampletc.py,sha256=B4YIKn3qpDaM9dIhYjGwPl-2LtaEhm9fnMBzfBgAUSs,3959
333
335
  rapidtide/workflows/retrolagtcs.py,sha256=_xZpx9UFH6yHYvaP8PC_FdJVxdq1Z7r0ngwQTOm1Xqg,10821
@@ -350,9 +352,9 @@ rapidtide/workflows/tcfrom3col.py,sha256=kV3V-qZ7A7LkD96aHVXabvohA8udsflHXnzsQIw
350
352
  rapidtide/workflows/tidepool.py,sha256=zua2N_dfXqBQlGgcsyKZXphv1JvqUMjk-eNtwGG1K6Y,86626
351
353
  rapidtide/workflows/utils.py,sha256=urIN-042oUCRDusVUSjBelVN3Te2JP3svY3ckq-yBMU,5379
352
354
  rapidtide/workflows/variabilityizer.py,sha256=h7Hhrxn84MclRfbAvKIZJoNzlcKO-8d9lZ6y6YFStk8,3167
353
- rapidtide-3.0.8.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
354
- rapidtide-3.0.8.dist-info/METADATA,sha256=jFn3PzxvUGDE9MVOW4TelMSep_A4NE5Bpu4E0fiBXKM,15696
355
- rapidtide-3.0.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
356
- rapidtide-3.0.8.dist-info/entry_points.txt,sha256=9NVvZpIx9U6lTWlTFF2ev-wuPAHJxcXI_901_EcGRYA,3323
357
- rapidtide-3.0.8.dist-info/top_level.txt,sha256=MnNXGfbrIBc9RnAqzBHOWd3GQO-aIUDnRTz4_5VjH5g,16
358
- rapidtide-3.0.8.dist-info/RECORD,,
355
+ rapidtide-3.0.9.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
356
+ rapidtide-3.0.9.dist-info/METADATA,sha256=etKUpRUrmf4IIHCSYKGMzIRdqIuAj68Zh2-DGBKYOzE,15696
357
+ rapidtide-3.0.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
358
+ rapidtide-3.0.9.dist-info/entry_points.txt,sha256=9NVvZpIx9U6lTWlTFF2ev-wuPAHJxcXI_901_EcGRYA,3323
359
+ rapidtide-3.0.9.dist-info/top_level.txt,sha256=MnNXGfbrIBc9RnAqzBHOWd3GQO-aIUDnRTz4_5VjH5g,16
360
+ rapidtide-3.0.9.dist-info/RECORD,,