rapidtide 3.0a9__tar.gz → 3.0a11__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.
Files changed (351) hide show
  1. {rapidtide-3.0a9 → rapidtide-3.0a11}/CHANGELOG.md +14 -0
  2. {rapidtide-3.0a9/rapidtide.egg-info → rapidtide-3.0a11}/PKG-INFO +1 -1
  3. {rapidtide-3.0a9 → rapidtide-3.0a11}/TODO.md +2 -1
  4. {rapidtide-3.0a9 → rapidtide-3.0a11}/pyproject.toml +3 -4
  5. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/Colortables.py +45 -10
  6. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/OrthoImageItem.py +12 -3
  7. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/RapidtideDataset.py +54 -7
  8. rapidtide-3.0a11/rapidtide/__init__.py +3 -0
  9. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/_version.py +63 -93
  10. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/testfmri +10 -4
  11. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/testhappy +1 -6
  12. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_fastresampler.py +6 -2
  13. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_fullrunhappy_v1.py +0 -1
  14. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_fullrunhappy_v4.py +1 -0
  15. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_runmisc.py +4 -4
  16. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tidepoolTemplate.py +0 -4
  17. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tidepoolTemplate.ui +0 -7
  18. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tidepoolTemplate_alt.py +3 -8
  19. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tidepoolTemplate_alt.ui +6 -16
  20. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tidepoolTemplate_alt_qt6.py +3 -8
  21. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tidepoolTemplate_big.py +10 -15
  22. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tidepoolTemplate_big.ui +14 -24
  23. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tidepoolTemplate_big_qt6.py +10 -15
  24. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tidepoolTemplate_qt6.py +0 -4
  25. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/tidepool.py +343 -199
  26. {rapidtide-3.0a9 → rapidtide-3.0a11/rapidtide.egg-info}/PKG-INFO +1 -1
  27. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide.egg-info/SOURCES.txt +0 -1
  28. {rapidtide-3.0a9 → rapidtide-3.0a11}/versioneer.py +293 -268
  29. rapidtide-3.0a9/rapidtide/__init__.py +0 -4
  30. rapidtide-3.0a9/rapidtide/tidepoolTemplate_alt2.ui +0 -1965
  31. {rapidtide-3.0a9 → rapidtide-3.0a11}/CODE_OF_CONDUCT.md +0 -0
  32. {rapidtide-3.0a9 → rapidtide-3.0a11}/CONTRIBUTING.md +0 -0
  33. {rapidtide-3.0a9 → rapidtide-3.0a11}/INSTALL.rst +0 -0
  34. {rapidtide-3.0a9 → rapidtide-3.0a11}/LICENSE +0 -0
  35. {rapidtide-3.0a9 → rapidtide-3.0a11}/MANIFEST.in +0 -0
  36. {rapidtide-3.0a9 → rapidtide-3.0a11}/README.rst +0 -0
  37. {rapidtide-3.0a9 → rapidtide-3.0a11}/USAGE.rst +0 -0
  38. {rapidtide-3.0a9 → rapidtide-3.0a11}/cloud/download-nda-data +0 -0
  39. {rapidtide-3.0a9 → rapidtide-3.0a11}/cloud/downloadcmd-auther +0 -0
  40. {rapidtide-3.0a9 → rapidtide-3.0a11}/cloud/gmscalc-HCPYA +0 -0
  41. {rapidtide-3.0a9 → rapidtide-3.0a11}/cloud/list-rapidtide-relevant-images +0 -0
  42. {rapidtide-3.0a9 → rapidtide-3.0a11}/cloud/mount-and-run +0 -0
  43. {rapidtide-3.0a9 → rapidtide-3.0a11}/cloud/rapidtide-HCPYA +0 -0
  44. {rapidtide-3.0a9 → rapidtide-3.0a11}/cloud/rapidtide-cloud-test +0 -0
  45. {rapidtide-3.0a9 → rapidtide-3.0a11}/cloud/simple-cp-test +0 -0
  46. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/calcandfitcorrpairs.py +0 -0
  47. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/calccoherence.py +0 -0
  48. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/calcnullsimfunc.py +0 -0
  49. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/calcsimfunc.py +0 -0
  50. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/correlate.py +0 -0
  51. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/installtestdata +0 -0
  52. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/test_findmaxlag.py +0 -0
  53. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/test_io +0 -0
  54. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/test_mlregressallt.py +0 -0
  55. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/test_rapidtidecompare +0 -0
  56. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/testalign +0 -0
  57. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/testatlasaverage +0 -0
  58. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/testboth +0 -0
  59. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/testcomplex +0 -0
  60. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/testdecomp +0 -0
  61. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/testfileorfloat +0 -0
  62. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/testfingerprint +0 -0
  63. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/testfmridocker +0 -0
  64. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/testfrozen +0 -0
  65. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/testfuncs +0 -0
  66. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/testglmfilt +0 -0
  67. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/testlinfit +0 -0
  68. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/testlocalflow +0 -0
  69. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/testnoiseamp +0 -0
  70. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/testoscorr +0 -0
  71. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/testoutputsize +0 -0
  72. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/testpad +0 -0
  73. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/testretro +0 -0
  74. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/testretrolagtcs +0 -0
  75. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/examples/src/testsimdata +0 -0
  76. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/models/model_revised/model.h5 +0 -0
  77. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/models/model_revised/model_meta.json +0 -0
  78. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/models/model_serdar/model.h5 +0 -0
  79. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/models/model_serdar/model_meta.json +0 -0
  80. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/models/model_serdar2/model.h5 +0 -0
  81. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/models/model_serdar2/model_meta.json +0 -0
  82. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/ASPECTS_2mm.nii.gz +0 -0
  83. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/ASPECTS_2mm_mask.nii.gz +0 -0
  84. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/ASPECTS_3mm.nii.gz +0 -0
  85. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/ASPECTS_3mm_mask.nii.gz +0 -0
  86. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/ASPECTS_regions.txt +0 -0
  87. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/ATTbasedFlowTerritories_split_2mm.nii.gz +0 -0
  88. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/ATTbasedFlowTerritories_split_2mm_mask.nii.gz +0 -0
  89. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/ATTbasedFlowTerritories_split_regions.txt +0 -0
  90. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200_binmask_2mm.nii.gz +0 -0
  91. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200_lag_2mm.nii.gz +0 -0
  92. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200_mask_2mm.nii.gz +0 -0
  93. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200_negmask_2mm.nii.gz +0 -0
  94. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200_sigma_2mm.nii.gz +0 -0
  95. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200_strength_2mm.nii.gz +0 -0
  96. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200v2_MTT_2mm.nii.gz +0 -0
  97. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200v2_binmask_2mm.nii.gz +0 -0
  98. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200v2_csf_2mm.nii.gz +0 -0
  99. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200v2_gray_2mm.nii.gz +0 -0
  100. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200v2_graylaghist.json +0 -0
  101. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200v2_graylaghist.tsv.gz +0 -0
  102. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200v2_laghist.json +0 -0
  103. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200v2_laghist.tsv.gz +0 -0
  104. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200v2_mask_2mm.nii.gz +0 -0
  105. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200v2_maxcorr_2mm.nii.gz +0 -0
  106. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200v2_maxtime_2mm.nii.gz +0 -0
  107. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200v2_maxwidth_2mm.nii.gz +0 -0
  108. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200v2_negmask_2mm.nii.gz +0 -0
  109. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200v2_timepercentile_2mm.nii.gz +0 -0
  110. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200v2_white_2mm.nii.gz +0 -0
  111. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200v2_whitelaghist.json +0 -0
  112. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/HCP1200v2_whitelaghist.tsv.gz +0 -0
  113. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1-seg2.xml +0 -0
  114. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1-seg2_regions.txt +0 -0
  115. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1-seg2_space-MNI152NLin6Asym_2mm.nii.gz +0 -0
  116. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1.xml +0 -0
  117. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1_regions.txt +0 -0
  118. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1_space-MNI152NLin6Asym_2mm.nii.gz +0 -0
  119. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL1_space-MNI152NLin6Asym_2mm_mask.nii.gz +0 -0
  120. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL2.xml +0 -0
  121. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL2_regions.txt +0 -0
  122. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL2_space-MNI152NLin6Asym_2mm.nii.gz +0 -0
  123. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/JHU-ArterialTerritoriesNoVent-LVL2_space-MNI152NLin6Asym_2mm_mask.nii.gz +0 -0
  124. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/MNI152_T1_1mm_Brain_FAST_seg.nii.gz +0 -0
  125. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/MNI152_T1_1mm_Brain_Mask.nii.gz +0 -0
  126. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/MNI152_T1_2mm_Brain_FAST_seg.nii.gz +0 -0
  127. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/MNI152_T1_2mm_Brain_Mask.nii.gz +0 -0
  128. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/MNI152_T1_3mm.nii.gz +0 -0
  129. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/MNI152_T1_3mm_brain_mask.nii.gz +0 -0
  130. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/data/reference/slicetimes/HCP-YA_slicetimes.txt +0 -0
  131. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/dlfilter.py +0 -0
  132. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/externaltools.py +0 -0
  133. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/fMRIData_class.py +0 -0
  134. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/filter.py +0 -0
  135. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/fit.py +0 -0
  136. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/glmpass.py +0 -0
  137. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/happy_supportfuncs.py +0 -0
  138. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/helper_classes.py +0 -0
  139. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/io.py +0 -0
  140. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/makelaggedtcs.py +0 -0
  141. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/maskutil.py +0 -0
  142. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/miscmath.py +0 -0
  143. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/multiproc.py +0 -0
  144. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/patchmatch.py +0 -0
  145. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/peakeval.py +0 -0
  146. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/qualitycheck.py +0 -0
  147. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/refinedelay.py +0 -0
  148. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/refineregressor.py +0 -0
  149. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/resample.py +0 -0
  150. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/__init__.py +0 -0
  151. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/adjustoffset.py +0 -0
  152. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/aligntcs.py +0 -0
  153. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/applydlfilter.py +0 -0
  154. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/atlasaverage.py +0 -0
  155. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/atlastool.py +0 -0
  156. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/calcicc.py +0 -0
  157. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/calctexticc.py +0 -0
  158. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/calcttest.py +0 -0
  159. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/ccorrica.py +0 -0
  160. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/diffrois.py +0 -0
  161. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/endtidalproc.py +0 -0
  162. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/fdica.py +0 -0
  163. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/filtnifti.py +0 -0
  164. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/filttc.py +0 -0
  165. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/fingerprint.py +0 -0
  166. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/fixtr.py +0 -0
  167. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/glmfilt.py +0 -0
  168. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/gmscalc.py +0 -0
  169. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/happy.py +0 -0
  170. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/happy2std.py +0 -0
  171. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/happywarp.py +0 -0
  172. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/histnifti.py +0 -0
  173. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/histtc.py +0 -0
  174. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/localflow.py +0 -0
  175. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/mergequality.py +0 -0
  176. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/pairproc.py +0 -0
  177. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/pairwisemergenifti.py +0 -0
  178. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/physiofreq.py +0 -0
  179. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/pixelcomp.py +0 -0
  180. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/plethquality.py +0 -0
  181. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/polyfitim.py +0 -0
  182. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/proj2flow.py +0 -0
  183. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/rankimage.py +0 -0
  184. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/rapidtide.py +0 -0
  185. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/rapidtide2std.py +0 -0
  186. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/resamplenifti.py +0 -0
  187. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/resampletc.py +0 -0
  188. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/retroglm.py +0 -0
  189. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/retrolagtcs.py +0 -0
  190. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/roisummarize.py +0 -0
  191. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/runqualitycheck.py +0 -0
  192. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/showarbcorr.py +0 -0
  193. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/showhist.py +0 -0
  194. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/showstxcorr.py +0 -0
  195. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/showtc.py +0 -0
  196. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/showxcorr_legacy.py +0 -0
  197. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/showxcorrx.py +0 -0
  198. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/showxy.py +0 -0
  199. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/simdata.py +0 -0
  200. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/spatialdecomp.py +0 -0
  201. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/spatialfit.py +0 -0
  202. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/spatialmi.py +0 -0
  203. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/spectrogram.py +0 -0
  204. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/stupidramtricks.py +0 -0
  205. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/synthASL.py +0 -0
  206. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/tcfrom2col.py +0 -0
  207. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/tcfrom3col.py +0 -0
  208. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/temporaldecomp.py +0 -0
  209. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/testhrv.py +0 -0
  210. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/threeD.py +0 -0
  211. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/tidepool.py +0 -0
  212. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/scripts/variabilityizer.py +0 -0
  213. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/simfuncfit.py +0 -0
  214. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/stats.py +0 -0
  215. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/.coveragerc +0 -0
  216. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/__init__.py +0 -0
  217. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/matplotlibrc +0 -0
  218. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/resethappytargets +0 -0
  219. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/resetrapidtidetargets +0 -0
  220. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/resettargets +0 -0
  221. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/runlocaltest +0 -0
  222. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/showdirectories +0 -0
  223. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/showkernels +0 -0
  224. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_aliasedcorrelate.py +0 -0
  225. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_aligntcs.py +0 -0
  226. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_calcicc.py +0 -0
  227. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_congrid.py +0 -0
  228. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_correlate.py +0 -0
  229. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_corrpass.py +0 -0
  230. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_delayestimation.py +0 -0
  231. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_doresample.py +0 -0
  232. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_filter.py +0 -0
  233. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_findmaxlag.py +0 -0
  234. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_fullrunhappy_v2.py +0 -0
  235. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_fullrunhappy_v3.py +0 -0
  236. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_fullrunhappy_v5.py +0 -0
  237. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_fullrunrapidtide_v1.py +0 -0
  238. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_fullrunrapidtide_v2.py +0 -0
  239. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_fullrunrapidtide_v3.py +0 -0
  240. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_fullrunrapidtide_v4.py +0 -0
  241. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_fullrunrapidtide_v5.py +0 -0
  242. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_fullrunrapidtide_v6.py +0 -0
  243. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_glmpass.py +0 -0
  244. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_io.py +0 -0
  245. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_mi.py +0 -0
  246. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_miscmath.py +0 -0
  247. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_motionregress.py +0 -0
  248. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_nullcorr.py +0 -0
  249. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_padvec.py +0 -0
  250. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_phaseanalysis.py +0 -0
  251. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_rapidtideparser.py +0 -0
  252. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_refinedelay.py +0 -0
  253. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_sharedmem.py +0 -0
  254. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_simulate.py +0 -0
  255. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_stcorrelate.py +0 -0
  256. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_timeshift.py +0 -0
  257. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_valtoindex.py +0 -0
  258. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/test_zRapidtideDataset.py +0 -0
  259. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/testdata/100206_REST1_LR_cardfromfmri_25.0Hz.txt +0 -0
  260. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/testdata/100206_REST1_LR_cardfromfmri_dlfiltered_25.0Hz.txt +0 -0
  261. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/testdata/100206_REST1_LR_info.txt +0 -0
  262. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/testdata/100206_REST1_LR_normcardfromfmri_25.0Hz.txt +0 -0
  263. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/testdata/100206_REST1_LR_normcardfromfmri_dlfiltered_25.0Hz.txt +0 -0
  264. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/testdata/100206_REST1_LR_normpleth_25.0Hz.txt +0 -0
  265. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/testdata/100206_REST1_LR_pleth_25.0Hz.txt +0 -0
  266. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/testdata/100206_REST1_LR_pleth_dlfiltered_25.0Hz.txt +0 -0
  267. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/testdata/fmri_globalmean.txt +0 -0
  268. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/testdata/happy_phase1target_vesselmask.nii.gz +0 -0
  269. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/testdata/happy_phase2output_vesselmask.nii.gz +0 -0
  270. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/testdata/happy_target_vesselmask.nii.gz +0 -0
  271. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/testdata/lforegressor.txt +0 -0
  272. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/testdata/lt_rt.txt +0 -0
  273. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/testdata/phasetest.txt +0 -0
  274. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/testdata/rapidtide2x_phase1target_reference_fmrires.txt +0 -0
  275. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/testdata/stcorrtest_Rvalue.txt +0 -0
  276. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/testdata/stcorrtest_delay.txt +0 -0
  277. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/testdata/stcorrtest_mask.txt +0 -0
  278. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/testdata/stcorrtest_pearson.txt +0 -0
  279. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/testdata/stcorrtest_pvalue.txt +0 -0
  280. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/testdata/testfilt.txt +0 -0
  281. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/tmp/.placeholder.txt +0 -0
  282. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/usercustomize.py +0 -0
  283. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/tests/utils.py +0 -0
  284. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/transformerdlfilter.py +0 -0
  285. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/util.py +0 -0
  286. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/wiener.py +0 -0
  287. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/wiener2.py +0 -0
  288. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/__init__.py +0 -0
  289. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/adjustoffset.py +0 -0
  290. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/aligntcs.py +0 -0
  291. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/applydlfilter.py +0 -0
  292. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/atlasaverage.py +0 -0
  293. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/atlastool.py +0 -0
  294. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/calctexticc.py +0 -0
  295. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/ccorrica.py +0 -0
  296. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/diffrois.py +0 -0
  297. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/endtidalproc.py +0 -0
  298. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/fdica.py +0 -0
  299. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/filtnifti.py +0 -0
  300. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/filttc.py +0 -0
  301. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/fixtr.py +0 -0
  302. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/glmfilt.py +0 -0
  303. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/glmfrommaps.py +0 -0
  304. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/gmscalc.py +0 -0
  305. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/happy.py +0 -0
  306. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/happy2std.py +0 -0
  307. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/happy_parser.py +0 -0
  308. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/histnifti.py +0 -0
  309. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/histtc.py +0 -0
  310. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/localflow.py +0 -0
  311. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/mergequality.py +0 -0
  312. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/niftidecomp.py +0 -0
  313. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/niftistats.py +0 -0
  314. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/pairproc.py +0 -0
  315. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/pairwisemergenifti.py +0 -0
  316. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/parser_funcs.py +0 -0
  317. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/physiofreq.py +0 -0
  318. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/pixelcomp.py +0 -0
  319. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/plethquality.py +0 -0
  320. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/polyfitim.py +0 -0
  321. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/proj2flow.py +0 -0
  322. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/rankimage.py +0 -0
  323. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/rapidtide.py +0 -0
  324. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/rapidtide2std.py +0 -0
  325. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/rapidtide_parser.py +0 -0
  326. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/resamplenifti.py +0 -0
  327. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/resampletc.py +0 -0
  328. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/retroglm.py +0 -0
  329. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/retrolagtcs.py +0 -0
  330. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/roisummarize.py +0 -0
  331. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/runqualitycheck.py +0 -0
  332. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/showarbcorr.py +0 -0
  333. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/showhist.py +0 -0
  334. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/showstxcorr.py +0 -0
  335. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/showtc.py +0 -0
  336. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/showxcorrx.py +0 -0
  337. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/showxy.py +0 -0
  338. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/simdata.py +0 -0
  339. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/spatialfit.py +0 -0
  340. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/spatialmi.py +0 -0
  341. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/spectrogram.py +0 -0
  342. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/synthASL.py +0 -0
  343. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/tcfrom2col.py +0 -0
  344. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/tcfrom3col.py +0 -0
  345. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/utils.py +0 -0
  346. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide/workflows/variabilityizer.py +0 -0
  347. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide.egg-info/dependency_links.txt +0 -0
  348. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide.egg-info/entry_points.txt +0 -0
  349. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide.egg-info/requires.txt +0 -0
  350. {rapidtide-3.0a9 → rapidtide-3.0a11}/rapidtide.egg-info/top_level.txt +0 -0
  351. {rapidtide-3.0a9 → rapidtide-3.0a11}/setup.cfg +0 -0
@@ -1,5 +1,19 @@
1
1
  # Release history
2
2
 
3
+ ## Version 3.0alpha11 (3/5/25)
4
+ * (tidepool) Substantial speed improvement switching datasets.
5
+ * (tidepool) Colormap radio button is now set correctly.
6
+ * (tidepool) Mask menu label is now set correctly when restoring a loaded dataset.
7
+ * (versioneer) Updated to 0.29.
8
+ * (docs) Tidepool's new functionality is now described.
9
+
10
+ ## Version 3.0alpha10 (2/28/25)
11
+ * (tidepool) Full support for multiple concurrent datasets. Dataset loading and selection is now done through the File menu.
12
+ * (tidepool) Load additional informational maps, and somewhat more intelligently.
13
+ * (tidepool) Fixed pane loading to use all available panes.
14
+ * (tidepool) Fixed image saving under pyqt6.
15
+ * (tidepool) For the regressor spectrum, only do FFT of the portion of the regressor used for similarity calculation.
16
+
3
17
  ## Version 3.0alpha9 (2/26/25)
4
18
  * (rapidtide) Fixed the calculation of the regressor autocorrelation width (used in estimating MTT).
5
19
  * (tidepool) First working version that allows loading multiple files. Use ``--dataset DATASET1 DATASET2...``.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: rapidtide
3
- Version: 3.0a9
3
+ Version: 3.0a11
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>
@@ -2,9 +2,10 @@ To do list
2
2
  ----------
3
3
 
4
4
  1. (package) Expand automated testing
5
- 4. (tidepool) Implement ASPECTS averaging
5
+ 4. (tidepool) Implement ASPECTS/JHU averaging
6
6
  7. (rapidtide) Implement a dispersive delay model
7
7
  8. (rapidtide) Add a sinc peak fit
8
+ 9. (tidepool) Fix the weird limit resetting bug when some panes are activated.
8
9
 
9
10
  Implement new argument parsing:
10
11
  rapidtide/experimental/highresmotion
@@ -1,6 +1,6 @@
1
1
  [build-system]
2
- requires = ['setuptools>=42', 'cffi>=1.0.0', 'versioneer[toml]']
3
- build-backend = 'setuptools.build_meta'
2
+ requires = ['setuptools>=42', 'cffi>=1.0.0', 'versioneer[toml]==0.29']
3
+ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = 'rapidtide'
@@ -41,8 +41,7 @@ dependencies = [
41
41
  'tqdm',
42
42
  'versioneer',
43
43
  ]
44
- #dynamic = ['version', 'license', 'keywords']
45
- dynamic = ['version']
44
+ dynamic = ["version"]
46
45
  authors = [
47
46
  {name = 'Blaise deB. Frederick', email='blaise.frederick@gmail.com'},
48
47
  {name = 'Taylor Salo'},
@@ -63,37 +63,55 @@ def setendalpha(thestate, alpha, debug=False):
63
63
  def gen_thermal_state():
64
64
  from pyqtgraph.graphicsItems.GradientEditorItem import Gradients
65
65
 
66
- return Gradients["thermal"]
66
+ thegradient = Gradients["thermal"]
67
+ thegradient["name"] = "thermal"
68
+ return thegradient
69
+ #return Gradients["thermal"]
67
70
 
68
71
 
69
72
  def gen_flame_state():
70
73
  from pyqtgraph.graphicsItems.GradientEditorItem import Gradients
71
74
 
72
- return Gradients["flame"]
75
+ thegradient = Gradients["flame"]
76
+ thegradient["name"] = "flame"
77
+ return thegradient
78
+ #return Gradients["flame"]
73
79
 
74
80
 
75
81
  def gen_yellowy_state():
76
82
  from pyqtgraph.graphicsItems.GradientEditorItem import Gradients
77
83
 
78
- return Gradients["yellowy"]
84
+ thegradient = Gradients["yellowy"]
85
+ thegradient["name"] = "yellowy"
86
+ return thegradient
87
+ #return Gradients["yellowy"]
79
88
 
80
89
 
81
90
  def gen_bipolar_state():
82
91
  from pyqtgraph.graphicsItems.GradientEditorItem import Gradients
83
92
 
84
- return Gradients["bipolar"]
93
+ thegradient = Gradients["bipolar"]
94
+ thegradient["name"] = "bipolar"
95
+ return thegradient
96
+ #return Gradients["bipolar"]
85
97
 
86
98
 
87
99
  def gen_spectrum_state():
88
100
  from pyqtgraph.graphicsItems.GradientEditorItem import Gradients
89
101
 
90
- return Gradients["spectrum"]
102
+ thegradient = Gradients["spectrum"]
103
+ thegradient["name"] = "spectrum"
104
+ return thegradient
105
+ #return Gradients["spectrum"]
91
106
 
92
107
 
93
108
  def gen_turbo_state():
94
109
  from pyqtgraph.graphicsItems.GradientEditorItem import Gradients
95
110
 
96
- return Gradients["turbo"]
111
+ thegradient = Gradients["turbo"]
112
+ thegradient["name"] = "turbo"
113
+ return thegradient
114
+ #return Gradients["turbo"]
97
115
 
98
116
 
99
117
  def gen_gray_state():
@@ -103,6 +121,7 @@ def gen_gray_state():
103
121
  (1.0000, (255, 255, 255, 255)),
104
122
  ],
105
123
  "mode": "rgb",
124
+ "name": "gray",
106
125
  }
107
126
 
108
127
 
@@ -113,31 +132,44 @@ def gen_grey_state():
113
132
  (1.0000, (255, 255, 255, 255)),
114
133
  ],
115
134
  "mode": "rgb",
135
+ "name": "grey",
116
136
  }
117
137
 
118
138
 
119
139
  def gen_viridis_state():
120
140
  from pyqtgraph.graphicsItems.GradientEditorItem import Gradients
121
141
 
122
- return Gradients["viridis"]
142
+ thegradient = Gradients["viridis"]
143
+ thegradient["name"] = "viridis"
144
+ return thegradient
145
+ #return Gradients["viridis"]
123
146
 
124
147
 
125
148
  def gen_inferno_state():
126
149
  from pyqtgraph.graphicsItems.GradientEditorItem import Gradients
127
150
 
128
- return Gradients["inferno"]
151
+ thegradient = Gradients["inferno"]
152
+ thegradient["name"] = "inferno"
153
+ return thegradient
154
+ #return Gradients["inferno"]
129
155
 
130
156
 
131
157
  def gen_plasma_state():
132
158
  from pyqtgraph.graphicsItems.GradientEditorItem import Gradients
133
159
 
134
- return Gradients["plasma"]
160
+ thegradient = Gradients["plasma"]
161
+ thegradient["name"] = "plasma"
162
+ return thegradient
163
+ #return Gradients["plasma"]
135
164
 
136
165
 
137
166
  def gen_magma_state():
138
167
  from pyqtgraph.graphicsItems.GradientEditorItem import Gradients
139
168
 
140
- return Gradients["magma"]
169
+ thegradient = Gradients["magma"]
170
+ thegradient["name"] = "magma"
171
+ return thegradient
172
+ #return Gradients["magma"]
141
173
 
142
174
 
143
175
  def gen_g2y2r_state():
@@ -150,6 +182,7 @@ def gen_g2y2r_state():
150
182
  (1.0000, (255, 0, 0, 0)),
151
183
  ],
152
184
  "mode": "rgb",
185
+ "name": "g2y2r",
153
186
  }
154
187
 
155
188
 
@@ -157,6 +190,7 @@ def gen_mask_state():
157
190
  return {
158
191
  "ticks": [(0.0000, (0, 0, 0, 255)), (1.0000, (255, 255, 255, 0))],
159
192
  "mode": "rgb",
193
+ "name": "mask",
160
194
  }
161
195
 
162
196
 
@@ -168,6 +202,7 @@ def gen_greyclip_state():
168
202
  (1.0, (255, 0, 0, 255)),
169
203
  ],
170
204
  "mode": "rgb",
205
+ "name": "greyclip",
171
206
  }
172
207
 
173
208
 
@@ -19,8 +19,6 @@
19
19
  """
20
20
  A widget for orthographically displaying 3 and 4 dimensional data
21
21
  """
22
-
23
- import copy
24
22
  import os
25
23
 
26
24
  import numpy as np
@@ -34,6 +32,14 @@ try:
34
32
  except ImportError:
35
33
  PILexists = False
36
34
 
35
+ try:
36
+ from PyQt6.QtCore import QT_VERSION_STR
37
+ except ImportError:
38
+ pyqtversion = 5
39
+ else:
40
+ pyqtversion = 6
41
+ print(f"using {pyqtversion=}")
42
+
37
43
 
38
44
  def newColorbar(left, top, impixpervoxx, impixpervoxy, imgsize):
39
45
  cb_xdim = imgsize // 10
@@ -514,7 +520,10 @@ class OrthoImageItem(QtWidgets.QWidget):
514
520
  if self.verbose > 1:
515
521
  print("saving main window")
516
522
  mydialog = QtWidgets.QFileDialog()
517
- options = mydialog.Options()
523
+ if pyqtversion == 5:
524
+ options = mydialog.Options()
525
+ else:
526
+ options = mydialog.options()
518
527
  thedir = str(
519
528
  mydialog.getExistingDirectory(options=options, caption="Image output directory")
520
529
  )
@@ -81,6 +81,7 @@ class Timecourse:
81
81
  label=None,
82
82
  report=False,
83
83
  isbids=False,
84
+ limits=None,
84
85
  verbose=0,
85
86
  ):
86
87
  self.verbose = verbose
@@ -91,6 +92,7 @@ class Timecourse:
91
92
  self.displaysamplerate = displaysamplerate
92
93
  self.starttime = starttime
93
94
  self.isbids = isbids
95
+ self.limits = limits
94
96
 
95
97
  if label is None:
96
98
  self.label = name
@@ -117,11 +119,21 @@ class Timecourse:
117
119
  self.timeaxis = (
118
120
  np.linspace(0.0, self.length, num=self.length, endpoint=False) / self.samplerate
119
121
  ) - self.starttime
122
+ if self.limits is not None:
123
+ startpoint = np.max((int(np.round(self.limits[0] * self.samplerate, 0)), 0))
124
+ endpoint = np.min((int(np.round(self.limits[1] * self.samplerate, 0)), self.length))
125
+ else:
126
+ startpoint = 0
127
+ endpoint = self.length
120
128
  self.specaxis, self.specdata = tide_filt.spectrum(
121
- tide_math.corrnormalize(self.timedata), self.samplerate
129
+ tide_math.corrnormalize(self.timedata[startpoint:endpoint]), self.samplerate
130
+ )
131
+ self.kurtosis, self.kurtosis_z, self.kurtosis_p = tide_stats.kurtosisstats(
132
+ self.timedata[startpoint:endpoint]
133
+ )
134
+ self.skewness, self.skewness_z, self.skewness_p = tide_stats.skewnessstats(
135
+ self.timedata[startpoint:endpoint]
122
136
  )
123
- self.kurtosis, self.kurtosis_z, self.kurtosis_p = tide_stats.kurtosisstats(self.timedata)
124
- self.skewness, self.skewness_z, self.skewness_p = tide_stats.skewnessstats(self.timedata)
125
137
 
126
138
  if self.verbose > 1:
127
139
  print("Timecourse data range:", np.min(self.timedata), np.max(self.timedata))
@@ -149,6 +161,7 @@ class Timecourse:
149
161
 
150
162
  class Overlay:
151
163
  "Store a data overlay and some information about it"
164
+ LUTname = None
152
165
 
153
166
  def __init__(
154
167
  self,
@@ -163,6 +176,7 @@ class Overlay:
163
176
  alpha=128,
164
177
  endalpha=0,
165
178
  display_state=True,
179
+ invertonload=False,
166
180
  isaMask=False,
167
181
  init_LUT=True,
168
182
  verbose=1,
@@ -180,6 +194,8 @@ class Overlay:
180
194
  self.namebase = namebase
181
195
  if self.verbose > 1:
182
196
  print("reading map ", self.name, " from ", self.filename, "...")
197
+ self.maskhash = 0
198
+ self.invertonload = invertonload
183
199
  self.readImageData(isaMask=isaMask)
184
200
  self.mask = None
185
201
  self.maskeddata = None
@@ -263,6 +279,7 @@ class Overlay:
263
279
 
264
280
  def updateStats(self):
265
281
  calcmaskeddata = self.data[np.where(self.mask != 0)]
282
+
266
283
  self.minval = calcmaskeddata.min()
267
284
  self.maxval = calcmaskeddata.max()
268
285
  (
@@ -276,6 +293,7 @@ class Overlay:
276
293
  calcmaskeddata, bins=np.linspace(self.minval, self.maxval, 200)
277
294
  )
278
295
  self.quartiles = [self.pct25, self.pct50, self.pct75]
296
+
279
297
  if self.verbose > 1:
280
298
  print(
281
299
  self.name,
@@ -298,6 +316,8 @@ class Overlay:
298
316
  self.nim, self.data, self.header, self.dims, self.sizes = tide_io.readfromnifti(
299
317
  self.filename
300
318
  )
319
+ if self.invertonload:
320
+ self.data *= -1.0
301
321
  if isaMask:
302
322
  if self.filevals is None:
303
323
  self.data[np.where(self.data < 0.5)] = 0.0
@@ -386,9 +406,17 @@ class Overlay:
386
406
 
387
407
  def maskData(self):
388
408
  self.mask = self.geommask * self.funcmask
389
- self.maskeddata = self.data.copy()
390
- self.maskeddata[np.where(self.mask < 0.5)] = 0.0
391
- self.updateStats()
409
+ maskhash = hash(self.mask.tostring())
410
+ # these operations are expensive, so only do them if the mask is changed
411
+ if (maskhash == self.maskhash) and (self.verbose > 1):
412
+ print("mask has not changed")
413
+ else:
414
+ if self.verbose > 1:
415
+ print("mask changed - recalculating")
416
+ self.maskeddata = self.data.copy()
417
+ self.maskeddata[np.where(self.mask < 0.5)] = 0.0
418
+ self.updateStats()
419
+ self.maskhash = maskhash
392
420
 
393
421
  def setReport(self, report):
394
422
  self.report = report
@@ -417,6 +445,7 @@ class Overlay:
417
445
  self.lut_state = setendalpha(lut_state, endalpha)
418
446
  self.gradient.restoreState(self.lut_state)
419
447
  self.theLUT = self.gradient.getLookupTable(512, alpha=True)
448
+ self.LUTname = lut_state["name"]
420
449
 
421
450
  def setisdisplayed(self, display_state):
422
451
  self.display_state = display_state
@@ -489,6 +518,7 @@ class RapidtideDataset:
489
518
  fileroot,
490
519
  anatname=None,
491
520
  geommaskname=None,
521
+ funcmaskname=None,
492
522
  graymaskspec=None,
493
523
  whitemaskspec=None,
494
524
  userise=False,
@@ -500,13 +530,14 @@ class RapidtideDataset:
500
530
  coordinatespace="unspecified",
501
531
  offsettime=0.0,
502
532
  init_LUT=True,
503
- verbose=1,
533
+ verbose=0,
504
534
  ):
505
535
  self.verbose = verbose
506
536
  self.name = name
507
537
  self.fileroot = fileroot
508
538
  self.anatname = anatname
509
539
  self.geommaskname = geommaskname
540
+ self.funcmaskname = funcmaskname
510
541
  self.graymaskspec = graymaskspec
511
542
  self.whitemaskspec = whitemaskspec
512
543
  self.userise = userise
@@ -556,6 +587,7 @@ class RapidtideDataset:
556
587
  label=thisregressor[1],
557
588
  starttime=thisregressor[5],
558
589
  isbids=self.bidsformat,
590
+ limits=self.regressorsimcalclimits,
559
591
  verbose=self.verbose,
560
592
  )
561
593
  if theregressor.timedata is not None:
@@ -573,6 +605,7 @@ class RapidtideDataset:
573
605
  )
574
606
 
575
607
  def _loadfuncmaps(self):
608
+ mapstoinvert = ["varChange"]
576
609
  self.loadedfuncmaps = []
577
610
  xdim = 0
578
611
  ydim = 0
@@ -588,12 +621,17 @@ class RapidtideDataset:
588
621
  " exists - reading...",
589
622
  )
590
623
  thepath, thebase = os.path.split(self.fileroot)
624
+ if mapname in mapstoinvert:
625
+ invertthismap = True
626
+ else:
627
+ invertthismap = False
591
628
  self.overlays[mapname] = Overlay(
592
629
  mapname,
593
630
  self.fileroot + mapfilename + ".nii.gz",
594
631
  thebase,
595
632
  init_LUT=self.init_LUT,
596
633
  report=True,
634
+ invertonload=invertthismap,
597
635
  verbose=self.verbose,
598
636
  )
599
637
  if xdim == 0:
@@ -1108,6 +1146,11 @@ class RapidtideDataset:
1108
1146
  ["lagsigma", "desc-maxwidth_map"],
1109
1147
  ["MTT", "desc-MTT_map"],
1110
1148
  ["R2", "desc-lfofilterR2_map"],
1149
+ ["CoV", "desc-CoV_map"],
1150
+ ["confoundR2", "desc-confoundfilterR2_map"],
1151
+ ["varBefore", "desc-lfofilterInbandVarianceBefore_map"],
1152
+ ["varAfter", "desc-lfofilterInbandVarianceAfter_map"],
1153
+ ["varChange", "desc-lfofilterInbandVarianceChange_map"],
1111
1154
  ["fitNorm", "desc-lfofilterNorm_map"],
1112
1155
  ["fitcoff", "desc-lfofilterCoeff_map"],
1113
1156
  ["neglog10p", "desc-neglog10p_map"],
@@ -1200,6 +1243,7 @@ class RapidtideDataset:
1200
1243
  ["lagmask", "desc-corrfit_mask"],
1201
1244
  ["refinemask", "desc-refine_mask"],
1202
1245
  ["meanmask", "desc-globalmean_mask"],
1246
+ ["brainmask", "desc-brainmask_mask"],
1203
1247
  ["preselectmask", "desc-globalmeanpreselect_mask"],
1204
1248
  ]
1205
1249
  if not ("neglog10p" in self.loadedfuncmaps):
@@ -1326,3 +1370,6 @@ class RapidtideDataset:
1326
1370
  self.focusmap = whichmap
1327
1371
  except KeyError:
1328
1372
  self.focusmap = "lagtimes"
1373
+
1374
+ def setFuncMaskName(self, maskname):
1375
+ self.funcmaskname = maskname
@@ -0,0 +1,3 @@
1
+ # -*- coding: utf-8 -*-
2
+ from . import _version
3
+ __version__ = _version.get_versions()['version']