rapidtide 3.0.11__py3-none-any.whl → 3.1.1__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.
Files changed (144) hide show
  1. rapidtide/Colortables.py +492 -27
  2. rapidtide/OrthoImageItem.py +1049 -46
  3. rapidtide/RapidtideDataset.py +1533 -86
  4. rapidtide/_version.py +3 -3
  5. rapidtide/calccoherence.py +196 -29
  6. rapidtide/calcnullsimfunc.py +188 -40
  7. rapidtide/calcsimfunc.py +242 -42
  8. rapidtide/correlate.py +1203 -383
  9. rapidtide/data/examples/src/testLD +56 -0
  10. rapidtide/data/examples/src/testalign +1 -1
  11. rapidtide/data/examples/src/testdelayvar +0 -1
  12. rapidtide/data/examples/src/testfmri +53 -3
  13. rapidtide/data/examples/src/testglmfilt +5 -5
  14. rapidtide/data/examples/src/testhappy +29 -7
  15. rapidtide/data/examples/src/testppgproc +17 -0
  16. rapidtide/data/examples/src/testrolloff +11 -0
  17. rapidtide/data/models/model_cnn_pytorch/best_model.pth +0 -0
  18. rapidtide/data/models/model_cnn_pytorch/loss.png +0 -0
  19. rapidtide/data/models/model_cnn_pytorch/loss.txt +1 -0
  20. rapidtide/data/models/model_cnn_pytorch/model.pth +0 -0
  21. rapidtide/data/models/model_cnn_pytorch/model_meta.json +68 -0
  22. rapidtide/decorators.py +91 -0
  23. rapidtide/dlfilter.py +2226 -110
  24. rapidtide/dlfiltertorch.py +4842 -0
  25. rapidtide/externaltools.py +327 -12
  26. rapidtide/fMRIData_class.py +79 -40
  27. rapidtide/filter.py +1899 -810
  28. rapidtide/fit.py +2011 -581
  29. rapidtide/genericmultiproc.py +93 -18
  30. rapidtide/happy_supportfuncs.py +2047 -172
  31. rapidtide/helper_classes.py +584 -43
  32. rapidtide/io.py +2370 -372
  33. rapidtide/linfitfiltpass.py +346 -99
  34. rapidtide/makelaggedtcs.py +210 -24
  35. rapidtide/maskutil.py +448 -62
  36. rapidtide/miscmath.py +827 -121
  37. rapidtide/multiproc.py +210 -22
  38. rapidtide/patchmatch.py +242 -42
  39. rapidtide/peakeval.py +31 -31
  40. rapidtide/ppgproc.py +2203 -0
  41. rapidtide/qualitycheck.py +352 -39
  42. rapidtide/refinedelay.py +431 -57
  43. rapidtide/refineregressor.py +494 -189
  44. rapidtide/resample.py +671 -185
  45. rapidtide/scripts/applyppgproc.py +28 -0
  46. rapidtide/scripts/showxcorr_legacy.py +7 -7
  47. rapidtide/scripts/stupidramtricks.py +15 -17
  48. rapidtide/simFuncClasses.py +1052 -77
  49. rapidtide/simfuncfit.py +269 -69
  50. rapidtide/stats.py +540 -238
  51. rapidtide/tests/happycomp +9 -0
  52. rapidtide/tests/test_cleanregressor.py +1 -2
  53. rapidtide/tests/test_dlfiltertorch.py +627 -0
  54. rapidtide/tests/test_findmaxlag.py +24 -8
  55. rapidtide/tests/test_fullrunhappy_v1.py +0 -2
  56. rapidtide/tests/test_fullrunhappy_v2.py +0 -2
  57. rapidtide/tests/test_fullrunhappy_v3.py +11 -4
  58. rapidtide/tests/test_fullrunhappy_v4.py +10 -2
  59. rapidtide/tests/test_fullrunrapidtide_v7.py +1 -1
  60. rapidtide/tests/test_getparsers.py +11 -3
  61. rapidtide/tests/test_refinedelay.py +0 -1
  62. rapidtide/tests/test_simroundtrip.py +16 -8
  63. rapidtide/tests/test_stcorrelate.py +3 -1
  64. rapidtide/tests/utils.py +9 -8
  65. rapidtide/tidepoolTemplate.py +142 -38
  66. rapidtide/tidepoolTemplate_alt.py +165 -44
  67. rapidtide/tidepoolTemplate_big.py +189 -52
  68. rapidtide/util.py +1217 -118
  69. rapidtide/voxelData.py +684 -37
  70. rapidtide/wiener.py +136 -23
  71. rapidtide/wiener2.py +113 -7
  72. rapidtide/workflows/adjustoffset.py +105 -3
  73. rapidtide/workflows/aligntcs.py +85 -2
  74. rapidtide/workflows/applydlfilter.py +87 -10
  75. rapidtide/workflows/applyppgproc.py +540 -0
  76. rapidtide/workflows/atlasaverage.py +210 -47
  77. rapidtide/workflows/atlastool.py +100 -3
  78. rapidtide/workflows/calcSimFuncMap.py +288 -69
  79. rapidtide/workflows/calctexticc.py +201 -9
  80. rapidtide/workflows/ccorrica.py +101 -6
  81. rapidtide/workflows/cleanregressor.py +165 -31
  82. rapidtide/workflows/delayvar.py +171 -23
  83. rapidtide/workflows/diffrois.py +81 -3
  84. rapidtide/workflows/endtidalproc.py +144 -4
  85. rapidtide/workflows/fdica.py +195 -15
  86. rapidtide/workflows/filtnifti.py +70 -3
  87. rapidtide/workflows/filttc.py +74 -3
  88. rapidtide/workflows/fitSimFuncMap.py +202 -51
  89. rapidtide/workflows/fixtr.py +73 -3
  90. rapidtide/workflows/gmscalc.py +113 -3
  91. rapidtide/workflows/happy.py +801 -199
  92. rapidtide/workflows/happy2std.py +144 -12
  93. rapidtide/workflows/happy_parser.py +163 -23
  94. rapidtide/workflows/histnifti.py +118 -2
  95. rapidtide/workflows/histtc.py +84 -3
  96. rapidtide/workflows/linfitfilt.py +117 -4
  97. rapidtide/workflows/localflow.py +328 -28
  98. rapidtide/workflows/mergequality.py +79 -3
  99. rapidtide/workflows/niftidecomp.py +322 -18
  100. rapidtide/workflows/niftistats.py +174 -4
  101. rapidtide/workflows/pairproc.py +98 -4
  102. rapidtide/workflows/pairwisemergenifti.py +85 -2
  103. rapidtide/workflows/parser_funcs.py +1421 -40
  104. rapidtide/workflows/physiofreq.py +137 -11
  105. rapidtide/workflows/pixelcomp.py +207 -5
  106. rapidtide/workflows/plethquality.py +103 -21
  107. rapidtide/workflows/polyfitim.py +151 -11
  108. rapidtide/workflows/proj2flow.py +75 -2
  109. rapidtide/workflows/rankimage.py +111 -4
  110. rapidtide/workflows/rapidtide.py +368 -76
  111. rapidtide/workflows/rapidtide2std.py +98 -2
  112. rapidtide/workflows/rapidtide_parser.py +109 -9
  113. rapidtide/workflows/refineDelayMap.py +144 -33
  114. rapidtide/workflows/refineRegressor.py +675 -96
  115. rapidtide/workflows/regressfrommaps.py +161 -37
  116. rapidtide/workflows/resamplenifti.py +85 -3
  117. rapidtide/workflows/resampletc.py +91 -3
  118. rapidtide/workflows/retrolagtcs.py +99 -9
  119. rapidtide/workflows/retroregress.py +176 -26
  120. rapidtide/workflows/roisummarize.py +174 -5
  121. rapidtide/workflows/runqualitycheck.py +71 -3
  122. rapidtide/workflows/showarbcorr.py +149 -6
  123. rapidtide/workflows/showhist.py +86 -2
  124. rapidtide/workflows/showstxcorr.py +160 -3
  125. rapidtide/workflows/showtc.py +159 -3
  126. rapidtide/workflows/showxcorrx.py +190 -10
  127. rapidtide/workflows/showxy.py +185 -15
  128. rapidtide/workflows/simdata.py +264 -38
  129. rapidtide/workflows/spatialfit.py +77 -2
  130. rapidtide/workflows/spatialmi.py +250 -27
  131. rapidtide/workflows/spectrogram.py +305 -32
  132. rapidtide/workflows/synthASL.py +154 -3
  133. rapidtide/workflows/tcfrom2col.py +76 -2
  134. rapidtide/workflows/tcfrom3col.py +74 -2
  135. rapidtide/workflows/tidepool.py +2971 -130
  136. rapidtide/workflows/utils.py +19 -14
  137. rapidtide/workflows/utils_doc.py +293 -0
  138. rapidtide/workflows/variabilityizer.py +116 -3
  139. {rapidtide-3.0.11.dist-info → rapidtide-3.1.1.dist-info}/METADATA +10 -8
  140. {rapidtide-3.0.11.dist-info → rapidtide-3.1.1.dist-info}/RECORD +144 -128
  141. {rapidtide-3.0.11.dist-info → rapidtide-3.1.1.dist-info}/entry_points.txt +1 -0
  142. {rapidtide-3.0.11.dist-info → rapidtide-3.1.1.dist-info}/WHEEL +0 -0
  143. {rapidtide-3.0.11.dist-info → rapidtide-3.1.1.dist-info}/licenses/LICENSE +0 -0
  144. {rapidtide-3.0.11.dist-info → rapidtide-3.1.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,28 @@
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 rapidtide.workflows.applyppgproc as theworkflow
20
+ import rapidtide.workflows.parser_funcs as pf
21
+
22
+
23
+ def entrypoint():
24
+ pf.generic_init(theworkflow._get_parser, theworkflow.procppg)
25
+
26
+
27
+ if __name__ == "__main__":
28
+ entrypoint()
@@ -79,7 +79,7 @@ def getNullDistributionData(
79
79
  corrlist[i] = theshuffledxcorr_trim[argmax(theshuffledxcorr_trim)]
80
80
 
81
81
  # find and tabulate correlation coefficient at 0 lag
82
- corrlist_pear[i] = pearsonr(filteredindata, filteredshuffleddata)[0]
82
+ corrlist_pear[i] = pearsonr(filteredindata, filteredshuffleddata).statistic
83
83
 
84
84
  # progress
85
85
  # tide_util.progressbar(i + 1, numreps, label='Percent complete')
@@ -455,7 +455,7 @@ def main():
455
455
 
456
456
  # report the pearson correlation
457
457
  if showpearson and verbose:
458
- print("Pearson_R:\t", thepxcorr[0])
458
+ print("Pearson_R:\t", thepxcorr.statistic)
459
459
  if estimate_significance:
460
460
  for idx, percentile in enumerate(thepercentiles):
461
461
  print(
@@ -467,7 +467,7 @@ def main():
467
467
  print("")
468
468
 
469
469
  if debug:
470
- print(thepxcorr)
470
+ print(thepxcorr.statistic, thepxcorr.pvalue)
471
471
 
472
472
  if verbose:
473
473
  if uselabel:
@@ -497,7 +497,7 @@ def main():
497
497
  "xcorr_R(P=0.05)",
498
498
  "xcorr_maxdelay",
499
499
  )
500
- print(thelabel, thepxcorr[0], pearpcts_fit[0], R, pcts_fit[0], -maxdelay)
500
+ print(thelabel, thepxcorr.statistic, pearpcts_fit[0], R, pcts_fit[0], -maxdelay)
501
501
  else:
502
502
  if labelline:
503
503
  print(
@@ -507,7 +507,7 @@ def main():
507
507
  "xcorr_R(P=0.05)",
508
508
  "xcorr_maxdelay",
509
509
  )
510
- print(thepxcorr[0], pearpcts_fit[0], R, pcts_fit[0], -maxdelay)
510
+ print(thepxcorr.statistic, pearpcts_fit[0], R, pcts_fit[0], -maxdelay)
511
511
  else:
512
512
  if uselabel:
513
513
  if labelline:
@@ -518,11 +518,11 @@ def main():
518
518
  "xcorr_R",
519
519
  "xcorr_maxdelay",
520
520
  )
521
- print(thelabel, thepxcorr[0], thepxcorr[1], R, -maxdelay)
521
+ print(thelabel, thepxcorr.statistic, thepxcorr.pvalue, R, -maxdelay)
522
522
  else:
523
523
  if labelline:
524
524
  print("pearson_r\tpearson_p\txcorr_R\txcorr_t\txcorr_maxdelay")
525
- print(thepxcorr[0], "\t", thepxcorr[1], "\t", R, "\t", -maxdelay)
525
+ print(thepxcorr.statistic, "\t", thepxcorr.pvalue, "\t", R, "\t", -maxdelay)
526
526
 
527
527
  if displayplots:
528
528
  fig = figure()
@@ -102,19 +102,15 @@ def stupidramtricks(args):
102
102
  args.nprocs = tide_multiproc.maxcpus()
103
103
 
104
104
  if args.internalprecision == "double":
105
- rt_floattype = "float64"
106
- rt_floatset = np.float64
105
+ rt_floattype = np.float64
107
106
  else:
108
- rt_floattype = "float32"
109
- rt_floatset = np.float32
107
+ rt_floattype = np.float32
110
108
 
111
109
  # set the output precision
112
110
  if args.outputprecision == "double":
113
- rt_outfloattype = "float64"
114
- rt_outfloatset = np.float64
111
+ rt_outfloattype = np.float64
115
112
  else:
116
- rt_outfloattype = "float32"
117
- rt_outfloatset = np.float32
113
+ rt_outfloattype = np.float32
118
114
 
119
115
  # select the voxels in the mask
120
116
  print("setting sizes")
@@ -139,23 +135,25 @@ def stupidramtricks(args):
139
135
  print("allocating shared memory")
140
136
  # first move fmridata into shared memory
141
137
  fmridata, fmridata_shm = tide_util.numpy2shared(
142
- fmridata, rt_floatset, name=f"fmridata_{args.pid}"
138
+ fmridata, rt_floattype, name=f"fmridata_{args.pid}"
143
139
  )
144
140
  sLFOfitmean, sLFOfitmean_shm = tide_util.allocshared(
145
- internalvalidspaceshape, rt_outfloatset
141
+ internalvalidspaceshape, rt_outfloattype
142
+ )
143
+ rvalue, rvalue_shm = tide_util.allocshared(internalvalidspaceshape, rt_outfloattype)
144
+ r2value, r2value_shm = tide_util.allocshared(internalvalidspaceshape, rt_outfloattype)
145
+ fitNorm, fitNorm_shm = tide_util.allocshared(
146
+ internalvalidspaceshapederivs, rt_outfloattype
146
147
  )
147
- rvalue, rvalue_shm = tide_util.allocshared(internalvalidspaceshape, rt_outfloatset)
148
- r2value, r2value_shm = tide_util.allocshared(internalvalidspaceshape, rt_outfloatset)
149
- fitNorm, fitNorm_shm = tide_util.allocshared(internalvalidspaceshapederivs, rt_outfloatset)
150
148
  fitcoeff, fitcoeff_shm = tide_util.allocshared(
151
- internalvalidspaceshapederivs, rt_outfloatset
149
+ internalvalidspaceshapederivs, rt_outfloattype
152
150
  )
153
151
  movingsignal, movingsignal_shm = tide_util.allocshared(
154
- internalvalidfmrishape, rt_outfloatset
152
+ internalvalidfmrishape, rt_outfloattype
155
153
  )
156
- lagtc, lagtc_shm = tide_util.allocshared(internalvalidfmrishape, rt_floatset)
154
+ lagtc, lagtc_shm = tide_util.allocshared(internalvalidfmrishape, rt_floattype)
157
155
  filtereddata, filtereddata_shm = tide_util.allocshared(
158
- internalvalidfmrishape, rt_outfloatset
156
+ internalvalidfmrishape, rt_outfloattype
159
157
  )
160
158
 
161
159
  location = "in shared memory"