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