rapidtide 3.0.8__py3-none-any.whl → 3.0.10__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. rapidtide/OrthoImageItem.py +15 -6
  2. rapidtide/RapidtideDataset.py +22 -7
  3. rapidtide/_version.py +3 -3
  4. rapidtide/data/examples/src/testfmri +26 -20
  5. rapidtide/data/examples/src/testhappy +0 -1
  6. rapidtide/filter.py +60 -111
  7. rapidtide/fit.py +501 -108
  8. rapidtide/io.py +19 -8
  9. rapidtide/linfitfiltpass.py +44 -25
  10. rapidtide/refinedelay.py +2 -2
  11. rapidtide/refineregressor.py +1 -1
  12. rapidtide/resample.py +8 -8
  13. rapidtide/simFuncClasses.py +13 -7
  14. rapidtide/tests/.coveragerc +17 -11
  15. rapidtide/tests/test_delayestimation.py +1 -1
  16. rapidtide/tests/test_findmaxlag.py +31 -16
  17. rapidtide/tests/test_fullrunrapidtide_v8.py +66 -0
  18. rapidtide/tests/test_padvec.py +19 -1
  19. rapidtide/tests/test_simroundtrip.py +124 -0
  20. rapidtide/tidepoolTemplate.py +37 -37
  21. rapidtide/tidepoolTemplate_alt.py +40 -40
  22. rapidtide/tidepoolTemplate_big.py +56 -56
  23. rapidtide/workflows/calcSimFuncMap.py +271 -0
  24. rapidtide/workflows/delayvar.py +1 -1
  25. rapidtide/workflows/fitSimFuncMap.py +427 -0
  26. rapidtide/workflows/happy.py +2 -2
  27. rapidtide/workflows/parser_funcs.py +1 -1
  28. rapidtide/workflows/rapidtide.py +197 -48
  29. rapidtide/workflows/rapidtide_parser.py +23 -2
  30. rapidtide/workflows/regressfrommaps.py +7 -7
  31. rapidtide/workflows/tidepool.py +51 -15
  32. {rapidtide-3.0.8.dist-info → rapidtide-3.0.10.dist-info}/METADATA +3 -3
  33. {rapidtide-3.0.8.dist-info → rapidtide-3.0.10.dist-info}/RECORD +37 -34
  34. rapidtide/workflows/estimateDelayMap.py +0 -536
  35. {rapidtide-3.0.8.dist-info → rapidtide-3.0.10.dist-info}/WHEEL +0 -0
  36. {rapidtide-3.0.8.dist-info → rapidtide-3.0.10.dist-info}/entry_points.txt +0 -0
  37. {rapidtide-3.0.8.dist-info → rapidtide-3.0.10.dist-info}/licenses/LICENSE +0 -0
  38. {rapidtide-3.0.8.dist-info → rapidtide-3.0.10.dist-info}/top_level.txt +0 -0
@@ -42,15 +42,15 @@ class Ui_MainWindow(object):
42
42
  self.gridLayout = QtWidgets.QGridLayout(self.imageData_groupBox)
43
43
  self.gridLayout.setObjectName("gridLayout")
44
44
  self.gridLayout_2 = QtWidgets.QGridLayout()
45
- self.gridLayout_2.setSizeConstraint(QtCore.Qt.QLayout::SizeConstraint::SetMaximumSize)
45
+ self.gridLayout_2.setSizeConstraint(QtCore.Qt.QLayout.SizeConstraint.SetMaximumSize)
46
46
  self.gridLayout_2.setObjectName("gridLayout_2")
47
47
  self.verticalLayout_3 = QtWidgets.QVBoxLayout()
48
- self.verticalLayout_3.setSizeConstraint(QtCore.Qt.QLayout::SizeConstraint::SetFixedSize)
48
+ self.verticalLayout_3.setSizeConstraint(QtCore.Qt.QLayout.SizeConstraint.SetFixedSize)
49
49
  self.verticalLayout_3.setContentsMargins(-1, 5, -1, 5)
50
50
  self.verticalLayout_3.setSpacing(0)
51
51
  self.verticalLayout_3.setObjectName("verticalLayout_3")
52
52
  self.dispmax_doubleSpinBox = QtWidgets.QDoubleSpinBox(self.imageData_groupBox)
53
- self.dispmax_doubleSpinBox.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignRight|QtCore.Qt.Qt::AlignmentFlag::AlignTrailing|QtCore.Qt.Qt::AlignmentFlag::AlignVCenter)
53
+ self.dispmax_doubleSpinBox.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignRight|QtCore.Qt.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.Qt.AlignmentFlag.AlignVCenter)
54
54
  self.dispmax_doubleSpinBox.setDecimals(3)
55
55
  self.dispmax_doubleSpinBox.setObjectName("dispmax_doubleSpinBox")
56
56
  self.verticalLayout_3.addWidget(self.dispmax_doubleSpinBox)
@@ -67,7 +67,7 @@ class Ui_MainWindow(object):
67
67
  self.setMask_Button.setObjectName("setMask_Button")
68
68
  self.verticalLayout_3.addWidget(self.setMask_Button)
69
69
  self.dispmin_doubleSpinBox = QtWidgets.QDoubleSpinBox(self.imageData_groupBox)
70
- self.dispmin_doubleSpinBox.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignRight|QtCore.Qt.Qt::AlignmentFlag::AlignTrailing|QtCore.Qt.Qt::AlignmentFlag::AlignVCenter)
70
+ self.dispmin_doubleSpinBox.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignRight|QtCore.Qt.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.Qt.AlignmentFlag.AlignVCenter)
71
71
  self.dispmin_doubleSpinBox.setDecimals(3)
72
72
  self.dispmin_doubleSpinBox.setObjectName("dispmin_doubleSpinBox")
73
73
  self.verticalLayout_3.addWidget(self.dispmin_doubleSpinBox)
@@ -85,11 +85,11 @@ class Ui_MainWindow(object):
85
85
  self.graphicsView_colorbar.setMinimumSize(QtCore.QSize(25, 128))
86
86
  self.graphicsView_colorbar.setMaximumSize(QtCore.QSize(25, 256))
87
87
  self.graphicsView_colorbar.setSizeIncrement(QtCore.QSize(0, 1))
88
- self.graphicsView_colorbar.setResizeAnchor(QtCore.Qt.QGraphicsView::ViewportAnchor::AnchorViewCenter)
88
+ self.graphicsView_colorbar.setResizeAnchor(QtCore.Qt.QGraphicsView.ViewportAnchor.AnchorViewCenter)
89
89
  self.graphicsView_colorbar.setObjectName("graphicsView_colorbar")
90
90
  self.gridLayout_2.addWidget(self.graphicsView_colorbar, 0, 0, 1, 1)
91
91
  self.aspects_verticalLayout = QtWidgets.QVBoxLayout()
92
- self.aspects_verticalLayout.setSizeConstraint(QtCore.Qt.QLayout::SizeConstraint::SetMinimumSize)
92
+ self.aspects_verticalLayout.setSizeConstraint(QtCore.Qt.QLayout.SizeConstraint.SetMinimumSize)
93
93
  self.aspects_verticalLayout.setSpacing(0)
94
94
  self.aspects_verticalLayout.setObjectName("aspects_verticalLayout")
95
95
  self.verticalLayout_4 = QtWidgets.QVBoxLayout()
@@ -222,8 +222,8 @@ class Ui_MainWindow(object):
222
222
  self.main_graphicsView_cor.setMinimumSize(QtCore.QSize(256, 128))
223
223
  self.main_graphicsView_cor.setMaximumSize(QtCore.QSize(256, 256))
224
224
  self.main_graphicsView_cor.setSizeIncrement(QtCore.QSize(1, 1))
225
- self.main_graphicsView_cor.setFrameShape(QtCore.Qt.QFrame::Shape::NoFrame)
226
- self.main_graphicsView_cor.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignCenter)
225
+ self.main_graphicsView_cor.setFrameShape(QtCore.Qt.QFrame.Shape.NoFrame)
226
+ self.main_graphicsView_cor.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignCenter)
227
227
  self.main_graphicsView_cor.setObjectName("main_graphicsView_cor")
228
228
  self.gridLayout.addWidget(self.main_graphicsView_cor, 1, 2, 1, 1)
229
229
  self.main_graphicsView_sag = GraphicsLayoutWidget(self.imageData_groupBox)
@@ -235,8 +235,8 @@ class Ui_MainWindow(object):
235
235
  self.main_graphicsView_sag.setMinimumSize(QtCore.QSize(256, 256))
236
236
  self.main_graphicsView_sag.setMaximumSize(QtCore.QSize(256, 256))
237
237
  self.main_graphicsView_sag.setSizeIncrement(QtCore.QSize(1, 1))
238
- self.main_graphicsView_sag.setFrameShape(QtCore.Qt.QFrame::Shape::NoFrame)
239
- self.main_graphicsView_sag.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignCenter)
238
+ self.main_graphicsView_sag.setFrameShape(QtCore.Qt.QFrame.Shape.NoFrame)
239
+ self.main_graphicsView_sag.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignCenter)
240
240
  self.main_graphicsView_sag.setObjectName("main_graphicsView_sag")
241
241
  self.gridLayout.addWidget(self.main_graphicsView_sag, 2, 1, 1, 1)
242
242
  self.main_graphicsView_ax = GraphicsLayoutWidget(self.imageData_groupBox)
@@ -248,9 +248,9 @@ class Ui_MainWindow(object):
248
248
  self.main_graphicsView_ax.setMinimumSize(QtCore.QSize(256, 256))
249
249
  self.main_graphicsView_ax.setMaximumSize(QtCore.QSize(256, 256))
250
250
  self.main_graphicsView_ax.setSizeIncrement(QtCore.QSize(1, 1))
251
- self.main_graphicsView_ax.setFrameShape(QtCore.Qt.QFrame::Shape::NoFrame)
252
- self.main_graphicsView_ax.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignCenter)
253
- self.main_graphicsView_ax.setViewportUpdateMode(QtCore.Qt.QGraphicsView::ViewportUpdateMode::SmartViewportUpdate)
251
+ self.main_graphicsView_ax.setFrameShape(QtCore.Qt.QFrame.Shape.NoFrame)
252
+ self.main_graphicsView_ax.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignCenter)
253
+ self.main_graphicsView_ax.setViewportUpdateMode(QtCore.Qt.QGraphicsView.ViewportUpdateMode.SmartViewportUpdate)
254
254
  self.main_graphicsView_ax.setObjectName("main_graphicsView_ax")
255
255
  self.gridLayout.addWidget(self.main_graphicsView_ax, 1, 1, 1, 1)
256
256
  self.overlays_groupBox = QtWidgets.QGroupBox(self.centralwidget)
@@ -283,8 +283,8 @@ class Ui_MainWindow(object):
283
283
  self.overlay_graphicsView_01.setSizePolicy(sizePolicy)
284
284
  self.overlay_graphicsView_01.setMinimumSize(QtCore.QSize(192, 64))
285
285
  self.overlay_graphicsView_01.setMaximumSize(QtCore.QSize(192, 64))
286
- self.overlay_graphicsView_01.setFrameShape(QtCore.Qt.QFrame::Shape::NoFrame)
287
- self.overlay_graphicsView_01.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignCenter)
286
+ self.overlay_graphicsView_01.setFrameShape(QtCore.Qt.QFrame.Shape.NoFrame)
287
+ self.overlay_graphicsView_01.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignCenter)
288
288
  self.overlay_graphicsView_01.setObjectName("overlay_graphicsView_01")
289
289
  self.overlay_radioButton_01 = QtWidgets.QRadioButton(self.overlays_groupBox)
290
290
  self.overlay_radioButton_01.setGeometry(QtCore.QRect(10, 71, 151, 20))
@@ -360,8 +360,8 @@ class Ui_MainWindow(object):
360
360
  self.overlay_graphicsView_04.setSizePolicy(sizePolicy)
361
361
  self.overlay_graphicsView_04.setMinimumSize(QtCore.QSize(192, 64))
362
362
  self.overlay_graphicsView_04.setMaximumSize(QtCore.QSize(192, 64))
363
- self.overlay_graphicsView_04.setFrameShape(QtCore.Qt.QFrame::Shape::NoFrame)
364
- self.overlay_graphicsView_04.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignCenter)
363
+ self.overlay_graphicsView_04.setFrameShape(QtCore.Qt.QFrame.Shape.NoFrame)
364
+ self.overlay_graphicsView_04.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignCenter)
365
365
  self.overlay_graphicsView_04.setObjectName("overlay_graphicsView_04")
366
366
  self.overlay_graphicsView_06 = GraphicsLayoutWidget(self.overlays_groupBox)
367
367
  self.overlay_graphicsView_06.setGeometry(QtCore.QRect(10, 375, 192, 64))
@@ -372,8 +372,8 @@ class Ui_MainWindow(object):
372
372
  self.overlay_graphicsView_06.setSizePolicy(sizePolicy)
373
373
  self.overlay_graphicsView_06.setMinimumSize(QtCore.QSize(192, 64))
374
374
  self.overlay_graphicsView_06.setMaximumSize(QtCore.QSize(192, 64))
375
- self.overlay_graphicsView_06.setFrameShape(QtCore.Qt.QFrame::Shape::NoFrame)
376
- self.overlay_graphicsView_06.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignCenter)
375
+ self.overlay_graphicsView_06.setFrameShape(QtCore.Qt.QFrame.Shape.NoFrame)
376
+ self.overlay_graphicsView_06.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignCenter)
377
377
  self.overlay_graphicsView_06.setObjectName("overlay_graphicsView_06")
378
378
  self.overlay_graphicsView_03 = GraphicsLayoutWidget(self.overlays_groupBox)
379
379
  self.overlay_graphicsView_03.setGeometry(QtCore.QRect(10, 165, 192, 64))
@@ -384,8 +384,8 @@ class Ui_MainWindow(object):
384
384
  self.overlay_graphicsView_03.setSizePolicy(sizePolicy)
385
385
  self.overlay_graphicsView_03.setMinimumSize(QtCore.QSize(192, 64))
386
386
  self.overlay_graphicsView_03.setMaximumSize(QtCore.QSize(192, 64))
387
- self.overlay_graphicsView_03.setFrameShape(QtCore.Qt.QFrame::Shape::NoFrame)
388
- self.overlay_graphicsView_03.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignCenter)
387
+ self.overlay_graphicsView_03.setFrameShape(QtCore.Qt.QFrame.Shape.NoFrame)
388
+ self.overlay_graphicsView_03.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignCenter)
389
389
  self.overlay_graphicsView_03.setObjectName("overlay_graphicsView_03")
390
390
  self.overlay_graphicsView_08 = GraphicsLayoutWidget(self.overlays_groupBox)
391
391
  self.overlay_graphicsView_08.setGeometry(QtCore.QRect(10, 515, 192, 64))
@@ -396,8 +396,8 @@ class Ui_MainWindow(object):
396
396
  self.overlay_graphicsView_08.setSizePolicy(sizePolicy)
397
397
  self.overlay_graphicsView_08.setMinimumSize(QtCore.QSize(192, 64))
398
398
  self.overlay_graphicsView_08.setMaximumSize(QtCore.QSize(192, 64))
399
- self.overlay_graphicsView_08.setFrameShape(QtCore.Qt.QFrame::Shape::NoFrame)
400
- self.overlay_graphicsView_08.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignCenter)
399
+ self.overlay_graphicsView_08.setFrameShape(QtCore.Qt.QFrame.Shape.NoFrame)
400
+ self.overlay_graphicsView_08.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignCenter)
401
401
  self.overlay_graphicsView_08.setObjectName("overlay_graphicsView_08")
402
402
  self.overlay_graphicsView_05 = GraphicsLayoutWidget(self.overlays_groupBox)
403
403
  self.overlay_graphicsView_05.setGeometry(QtCore.QRect(10, 305, 192, 64))
@@ -408,8 +408,8 @@ class Ui_MainWindow(object):
408
408
  self.overlay_graphicsView_05.setSizePolicy(sizePolicy)
409
409
  self.overlay_graphicsView_05.setMinimumSize(QtCore.QSize(192, 64))
410
410
  self.overlay_graphicsView_05.setMaximumSize(QtCore.QSize(192, 64))
411
- self.overlay_graphicsView_05.setFrameShape(QtCore.Qt.QFrame::Shape::NoFrame)
412
- self.overlay_graphicsView_05.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignCenter)
411
+ self.overlay_graphicsView_05.setFrameShape(QtCore.Qt.QFrame.Shape.NoFrame)
412
+ self.overlay_graphicsView_05.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignCenter)
413
413
  self.overlay_graphicsView_05.setObjectName("overlay_graphicsView_05")
414
414
  self.overlay_graphicsView_02 = GraphicsLayoutWidget(self.overlays_groupBox)
415
415
  self.overlay_graphicsView_02.setGeometry(QtCore.QRect(10, 95, 192, 64))
@@ -420,8 +420,8 @@ class Ui_MainWindow(object):
420
420
  self.overlay_graphicsView_02.setSizePolicy(sizePolicy)
421
421
  self.overlay_graphicsView_02.setMinimumSize(QtCore.QSize(192, 64))
422
422
  self.overlay_graphicsView_02.setMaximumSize(QtCore.QSize(192, 64))
423
- self.overlay_graphicsView_02.setFrameShape(QtCore.Qt.QFrame::Shape::NoFrame)
424
- self.overlay_graphicsView_02.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignCenter)
423
+ self.overlay_graphicsView_02.setFrameShape(QtCore.Qt.QFrame.Shape.NoFrame)
424
+ self.overlay_graphicsView_02.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignCenter)
425
425
  self.overlay_graphicsView_02.setObjectName("overlay_graphicsView_02")
426
426
  self.overlay_graphicsView_07 = GraphicsLayoutWidget(self.overlays_groupBox)
427
427
  self.overlay_graphicsView_07.setGeometry(QtCore.QRect(10, 445, 192, 64))
@@ -432,8 +432,8 @@ class Ui_MainWindow(object):
432
432
  self.overlay_graphicsView_07.setSizePolicy(sizePolicy)
433
433
  self.overlay_graphicsView_07.setMinimumSize(QtCore.QSize(192, 64))
434
434
  self.overlay_graphicsView_07.setMaximumSize(QtCore.QSize(192, 64))
435
- self.overlay_graphicsView_07.setFrameShape(QtCore.Qt.QFrame::Shape::NoFrame)
436
- self.overlay_graphicsView_07.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignCenter)
435
+ self.overlay_graphicsView_07.setFrameShape(QtCore.Qt.QFrame.Shape.NoFrame)
436
+ self.overlay_graphicsView_07.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignCenter)
437
437
  self.overlay_graphicsView_07.setObjectName("overlay_graphicsView_07")
438
438
  self.overlay_graphicsView_09 = GraphicsLayoutWidget(self.overlays_groupBox)
439
439
  self.overlay_graphicsView_09.setGeometry(QtCore.QRect(210, 25, 192, 64))
@@ -444,8 +444,8 @@ class Ui_MainWindow(object):
444
444
  self.overlay_graphicsView_09.setSizePolicy(sizePolicy)
445
445
  self.overlay_graphicsView_09.setMinimumSize(QtCore.QSize(192, 64))
446
446
  self.overlay_graphicsView_09.setMaximumSize(QtCore.QSize(192, 64))
447
- self.overlay_graphicsView_09.setFrameShape(QtCore.Qt.QFrame::Shape::NoFrame)
448
- self.overlay_graphicsView_09.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignCenter)
447
+ self.overlay_graphicsView_09.setFrameShape(QtCore.Qt.QFrame.Shape.NoFrame)
448
+ self.overlay_graphicsView_09.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignCenter)
449
449
  self.overlay_graphicsView_09.setObjectName("overlay_graphicsView_09")
450
450
  self.overlay_graphicsView_11 = GraphicsLayoutWidget(self.overlays_groupBox)
451
451
  self.overlay_graphicsView_11.setGeometry(QtCore.QRect(210, 165, 192, 64))
@@ -456,8 +456,8 @@ class Ui_MainWindow(object):
456
456
  self.overlay_graphicsView_11.setSizePolicy(sizePolicy)
457
457
  self.overlay_graphicsView_11.setMinimumSize(QtCore.QSize(192, 64))
458
458
  self.overlay_graphicsView_11.setMaximumSize(QtCore.QSize(192, 64))
459
- self.overlay_graphicsView_11.setFrameShape(QtCore.Qt.QFrame::Shape::NoFrame)
460
- self.overlay_graphicsView_11.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignCenter)
459
+ self.overlay_graphicsView_11.setFrameShape(QtCore.Qt.QFrame.Shape.NoFrame)
460
+ self.overlay_graphicsView_11.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignCenter)
461
461
  self.overlay_graphicsView_11.setObjectName("overlay_graphicsView_11")
462
462
  self.overlay_graphicsView_10 = GraphicsLayoutWidget(self.overlays_groupBox)
463
463
  self.overlay_graphicsView_10.setGeometry(QtCore.QRect(210, 95, 192, 64))
@@ -468,8 +468,8 @@ class Ui_MainWindow(object):
468
468
  self.overlay_graphicsView_10.setSizePolicy(sizePolicy)
469
469
  self.overlay_graphicsView_10.setMinimumSize(QtCore.QSize(192, 64))
470
470
  self.overlay_graphicsView_10.setMaximumSize(QtCore.QSize(192, 64))
471
- self.overlay_graphicsView_10.setFrameShape(QtCore.Qt.QFrame::Shape::NoFrame)
472
- self.overlay_graphicsView_10.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignCenter)
471
+ self.overlay_graphicsView_10.setFrameShape(QtCore.Qt.QFrame.Shape.NoFrame)
472
+ self.overlay_graphicsView_10.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignCenter)
473
473
  self.overlay_graphicsView_10.setObjectName("overlay_graphicsView_10")
474
474
  self.overlay_graphicsView_12 = GraphicsLayoutWidget(self.overlays_groupBox)
475
475
  self.overlay_graphicsView_12.setGeometry(QtCore.QRect(210, 235, 192, 64))
@@ -480,8 +480,8 @@ class Ui_MainWindow(object):
480
480
  self.overlay_graphicsView_12.setSizePolicy(sizePolicy)
481
481
  self.overlay_graphicsView_12.setMinimumSize(QtCore.QSize(192, 64))
482
482
  self.overlay_graphicsView_12.setMaximumSize(QtCore.QSize(192, 64))
483
- self.overlay_graphicsView_12.setFrameShape(QtCore.Qt.QFrame::Shape::NoFrame)
484
- self.overlay_graphicsView_12.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignCenter)
483
+ self.overlay_graphicsView_12.setFrameShape(QtCore.Qt.QFrame.Shape.NoFrame)
484
+ self.overlay_graphicsView_12.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignCenter)
485
485
  self.overlay_graphicsView_12.setObjectName("overlay_graphicsView_12")
486
486
  self.overlay_graphicsView_13 = GraphicsLayoutWidget(self.overlays_groupBox)
487
487
  self.overlay_graphicsView_13.setGeometry(QtCore.QRect(210, 305, 192, 64))
@@ -492,8 +492,8 @@ class Ui_MainWindow(object):
492
492
  self.overlay_graphicsView_13.setSizePolicy(sizePolicy)
493
493
  self.overlay_graphicsView_13.setMinimumSize(QtCore.QSize(192, 64))
494
494
  self.overlay_graphicsView_13.setMaximumSize(QtCore.QSize(192, 64))
495
- self.overlay_graphicsView_13.setFrameShape(QtCore.Qt.QFrame::Shape::NoFrame)
496
- self.overlay_graphicsView_13.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignCenter)
495
+ self.overlay_graphicsView_13.setFrameShape(QtCore.Qt.QFrame.Shape.NoFrame)
496
+ self.overlay_graphicsView_13.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignCenter)
497
497
  self.overlay_graphicsView_13.setObjectName("overlay_graphicsView_13")
498
498
  self.overlay_graphicsView_14 = GraphicsLayoutWidget(self.overlays_groupBox)
499
499
  self.overlay_graphicsView_14.setGeometry(QtCore.QRect(210, 375, 192, 64))
@@ -504,8 +504,8 @@ class Ui_MainWindow(object):
504
504
  self.overlay_graphicsView_14.setSizePolicy(sizePolicy)
505
505
  self.overlay_graphicsView_14.setMinimumSize(QtCore.QSize(192, 64))
506
506
  self.overlay_graphicsView_14.setMaximumSize(QtCore.QSize(192, 64))
507
- self.overlay_graphicsView_14.setFrameShape(QtCore.Qt.QFrame::Shape::NoFrame)
508
- self.overlay_graphicsView_14.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignCenter)
507
+ self.overlay_graphicsView_14.setFrameShape(QtCore.Qt.QFrame.Shape.NoFrame)
508
+ self.overlay_graphicsView_14.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignCenter)
509
509
  self.overlay_graphicsView_14.setObjectName("overlay_graphicsView_14")
510
510
  self.overlay_graphicsView_15 = GraphicsLayoutWidget(self.overlays_groupBox)
511
511
  self.overlay_graphicsView_15.setGeometry(QtCore.QRect(210, 445, 192, 64))
@@ -516,8 +516,8 @@ class Ui_MainWindow(object):
516
516
  self.overlay_graphicsView_15.setSizePolicy(sizePolicy)
517
517
  self.overlay_graphicsView_15.setMinimumSize(QtCore.QSize(192, 64))
518
518
  self.overlay_graphicsView_15.setMaximumSize(QtCore.QSize(192, 64))
519
- self.overlay_graphicsView_15.setFrameShape(QtCore.Qt.QFrame::Shape::NoFrame)
520
- self.overlay_graphicsView_15.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignCenter)
519
+ self.overlay_graphicsView_15.setFrameShape(QtCore.Qt.QFrame.Shape.NoFrame)
520
+ self.overlay_graphicsView_15.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignCenter)
521
521
  self.overlay_graphicsView_15.setObjectName("overlay_graphicsView_15")
522
522
  self.overlay_graphicsView_16 = GraphicsLayoutWidget(self.overlays_groupBox)
523
523
  self.overlay_graphicsView_16.setGeometry(QtCore.QRect(210, 515, 192, 64))
@@ -528,8 +528,8 @@ class Ui_MainWindow(object):
528
528
  self.overlay_graphicsView_16.setSizePolicy(sizePolicy)
529
529
  self.overlay_graphicsView_16.setMinimumSize(QtCore.QSize(192, 64))
530
530
  self.overlay_graphicsView_16.setMaximumSize(QtCore.QSize(192, 64))
531
- self.overlay_graphicsView_16.setFrameShape(QtCore.Qt.QFrame::Shape::NoFrame)
532
- self.overlay_graphicsView_16.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignCenter)
531
+ self.overlay_graphicsView_16.setFrameShape(QtCore.Qt.QFrame.Shape.NoFrame)
532
+ self.overlay_graphicsView_16.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignCenter)
533
533
  self.overlay_graphicsView_16.setObjectName("overlay_graphicsView_16")
534
534
  self.overlay_radioButton_09 = QtWidgets.QRadioButton(self.overlays_groupBox)
535
535
  self.overlay_radioButton_09.setGeometry(QtCore.QRect(210, 70, 151, 20))
@@ -670,7 +670,7 @@ class Ui_MainWindow(object):
670
670
  self.label_4.setObjectName("label_4")
671
671
  self.pixnumX_doubleSpinBox = QtWidgets.QDoubleSpinBox(self.mainimagedata_groupBox)
672
672
  self.pixnumX_doubleSpinBox.setGeometry(QtCore.QRect(30, 30, 67, 24))
673
- self.pixnumX_doubleSpinBox.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignRight|QtCore.Qt.Qt::AlignmentFlag::AlignTrailing|QtCore.Qt.Qt::AlignmentFlag::AlignVCenter)
673
+ self.pixnumX_doubleSpinBox.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignRight|QtCore.Qt.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.Qt.AlignmentFlag.AlignVCenter)
674
674
  self.pixnumX_doubleSpinBox.setDecimals(0)
675
675
  self.pixnumX_doubleSpinBox.setObjectName("pixnumX_doubleSpinBox")
676
676
  self.label_7 = QtWidgets.QLabel(self.mainimagedata_groupBox)
@@ -681,7 +681,7 @@ class Ui_MainWindow(object):
681
681
  self.label_7.setObjectName("label_7")
682
682
  self.coordX_doubleSpinBox = QtWidgets.QDoubleSpinBox(self.mainimagedata_groupBox)
683
683
  self.coordX_doubleSpinBox.setGeometry(QtCore.QRect(100, 30, 67, 24))
684
- self.coordX_doubleSpinBox.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignRight|QtCore.Qt.Qt::AlignmentFlag::AlignTrailing|QtCore.Qt.Qt::AlignmentFlag::AlignVCenter)
684
+ self.coordX_doubleSpinBox.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignRight|QtCore.Qt.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.Qt.AlignmentFlag.AlignVCenter)
685
685
  self.coordX_doubleSpinBox.setDecimals(3)
686
686
  self.coordX_doubleSpinBox.setObjectName("coordX_doubleSpinBox")
687
687
  self.label_9 = QtWidgets.QLabel(self.mainimagedata_groupBox)
@@ -692,22 +692,22 @@ class Ui_MainWindow(object):
692
692
  self.label_9.setObjectName("label_9")
693
693
  self.pixnumY_doubleSpinBox = QtWidgets.QDoubleSpinBox(self.mainimagedata_groupBox)
694
694
  self.pixnumY_doubleSpinBox.setGeometry(QtCore.QRect(30, 55, 67, 24))
695
- self.pixnumY_doubleSpinBox.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignRight|QtCore.Qt.Qt::AlignmentFlag::AlignTrailing|QtCore.Qt.Qt::AlignmentFlag::AlignVCenter)
695
+ self.pixnumY_doubleSpinBox.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignRight|QtCore.Qt.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.Qt.AlignmentFlag.AlignVCenter)
696
696
  self.pixnumY_doubleSpinBox.setDecimals(0)
697
697
  self.pixnumY_doubleSpinBox.setObjectName("pixnumY_doubleSpinBox")
698
698
  self.coordY_doubleSpinBox = QtWidgets.QDoubleSpinBox(self.mainimagedata_groupBox)
699
699
  self.coordY_doubleSpinBox.setGeometry(QtCore.QRect(100, 55, 67, 24))
700
- self.coordY_doubleSpinBox.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignRight|QtCore.Qt.Qt::AlignmentFlag::AlignTrailing|QtCore.Qt.Qt::AlignmentFlag::AlignVCenter)
700
+ self.coordY_doubleSpinBox.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignRight|QtCore.Qt.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.Qt.AlignmentFlag.AlignVCenter)
701
701
  self.coordY_doubleSpinBox.setDecimals(3)
702
702
  self.coordY_doubleSpinBox.setObjectName("coordY_doubleSpinBox")
703
703
  self.pixnumZ_doubleSpinBox = QtWidgets.QDoubleSpinBox(self.mainimagedata_groupBox)
704
704
  self.pixnumZ_doubleSpinBox.setGeometry(QtCore.QRect(30, 80, 67, 24))
705
- self.pixnumZ_doubleSpinBox.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignRight|QtCore.Qt.Qt::AlignmentFlag::AlignTrailing|QtCore.Qt.Qt::AlignmentFlag::AlignVCenter)
705
+ self.pixnumZ_doubleSpinBox.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignRight|QtCore.Qt.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.Qt.AlignmentFlag.AlignVCenter)
706
706
  self.pixnumZ_doubleSpinBox.setDecimals(0)
707
707
  self.pixnumZ_doubleSpinBox.setObjectName("pixnumZ_doubleSpinBox")
708
708
  self.coordZ_doubleSpinBox = QtWidgets.QDoubleSpinBox(self.mainimagedata_groupBox)
709
709
  self.coordZ_doubleSpinBox.setGeometry(QtCore.QRect(100, 80, 67, 24))
710
- self.coordZ_doubleSpinBox.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignRight|QtCore.Qt.Qt::AlignmentFlag::AlignTrailing|QtCore.Qt.Qt::AlignmentFlag::AlignVCenter)
710
+ self.coordZ_doubleSpinBox.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignRight|QtCore.Qt.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.Qt.AlignmentFlag.AlignVCenter)
711
711
  self.coordZ_doubleSpinBox.setDecimals(3)
712
712
  self.coordZ_doubleSpinBox.setObjectName("coordZ_doubleSpinBox")
713
713
  self.label_6 = QtWidgets.QLabel(self.mainimagedata_groupBox)
@@ -718,12 +718,12 @@ class Ui_MainWindow(object):
718
718
  self.label_8.setObjectName("label_8")
719
719
  self.coordT_doubleSpinBox = QtWidgets.QDoubleSpinBox(self.mainimagedata_groupBox)
720
720
  self.coordT_doubleSpinBox.setGeometry(QtCore.QRect(100, 130, 67, 24))
721
- self.coordT_doubleSpinBox.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignRight|QtCore.Qt.Qt::AlignmentFlag::AlignTrailing|QtCore.Qt.Qt::AlignmentFlag::AlignVCenter)
721
+ self.coordT_doubleSpinBox.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignRight|QtCore.Qt.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.Qt.AlignmentFlag.AlignVCenter)
722
722
  self.coordT_doubleSpinBox.setDecimals(3)
723
723
  self.coordT_doubleSpinBox.setObjectName("coordT_doubleSpinBox")
724
724
  self.pixnumT_doubleSpinBox = QtWidgets.QDoubleSpinBox(self.mainimagedata_groupBox)
725
725
  self.pixnumT_doubleSpinBox.setGeometry(QtCore.QRect(30, 130, 67, 24))
726
- self.pixnumT_doubleSpinBox.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignRight|QtCore.Qt.Qt::AlignmentFlag::AlignTrailing|QtCore.Qt.Qt::AlignmentFlag::AlignVCenter)
726
+ self.pixnumT_doubleSpinBox.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignRight|QtCore.Qt.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.Qt.AlignmentFlag.AlignVCenter)
727
727
  self.pixnumT_doubleSpinBox.setDecimals(0)
728
728
  self.pixnumT_doubleSpinBox.setObjectName("pixnumT_doubleSpinBox")
729
729
  self.label_3 = QtWidgets.QLabel(self.mainimagedata_groupBox)
@@ -731,7 +731,7 @@ class Ui_MainWindow(object):
731
731
  self.label_3.setObjectName("label_3")
732
732
  self.TimeSlider = QtWidgets.QSlider(self.mainimagedata_groupBox)
733
733
  self.TimeSlider.setGeometry(QtCore.QRect(10, 195, 151, 22))
734
- self.TimeSlider.setOrientation(QtCore.Qt.Qt::Orientation::Horizontal)
734
+ self.TimeSlider.setOrientation(QtCore.Qt.Qt.Orientation.Horizontal)
735
735
  self.TimeSlider.setObjectName("TimeSlider")
736
736
  self.label_10 = QtWidgets.QLabel(self.mainimagedata_groupBox)
737
737
  self.label_10.setGeometry(QtCore.QRect(30, 120, 56, 13))
@@ -841,14 +841,14 @@ class Ui_MainWindow(object):
841
841
  font = QtGui.QFont()
842
842
  font.setFamily("Arial Narrow")
843
843
  self.label_5.setFont(font)
844
- self.label_5.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignCenter)
844
+ self.label_5.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignCenter)
845
845
  self.label_5.setObjectName("label_5")
846
846
  self.label_12 = QtWidgets.QLabel(self.regressor_groupBox)
847
847
  self.label_12.setGeometry(QtCore.QRect(1040, 155, 131, 16))
848
848
  font = QtGui.QFont()
849
849
  font.setFamily("Arial Narrow")
850
850
  self.label_12.setFont(font)
851
- self.label_12.setAlignment(QtCore.Qt.Qt::AlignmentFlag::AlignCenter)
851
+ self.label_12.setAlignment(QtCore.Qt.Qt.AlignmentFlag.AlignCenter)
852
852
  self.label_12.setObjectName("label_12")
853
853
  self.logOutput_groupBox = QtWidgets.QGroupBox(self.centralwidget)
854
854
  self.logOutput_groupBox.setGeometry(QtCore.QRect(1200, 7, 381, 221))
@@ -0,0 +1,271 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ #
4
+ # Copyright 2016-2025 Blaise Frederick
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ #
19
+ import numpy as np
20
+
21
+ import rapidtide.calcsimfunc as tide_calcsimfunc
22
+ import rapidtide.io as tide_io
23
+ import rapidtide.linfitfiltpass as tide_linfitfiltpass
24
+ import rapidtide.makelaggedtcs as tide_makelagged
25
+ import rapidtide.stats as tide_stats
26
+ import rapidtide.util as tide_util
27
+
28
+
29
+ def makeRIPTiDeRegressors(
30
+ initial_fmri_x,
31
+ lagmin,
32
+ lagmax,
33
+ lagtcgenerator,
34
+ LGR,
35
+ nprocs=1,
36
+ alwaysmultiproc=False,
37
+ showprogressbar=True,
38
+ chunksize=1000,
39
+ targetstep=2.5,
40
+ edgepad=0,
41
+ rt_floatset=np.float64,
42
+ rt_floattype="float64",
43
+ debug=False,
44
+ ):
45
+ # make the RIPTiDe evs
46
+ numdelays = int(np.round((lagmax - lagmin) / targetstep, 0))
47
+ numregressors = numdelays + 2 * edgepad
48
+ delaystep = (lagmax - lagmin) / numdelays
49
+ delaystouse = np.linspace(
50
+ lagmin - edgepad * delaystep,
51
+ lagmax + edgepad * delaystep,
52
+ numdelays + 2 * edgepad,
53
+ endpoint=True,
54
+ )
55
+ if debug:
56
+ print(f"{lagmin=}")
57
+ print(f"{lagmax=}")
58
+ print(f"{numdelays=}")
59
+ print(f"{edgepad=}")
60
+ print(f"{numregressors=}")
61
+ print(f"{delaystep=}")
62
+ print(f"{delaystouse=}, {len(delaystouse)}")
63
+ print(f"{len(initial_fmri_x)}")
64
+
65
+ regressorset = np.zeros((len(delaystouse), len(initial_fmri_x)), dtype=rt_floatset)
66
+
67
+ dummy = tide_makelagged.makelaggedtcs(
68
+ lagtcgenerator,
69
+ initial_fmri_x,
70
+ np.ones_like(delaystouse, dtype=np.float64),
71
+ delaystouse,
72
+ regressorset,
73
+ LGR=LGR,
74
+ nprocs=nprocs,
75
+ alwaysmultiproc=alwaysmultiproc,
76
+ showprogressbar=showprogressbar,
77
+ chunksize=chunksize,
78
+ rt_floatset=rt_floatset,
79
+ rt_floattype=rt_floattype,
80
+ debug=debug,
81
+ )
82
+
83
+ if debug:
84
+ print(regressorset)
85
+
86
+ return regressorset, delaystouse
87
+
88
+
89
+ def calcSimFunc(
90
+ numvalidspatiallocs,
91
+ fmri_data_valid,
92
+ validsimcalcstart,
93
+ validsimcalcend,
94
+ osvalidsimcalcstart,
95
+ osvalidsimcalcend,
96
+ initial_fmri_x,
97
+ os_fmri_x,
98
+ theCorrelator,
99
+ theMutualInformationator,
100
+ cleaned_referencetc,
101
+ corrout,
102
+ regressorset,
103
+ delayvals,
104
+ sLFOfitmean,
105
+ r2value,
106
+ fitcoeff,
107
+ fitNorm,
108
+ meanval,
109
+ corrscale,
110
+ outputname,
111
+ outcorrarray,
112
+ validvoxels,
113
+ nativecorrshape,
114
+ theinputdata,
115
+ theheader,
116
+ lagmininpts,
117
+ lagmaxinpts,
118
+ thepass,
119
+ optiondict,
120
+ LGR,
121
+ TimingLGR,
122
+ similaritymetric="correlation",
123
+ simcalcoffset=0,
124
+ echocancel=False,
125
+ checkpoint=False,
126
+ nprocs=1,
127
+ alwaysmultiproc=False,
128
+ oversampfactor=2,
129
+ interptype="univariate",
130
+ showprogressbar=True,
131
+ chunksize=1000,
132
+ rt_floatset=np.float64,
133
+ rt_floattype="float64",
134
+ mklthreads=1,
135
+ threaddebug=False,
136
+ debug=False,
137
+ ):
138
+ # Step 1 - Correlation step
139
+ if similaritymetric == "mutualinfo":
140
+ similaritytype = "Mutual information"
141
+ elif similaritymetric == "correlation":
142
+ similaritytype = "Correlation"
143
+ elif similaritymetric == "riptide":
144
+ similaritytype = "RIPTiDe"
145
+ else:
146
+ similaritytype = "MI enhanced correlation"
147
+ LGR.info(f"\n\n{similaritytype} calculation, pass {thepass}")
148
+ TimingLGR.info(f"{similaritytype} calculation start, pass {thepass}")
149
+
150
+ tide_util.disablemkl(nprocs, debug=threaddebug)
151
+ if similaritymetric == "mutualinfo":
152
+ theMutualInformationator.setlimits(lagmininpts, lagmaxinpts)
153
+ (
154
+ voxelsprocessed_cp,
155
+ theglobalmaxlist,
156
+ trimmedcorrscale,
157
+ ) = tide_calcsimfunc.correlationpass(
158
+ fmri_data_valid[:, validsimcalcstart : validsimcalcend + 1],
159
+ cleaned_referencetc,
160
+ theMutualInformationator,
161
+ initial_fmri_x[validsimcalcstart : validsimcalcend + 1],
162
+ os_fmri_x[osvalidsimcalcstart : osvalidsimcalcend + 1],
163
+ lagmininpts,
164
+ lagmaxinpts,
165
+ corrout,
166
+ meanval,
167
+ nprocs=nprocs,
168
+ alwaysmultiproc=alwaysmultiproc,
169
+ oversampfactor=oversampfactor,
170
+ interptype=interptype,
171
+ showprogressbar=showprogressbar,
172
+ chunksize=chunksize,
173
+ rt_floatset=rt_floatset,
174
+ rt_floattype=rt_floattype,
175
+ debug=debug,
176
+ )
177
+ elif (similaritymetric == "correlation") or (similaritymetric == "hybrid"):
178
+ (
179
+ voxelsprocessed_cp,
180
+ theglobalmaxlist,
181
+ trimmedcorrscale,
182
+ ) = tide_calcsimfunc.correlationpass(
183
+ fmri_data_valid[:, validsimcalcstart : validsimcalcend + 1],
184
+ cleaned_referencetc,
185
+ theCorrelator,
186
+ initial_fmri_x[validsimcalcstart : validsimcalcend + 1],
187
+ os_fmri_x[osvalidsimcalcstart : osvalidsimcalcend + 1],
188
+ lagmininpts,
189
+ lagmaxinpts,
190
+ corrout,
191
+ meanval,
192
+ nprocs=nprocs,
193
+ alwaysmultiproc=alwaysmultiproc,
194
+ oversampfactor=oversampfactor,
195
+ interptype=interptype,
196
+ showprogressbar=showprogressbar,
197
+ chunksize=chunksize,
198
+ rt_floatset=rt_floatset,
199
+ rt_floattype=rt_floattype,
200
+ debug=debug,
201
+ )
202
+ elif similaritymetric == "riptide":
203
+ # do the linear fit to the comb of delayed regressors
204
+ for thedelay in range(len(delayvals)):
205
+ print(f"Fitting delay {delayvals[thedelay]:.2f}")
206
+ voxelsprocessed_cp = tide_linfitfiltpass.linfitfiltpass(
207
+ numvalidspatiallocs,
208
+ fmri_data_valid[:, validsimcalcstart : validsimcalcend + 1],
209
+ 0.0,
210
+ regressorset[thedelay, validsimcalcstart : validsimcalcend + 1],
211
+ sLFOfitmean,
212
+ corrout[:, thedelay],
213
+ r2value,
214
+ fitcoeff,
215
+ fitNorm,
216
+ None,
217
+ None,
218
+ coefficientsonly=True,
219
+ voxelspecific=False,
220
+ nprocs=nprocs,
221
+ alwaysmultiproc=alwaysmultiproc,
222
+ showprogressbar=showprogressbar,
223
+ verbose=(LGR is not None),
224
+ chunksize=chunksize,
225
+ rt_floatset=rt_floatset,
226
+ rt_floattype=rt_floattype,
227
+ debug=debug,
228
+ )
229
+ else:
230
+ print("illegal similarity metric")
231
+
232
+ tide_util.enablemkl(mklthreads, debug=threaddebug)
233
+
234
+ if similaritymetric != "riptide":
235
+ for i in range(len(theglobalmaxlist)):
236
+ theglobalmaxlist[i] = corrscale[theglobalmaxlist[i]] - simcalcoffset
237
+ namesuffix = "_desc-globallag_hist"
238
+ tide_stats.makeandsavehistogram(
239
+ np.asarray(theglobalmaxlist),
240
+ len(corrscale),
241
+ 0,
242
+ outputname + namesuffix,
243
+ displaytitle="Histogram of lag times from global lag calculation",
244
+ therange=(corrscale[0], corrscale[-1]),
245
+ refine=False,
246
+ dictvarname="globallaghist_pass" + str(thepass),
247
+ append=(echocancel or (thepass > 1)),
248
+ thedict=optiondict,
249
+ )
250
+
251
+ if checkpoint:
252
+ outcorrarray[:, :] = 0.0
253
+ outcorrarray[validvoxels, :] = corrout[:, :]
254
+ if theinputdata.filetype == "text":
255
+ tide_io.writenpvecs(
256
+ outcorrarray.reshape(nativecorrshape),
257
+ f"{outputname}_corrout_prefit_pass" + str(thepass) + ".txt",
258
+ )
259
+ else:
260
+ savename = f"{outputname}_desc-corroutprefit_pass-" + str(thepass)
261
+ tide_io.savetonifti(outcorrarray.reshape(nativecorrshape), theheader, savename)
262
+
263
+ TimingLGR.info(
264
+ f"{similaritytype} calculation end, pass {thepass}",
265
+ {
266
+ "message2": voxelsprocessed_cp,
267
+ "message3": "voxels",
268
+ },
269
+ )
270
+
271
+ return similaritytype
@@ -825,7 +825,7 @@ def delayvar(args):
825
825
  sys.exit()
826
826
  print(
827
827
  f"Using {len(thefit.components_)} component(s), accounting for "
828
- + f"{100.0 * np.cumsum(thefit.explained_variance_ratio_)[len(thefit.components_) - 1]}% of the variance"
828
+ + f"{100.0 * np.cumsum(thefit.explained_variance_ratio_)[len(thefit.components_) - 1]:.2f}% of the variance"
829
829
  )
830
830
  reduceddata = thefit.inverse_transform(thefit.transform(scaledvoxels))
831
831
  # unscale the PCA cleaned data