rapidtide 3.0a12__py3-none-any.whl → 3.0a14__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.
- cloud/gmscalc-HCPYA +1 -1
- cloud/rapidtide-HCPYA +3 -3
- rapidtide/Colortables.py +10 -10
- rapidtide/DerivativeDelay.py +213 -0
- rapidtide/{Refiner.py → RegressorRefiner.py} +1 -1
- rapidtide/__init__.py +2 -1
- rapidtide/_version.py +1 -1
- rapidtide/data/examples/src/test_mlregressallt.py +32 -17
- rapidtide/data/examples/src/testalign +1 -1
- rapidtide/data/examples/src/testboth +1 -1
- rapidtide/data/examples/src/testcifti +11 -0
- rapidtide/data/examples/src/testdelayvar +14 -0
- rapidtide/data/examples/src/testfmri +1 -0
- rapidtide/data/examples/src/testglmfilt +8 -6
- rapidtide/data/examples/src/testhappy +1 -1
- rapidtide/data/examples/src/testnewrefine +11 -11
- rapidtide/data/examples/src/testnoiseamp +2 -2
- rapidtide/data/examples/src/testretro +16 -7
- rapidtide/data/examples/src/testretrolagtcs +1 -1
- rapidtide/dlfilter.py +0 -1
- rapidtide/fit.py +41 -9
- rapidtide/happy_supportfuncs.py +5 -0
- rapidtide/io.py +13 -2
- rapidtide/{glmpass.py → linfitfiltpass.py} +23 -19
- rapidtide/makelaggedtcs.py +8 -5
- rapidtide/multiproc.py +8 -11
- rapidtide/refinedelay.py +234 -109
- rapidtide/resample.py +3 -0
- rapidtide/scripts/{retroglm.py → delayvar.py} +2 -2
- rapidtide/scripts/{glmfilt.py → linfitfilt.py} +2 -2
- rapidtide/scripts/retroregress.py +28 -0
- rapidtide/scripts/stupidramtricks.py +9 -7
- rapidtide/simfuncfit.py +1 -1
- rapidtide/tests/cleanposttest +21 -0
- rapidtide/tests/test_delayestimation.py +3 -3
- rapidtide/tests/test_fastresampler.py +1 -2
- rapidtide/tests/test_fullrunhappy_v1.py +14 -6
- rapidtide/tests/test_fullrunhappy_v2.py +17 -9
- rapidtide/tests/test_fullrunhappy_v3.py +16 -8
- rapidtide/tests/test_fullrunhappy_v4.py +16 -8
- rapidtide/tests/test_fullrunhappy_v5.py +14 -6
- rapidtide/tests/test_fullrunrapidtide_v1.py +20 -12
- rapidtide/tests/test_fullrunrapidtide_v2.py +21 -13
- rapidtide/tests/test_fullrunrapidtide_v3.py +15 -7
- rapidtide/tests/test_fullrunrapidtide_v4.py +14 -7
- rapidtide/tests/test_fullrunrapidtide_v5.py +13 -5
- rapidtide/tests/test_fullrunrapidtide_v6.py +34 -26
- rapidtide/tests/{test_glmpass.py → test_linfitfiltpass.py} +9 -9
- rapidtide/tests/test_motionregress.py +3 -3
- rapidtide/tests/test_refinedelay.py +14 -12
- rapidtide/tidepoolTemplate_alt_qt6.py +172 -45
- rapidtide/tidepoolTemplate_big_qt6.py +196 -53
- rapidtide/tidepoolTemplate_qt6.py +150 -39
- rapidtide/workflows/atlasaverage.py +40 -12
- rapidtide/workflows/delayvar.py +1136 -0
- rapidtide/workflows/happy.py +37 -11
- rapidtide/workflows/happy_parser.py +4 -4
- rapidtide/workflows/{glmfilt.py → linfitfilt.py} +4 -4
- rapidtide/workflows/rapidtide.py +246 -178
- rapidtide/workflows/rapidtide_parser.py +116 -101
- rapidtide/workflows/{glmfrommaps.py → regressfrommaps.py} +30 -26
- rapidtide/workflows/retrolagtcs.py +13 -12
- rapidtide/workflows/{retroglm.py → retroregress.py} +182 -141
- {rapidtide-3.0a12.dist-info → rapidtide-3.0a14.dist-info}/METADATA +3 -2
- {rapidtide-3.0a12.dist-info → rapidtide-3.0a14.dist-info}/RECORD +69 -64
- {rapidtide-3.0a12.dist-info → rapidtide-3.0a14.dist-info}/WHEEL +1 -1
- {rapidtide-3.0a12.dist-info → rapidtide-3.0a14.dist-info}/entry_points.txt +3 -2
- rapidtide/data/examples/src/testoutputsize +0 -45
- {rapidtide-3.0a12.dist-info → rapidtide-3.0a14.dist-info/licenses}/LICENSE +0 -0
- {rapidtide-3.0a12.dist-info → rapidtide-3.0a14.dist-info}/top_level.txt +0 -0
|
@@ -13,7 +13,10 @@ class Ui_MainWindow(object):
|
|
|
13
13
|
def setupUi(self, MainWindow):
|
|
14
14
|
MainWindow.setObjectName("MainWindow")
|
|
15
15
|
MainWindow.resize(1129, 909)
|
|
16
|
-
sizePolicy = QtWidgets.QSizePolicy(
|
|
16
|
+
sizePolicy = QtWidgets.QSizePolicy(
|
|
17
|
+
QtWidgets.QSizePolicy.Policy.MinimumExpanding,
|
|
18
|
+
QtWidgets.QSizePolicy.Policy.MinimumExpanding,
|
|
19
|
+
)
|
|
17
20
|
sizePolicy.setHorizontalStretch(1)
|
|
18
21
|
sizePolicy.setVerticalStretch(1)
|
|
19
22
|
sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
|
|
@@ -25,7 +28,9 @@ class Ui_MainWindow(object):
|
|
|
25
28
|
self.centralwidget.setObjectName("centralwidget")
|
|
26
29
|
self.logOutput_groupBox = QtWidgets.QGroupBox(parent=self.centralwidget)
|
|
27
30
|
self.logOutput_groupBox.setGeometry(QtCore.QRect(440, 520, 671, 171))
|
|
28
|
-
sizePolicy = QtWidgets.QSizePolicy(
|
|
31
|
+
sizePolicy = QtWidgets.QSizePolicy(
|
|
32
|
+
QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding
|
|
33
|
+
)
|
|
29
34
|
sizePolicy.setHorizontalStretch(0)
|
|
30
35
|
sizePolicy.setVerticalStretch(0)
|
|
31
36
|
sizePolicy.setHeightForWidth(self.logOutput_groupBox.sizePolicy().hasHeightForWidth())
|
|
@@ -42,7 +47,9 @@ class Ui_MainWindow(object):
|
|
|
42
47
|
self.logOutput.setObjectName("logOutput")
|
|
43
48
|
self.imageData_groupBox = QtWidgets.QGroupBox(parent=self.centralwidget)
|
|
44
49
|
self.imageData_groupBox.setGeometry(QtCore.QRect(10, 0, 1100, 312))
|
|
45
|
-
sizePolicy = QtWidgets.QSizePolicy(
|
|
50
|
+
sizePolicy = QtWidgets.QSizePolicy(
|
|
51
|
+
QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Preferred
|
|
52
|
+
)
|
|
46
53
|
sizePolicy.setHorizontalStretch(0)
|
|
47
54
|
sizePolicy.setVerticalStretch(0)
|
|
48
55
|
sizePolicy.setHeightForWidth(self.imageData_groupBox.sizePolicy().hasHeightForWidth())
|
|
@@ -58,11 +65,16 @@ class Ui_MainWindow(object):
|
|
|
58
65
|
self.layoutWidget.setGeometry(QtCore.QRect(10, 20, 1074, 286))
|
|
59
66
|
self.layoutWidget.setObjectName("layoutWidget")
|
|
60
67
|
self.largeimage_horizontalLayout = QtWidgets.QHBoxLayout(self.layoutWidget)
|
|
61
|
-
self.largeimage_horizontalLayout.setSizeConstraint(
|
|
68
|
+
self.largeimage_horizontalLayout.setSizeConstraint(
|
|
69
|
+
QtWidgets.QLayout.SizeConstraint.SetNoConstraint
|
|
70
|
+
)
|
|
62
71
|
self.largeimage_horizontalLayout.setContentsMargins(0, 0, 0, 0)
|
|
63
72
|
self.largeimage_horizontalLayout.setObjectName("largeimage_horizontalLayout")
|
|
64
73
|
self.main_graphicsView_ax = GraphicsLayoutWidget(parent=self.layoutWidget)
|
|
65
|
-
sizePolicy = QtWidgets.QSizePolicy(
|
|
74
|
+
sizePolicy = QtWidgets.QSizePolicy(
|
|
75
|
+
QtWidgets.QSizePolicy.Policy.MinimumExpanding,
|
|
76
|
+
QtWidgets.QSizePolicy.Policy.MinimumExpanding,
|
|
77
|
+
)
|
|
66
78
|
sizePolicy.setHorizontalStretch(0)
|
|
67
79
|
sizePolicy.setVerticalStretch(0)
|
|
68
80
|
sizePolicy.setHeightForWidth(self.main_graphicsView_ax.sizePolicy().hasHeightForWidth())
|
|
@@ -75,7 +87,10 @@ class Ui_MainWindow(object):
|
|
|
75
87
|
self.main_graphicsView_ax.setObjectName("main_graphicsView_ax")
|
|
76
88
|
self.largeimage_horizontalLayout.addWidget(self.main_graphicsView_ax)
|
|
77
89
|
self.main_graphicsView_cor = GraphicsLayoutWidget(parent=self.layoutWidget)
|
|
78
|
-
sizePolicy = QtWidgets.QSizePolicy(
|
|
90
|
+
sizePolicy = QtWidgets.QSizePolicy(
|
|
91
|
+
QtWidgets.QSizePolicy.Policy.MinimumExpanding,
|
|
92
|
+
QtWidgets.QSizePolicy.Policy.MinimumExpanding,
|
|
93
|
+
)
|
|
79
94
|
sizePolicy.setHorizontalStretch(0)
|
|
80
95
|
sizePolicy.setVerticalStretch(0)
|
|
81
96
|
sizePolicy.setHeightForWidth(self.main_graphicsView_cor.sizePolicy().hasHeightForWidth())
|
|
@@ -88,7 +103,10 @@ class Ui_MainWindow(object):
|
|
|
88
103
|
self.main_graphicsView_cor.setObjectName("main_graphicsView_cor")
|
|
89
104
|
self.largeimage_horizontalLayout.addWidget(self.main_graphicsView_cor)
|
|
90
105
|
self.main_graphicsView_sag = GraphicsLayoutWidget(parent=self.layoutWidget)
|
|
91
|
-
sizePolicy = QtWidgets.QSizePolicy(
|
|
106
|
+
sizePolicy = QtWidgets.QSizePolicy(
|
|
107
|
+
QtWidgets.QSizePolicy.Policy.MinimumExpanding,
|
|
108
|
+
QtWidgets.QSizePolicy.Policy.MinimumExpanding,
|
|
109
|
+
)
|
|
92
110
|
sizePolicy.setHorizontalStretch(0)
|
|
93
111
|
sizePolicy.setVerticalStretch(0)
|
|
94
112
|
sizePolicy.setHeightForWidth(self.main_graphicsView_sag.sizePolicy().hasHeightForWidth())
|
|
@@ -101,7 +119,10 @@ class Ui_MainWindow(object):
|
|
|
101
119
|
self.main_graphicsView_sag.setObjectName("main_graphicsView_sag")
|
|
102
120
|
self.largeimage_horizontalLayout.addWidget(self.main_graphicsView_sag)
|
|
103
121
|
self.graphicsView_colorbar = GraphicsView(parent=self.layoutWidget)
|
|
104
|
-
sizePolicy = QtWidgets.QSizePolicy(
|
|
122
|
+
sizePolicy = QtWidgets.QSizePolicy(
|
|
123
|
+
QtWidgets.QSizePolicy.Policy.MinimumExpanding,
|
|
124
|
+
QtWidgets.QSizePolicy.Policy.MinimumExpanding,
|
|
125
|
+
)
|
|
105
126
|
sizePolicy.setHorizontalStretch(0)
|
|
106
127
|
sizePolicy.setVerticalStretch(0)
|
|
107
128
|
sizePolicy.setHeightForWidth(self.graphicsView_colorbar.sizePolicy().hasHeightForWidth())
|
|
@@ -117,11 +138,17 @@ class Ui_MainWindow(object):
|
|
|
117
138
|
self.verticalLayout_3.setSpacing(0)
|
|
118
139
|
self.verticalLayout_3.setObjectName("verticalLayout_3")
|
|
119
140
|
self.dispmax_doubleSpinBox = QtWidgets.QDoubleSpinBox(parent=self.layoutWidget)
|
|
120
|
-
self.dispmax_doubleSpinBox.setAlignment(
|
|
141
|
+
self.dispmax_doubleSpinBox.setAlignment(
|
|
142
|
+
QtCore.Qt.AlignmentFlag.AlignRight
|
|
143
|
+
| QtCore.Qt.AlignmentFlag.AlignTrailing
|
|
144
|
+
| QtCore.Qt.AlignmentFlag.AlignVCenter
|
|
145
|
+
)
|
|
121
146
|
self.dispmax_doubleSpinBox.setDecimals(3)
|
|
122
147
|
self.dispmax_doubleSpinBox.setObjectName("dispmax_doubleSpinBox")
|
|
123
148
|
self.verticalLayout_3.addWidget(self.dispmax_doubleSpinBox)
|
|
124
|
-
spacerItem = QtWidgets.QSpacerItem(
|
|
149
|
+
spacerItem = QtWidgets.QSpacerItem(
|
|
150
|
+
20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding
|
|
151
|
+
)
|
|
125
152
|
self.verticalLayout_3.addItem(spacerItem)
|
|
126
153
|
self.resetDispLimits_Button = QtWidgets.QPushButton(parent=self.layoutWidget)
|
|
127
154
|
self.resetDispLimits_Button.setObjectName("resetDispLimits_Button")
|
|
@@ -135,14 +162,20 @@ class Ui_MainWindow(object):
|
|
|
135
162
|
self.setMask_Button = QtWidgets.QPushButton(parent=self.layoutWidget)
|
|
136
163
|
self.setMask_Button.setObjectName("setMask_Button")
|
|
137
164
|
self.verticalLayout_3.addWidget(self.setMask_Button)
|
|
138
|
-
spacerItem1 = QtWidgets.QSpacerItem(
|
|
165
|
+
spacerItem1 = QtWidgets.QSpacerItem(
|
|
166
|
+
20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding
|
|
167
|
+
)
|
|
139
168
|
self.verticalLayout_3.addItem(spacerItem1)
|
|
140
169
|
self.transparency_checkBox = QtWidgets.QCheckBox(parent=self.layoutWidget)
|
|
141
170
|
self.transparency_checkBox.setChecked(False)
|
|
142
171
|
self.transparency_checkBox.setObjectName("transparency_checkBox")
|
|
143
172
|
self.verticalLayout_3.addWidget(self.transparency_checkBox)
|
|
144
173
|
self.dispmin_doubleSpinBox = QtWidgets.QDoubleSpinBox(parent=self.layoutWidget)
|
|
145
|
-
self.dispmin_doubleSpinBox.setAlignment(
|
|
174
|
+
self.dispmin_doubleSpinBox.setAlignment(
|
|
175
|
+
QtCore.Qt.AlignmentFlag.AlignRight
|
|
176
|
+
| QtCore.Qt.AlignmentFlag.AlignTrailing
|
|
177
|
+
| QtCore.Qt.AlignmentFlag.AlignVCenter
|
|
178
|
+
)
|
|
146
179
|
self.dispmin_doubleSpinBox.setDecimals(3)
|
|
147
180
|
self.dispmin_doubleSpinBox.setObjectName("dispmin_doubleSpinBox")
|
|
148
181
|
self.verticalLayout_3.addWidget(self.dispmin_doubleSpinBox)
|
|
@@ -258,7 +291,9 @@ class Ui_MainWindow(object):
|
|
|
258
291
|
self.largeimage_horizontalLayout.addLayout(self.verticalLayout_2)
|
|
259
292
|
self.overlays_groupBox = QtWidgets.QGroupBox(parent=self.centralwidget)
|
|
260
293
|
self.overlays_groupBox.setGeometry(QtCore.QRect(10, 315, 421, 376))
|
|
261
|
-
sizePolicy = QtWidgets.QSizePolicy(
|
|
294
|
+
sizePolicy = QtWidgets.QSizePolicy(
|
|
295
|
+
QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Preferred
|
|
296
|
+
)
|
|
262
297
|
sizePolicy.setHorizontalStretch(0)
|
|
263
298
|
sizePolicy.setVerticalStretch(0)
|
|
264
299
|
sizePolicy.setHeightForWidth(self.overlays_groupBox.sizePolicy().hasHeightForWidth())
|
|
@@ -274,7 +309,9 @@ class Ui_MainWindow(object):
|
|
|
274
309
|
self.overlay_radioButton_05.setObjectName("overlay_radioButton_05")
|
|
275
310
|
self.overlay_graphicsView_01 = GraphicsLayoutWidget(parent=self.overlays_groupBox)
|
|
276
311
|
self.overlay_graphicsView_01.setGeometry(QtCore.QRect(10, 30, 198, 64))
|
|
277
|
-
sizePolicy = QtWidgets.QSizePolicy(
|
|
312
|
+
sizePolicy = QtWidgets.QSizePolicy(
|
|
313
|
+
QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred
|
|
314
|
+
)
|
|
278
315
|
sizePolicy.setHorizontalStretch(0)
|
|
279
316
|
sizePolicy.setVerticalStretch(0)
|
|
280
317
|
sizePolicy.setHeightForWidth(self.overlay_graphicsView_01.sizePolicy().hasHeightForWidth())
|
|
@@ -332,7 +369,9 @@ class Ui_MainWindow(object):
|
|
|
332
369
|
self.overlay_radioButton_08.setObjectName("overlay_radioButton_08")
|
|
333
370
|
self.overlay_graphicsView_04 = GraphicsLayoutWidget(parent=self.overlays_groupBox)
|
|
334
371
|
self.overlay_graphicsView_04.setGeometry(QtCore.QRect(10, 115, 192, 64))
|
|
335
|
-
sizePolicy = QtWidgets.QSizePolicy(
|
|
372
|
+
sizePolicy = QtWidgets.QSizePolicy(
|
|
373
|
+
QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred
|
|
374
|
+
)
|
|
336
375
|
sizePolicy.setHorizontalStretch(0)
|
|
337
376
|
sizePolicy.setVerticalStretch(0)
|
|
338
377
|
sizePolicy.setHeightForWidth(self.overlay_graphicsView_04.sizePolicy().hasHeightForWidth())
|
|
@@ -344,7 +383,9 @@ class Ui_MainWindow(object):
|
|
|
344
383
|
self.overlay_graphicsView_04.setObjectName("overlay_graphicsView_04")
|
|
345
384
|
self.overlay_graphicsView_06 = GraphicsLayoutWidget(parent=self.overlays_groupBox)
|
|
346
385
|
self.overlay_graphicsView_06.setGeometry(QtCore.QRect(220, 200, 192, 64))
|
|
347
|
-
sizePolicy = QtWidgets.QSizePolicy(
|
|
386
|
+
sizePolicy = QtWidgets.QSizePolicy(
|
|
387
|
+
QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred
|
|
388
|
+
)
|
|
348
389
|
sizePolicy.setHorizontalStretch(0)
|
|
349
390
|
sizePolicy.setVerticalStretch(0)
|
|
350
391
|
sizePolicy.setHeightForWidth(self.overlay_graphicsView_06.sizePolicy().hasHeightForWidth())
|
|
@@ -356,7 +397,9 @@ class Ui_MainWindow(object):
|
|
|
356
397
|
self.overlay_graphicsView_06.setObjectName("overlay_graphicsView_06")
|
|
357
398
|
self.overlay_graphicsView_03 = GraphicsLayoutWidget(parent=self.overlays_groupBox)
|
|
358
399
|
self.overlay_graphicsView_03.setGeometry(QtCore.QRect(220, 115, 192, 64))
|
|
359
|
-
sizePolicy = QtWidgets.QSizePolicy(
|
|
400
|
+
sizePolicy = QtWidgets.QSizePolicy(
|
|
401
|
+
QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred
|
|
402
|
+
)
|
|
360
403
|
sizePolicy.setHorizontalStretch(0)
|
|
361
404
|
sizePolicy.setVerticalStretch(0)
|
|
362
405
|
sizePolicy.setHeightForWidth(self.overlay_graphicsView_03.sizePolicy().hasHeightForWidth())
|
|
@@ -368,7 +411,9 @@ class Ui_MainWindow(object):
|
|
|
368
411
|
self.overlay_graphicsView_03.setObjectName("overlay_graphicsView_03")
|
|
369
412
|
self.overlay_graphicsView_08 = GraphicsLayoutWidget(parent=self.overlays_groupBox)
|
|
370
413
|
self.overlay_graphicsView_08.setGeometry(QtCore.QRect(220, 285, 192, 64))
|
|
371
|
-
sizePolicy = QtWidgets.QSizePolicy(
|
|
414
|
+
sizePolicy = QtWidgets.QSizePolicy(
|
|
415
|
+
QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred
|
|
416
|
+
)
|
|
372
417
|
sizePolicy.setHorizontalStretch(0)
|
|
373
418
|
sizePolicy.setVerticalStretch(0)
|
|
374
419
|
sizePolicy.setHeightForWidth(self.overlay_graphicsView_08.sizePolicy().hasHeightForWidth())
|
|
@@ -380,7 +425,9 @@ class Ui_MainWindow(object):
|
|
|
380
425
|
self.overlay_graphicsView_08.setObjectName("overlay_graphicsView_08")
|
|
381
426
|
self.overlay_graphicsView_05 = GraphicsLayoutWidget(parent=self.overlays_groupBox)
|
|
382
427
|
self.overlay_graphicsView_05.setGeometry(QtCore.QRect(10, 200, 192, 64))
|
|
383
|
-
sizePolicy = QtWidgets.QSizePolicy(
|
|
428
|
+
sizePolicy = QtWidgets.QSizePolicy(
|
|
429
|
+
QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred
|
|
430
|
+
)
|
|
384
431
|
sizePolicy.setHorizontalStretch(0)
|
|
385
432
|
sizePolicy.setVerticalStretch(0)
|
|
386
433
|
sizePolicy.setHeightForWidth(self.overlay_graphicsView_05.sizePolicy().hasHeightForWidth())
|
|
@@ -392,7 +439,9 @@ class Ui_MainWindow(object):
|
|
|
392
439
|
self.overlay_graphicsView_05.setObjectName("overlay_graphicsView_05")
|
|
393
440
|
self.overlay_graphicsView_02 = GraphicsLayoutWidget(parent=self.overlays_groupBox)
|
|
394
441
|
self.overlay_graphicsView_02.setGeometry(QtCore.QRect(220, 30, 192, 64))
|
|
395
|
-
sizePolicy = QtWidgets.QSizePolicy(
|
|
442
|
+
sizePolicy = QtWidgets.QSizePolicy(
|
|
443
|
+
QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred
|
|
444
|
+
)
|
|
396
445
|
sizePolicy.setHorizontalStretch(0)
|
|
397
446
|
sizePolicy.setVerticalStretch(0)
|
|
398
447
|
sizePolicy.setHeightForWidth(self.overlay_graphicsView_02.sizePolicy().hasHeightForWidth())
|
|
@@ -404,7 +453,9 @@ class Ui_MainWindow(object):
|
|
|
404
453
|
self.overlay_graphicsView_02.setObjectName("overlay_graphicsView_02")
|
|
405
454
|
self.overlay_graphicsView_07 = GraphicsLayoutWidget(parent=self.overlays_groupBox)
|
|
406
455
|
self.overlay_graphicsView_07.setGeometry(QtCore.QRect(10, 285, 192, 64))
|
|
407
|
-
sizePolicy = QtWidgets.QSizePolicy(
|
|
456
|
+
sizePolicy = QtWidgets.QSizePolicy(
|
|
457
|
+
QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred
|
|
458
|
+
)
|
|
408
459
|
sizePolicy.setHorizontalStretch(0)
|
|
409
460
|
sizePolicy.setVerticalStretch(0)
|
|
410
461
|
sizePolicy.setHeightForWidth(self.overlay_graphicsView_07.sizePolicy().hasHeightForWidth())
|
|
@@ -433,7 +484,9 @@ class Ui_MainWindow(object):
|
|
|
433
484
|
self.overlay_graphicsView_07.raise_()
|
|
434
485
|
self.histogram_groupBox = QtWidgets.QGroupBox(parent=self.centralwidget)
|
|
435
486
|
self.histogram_groupBox.setGeometry(QtCore.QRect(440, 315, 381, 201))
|
|
436
|
-
sizePolicy = QtWidgets.QSizePolicy(
|
|
487
|
+
sizePolicy = QtWidgets.QSizePolicy(
|
|
488
|
+
QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding
|
|
489
|
+
)
|
|
437
490
|
sizePolicy.setHorizontalStretch(0)
|
|
438
491
|
sizePolicy.setVerticalStretch(0)
|
|
439
492
|
sizePolicy.setHeightForWidth(self.histogram_groupBox.sizePolicy().hasHeightForWidth())
|
|
@@ -443,7 +496,9 @@ class Ui_MainWindow(object):
|
|
|
443
496
|
self.histogram_groupBox.setObjectName("histogram_groupBox")
|
|
444
497
|
self.histogram_graphicsView = GraphicsLayoutWidget(parent=self.histogram_groupBox)
|
|
445
498
|
self.histogram_graphicsView.setGeometry(QtCore.QRect(10, 30, 361, 161))
|
|
446
|
-
sizePolicy = QtWidgets.QSizePolicy(
|
|
499
|
+
sizePolicy = QtWidgets.QSizePolicy(
|
|
500
|
+
QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding
|
|
501
|
+
)
|
|
447
502
|
sizePolicy.setHorizontalStretch(0)
|
|
448
503
|
sizePolicy.setVerticalStretch(0)
|
|
449
504
|
sizePolicy.setHeightForWidth(self.histogram_graphicsView.sizePolicy().hasHeightForWidth())
|
|
@@ -459,7 +514,11 @@ class Ui_MainWindow(object):
|
|
|
459
514
|
self.label_4.setObjectName("label_4")
|
|
460
515
|
self.pixnumX_doubleSpinBox = QtWidgets.QDoubleSpinBox(parent=self.mainimagedata_groupBox)
|
|
461
516
|
self.pixnumX_doubleSpinBox.setGeometry(QtCore.QRect(30, 30, 67, 24))
|
|
462
|
-
self.pixnumX_doubleSpinBox.setAlignment(
|
|
517
|
+
self.pixnumX_doubleSpinBox.setAlignment(
|
|
518
|
+
QtCore.Qt.AlignmentFlag.AlignRight
|
|
519
|
+
| QtCore.Qt.AlignmentFlag.AlignTrailing
|
|
520
|
+
| QtCore.Qt.AlignmentFlag.AlignVCenter
|
|
521
|
+
)
|
|
463
522
|
self.pixnumX_doubleSpinBox.setDecimals(0)
|
|
464
523
|
self.pixnumX_doubleSpinBox.setObjectName("pixnumX_doubleSpinBox")
|
|
465
524
|
self.label_7 = QtWidgets.QLabel(parent=self.mainimagedata_groupBox)
|
|
@@ -470,7 +529,11 @@ class Ui_MainWindow(object):
|
|
|
470
529
|
self.label_7.setObjectName("label_7")
|
|
471
530
|
self.coordX_doubleSpinBox = QtWidgets.QDoubleSpinBox(parent=self.mainimagedata_groupBox)
|
|
472
531
|
self.coordX_doubleSpinBox.setGeometry(QtCore.QRect(100, 30, 67, 24))
|
|
473
|
-
self.coordX_doubleSpinBox.setAlignment(
|
|
532
|
+
self.coordX_doubleSpinBox.setAlignment(
|
|
533
|
+
QtCore.Qt.AlignmentFlag.AlignRight
|
|
534
|
+
| QtCore.Qt.AlignmentFlag.AlignTrailing
|
|
535
|
+
| QtCore.Qt.AlignmentFlag.AlignVCenter
|
|
536
|
+
)
|
|
474
537
|
self.coordX_doubleSpinBox.setDecimals(3)
|
|
475
538
|
self.coordX_doubleSpinBox.setObjectName("coordX_doubleSpinBox")
|
|
476
539
|
self.label_9 = QtWidgets.QLabel(parent=self.mainimagedata_groupBox)
|
|
@@ -481,22 +544,38 @@ class Ui_MainWindow(object):
|
|
|
481
544
|
self.label_9.setObjectName("label_9")
|
|
482
545
|
self.pixnumY_doubleSpinBox = QtWidgets.QDoubleSpinBox(parent=self.mainimagedata_groupBox)
|
|
483
546
|
self.pixnumY_doubleSpinBox.setGeometry(QtCore.QRect(30, 55, 67, 24))
|
|
484
|
-
self.pixnumY_doubleSpinBox.setAlignment(
|
|
547
|
+
self.pixnumY_doubleSpinBox.setAlignment(
|
|
548
|
+
QtCore.Qt.AlignmentFlag.AlignRight
|
|
549
|
+
| QtCore.Qt.AlignmentFlag.AlignTrailing
|
|
550
|
+
| QtCore.Qt.AlignmentFlag.AlignVCenter
|
|
551
|
+
)
|
|
485
552
|
self.pixnumY_doubleSpinBox.setDecimals(0)
|
|
486
553
|
self.pixnumY_doubleSpinBox.setObjectName("pixnumY_doubleSpinBox")
|
|
487
554
|
self.coordY_doubleSpinBox = QtWidgets.QDoubleSpinBox(parent=self.mainimagedata_groupBox)
|
|
488
555
|
self.coordY_doubleSpinBox.setGeometry(QtCore.QRect(100, 55, 67, 24))
|
|
489
|
-
self.coordY_doubleSpinBox.setAlignment(
|
|
556
|
+
self.coordY_doubleSpinBox.setAlignment(
|
|
557
|
+
QtCore.Qt.AlignmentFlag.AlignRight
|
|
558
|
+
| QtCore.Qt.AlignmentFlag.AlignTrailing
|
|
559
|
+
| QtCore.Qt.AlignmentFlag.AlignVCenter
|
|
560
|
+
)
|
|
490
561
|
self.coordY_doubleSpinBox.setDecimals(3)
|
|
491
562
|
self.coordY_doubleSpinBox.setObjectName("coordY_doubleSpinBox")
|
|
492
563
|
self.pixnumZ_doubleSpinBox = QtWidgets.QDoubleSpinBox(parent=self.mainimagedata_groupBox)
|
|
493
564
|
self.pixnumZ_doubleSpinBox.setGeometry(QtCore.QRect(30, 80, 67, 24))
|
|
494
|
-
self.pixnumZ_doubleSpinBox.setAlignment(
|
|
565
|
+
self.pixnumZ_doubleSpinBox.setAlignment(
|
|
566
|
+
QtCore.Qt.AlignmentFlag.AlignRight
|
|
567
|
+
| QtCore.Qt.AlignmentFlag.AlignTrailing
|
|
568
|
+
| QtCore.Qt.AlignmentFlag.AlignVCenter
|
|
569
|
+
)
|
|
495
570
|
self.pixnumZ_doubleSpinBox.setDecimals(0)
|
|
496
571
|
self.pixnumZ_doubleSpinBox.setObjectName("pixnumZ_doubleSpinBox")
|
|
497
572
|
self.coordZ_doubleSpinBox = QtWidgets.QDoubleSpinBox(parent=self.mainimagedata_groupBox)
|
|
498
573
|
self.coordZ_doubleSpinBox.setGeometry(QtCore.QRect(100, 80, 67, 24))
|
|
499
|
-
self.coordZ_doubleSpinBox.setAlignment(
|
|
574
|
+
self.coordZ_doubleSpinBox.setAlignment(
|
|
575
|
+
QtCore.Qt.AlignmentFlag.AlignRight
|
|
576
|
+
| QtCore.Qt.AlignmentFlag.AlignTrailing
|
|
577
|
+
| QtCore.Qt.AlignmentFlag.AlignVCenter
|
|
578
|
+
)
|
|
500
579
|
self.coordZ_doubleSpinBox.setDecimals(3)
|
|
501
580
|
self.coordZ_doubleSpinBox.setObjectName("coordZ_doubleSpinBox")
|
|
502
581
|
self.label_6 = QtWidgets.QLabel(parent=self.mainimagedata_groupBox)
|
|
@@ -507,12 +586,20 @@ class Ui_MainWindow(object):
|
|
|
507
586
|
self.label_8.setObjectName("label_8")
|
|
508
587
|
self.coordT_doubleSpinBox = QtWidgets.QDoubleSpinBox(parent=self.mainimagedata_groupBox)
|
|
509
588
|
self.coordT_doubleSpinBox.setGeometry(QtCore.QRect(100, 130, 67, 24))
|
|
510
|
-
self.coordT_doubleSpinBox.setAlignment(
|
|
589
|
+
self.coordT_doubleSpinBox.setAlignment(
|
|
590
|
+
QtCore.Qt.AlignmentFlag.AlignRight
|
|
591
|
+
| QtCore.Qt.AlignmentFlag.AlignTrailing
|
|
592
|
+
| QtCore.Qt.AlignmentFlag.AlignVCenter
|
|
593
|
+
)
|
|
511
594
|
self.coordT_doubleSpinBox.setDecimals(3)
|
|
512
595
|
self.coordT_doubleSpinBox.setObjectName("coordT_doubleSpinBox")
|
|
513
596
|
self.pixnumT_doubleSpinBox = QtWidgets.QDoubleSpinBox(parent=self.mainimagedata_groupBox)
|
|
514
597
|
self.pixnumT_doubleSpinBox.setGeometry(QtCore.QRect(30, 130, 67, 24))
|
|
515
|
-
self.pixnumT_doubleSpinBox.setAlignment(
|
|
598
|
+
self.pixnumT_doubleSpinBox.setAlignment(
|
|
599
|
+
QtCore.Qt.AlignmentFlag.AlignRight
|
|
600
|
+
| QtCore.Qt.AlignmentFlag.AlignTrailing
|
|
601
|
+
| QtCore.Qt.AlignmentFlag.AlignVCenter
|
|
602
|
+
)
|
|
516
603
|
self.pixnumT_doubleSpinBox.setDecimals(0)
|
|
517
604
|
self.pixnumT_doubleSpinBox.setObjectName("pixnumT_doubleSpinBox")
|
|
518
605
|
self.label_3 = QtWidgets.QLabel(parent=self.mainimagedata_groupBox)
|
|
@@ -539,7 +626,9 @@ class Ui_MainWindow(object):
|
|
|
539
626
|
self.runMovieButton.setObjectName("runMovieButton")
|
|
540
627
|
self.regressor_groupBox = QtWidgets.QGroupBox(parent=self.centralwidget)
|
|
541
628
|
self.regressor_groupBox.setGeometry(QtCore.QRect(10, 690, 1101, 181))
|
|
542
|
-
sizePolicy = QtWidgets.QSizePolicy(
|
|
629
|
+
sizePolicy = QtWidgets.QSizePolicy(
|
|
630
|
+
QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding
|
|
631
|
+
)
|
|
543
632
|
sizePolicy.setHorizontalStretch(0)
|
|
544
633
|
sizePolicy.setVerticalStretch(0)
|
|
545
634
|
sizePolicy.setHeightForWidth(self.regressor_groupBox.sizePolicy().hasHeightForWidth())
|
|
@@ -549,22 +638,32 @@ class Ui_MainWindow(object):
|
|
|
549
638
|
self.regressor_groupBox.setObjectName("regressor_groupBox")
|
|
550
639
|
self.regressorspectrum_graphicsView = GraphicsLayoutWidget(parent=self.regressor_groupBox)
|
|
551
640
|
self.regressorspectrum_graphicsView.setGeometry(QtCore.QRect(490, 23, 472, 131))
|
|
552
|
-
sizePolicy = QtWidgets.QSizePolicy(
|
|
641
|
+
sizePolicy = QtWidgets.QSizePolicy(
|
|
642
|
+
QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Preferred
|
|
643
|
+
)
|
|
553
644
|
sizePolicy.setHorizontalStretch(0)
|
|
554
645
|
sizePolicy.setVerticalStretch(0)
|
|
555
|
-
sizePolicy.setHeightForWidth(
|
|
646
|
+
sizePolicy.setHeightForWidth(
|
|
647
|
+
self.regressorspectrum_graphicsView.sizePolicy().hasHeightForWidth()
|
|
648
|
+
)
|
|
556
649
|
self.regressorspectrum_graphicsView.setSizePolicy(sizePolicy)
|
|
557
650
|
self.regressorspectrum_graphicsView.setMinimumSize(QtCore.QSize(100, 100))
|
|
558
651
|
self.regressorspectrum_graphicsView.setMaximumSize(QtCore.QSize(1000, 1000))
|
|
559
652
|
self.regressorspectrum_graphicsView.setSizeIncrement(QtCore.QSize(1, 1))
|
|
560
653
|
self.regressorspectrum_graphicsView.setObjectName("regressorspectrum_graphicsView")
|
|
561
|
-
self.regressortimecourse_graphicsView = GraphicsLayoutWidget(
|
|
654
|
+
self.regressortimecourse_graphicsView = GraphicsLayoutWidget(
|
|
655
|
+
parent=self.regressor_groupBox
|
|
656
|
+
)
|
|
562
657
|
self.regressortimecourse_graphicsView.setEnabled(True)
|
|
563
658
|
self.regressortimecourse_graphicsView.setGeometry(QtCore.QRect(10, 23, 472, 131))
|
|
564
|
-
sizePolicy = QtWidgets.QSizePolicy(
|
|
659
|
+
sizePolicy = QtWidgets.QSizePolicy(
|
|
660
|
+
QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Preferred
|
|
661
|
+
)
|
|
565
662
|
sizePolicy.setHorizontalStretch(0)
|
|
566
663
|
sizePolicy.setVerticalStretch(0)
|
|
567
|
-
sizePolicy.setHeightForWidth(
|
|
664
|
+
sizePolicy.setHeightForWidth(
|
|
665
|
+
self.regressortimecourse_graphicsView.sizePolicy().hasHeightForWidth()
|
|
666
|
+
)
|
|
568
667
|
self.regressortimecourse_graphicsView.setSizePolicy(sizePolicy)
|
|
569
668
|
self.regressortimecourse_graphicsView.setMinimumSize(QtCore.QSize(100, 100))
|
|
570
669
|
self.regressortimecourse_graphicsView.setMaximumSize(QtCore.QSize(1000, 1000))
|
|
@@ -626,12 +725,22 @@ class Ui_MainWindow(object):
|
|
|
626
725
|
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
|
|
627
726
|
self.logOutput_groupBox.setTitle(_translate("MainWindow", "Information"))
|
|
628
727
|
self.imageData_groupBox.setTitle(_translate("MainWindow", "Image Data"))
|
|
629
|
-
self.label.setText(
|
|
728
|
+
self.label.setText(
|
|
729
|
+
_translate(
|
|
730
|
+
"MainWindow",
|
|
731
|
+
"Click in image to position ROI. Drag right or left to increase or decrease the ROI size",
|
|
732
|
+
)
|
|
733
|
+
)
|
|
630
734
|
self.resetDispLimits_Button.setText(_translate("MainWindow", "Full Range"))
|
|
631
735
|
self.resetDispSmart_Button.setText(_translate("MainWindow", "Smart"))
|
|
632
736
|
self.saveDisp_Button.setText(_translate("MainWindow", "Save"))
|
|
633
737
|
self.setMask_Button.setText(_translate("MainWindow", "No mask"))
|
|
634
|
-
self.transparency_checkBox.setToolTip(
|
|
738
|
+
self.transparency_checkBox.setToolTip(
|
|
739
|
+
_translate(
|
|
740
|
+
"MainWindow",
|
|
741
|
+
"With transparency on, map values outside the range limits are not displayed.",
|
|
742
|
+
)
|
|
743
|
+
)
|
|
635
744
|
self.transparency_checkBox.setText(_translate("MainWindow", "Transparency"))
|
|
636
745
|
self.label_2.setText(_translate("MainWindow", "Colormap"))
|
|
637
746
|
self.gray_radioButton.setText(_translate("MainWindow", "Gray"))
|
|
@@ -679,4 +788,6 @@ class Ui_MainWindow(object):
|
|
|
679
788
|
self.label_5.setText(_translate("MainWindow", "Timecourse (seconds)"))
|
|
680
789
|
self.label_12.setText(_translate("MainWindow", "Power spectrum (Hz)"))
|
|
681
790
|
self.actionQuit.setText(_translate("MainWindow", "Quit"))
|
|
791
|
+
|
|
792
|
+
|
|
682
793
|
from pyqtgraph import GraphicsLayoutWidget, GraphicsView
|
|
@@ -135,6 +135,15 @@ def _get_parser():
|
|
|
135
135
|
),
|
|
136
136
|
default=None,
|
|
137
137
|
)
|
|
138
|
+
parser.add_argument(
|
|
139
|
+
"--regionlabelfile",
|
|
140
|
+
type=lambda x: pf.is_valid_file(parser, x),
|
|
141
|
+
help=(
|
|
142
|
+
"The name of of a text file containing the labels of the regions, one per line. The first line is "
|
|
143
|
+
"the label integer value 1, etc."
|
|
144
|
+
),
|
|
145
|
+
default=None,
|
|
146
|
+
)
|
|
138
147
|
parser.add_argument(
|
|
139
148
|
"--includemask",
|
|
140
149
|
dest="includespec",
|
|
@@ -224,11 +233,9 @@ def atlasaverage(args):
|
|
|
224
233
|
sys.exit()
|
|
225
234
|
|
|
226
235
|
print("reshaping")
|
|
227
|
-
|
|
228
|
-
ysize =
|
|
229
|
-
|
|
230
|
-
numtimepoints = thedims[4]
|
|
231
|
-
numvoxels = int(xsize) * int(ysize) * int(numslices)
|
|
236
|
+
xdim, ydim, numslices, numtimepoints = tide_io.parseniftidims(thedims)
|
|
237
|
+
xsize, ysize, slicethickness, tr = tide_io.parseniftisizes(thesizes)
|
|
238
|
+
numvoxels = int(xdim) * int(ydim) * int(numslices)
|
|
232
239
|
|
|
233
240
|
templatevoxels = np.reshape(template_data, numvoxels).astype(int)
|
|
234
241
|
inputvoxels = np.reshape(input_data, (numvoxels, numtimepoints))
|
|
@@ -273,7 +280,7 @@ def atlasaverage(args):
|
|
|
273
280
|
themask = themask * includemask.reshape((numvoxels))
|
|
274
281
|
if args.debug:
|
|
275
282
|
tide_io.savetonifti(
|
|
276
|
-
includemask.reshape((
|
|
283
|
+
includemask.reshape((xdim, ydim, numslices)),
|
|
277
284
|
template_hdr,
|
|
278
285
|
f"{args.outputroot}_includemask",
|
|
279
286
|
)
|
|
@@ -281,7 +288,7 @@ def atlasaverage(args):
|
|
|
281
288
|
themask = themask * (1 - excludemask.reshape((numvoxels)))
|
|
282
289
|
if args.debug:
|
|
283
290
|
tide_io.savetonifti(
|
|
284
|
-
excludemask.reshape((
|
|
291
|
+
excludemask.reshape((xdim, ydim, numslices)),
|
|
285
292
|
template_hdr,
|
|
286
293
|
f"{args.outputroot}_excludemask",
|
|
287
294
|
)
|
|
@@ -289,11 +296,21 @@ def atlasaverage(args):
|
|
|
289
296
|
themask = themask * extramask.reshape((numvoxels))
|
|
290
297
|
if args.debug:
|
|
291
298
|
tide_io.savetonifti(
|
|
292
|
-
extramask.reshape((
|
|
299
|
+
extramask.reshape((xdim, ydim, numslices)),
|
|
293
300
|
template_hdr,
|
|
294
301
|
f"{args.outputroot}_extramask",
|
|
295
302
|
)
|
|
296
303
|
|
|
304
|
+
# get the region names
|
|
305
|
+
if args.regionlabelfile is None:
|
|
306
|
+
regionlabels = []
|
|
307
|
+
numregions = np.max(templatevoxels)
|
|
308
|
+
numdigits = int(np.log10(numregions)) + 1
|
|
309
|
+
for regnum in range(1, numregions + 1):
|
|
310
|
+
regionlabels.append(f"region_{str(regnum).zfill(numdigits)}")
|
|
311
|
+
else:
|
|
312
|
+
regionlabels = tide_io.readlabels(args.regionlabelfile)
|
|
313
|
+
|
|
297
314
|
# decide what regions we will summarize
|
|
298
315
|
if args.regionlistfile is None:
|
|
299
316
|
numregions = np.max(templatevoxels)
|
|
@@ -301,6 +318,11 @@ def atlasaverage(args):
|
|
|
301
318
|
else:
|
|
302
319
|
regionlist = tide_io.readvec(args.regionlistfile).astype(int)
|
|
303
320
|
numregions = len(regionlist)
|
|
321
|
+
newlabels = []
|
|
322
|
+
for theregion in range(numregions):
|
|
323
|
+
newlabels.append(regionlabels[theregion])
|
|
324
|
+
regionlabels = newlabels
|
|
325
|
+
|
|
304
326
|
timecourses = np.zeros((numregions, numtimepoints), dtype="float")
|
|
305
327
|
print(f"{numregions=}, {regionlist=}")
|
|
306
328
|
|
|
@@ -348,7 +370,13 @@ def atlasaverage(args):
|
|
|
348
370
|
)
|
|
349
371
|
if args.debug:
|
|
350
372
|
print("timecourses shape:", timecourses.shape)
|
|
351
|
-
tide_io.
|
|
373
|
+
tide_io.writebidstsv(
|
|
374
|
+
args.outputroot,
|
|
375
|
+
timecourses,
|
|
376
|
+
1.0 / tr,
|
|
377
|
+
columns=regionlabels,
|
|
378
|
+
yaxislabel="delay offset",
|
|
379
|
+
)
|
|
352
380
|
else:
|
|
353
381
|
print("processing 3D input file")
|
|
354
382
|
outputvoxels = inputvoxels * 0.0
|
|
@@ -416,19 +444,19 @@ def atlasaverage(args):
|
|
|
416
444
|
segmentedatlasvoxels += scratchvoxels
|
|
417
445
|
template_hdr["dim"][4] = 1
|
|
418
446
|
tide_io.savetonifti(
|
|
419
|
-
outputvoxels.reshape((
|
|
447
|
+
outputvoxels.reshape((xdim, ydim, numslices)),
|
|
420
448
|
template_hdr,
|
|
421
449
|
args.outputroot,
|
|
422
450
|
)
|
|
423
451
|
tide_io.savetonifti(
|
|
424
|
-
segmentedatlasvoxels.reshape((
|
|
452
|
+
segmentedatlasvoxels.reshape((xdim, ydim, numslices)),
|
|
425
453
|
template_hdr,
|
|
426
454
|
args.outputroot + "_percentiles",
|
|
427
455
|
)
|
|
428
456
|
|
|
429
457
|
if args.includename is not None or args.excludename is not None:
|
|
430
458
|
tide_io.savetonifti(
|
|
431
|
-
(templatevoxels * themask).reshape((
|
|
459
|
+
(templatevoxels * themask).reshape((xdim, ydim, numslices)),
|
|
432
460
|
template_hdr,
|
|
433
461
|
f"{args.outputroot}_maskedatlas",
|
|
434
462
|
)
|