waveorder 2.2.1b0__py3-none-any.whl → 3.0.0__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 (58) hide show
  1. waveorder/_version.py +16 -3
  2. waveorder/acq/__init__.py +0 -0
  3. waveorder/acq/acq_functions.py +166 -0
  4. waveorder/assets/HSV_legend.png +0 -0
  5. waveorder/assets/JCh_legend.png +0 -0
  6. waveorder/assets/waveorder_plugin_logo.png +0 -0
  7. waveorder/calib/Calibration.py +1512 -0
  8. waveorder/calib/Optimization.py +470 -0
  9. waveorder/calib/__init__.py +0 -0
  10. waveorder/calib/calibration_workers.py +464 -0
  11. waveorder/cli/apply_inverse_models.py +328 -0
  12. waveorder/cli/apply_inverse_transfer_function.py +379 -0
  13. waveorder/cli/compute_transfer_function.py +432 -0
  14. waveorder/cli/gui_widget.py +58 -0
  15. waveorder/cli/main.py +39 -0
  16. waveorder/cli/monitor.py +163 -0
  17. waveorder/cli/option_eat_all.py +47 -0
  18. waveorder/cli/parsing.py +122 -0
  19. waveorder/cli/printing.py +16 -0
  20. waveorder/cli/reconstruct.py +67 -0
  21. waveorder/cli/settings.py +187 -0
  22. waveorder/cli/utils.py +175 -0
  23. waveorder/filter.py +1 -2
  24. waveorder/focus.py +136 -25
  25. waveorder/io/__init__.py +0 -0
  26. waveorder/io/_reader.py +61 -0
  27. waveorder/io/core_functions.py +272 -0
  28. waveorder/io/metadata_reader.py +195 -0
  29. waveorder/io/utils.py +175 -0
  30. waveorder/io/visualization.py +160 -0
  31. waveorder/models/inplane_oriented_thick_pol3d_vector.py +3 -3
  32. waveorder/models/isotropic_fluorescent_thick_3d.py +92 -0
  33. waveorder/models/isotropic_fluorescent_thin_3d.py +331 -0
  34. waveorder/models/isotropic_thin_3d.py +73 -72
  35. waveorder/models/phase_thick_3d.py +103 -4
  36. waveorder/napari.yaml +36 -0
  37. waveorder/plugin/__init__.py +9 -0
  38. waveorder/plugin/gui.py +1094 -0
  39. waveorder/plugin/gui.ui +1440 -0
  40. waveorder/plugin/job_manager.py +42 -0
  41. waveorder/plugin/main_widget.py +1605 -0
  42. waveorder/plugin/tab_recon.py +3294 -0
  43. waveorder/scripts/__init__.py +0 -0
  44. waveorder/scripts/launch_napari.py +13 -0
  45. waveorder/scripts/repeat-cal-acq-rec.py +147 -0
  46. waveorder/scripts/repeat-calibration.py +31 -0
  47. waveorder/scripts/samples.py +85 -0
  48. waveorder/scripts/simulate_zarr_acq.py +204 -0
  49. waveorder/util.py +1 -1
  50. waveorder/visuals/napari_visuals.py +1 -1
  51. waveorder-3.0.0.dist-info/METADATA +350 -0
  52. waveorder-3.0.0.dist-info/RECORD +69 -0
  53. {waveorder-2.2.1b0.dist-info → waveorder-3.0.0.dist-info}/WHEEL +1 -1
  54. waveorder-3.0.0.dist-info/entry_points.txt +5 -0
  55. {waveorder-2.2.1b0.dist-info → waveorder-3.0.0.dist-info/licenses}/LICENSE +13 -1
  56. waveorder-2.2.1b0.dist-info/METADATA +0 -187
  57. waveorder-2.2.1b0.dist-info/RECORD +0 -27
  58. {waveorder-2.2.1b0.dist-info → waveorder-3.0.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1094 @@
1
+ # Form implementation generated from reading ui file 'waveorder/plugin/gui.ui'
2
+ #
3
+ # Created by: PyQt6 UI code generator 6.10.2
4
+ #
5
+ # WARNING: Any manual changes made to this file will be lost when pyuic6 is
6
+ # run again. Do not edit this file unless you know what you are doing.
7
+
8
+
9
+ from qtpy import QtCore, QtGui, QtWidgets
10
+
11
+ from waveorder.plugin import tab_recon
12
+
13
+
14
+ class Ui_Form(object):
15
+ def setupUi(self, Form):
16
+ Form.setObjectName("Form")
17
+ Form.setWindowModality(QtCore.Qt.WindowModality.NonModal)
18
+ Form.resize(630, 1165)
19
+ sizePolicy = QtWidgets.QSizePolicy(
20
+ QtWidgets.QSizePolicy.Policy.Preferred,
21
+ QtWidgets.QSizePolicy.Policy.Preferred,
22
+ )
23
+ sizePolicy.setHorizontalStretch(0)
24
+ sizePolicy.setVerticalStretch(0)
25
+ sizePolicy.setHeightForWidth(Form.sizePolicy().hasHeightForWidth())
26
+ Form.setSizePolicy(sizePolicy)
27
+ Form.setMinimumSize(QtCore.QSize(0, 0))
28
+ Form.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight)
29
+ self.gridLayout_7 = QtWidgets.QGridLayout(Form)
30
+ self.gridLayout_7.setObjectName("gridLayout_7")
31
+ self.label_logo = QtWidgets.QLabel(parent=Form)
32
+ self.label_logo.setText("")
33
+ self.label_logo.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
34
+ self.label_logo.setObjectName("label_logo")
35
+ self.gridLayout_7.addWidget(self.label_logo, 0, 0, 1, 1)
36
+ self.recon_status = QtWidgets.QGroupBox(parent=Form)
37
+ font = QtGui.QFont()
38
+ font.setBold(True)
39
+ font.setItalic(False)
40
+ self.recon_status.setFont(font)
41
+ self.recon_status.setObjectName("recon_status")
42
+ self.gridLayout_22 = QtWidgets.QGridLayout(self.recon_status)
43
+ self.gridLayout_22.setContentsMargins(-1, 25, -1, -1)
44
+ self.gridLayout_22.setObjectName("gridLayout_22")
45
+ self.le_mm_status = QtWidgets.QLineEdit(parent=self.recon_status)
46
+ sizePolicy = QtWidgets.QSizePolicy(
47
+ QtWidgets.QSizePolicy.Policy.Preferred,
48
+ QtWidgets.QSizePolicy.Policy.Fixed,
49
+ )
50
+ sizePolicy.setHorizontalStretch(0)
51
+ sizePolicy.setVerticalStretch(0)
52
+ sizePolicy.setHeightForWidth(
53
+ self.le_mm_status.sizePolicy().hasHeightForWidth()
54
+ )
55
+ self.le_mm_status.setSizePolicy(sizePolicy)
56
+ font = QtGui.QFont()
57
+ font.setBold(False)
58
+ font.setItalic(False)
59
+ self.le_mm_status.setFont(font)
60
+ self.le_mm_status.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
61
+ self.le_mm_status.setReadOnly(True)
62
+ self.le_mm_status.setObjectName("le_mm_status")
63
+ self.gridLayout_22.addWidget(self.le_mm_status, 0, 1, 1, 1)
64
+ self.qbutton_connect_to_mm = QtWidgets.QPushButton(
65
+ parent=self.recon_status
66
+ )
67
+ sizePolicy = QtWidgets.QSizePolicy(
68
+ QtWidgets.QSizePolicy.Policy.Expanding,
69
+ QtWidgets.QSizePolicy.Policy.Fixed,
70
+ )
71
+ sizePolicy.setHorizontalStretch(0)
72
+ sizePolicy.setVerticalStretch(0)
73
+ sizePolicy.setHeightForWidth(
74
+ self.qbutton_connect_to_mm.sizePolicy().hasHeightForWidth()
75
+ )
76
+ self.qbutton_connect_to_mm.setSizePolicy(sizePolicy)
77
+ font = QtGui.QFont()
78
+ font.setBold(False)
79
+ font.setItalic(False)
80
+ self.qbutton_connect_to_mm.setFont(font)
81
+ self.qbutton_connect_to_mm.setObjectName("qbutton_connect_to_mm")
82
+ self.gridLayout_22.addWidget(self.qbutton_connect_to_mm, 0, 0, 1, 1)
83
+ self.gridLayout_7.addWidget(
84
+ self.recon_status, 1, 0, 1, 1, QtCore.Qt.AlignmentFlag.AlignTop
85
+ )
86
+ self.tabWidget = QtWidgets.QTabWidget(parent=Form)
87
+ sizePolicy = QtWidgets.QSizePolicy(
88
+ QtWidgets.QSizePolicy.Policy.Preferred,
89
+ QtWidgets.QSizePolicy.Policy.Expanding,
90
+ )
91
+ sizePolicy.setHorizontalStretch(0)
92
+ sizePolicy.setVerticalStretch(0)
93
+ sizePolicy.setHeightForWidth(
94
+ self.tabWidget.sizePolicy().hasHeightForWidth()
95
+ )
96
+ self.tabWidget.setSizePolicy(sizePolicy)
97
+ self.tabWidget.setMinimumSize(QtCore.QSize(0, 0))
98
+ self.tabWidget.setBaseSize(QtCore.QSize(0, 0))
99
+ font = QtGui.QFont()
100
+ font.setBold(False)
101
+ font.setItalic(False)
102
+ self.tabWidget.setFont(font)
103
+ self.tabWidget.setTabPosition(QtWidgets.QTabWidget.TabPosition.North)
104
+ self.tabWidget.setElideMode(QtCore.Qt.TextElideMode.ElideMiddle)
105
+ self.tabWidget.setUsesScrollButtons(False)
106
+ self.tabWidget.setTabsClosable(False)
107
+ self.tabWidget.setMovable(False)
108
+ self.tabWidget.setObjectName("tabWidget")
109
+ self.Calibration = QtWidgets.QWidget()
110
+ sizePolicy = QtWidgets.QSizePolicy(
111
+ QtWidgets.QSizePolicy.Policy.Preferred,
112
+ QtWidgets.QSizePolicy.Policy.Preferred,
113
+ )
114
+ sizePolicy.setHorizontalStretch(0)
115
+ sizePolicy.setVerticalStretch(0)
116
+ sizePolicy.setHeightForWidth(
117
+ self.Calibration.sizePolicy().hasHeightForWidth()
118
+ )
119
+ self.Calibration.setSizePolicy(sizePolicy)
120
+ self.Calibration.setMinimumSize(QtCore.QSize(0, 0))
121
+ self.Calibration.setObjectName("Calibration")
122
+ self.gridLayout_5 = QtWidgets.QGridLayout(self.Calibration)
123
+ self.gridLayout_5.setSizeConstraint(
124
+ QtWidgets.QLayout.SizeConstraint.SetDefaultConstraint
125
+ )
126
+ self.gridLayout_5.setContentsMargins(4, 4, 4, 4)
127
+ self.gridLayout_5.setObjectName("gridLayout_5")
128
+ self.scrollArea = QtWidgets.QScrollArea(parent=self.Calibration)
129
+ font = QtGui.QFont()
130
+ font.setBold(False)
131
+ font.setItalic(False)
132
+ self.scrollArea.setFont(font)
133
+ self.scrollArea.setWidgetResizable(True)
134
+ self.scrollArea.setObjectName("scrollArea")
135
+ self.scrollAreaWidgetContents = QtWidgets.QWidget()
136
+ self.scrollAreaWidgetContents.setGeometry(
137
+ QtCore.QRect(0, 0, 590, 1032)
138
+ )
139
+ sizePolicy = QtWidgets.QSizePolicy(
140
+ QtWidgets.QSizePolicy.Policy.Preferred,
141
+ QtWidgets.QSizePolicy.Policy.Preferred,
142
+ )
143
+ sizePolicy.setHorizontalStretch(0)
144
+ sizePolicy.setVerticalStretch(0)
145
+ sizePolicy.setHeightForWidth(
146
+ self.scrollAreaWidgetContents.sizePolicy().hasHeightForWidth()
147
+ )
148
+ self.scrollAreaWidgetContents.setSizePolicy(sizePolicy)
149
+ self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
150
+ self.gridLayout = QtWidgets.QGridLayout(self.scrollAreaWidgetContents)
151
+ self.gridLayout.setContentsMargins(4, 4, 4, 4)
152
+ self.gridLayout.setVerticalSpacing(20)
153
+ self.gridLayout.setObjectName("gridLayout")
154
+ self.run_calib = QtWidgets.QGroupBox(
155
+ parent=self.scrollAreaWidgetContents
156
+ )
157
+ font = QtGui.QFont()
158
+ font.setBold(True)
159
+ font.setItalic(False)
160
+ self.run_calib.setFont(font)
161
+ self.run_calib.setObjectName("run_calib")
162
+ self.gridLayout_12 = QtWidgets.QGridLayout(self.run_calib)
163
+ self.gridLayout_12.setContentsMargins(-1, 12, -1, -1)
164
+ self.gridLayout_12.setVerticalSpacing(6)
165
+ self.gridLayout_12.setObjectName("gridLayout_12")
166
+ self.labell_calib_assessment = QtWidgets.QLabel(parent=self.run_calib)
167
+ font = QtGui.QFont()
168
+ font.setBold(False)
169
+ font.setItalic(False)
170
+ self.labell_calib_assessment.setFont(font)
171
+ self.labell_calib_assessment.setObjectName("labell_calib_assessment")
172
+ self.gridLayout_12.addWidget(self.labell_calib_assessment, 8, 0, 1, 1)
173
+ self.label_progress = QtWidgets.QLabel(parent=self.run_calib)
174
+ font = QtGui.QFont()
175
+ font.setBold(False)
176
+ font.setItalic(False)
177
+ self.label_progress.setFont(font)
178
+ self.label_progress.setObjectName("label_progress")
179
+ self.gridLayout_12.addWidget(self.label_progress, 4, 0, 1, 1)
180
+ self.label_extinction = QtWidgets.QLabel(parent=self.run_calib)
181
+ sizePolicy = QtWidgets.QSizePolicy(
182
+ QtWidgets.QSizePolicy.Policy.Fixed,
183
+ QtWidgets.QSizePolicy.Policy.Preferred,
184
+ )
185
+ sizePolicy.setHorizontalStretch(0)
186
+ sizePolicy.setVerticalStretch(0)
187
+ sizePolicy.setHeightForWidth(
188
+ self.label_extinction.sizePolicy().hasHeightForWidth()
189
+ )
190
+ self.label_extinction.setSizePolicy(sizePolicy)
191
+ font = QtGui.QFont()
192
+ font.setBold(False)
193
+ font.setItalic(False)
194
+ self.label_extinction.setFont(font)
195
+ self.label_extinction.setObjectName("label_extinction")
196
+ self.gridLayout_12.addWidget(self.label_extinction, 6, 0, 1, 1)
197
+ self.qbutton_calibrate = QtWidgets.QPushButton(parent=self.run_calib)
198
+ sizePolicy = QtWidgets.QSizePolicy(
199
+ QtWidgets.QSizePolicy.Policy.Minimum,
200
+ QtWidgets.QSizePolicy.Policy.Fixed,
201
+ )
202
+ sizePolicy.setHorizontalStretch(0)
203
+ sizePolicy.setVerticalStretch(0)
204
+ sizePolicy.setHeightForWidth(
205
+ self.qbutton_calibrate.sizePolicy().hasHeightForWidth()
206
+ )
207
+ self.qbutton_calibrate.setSizePolicy(sizePolicy)
208
+ font = QtGui.QFont()
209
+ font.setBold(False)
210
+ font.setItalic(False)
211
+ self.qbutton_calibrate.setFont(font)
212
+ self.qbutton_calibrate.setAutoDefault(False)
213
+ self.qbutton_calibrate.setObjectName("qbutton_calibrate")
214
+ self.gridLayout_12.addWidget(self.qbutton_calibrate, 0, 0, 1, 2)
215
+ self.progress_bar = QtWidgets.QProgressBar(parent=self.run_calib)
216
+ font = QtGui.QFont()
217
+ font.setBold(True)
218
+ font.setItalic(False)
219
+ self.progress_bar.setFont(font)
220
+ self.progress_bar.setProperty("value", 0)
221
+ self.progress_bar.setObjectName("progress_bar")
222
+ self.gridLayout_12.addWidget(self.progress_bar, 5, 0, 1, 2)
223
+ self.qbutton_calc_extinction = QtWidgets.QPushButton(
224
+ parent=self.run_calib
225
+ )
226
+ font = QtGui.QFont()
227
+ font.setBold(False)
228
+ font.setItalic(False)
229
+ self.qbutton_calc_extinction.setFont(font)
230
+ self.qbutton_calc_extinction.setObjectName("qbutton_calc_extinction")
231
+ self.gridLayout_12.addWidget(self.qbutton_calc_extinction, 2, 0, 1, 2)
232
+ self.le_extinction = QtWidgets.QLineEdit(parent=self.run_calib)
233
+ sizePolicy = QtWidgets.QSizePolicy(
234
+ QtWidgets.QSizePolicy.Policy.Minimum,
235
+ QtWidgets.QSizePolicy.Policy.Fixed,
236
+ )
237
+ sizePolicy.setHorizontalStretch(0)
238
+ sizePolicy.setVerticalStretch(0)
239
+ sizePolicy.setHeightForWidth(
240
+ self.le_extinction.sizePolicy().hasHeightForWidth()
241
+ )
242
+ self.le_extinction.setSizePolicy(sizePolicy)
243
+ font = QtGui.QFont()
244
+ font.setPointSize(13)
245
+ font.setBold(True)
246
+ font.setItalic(False)
247
+ self.le_extinction.setFont(font)
248
+ self.le_extinction.setReadOnly(True)
249
+ self.le_extinction.setObjectName("le_extinction")
250
+ self.gridLayout_12.addWidget(self.le_extinction, 6, 1, 1, 1)
251
+ self.qbutton_stop_calib = QtWidgets.QPushButton(parent=self.run_calib)
252
+ font = QtGui.QFont()
253
+ font.setBold(False)
254
+ font.setItalic(False)
255
+ self.qbutton_stop_calib.setFont(font)
256
+ self.qbutton_stop_calib.setObjectName("qbutton_stop_calib")
257
+ self.gridLayout_12.addWidget(self.qbutton_stop_calib, 3, 0, 1, 2)
258
+ self.qbutton_load_calib = QtWidgets.QPushButton(parent=self.run_calib)
259
+ font = QtGui.QFont()
260
+ font.setBold(False)
261
+ font.setItalic(False)
262
+ self.qbutton_load_calib.setFont(font)
263
+ self.qbutton_load_calib.setObjectName("qbutton_load_calib")
264
+ self.gridLayout_12.addWidget(self.qbutton_load_calib, 1, 0, 1, 2)
265
+ self.tb_calib_assessment = QtWidgets.QTextBrowser(
266
+ parent=self.run_calib
267
+ )
268
+ font = QtGui.QFont()
269
+ font.setBold(False)
270
+ font.setItalic(False)
271
+ self.tb_calib_assessment.setFont(font)
272
+ self.tb_calib_assessment.setObjectName("tb_calib_assessment")
273
+ self.gridLayout_12.addWidget(self.tb_calib_assessment, 8, 1, 1, 1)
274
+ self.gridLayout.addWidget(self.run_calib, 1, 0, 1, 1)
275
+ self.calib_params = QtWidgets.QGroupBox(
276
+ parent=self.scrollAreaWidgetContents
277
+ )
278
+ font = QtGui.QFont()
279
+ font.setBold(True)
280
+ font.setItalic(False)
281
+ self.calib_params.setFont(font)
282
+ self.calib_params.setContextMenuPolicy(
283
+ QtCore.Qt.ContextMenuPolicy.DefaultContextMenu
284
+ )
285
+ self.calib_params.setAlignment(
286
+ QtCore.Qt.AlignmentFlag.AlignLeading
287
+ | QtCore.Qt.AlignmentFlag.AlignLeft
288
+ | QtCore.Qt.AlignmentFlag.AlignVCenter
289
+ )
290
+ self.calib_params.setCheckable(False)
291
+ self.calib_params.setObjectName("calib_params")
292
+ self.gridLayout_2 = QtWidgets.QGridLayout(self.calib_params)
293
+ self.gridLayout_2.setContentsMargins(-1, 12, -1, -1)
294
+ self.gridLayout_2.setVerticalSpacing(6)
295
+ self.gridLayout_2.setObjectName("gridLayout_2")
296
+ self.label_wavelength = QtWidgets.QLabel(parent=self.calib_params)
297
+ font = QtGui.QFont()
298
+ font.setBold(False)
299
+ font.setItalic(False)
300
+ self.label_wavelength.setFont(font)
301
+ self.label_wavelength.setObjectName("label_wavelength")
302
+ self.gridLayout_2.addWidget(self.label_wavelength, 3, 0, 1, 1)
303
+ self.label_dir = QtWidgets.QLabel(parent=self.calib_params)
304
+ font = QtGui.QFont()
305
+ font.setBold(False)
306
+ font.setItalic(False)
307
+ self.label_dir.setFont(font)
308
+ self.label_dir.setObjectName("label_dir")
309
+ self.gridLayout_2.addWidget(self.label_dir, 0, 0, 1, 1)
310
+ self.cb_lca = QtWidgets.QComboBox(parent=self.calib_params)
311
+ font = QtGui.QFont()
312
+ font.setBold(False)
313
+ font.setItalic(False)
314
+ self.cb_lca.setFont(font)
315
+ self.cb_lca.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
316
+ self.cb_lca.setObjectName("cb_lca")
317
+ self.cb_lca.addItem("")
318
+ self.gridLayout_2.addWidget(self.cb_lca, 5, 2, 1, 1)
319
+ self.cb_calib_scheme = QtWidgets.QComboBox(parent=self.calib_params)
320
+ font = QtGui.QFont()
321
+ font.setBold(False)
322
+ font.setItalic(False)
323
+ self.cb_calib_scheme.setFont(font)
324
+ self.cb_calib_scheme.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
325
+ self.cb_calib_scheme.setObjectName("cb_calib_scheme")
326
+ self.cb_calib_scheme.addItem("")
327
+ self.cb_calib_scheme.addItem("")
328
+ self.gridLayout_2.addWidget(self.cb_calib_scheme, 4, 1, 1, 1)
329
+ self.cb_lcb = QtWidgets.QComboBox(parent=self.calib_params)
330
+ font = QtGui.QFont()
331
+ font.setBold(False)
332
+ font.setItalic(False)
333
+ self.cb_lcb.setFont(font)
334
+ self.cb_lcb.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
335
+ self.cb_lcb.setObjectName("cb_lcb")
336
+ self.cb_lcb.addItem("")
337
+ self.gridLayout_2.addWidget(self.cb_lcb, 5, 3, 1, 1)
338
+ self.label_lca = QtWidgets.QLabel(parent=self.calib_params)
339
+ font = QtGui.QFont()
340
+ font.setBold(False)
341
+ font.setItalic(False)
342
+ self.label_lca.setFont(font)
343
+ self.label_lca.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
344
+ self.label_lca.setObjectName("label_lca")
345
+ self.gridLayout_2.addWidget(self.label_lca, 4, 2, 1, 1)
346
+ self.le_swing = QtWidgets.QLineEdit(parent=self.calib_params)
347
+ font = QtGui.QFont()
348
+ font.setBold(False)
349
+ font.setItalic(False)
350
+ self.le_swing.setFont(font)
351
+ self.le_swing.setObjectName("le_swing")
352
+ self.gridLayout_2.addWidget(self.le_swing, 2, 1, 1, 1)
353
+ self.le_directory = QtWidgets.QLineEdit(parent=self.calib_params)
354
+ font = QtGui.QFont()
355
+ font.setBold(False)
356
+ font.setItalic(False)
357
+ self.le_directory.setFont(font)
358
+ self.le_directory.setText("")
359
+ self.le_directory.setObjectName("le_directory")
360
+ self.gridLayout_2.addWidget(self.le_directory, 0, 1, 1, 1)
361
+ self.le_wavelength = QtWidgets.QLineEdit(parent=self.calib_params)
362
+ font = QtGui.QFont()
363
+ font.setBold(False)
364
+ font.setItalic(False)
365
+ self.le_wavelength.setFont(font)
366
+ self.le_wavelength.setObjectName("le_wavelength")
367
+ self.gridLayout_2.addWidget(self.le_wavelength, 3, 1, 1, 1)
368
+ self.label_lcb = QtWidgets.QLabel(parent=self.calib_params)
369
+ font = QtGui.QFont()
370
+ font.setBold(False)
371
+ font.setItalic(False)
372
+ self.label_lcb.setFont(font)
373
+ self.label_lcb.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
374
+ self.label_lcb.setObjectName("label_lcb")
375
+ self.gridLayout_2.addWidget(self.label_lcb, 4, 3, 1, 1)
376
+ self.label_swing = QtWidgets.QLabel(parent=self.calib_params)
377
+ font = QtGui.QFont()
378
+ font.setBold(False)
379
+ font.setItalic(False)
380
+ self.label_swing.setFont(font)
381
+ self.label_swing.setObjectName("label_swing")
382
+ self.gridLayout_2.addWidget(self.label_swing, 2, 0, 1, 1)
383
+ self.label_calib_mode = QtWidgets.QLabel(parent=self.calib_params)
384
+ font = QtGui.QFont()
385
+ font.setBold(False)
386
+ font.setItalic(False)
387
+ self.label_calib_mode.setFont(font)
388
+ self.label_calib_mode.setObjectName("label_calib_mode")
389
+ self.gridLayout_2.addWidget(self.label_calib_mode, 5, 0, 1, 1)
390
+ self.label_cfg_group = QtWidgets.QLabel(parent=self.calib_params)
391
+ font = QtGui.QFont()
392
+ font.setBold(False)
393
+ font.setItalic(False)
394
+ self.label_cfg_group.setFont(font)
395
+ self.label_cfg_group.setObjectName("label_cfg_group")
396
+ self.gridLayout_2.addWidget(self.label_cfg_group, 6, 0, 1, 1)
397
+ self.label_scheme = QtWidgets.QLabel(parent=self.calib_params)
398
+ font = QtGui.QFont()
399
+ font.setBold(False)
400
+ font.setItalic(False)
401
+ self.label_scheme.setFont(font)
402
+ self.label_scheme.setObjectName("label_scheme")
403
+ self.gridLayout_2.addWidget(self.label_scheme, 4, 0, 1, 1)
404
+ self.cb_config_group = QtWidgets.QComboBox(parent=self.calib_params)
405
+ font = QtGui.QFont()
406
+ font.setBold(False)
407
+ font.setItalic(False)
408
+ self.cb_config_group.setFont(font)
409
+ self.cb_config_group.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
410
+ self.cb_config_group.setObjectName("cb_config_group")
411
+ self.gridLayout_2.addWidget(self.cb_config_group, 6, 1, 1, 1)
412
+ self.cb_calib_mode = QtWidgets.QComboBox(parent=self.calib_params)
413
+ font = QtGui.QFont()
414
+ font.setBold(False)
415
+ font.setItalic(False)
416
+ font.setKerning(True)
417
+ self.cb_calib_mode.setFont(font)
418
+ self.cb_calib_mode.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
419
+ self.cb_calib_mode.setObjectName("cb_calib_mode")
420
+ self.gridLayout_2.addWidget(self.cb_calib_mode, 5, 1, 1, 1)
421
+ self.qbutton_browse = QtWidgets.QPushButton(parent=self.calib_params)
422
+ font = QtGui.QFont()
423
+ font.setBold(False)
424
+ font.setItalic(False)
425
+ self.qbutton_browse.setFont(font)
426
+ self.qbutton_browse.setAutoFillBackground(False)
427
+ self.qbutton_browse.setCheckable(False)
428
+ self.qbutton_browse.setDefault(False)
429
+ self.qbutton_browse.setObjectName("qbutton_browse")
430
+ self.gridLayout_2.addWidget(self.qbutton_browse, 0, 2, 1, 1)
431
+ self.gridLayout.addWidget(self.calib_params, 0, 0, 1, 1)
432
+ self.tabWidget_2 = QtWidgets.QTabWidget(
433
+ parent=self.scrollAreaWidgetContents
434
+ )
435
+ sizePolicy = QtWidgets.QSizePolicy(
436
+ QtWidgets.QSizePolicy.Policy.Minimum,
437
+ QtWidgets.QSizePolicy.Policy.Minimum,
438
+ )
439
+ sizePolicy.setHorizontalStretch(0)
440
+ sizePolicy.setVerticalStretch(0)
441
+ sizePolicy.setHeightForWidth(
442
+ self.tabWidget_2.sizePolicy().hasHeightForWidth()
443
+ )
444
+ self.tabWidget_2.setSizePolicy(sizePolicy)
445
+ font = QtGui.QFont()
446
+ font.setBold(False)
447
+ font.setItalic(False)
448
+ self.tabWidget_2.setFont(font)
449
+ self.tabWidget_2.setFocusPolicy(QtCore.Qt.FocusPolicy.ClickFocus)
450
+ self.tabWidget_2.setObjectName("tabWidget_2")
451
+ self.tab_plot = QtWidgets.QWidget()
452
+ self.tab_plot.setObjectName("tab_plot")
453
+ self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.tab_plot)
454
+ self.verticalLayout_4.setObjectName("verticalLayout_4")
455
+ self.scrollArea_3 = QtWidgets.QScrollArea(parent=self.tab_plot)
456
+ font = QtGui.QFont()
457
+ font.setBold(False)
458
+ font.setItalic(False)
459
+ self.scrollArea_3.setFont(font)
460
+ self.scrollArea_3.setWidgetResizable(True)
461
+ self.scrollArea_3.setObjectName("scrollArea_3")
462
+ self.scrollAreaWidgetContents_3 = QtWidgets.QWidget()
463
+ self.scrollAreaWidgetContents_3.setGeometry(
464
+ QtCore.QRect(0, 0, 550, 302)
465
+ )
466
+ self.scrollAreaWidgetContents_3.setObjectName(
467
+ "scrollAreaWidgetContents_3"
468
+ )
469
+ self.verticalLayout_6 = QtWidgets.QVBoxLayout(
470
+ self.scrollAreaWidgetContents_3
471
+ )
472
+ self.verticalLayout_6.setObjectName("verticalLayout_6")
473
+ self.label_inten_plot = QtWidgets.QLabel(
474
+ parent=self.scrollAreaWidgetContents_3
475
+ )
476
+ font = QtGui.QFont()
477
+ font.setBold(False)
478
+ font.setItalic(False)
479
+ self.label_inten_plot.setFont(font)
480
+ self.label_inten_plot.setObjectName("label_inten_plot")
481
+ self.verticalLayout_6.addWidget(self.label_inten_plot)
482
+ self.plot_widget = PlotWidget(parent=self.scrollAreaWidgetContents_3)
483
+ self.plot_widget.setMinimumSize(QtCore.QSize(0, 250))
484
+ font = QtGui.QFont()
485
+ font.setBold(False)
486
+ font.setItalic(False)
487
+ self.plot_widget.setFont(font)
488
+ self.plot_widget.setObjectName("plot_widget")
489
+ self.verticalLayout_6.addWidget(self.plot_widget)
490
+ self.scrollArea_3.setWidget(self.scrollAreaWidgetContents_3)
491
+ self.verticalLayout_4.addWidget(self.scrollArea_3)
492
+ self.tabWidget_2.addTab(self.tab_plot, "")
493
+ self.tab_advanced = QtWidgets.QWidget()
494
+ self.tab_advanced.setObjectName("tab_advanced")
495
+ self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.tab_advanced)
496
+ self.verticalLayout_3.setObjectName("verticalLayout_3")
497
+ self.scrollArea_2 = QtWidgets.QScrollArea(parent=self.tab_advanced)
498
+ sizePolicy = QtWidgets.QSizePolicy(
499
+ QtWidgets.QSizePolicy.Policy.Preferred,
500
+ QtWidgets.QSizePolicy.Policy.Preferred,
501
+ )
502
+ sizePolicy.setHorizontalStretch(0)
503
+ sizePolicy.setVerticalStretch(0)
504
+ sizePolicy.setHeightForWidth(
505
+ self.scrollArea_2.sizePolicy().hasHeightForWidth()
506
+ )
507
+ self.scrollArea_2.setSizePolicy(sizePolicy)
508
+ self.scrollArea_2.setWidgetResizable(True)
509
+ self.scrollArea_2.setObjectName("scrollArea_2")
510
+ self.scrollAreaWidgetContents_2 = QtWidgets.QWidget()
511
+ self.scrollAreaWidgetContents_2.setGeometry(
512
+ QtCore.QRect(0, 0, 550, 302)
513
+ )
514
+ self.scrollAreaWidgetContents_2.setObjectName(
515
+ "scrollAreaWidgetContents_2"
516
+ )
517
+ self.verticalLayout_5 = QtWidgets.QVBoxLayout(
518
+ self.scrollAreaWidgetContents_2
519
+ )
520
+ self.verticalLayout_5.setObjectName("verticalLayout_5")
521
+ self.label_loglevel = QtWidgets.QLabel(
522
+ parent=self.scrollAreaWidgetContents_2
523
+ )
524
+ self.label_loglevel.setObjectName("label_loglevel")
525
+ self.verticalLayout_5.addWidget(self.label_loglevel)
526
+ self.cb_loglevel = QtWidgets.QComboBox(
527
+ parent=self.scrollAreaWidgetContents_2
528
+ )
529
+ self.cb_loglevel.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
530
+ self.cb_loglevel.setMaxVisibleItems(2)
531
+ self.cb_loglevel.setObjectName("cb_loglevel")
532
+ self.cb_loglevel.addItem("")
533
+ self.cb_loglevel.addItem("")
534
+ self.verticalLayout_5.addWidget(self.cb_loglevel)
535
+ self.label_log = QtWidgets.QLabel(
536
+ parent=self.scrollAreaWidgetContents_2
537
+ )
538
+ self.label_log.setObjectName("label_log")
539
+ self.verticalLayout_5.addWidget(self.label_log)
540
+ self.te_log = QtWidgets.QPlainTextEdit(
541
+ parent=self.scrollAreaWidgetContents_2
542
+ )
543
+ self.te_log.setMinimumSize(QtCore.QSize(0, 150))
544
+ self.te_log.setLineWidth(1)
545
+ self.te_log.setReadOnly(True)
546
+ self.te_log.setBackgroundVisible(True)
547
+ self.te_log.setObjectName("te_log")
548
+ self.verticalLayout_5.addWidget(self.te_log)
549
+ self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_2)
550
+ self.verticalLayout_3.addWidget(self.scrollArea_2)
551
+ self.tabWidget_2.addTab(self.tab_advanced, "")
552
+ self.tab_notes = QtWidgets.QWidget()
553
+ self.tab_notes.setObjectName("tab_notes")
554
+ self.formLayout = QtWidgets.QFormLayout(self.tab_notes)
555
+ self.formLayout.setObjectName("formLayout")
556
+ self.le_notes_field = QtWidgets.QLineEdit(parent=self.tab_notes)
557
+ self.le_notes_field.setObjectName("le_notes_field")
558
+ self.formLayout.setWidget(
559
+ 1, QtWidgets.QFormLayout.ItemRole.SpanningRole, self.le_notes_field
560
+ )
561
+ self.qbutton_push_note = QtWidgets.QPushButton(parent=self.tab_notes)
562
+ self.qbutton_push_note.setObjectName("qbutton_push_note")
563
+ self.formLayout.setWidget(
564
+ 2,
565
+ QtWidgets.QFormLayout.ItemRole.SpanningRole,
566
+ self.qbutton_push_note,
567
+ )
568
+ self.label_note = QtWidgets.QLabel(parent=self.tab_notes)
569
+ self.label_note.setObjectName("label_note")
570
+ self.formLayout.setWidget(
571
+ 0, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_note
572
+ )
573
+ self.tabWidget_2.addTab(self.tab_notes, "")
574
+ self.gridLayout.addWidget(
575
+ self.tabWidget_2, 3, 0, 1, 1, QtCore.Qt.AlignmentFlag.AlignTop
576
+ )
577
+ self.capture_background = QtWidgets.QGroupBox(
578
+ parent=self.scrollAreaWidgetContents
579
+ )
580
+ font = QtGui.QFont()
581
+ font.setBold(True)
582
+ font.setItalic(False)
583
+ self.capture_background.setFont(font)
584
+ self.capture_background.setObjectName("capture_background")
585
+ self.gridLayout_3 = QtWidgets.QGridLayout(self.capture_background)
586
+ self.gridLayout_3.setContentsMargins(-1, 12, -1, -1)
587
+ self.gridLayout_3.setVerticalSpacing(6)
588
+ self.gridLayout_3.setObjectName("gridLayout_3")
589
+ self.label_bg_folder = QtWidgets.QLabel(parent=self.capture_background)
590
+ font = QtGui.QFont()
591
+ font.setBold(False)
592
+ font.setItalic(False)
593
+ self.label_bg_folder.setFont(font)
594
+ self.label_bg_folder.setObjectName("label_bg_folder")
595
+ self.gridLayout_3.addWidget(self.label_bg_folder, 0, 0, 1, 1)
596
+ self.qbutton_capture_bg = QtWidgets.QPushButton(
597
+ parent=self.capture_background
598
+ )
599
+ font = QtGui.QFont()
600
+ font.setBold(False)
601
+ font.setItalic(False)
602
+ self.qbutton_capture_bg.setFont(font)
603
+ self.qbutton_capture_bg.setObjectName("qbutton_capture_bg")
604
+ self.gridLayout_3.addWidget(self.qbutton_capture_bg, 2, 0, 1, 2)
605
+ self.le_bg_folder = QtWidgets.QLineEdit(parent=self.capture_background)
606
+ font = QtGui.QFont()
607
+ font.setBold(False)
608
+ font.setItalic(False)
609
+ self.le_bg_folder.setFont(font)
610
+ self.le_bg_folder.setObjectName("le_bg_folder")
611
+ self.gridLayout_3.addWidget(self.le_bg_folder, 0, 1, 1, 1)
612
+ self.le_n_avg = QtWidgets.QLineEdit(parent=self.capture_background)
613
+ font = QtGui.QFont()
614
+ font.setBold(False)
615
+ font.setItalic(False)
616
+ self.le_n_avg.setFont(font)
617
+ self.le_n_avg.setObjectName("le_n_avg")
618
+ self.gridLayout_3.addWidget(self.le_n_avg, 1, 1, 1, 1)
619
+ self.label_n_avg = QtWidgets.QLabel(parent=self.capture_background)
620
+ font = QtGui.QFont()
621
+ font.setBold(False)
622
+ font.setItalic(False)
623
+ self.label_n_avg.setFont(font)
624
+ self.label_n_avg.setObjectName("label_n_avg")
625
+ self.gridLayout_3.addWidget(self.label_n_avg, 1, 0, 1, 1)
626
+ self.gridLayout.addWidget(self.capture_background, 2, 0, 1, 1)
627
+ self.scrollArea.setWidget(self.scrollAreaWidgetContents)
628
+ self.gridLayout_5.addWidget(self.scrollArea, 0, 0, 1, 1)
629
+ self.tabWidget.addTab(self.Calibration, "")
630
+ self.tab_reconstruction = tab_recon.Ui_ReconTab_Form(Form)
631
+ self.tabWidget.addTab(
632
+ self.tab_reconstruction.recon_tab_mainScrollArea, ""
633
+ )
634
+ self.Display = QtWidgets.QWidget()
635
+ self.Display.setObjectName("Display")
636
+ self.gridLayout_18 = QtWidgets.QGridLayout(self.Display)
637
+ self.gridLayout_18.setObjectName("gridLayout_18")
638
+ self.scrollArea_5 = QtWidgets.QScrollArea(parent=self.Display)
639
+ sizePolicy = QtWidgets.QSizePolicy(
640
+ QtWidgets.QSizePolicy.Policy.Expanding,
641
+ QtWidgets.QSizePolicy.Policy.Expanding,
642
+ )
643
+ sizePolicy.setHorizontalStretch(0)
644
+ sizePolicy.setVerticalStretch(0)
645
+ sizePolicy.setHeightForWidth(
646
+ self.scrollArea_5.sizePolicy().hasHeightForWidth()
647
+ )
648
+ self.scrollArea_5.setSizePolicy(sizePolicy)
649
+ self.scrollArea_5.setWidgetResizable(True)
650
+ self.scrollArea_5.setObjectName("scrollArea_5")
651
+ self.scrollAreaWidgetContents_5 = QtWidgets.QWidget()
652
+ self.scrollAreaWidgetContents_5.setGeometry(
653
+ QtCore.QRect(0, 0, 574, 974)
654
+ )
655
+ self.scrollAreaWidgetContents_5.setObjectName(
656
+ "scrollAreaWidgetContents_5"
657
+ )
658
+ self.gridLayout_4 = QtWidgets.QGridLayout(
659
+ self.scrollAreaWidgetContents_5
660
+ )
661
+ self.gridLayout_4.setObjectName("gridLayout_4")
662
+ self.label_orientation_image = QtWidgets.QLabel(
663
+ parent=self.scrollAreaWidgetContents_5
664
+ )
665
+ sizePolicy = QtWidgets.QSizePolicy(
666
+ QtWidgets.QSizePolicy.Policy.Preferred,
667
+ QtWidgets.QSizePolicy.Policy.Fixed,
668
+ )
669
+ sizePolicy.setHorizontalStretch(0)
670
+ sizePolicy.setVerticalStretch(0)
671
+ sizePolicy.setHeightForWidth(
672
+ self.label_orientation_image.sizePolicy().hasHeightForWidth()
673
+ )
674
+ self.label_orientation_image.setSizePolicy(sizePolicy)
675
+ self.label_orientation_image.setText("")
676
+ self.label_orientation_image.setAlignment(
677
+ QtCore.Qt.AlignmentFlag.AlignCenter
678
+ )
679
+ self.label_orientation_image.setObjectName("label_orientation_image")
680
+ self.gridLayout_4.addWidget(self.label_orientation_image, 6, 0, 1, 1)
681
+ self.DisplayOptions = QtWidgets.QGroupBox(
682
+ parent=self.scrollAreaWidgetContents_5
683
+ )
684
+ sizePolicy = QtWidgets.QSizePolicy(
685
+ QtWidgets.QSizePolicy.Policy.Preferred,
686
+ QtWidgets.QSizePolicy.Policy.Expanding,
687
+ )
688
+ sizePolicy.setHorizontalStretch(0)
689
+ sizePolicy.setVerticalStretch(0)
690
+ sizePolicy.setHeightForWidth(
691
+ self.DisplayOptions.sizePolicy().hasHeightForWidth()
692
+ )
693
+ self.DisplayOptions.setSizePolicy(sizePolicy)
694
+ font = QtGui.QFont()
695
+ font.setBold(True)
696
+ font.setItalic(False)
697
+ self.DisplayOptions.setFont(font)
698
+ self.DisplayOptions.setObjectName("DisplayOptions")
699
+ self.gridLayout_17 = QtWidgets.QGridLayout(self.DisplayOptions)
700
+ self.gridLayout_17.setContentsMargins(-1, 12, -1, -1)
701
+ self.gridLayout_17.setVerticalSpacing(6)
702
+ self.gridLayout_17.setObjectName("gridLayout_17")
703
+ self.cb_hue = QtWidgets.QComboBox(parent=self.DisplayOptions)
704
+ font = QtGui.QFont()
705
+ font.setBold(False)
706
+ font.setItalic(False)
707
+ self.cb_hue.setFont(font)
708
+ self.cb_hue.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
709
+ self.cb_hue.setObjectName("cb_hue")
710
+ self.gridLayout_17.addWidget(self.cb_hue, 8, 1, 1, 1)
711
+ self.slider_saturation = QtWidgets.QSlider(parent=self.DisplayOptions)
712
+ font = QtGui.QFont()
713
+ font.setBold(False)
714
+ font.setItalic(False)
715
+ self.slider_saturation.setFont(font)
716
+ self.slider_saturation.setOrientation(QtCore.Qt.Orientation.Horizontal)
717
+ self.slider_saturation.setObjectName("slider_saturation")
718
+ self.gridLayout_17.addWidget(self.slider_saturation, 10, 2, 1, 2)
719
+ self.line = QtWidgets.QFrame(parent=self.DisplayOptions)
720
+ font = QtGui.QFont()
721
+ font.setBold(False)
722
+ font.setItalic(False)
723
+ self.line.setFont(font)
724
+ self.line.setLineWidth(3)
725
+ self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
726
+ self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
727
+ self.line.setObjectName("line")
728
+ self.gridLayout_17.addWidget(self.line, 6, 0, 1, 4)
729
+ self.label_saturation = QtWidgets.QLabel(parent=self.DisplayOptions)
730
+ font = QtGui.QFont()
731
+ font.setBold(False)
732
+ font.setItalic(False)
733
+ self.label_saturation.setFont(font)
734
+ self.label_saturation.setObjectName("label_saturation")
735
+ self.gridLayout_17.addWidget(self.label_saturation, 10, 0, 1, 1)
736
+ self.le_overlay_slice = QtWidgets.QLineEdit(parent=self.DisplayOptions)
737
+ sizePolicy = QtWidgets.QSizePolicy(
738
+ QtWidgets.QSizePolicy.Policy.Preferred,
739
+ QtWidgets.QSizePolicy.Policy.Fixed,
740
+ )
741
+ sizePolicy.setHorizontalStretch(0)
742
+ sizePolicy.setVerticalStretch(0)
743
+ sizePolicy.setHeightForWidth(
744
+ self.le_overlay_slice.sizePolicy().hasHeightForWidth()
745
+ )
746
+ self.le_overlay_slice.setSizePolicy(sizePolicy)
747
+ font = QtGui.QFont()
748
+ font.setBold(False)
749
+ font.setItalic(False)
750
+ self.le_overlay_slice.setFont(font)
751
+ self.le_overlay_slice.setObjectName("le_overlay_slice")
752
+ self.gridLayout_17.addWidget(self.le_overlay_slice, 15, 0, 1, 1)
753
+ self.le_sat_min = QtWidgets.QLineEdit(parent=self.DisplayOptions)
754
+ font = QtGui.QFont()
755
+ font.setBold(False)
756
+ font.setItalic(False)
757
+ self.le_sat_min.setFont(font)
758
+ self.le_sat_min.setInputMask("")
759
+ self.le_sat_min.setFrame(False)
760
+ self.le_sat_min.setObjectName("le_sat_min")
761
+ self.gridLayout_17.addWidget(self.le_sat_min, 9, 2, 1, 1)
762
+ self.cb_colormap = QtWidgets.QComboBox(parent=self.DisplayOptions)
763
+ font = QtGui.QFont()
764
+ font.setBold(False)
765
+ font.setItalic(False)
766
+ self.cb_colormap.setFont(font)
767
+ self.cb_colormap.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
768
+ self.cb_colormap.setObjectName("cb_colormap")
769
+ self.cb_colormap.addItem("")
770
+ self.cb_colormap.addItem("")
771
+ self.gridLayout_17.addWidget(self.cb_colormap, 3, 1, 1, 2)
772
+ self.cb_value = QtWidgets.QComboBox(parent=self.DisplayOptions)
773
+ font = QtGui.QFont()
774
+ font.setBold(False)
775
+ font.setItalic(False)
776
+ self.cb_value.setFont(font)
777
+ self.cb_value.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
778
+ self.cb_value.setObjectName("cb_value")
779
+ self.gridLayout_17.addWidget(self.cb_value, 12, 1, 1, 1)
780
+ self.le_val_min = QtWidgets.QLineEdit(parent=self.DisplayOptions)
781
+ font = QtGui.QFont()
782
+ font.setBold(False)
783
+ font.setItalic(False)
784
+ self.le_val_min.setFont(font)
785
+ self.le_val_min.setFrame(False)
786
+ self.le_val_min.setObjectName("le_val_min")
787
+ self.gridLayout_17.addWidget(self.le_val_min, 11, 2, 1, 1)
788
+ self.cb_saturation = QtWidgets.QComboBox(parent=self.DisplayOptions)
789
+ font = QtGui.QFont()
790
+ font.setBold(False)
791
+ font.setItalic(False)
792
+ self.cb_saturation.setFont(font)
793
+ self.cb_saturation.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
794
+ self.cb_saturation.setObjectName("cb_saturation")
795
+ self.gridLayout_17.addWidget(self.cb_saturation, 10, 1, 1, 1)
796
+ self.le_sat_max = QtWidgets.QLineEdit(parent=self.DisplayOptions)
797
+ font = QtGui.QFont()
798
+ font.setBold(False)
799
+ font.setItalic(False)
800
+ self.le_sat_max.setFont(font)
801
+ self.le_sat_max.setFrame(False)
802
+ self.le_sat_max.setAlignment(
803
+ QtCore.Qt.AlignmentFlag.AlignRight
804
+ | QtCore.Qt.AlignmentFlag.AlignTrailing
805
+ | QtCore.Qt.AlignmentFlag.AlignVCenter
806
+ )
807
+ self.le_sat_max.setObjectName("le_sat_max")
808
+ self.gridLayout_17.addWidget(self.le_sat_max, 9, 3, 1, 1)
809
+ self.slider_value = QtWidgets.QSlider(parent=self.DisplayOptions)
810
+ sizePolicy = QtWidgets.QSizePolicy(
811
+ QtWidgets.QSizePolicy.Policy.Preferred,
812
+ QtWidgets.QSizePolicy.Policy.Fixed,
813
+ )
814
+ sizePolicy.setHorizontalStretch(0)
815
+ sizePolicy.setVerticalStretch(0)
816
+ sizePolicy.setHeightForWidth(
817
+ self.slider_value.sizePolicy().hasHeightForWidth()
818
+ )
819
+ self.slider_value.setSizePolicy(sizePolicy)
820
+ font = QtGui.QFont()
821
+ font.setBold(False)
822
+ font.setItalic(False)
823
+ self.slider_value.setFont(font)
824
+ self.slider_value.setOrientation(QtCore.Qt.Orientation.Horizontal)
825
+ self.slider_value.setObjectName("slider_value")
826
+ self.gridLayout_17.addWidget(self.slider_value, 12, 2, 1, 2)
827
+ self.label_value = QtWidgets.QLabel(parent=self.DisplayOptions)
828
+ font = QtGui.QFont()
829
+ font.setBold(False)
830
+ font.setItalic(False)
831
+ self.label_value.setFont(font)
832
+ self.label_value.setObjectName("label_value")
833
+ self.gridLayout_17.addWidget(self.label_value, 12, 0, 1, 1)
834
+ self.chb_display_volume = QtWidgets.QCheckBox(
835
+ parent=self.DisplayOptions
836
+ )
837
+ font = QtGui.QFont()
838
+ font.setBold(False)
839
+ font.setItalic(False)
840
+ self.chb_display_volume.setFont(font)
841
+ self.chb_display_volume.setObjectName("chb_display_volume")
842
+ self.gridLayout_17.addWidget(self.chb_display_volume, 15, 1, 1, 1)
843
+ self.label_colormap = QtWidgets.QLabel(parent=self.DisplayOptions)
844
+ font = QtGui.QFont()
845
+ font.setBold(False)
846
+ font.setItalic(False)
847
+ self.label_colormap.setFont(font)
848
+ self.label_colormap.setObjectName("label_colormap")
849
+ self.gridLayout_17.addWidget(self.label_colormap, 3, 0, 1, 1)
850
+ self.le_val_max = QtWidgets.QLineEdit(parent=self.DisplayOptions)
851
+ font = QtGui.QFont()
852
+ font.setBold(False)
853
+ font.setItalic(False)
854
+ self.le_val_max.setFont(font)
855
+ self.le_val_max.setFrame(False)
856
+ self.le_val_max.setAlignment(
857
+ QtCore.Qt.AlignmentFlag.AlignRight
858
+ | QtCore.Qt.AlignmentFlag.AlignTrailing
859
+ | QtCore.Qt.AlignmentFlag.AlignVCenter
860
+ )
861
+ self.le_val_max.setObjectName("le_val_max")
862
+ self.gridLayout_17.addWidget(self.le_val_max, 11, 3, 1, 1)
863
+ self.label_hue = QtWidgets.QLabel(parent=self.DisplayOptions)
864
+ font = QtGui.QFont()
865
+ font.setBold(False)
866
+ font.setItalic(False)
867
+ self.label_hue.setFont(font)
868
+ self.label_hue.setObjectName("label_hue")
869
+ self.gridLayout_17.addWidget(self.label_hue, 8, 0, 1, 1)
870
+ self.qbutton_create_overlay = QtWidgets.QPushButton(
871
+ parent=self.DisplayOptions
872
+ )
873
+ font = QtGui.QFont()
874
+ font.setBold(False)
875
+ font.setItalic(False)
876
+ self.qbutton_create_overlay.setFont(font)
877
+ self.qbutton_create_overlay.setObjectName("qbutton_create_overlay")
878
+ self.gridLayout_17.addWidget(self.qbutton_create_overlay, 16, 0, 1, 4)
879
+ self.gridLayout_4.addWidget(self.DisplayOptions, 8, 0, 1, 1)
880
+ self.label = QtWidgets.QLabel(parent=self.scrollAreaWidgetContents_5)
881
+ sizePolicy = QtWidgets.QSizePolicy(
882
+ QtWidgets.QSizePolicy.Policy.Preferred,
883
+ QtWidgets.QSizePolicy.Policy.Fixed,
884
+ )
885
+ sizePolicy.setHorizontalStretch(0)
886
+ sizePolicy.setVerticalStretch(0)
887
+ sizePolicy.setHeightForWidth(
888
+ self.label.sizePolicy().hasHeightForWidth()
889
+ )
890
+ self.label.setSizePolicy(sizePolicy)
891
+ self.label.setObjectName("label")
892
+ self.gridLayout_4.addWidget(self.label, 1, 0, 1, 1)
893
+ self.retMaxSlider = QtWidgets.QSlider(
894
+ parent=self.scrollAreaWidgetContents_5
895
+ )
896
+ self.retMaxSlider.setMaximum(50)
897
+ self.retMaxSlider.setSliderPosition(25)
898
+ self.retMaxSlider.setOrientation(QtCore.Qt.Orientation.Horizontal)
899
+ self.retMaxSlider.setObjectName("retMaxSlider")
900
+ self.gridLayout_4.addWidget(self.retMaxSlider, 2, 0, 1, 1)
901
+ self.label_orientation_legend = QtWidgets.QLabel(
902
+ parent=self.scrollAreaWidgetContents_5
903
+ )
904
+ sizePolicy = QtWidgets.QSizePolicy(
905
+ QtWidgets.QSizePolicy.Policy.Preferred,
906
+ QtWidgets.QSizePolicy.Policy.Fixed,
907
+ )
908
+ sizePolicy.setHorizontalStretch(0)
909
+ sizePolicy.setVerticalStretch(0)
910
+ sizePolicy.setHeightForWidth(
911
+ self.label_orientation_legend.sizePolicy().hasHeightForWidth()
912
+ )
913
+ self.label_orientation_legend.setSizePolicy(sizePolicy)
914
+ self.label_orientation_legend.setAlignment(
915
+ QtCore.Qt.AlignmentFlag.AlignCenter
916
+ )
917
+ self.label_orientation_legend.setObjectName("label_orientation_legend")
918
+ self.gridLayout_4.addWidget(self.label_orientation_legend, 3, 0, 1, 1)
919
+ spacerItem = QtWidgets.QSpacerItem(
920
+ 20,
921
+ 40,
922
+ QtWidgets.QSizePolicy.Policy.Minimum,
923
+ QtWidgets.QSizePolicy.Policy.Expanding,
924
+ )
925
+ self.gridLayout_4.addItem(spacerItem, 7, 0, 1, 1)
926
+ self.scrollArea_5.setWidget(self.scrollAreaWidgetContents_5)
927
+ self.gridLayout_18.addWidget(self.scrollArea_5, 0, 0, 2, 2)
928
+ self.tabWidget.addTab(self.Display, "")
929
+ self.gridLayout_7.addWidget(self.tabWidget, 2, 0, 1, 1)
930
+
931
+ self.retranslateUi(Form)
932
+ self.tabWidget.setCurrentIndex(2)
933
+ self.tabWidget_2.setCurrentIndex(2)
934
+ self.cb_loglevel.setCurrentIndex(0)
935
+ QtCore.QMetaObject.connectSlotsByName(Form)
936
+ Form.setTabOrder(self.qbutton_connect_to_mm, self.le_mm_status)
937
+ Form.setTabOrder(self.le_mm_status, self.scrollArea)
938
+ Form.setTabOrder(self.scrollArea, self.le_directory)
939
+ Form.setTabOrder(self.le_directory, self.qbutton_browse)
940
+ Form.setTabOrder(self.qbutton_browse, self.le_swing)
941
+ Form.setTabOrder(self.le_swing, self.le_wavelength)
942
+ Form.setTabOrder(self.le_wavelength, self.cb_calib_scheme)
943
+ Form.setTabOrder(self.cb_calib_scheme, self.cb_calib_mode)
944
+ Form.setTabOrder(self.cb_calib_mode, self.cb_lca)
945
+ Form.setTabOrder(self.cb_lca, self.cb_lcb)
946
+ Form.setTabOrder(self.cb_lcb, self.cb_config_group)
947
+ Form.setTabOrder(self.cb_config_group, self.qbutton_calibrate)
948
+ Form.setTabOrder(self.qbutton_calibrate, self.qbutton_load_calib)
949
+ Form.setTabOrder(self.qbutton_load_calib, self.qbutton_calc_extinction)
950
+ Form.setTabOrder(self.qbutton_calc_extinction, self.qbutton_stop_calib)
951
+ Form.setTabOrder(self.qbutton_stop_calib, self.le_extinction)
952
+ Form.setTabOrder(self.le_extinction, self.tb_calib_assessment)
953
+ Form.setTabOrder(self.tb_calib_assessment, self.le_bg_folder)
954
+ Form.setTabOrder(self.le_bg_folder, self.le_n_avg)
955
+ Form.setTabOrder(self.le_n_avg, self.qbutton_capture_bg)
956
+ Form.setTabOrder(self.qbutton_capture_bg, self.scrollArea_3)
957
+ Form.setTabOrder(self.scrollArea_3, self.scrollArea_2)
958
+ Form.setTabOrder(self.scrollArea_2, self.cb_loglevel)
959
+ Form.setTabOrder(self.cb_loglevel, self.te_log)
960
+ Form.setTabOrder(self.te_log, self.le_notes_field)
961
+ Form.setTabOrder(self.le_notes_field, self.qbutton_push_note)
962
+ Form.setTabOrder(self.qbutton_push_note, self.cb_colormap)
963
+ Form.setTabOrder(self.cb_colormap, self.cb_hue)
964
+ Form.setTabOrder(self.cb_hue, self.le_sat_min)
965
+ Form.setTabOrder(self.le_sat_min, self.le_sat_max)
966
+ Form.setTabOrder(self.le_sat_max, self.cb_saturation)
967
+ Form.setTabOrder(self.cb_saturation, self.slider_saturation)
968
+ Form.setTabOrder(self.slider_saturation, self.le_val_min)
969
+ Form.setTabOrder(self.le_val_min, self.le_val_max)
970
+ Form.setTabOrder(self.le_val_max, self.cb_value)
971
+ Form.setTabOrder(self.cb_value, self.slider_value)
972
+ Form.setTabOrder(self.slider_value, self.le_overlay_slice)
973
+ Form.setTabOrder(self.le_overlay_slice, self.chb_display_volume)
974
+ Form.setTabOrder(self.chb_display_volume, self.qbutton_create_overlay)
975
+ Form.setTabOrder(self.qbutton_create_overlay, self.tabWidget)
976
+ Form.setTabOrder(self.tabWidget, self.scrollArea_5)
977
+
978
+ def retranslateUi(self, Form):
979
+ _translate = QtCore.QCoreApplication.translate
980
+ Form.setWindowTitle(_translate("Form", "Form"))
981
+ self.recon_status.setTitle(_translate("Form", "MM Connection Status"))
982
+ self.le_mm_status.setText(_translate("Form", "Disconnected"))
983
+ self.qbutton_connect_to_mm.setText(_translate("Form", "Connect to MM"))
984
+ self.run_calib.setTitle(_translate("Form", "Run Calibration"))
985
+ self.labell_calib_assessment.setText(
986
+ _translate("Form", "Calibration Assessment")
987
+ )
988
+ self.label_progress.setText(_translate("Form", "Progress"))
989
+ self.label_extinction.setText(_translate("Form", "Extinction"))
990
+ self.qbutton_calibrate.setText(_translate("Form", "Run Calibration"))
991
+ self.qbutton_calc_extinction.setText(
992
+ _translate("Form", "Calculate Extinction")
993
+ )
994
+ self.qbutton_stop_calib.setText(_translate("Form", "STOP"))
995
+ self.qbutton_load_calib.setText(_translate("Form", "Load Calibration"))
996
+ self.calib_params.setTitle(
997
+ _translate("Form", "Calibration Parameters")
998
+ )
999
+ self.label_wavelength.setText(_translate("Form", "Wavelength (nm)"))
1000
+ self.label_dir.setText(_translate("Form", "Directory"))
1001
+ self.cb_lca.setItemText(0, _translate("Form", "-"))
1002
+ self.cb_calib_scheme.setItemText(
1003
+ 0, _translate("Form", "4-State (Ext, 0, 60, 120)")
1004
+ )
1005
+ self.cb_calib_scheme.setItemText(
1006
+ 1, _translate("Form", "5-State (Ext, 0, 45, 90, 135)")
1007
+ )
1008
+ self.cb_lcb.setItemText(0, _translate("Form", "-"))
1009
+ self.label_lca.setText(_translate("Form", "LC-A"))
1010
+ self.le_swing.setText(_translate("Form", "0.1"))
1011
+ self.le_directory.setPlaceholderText(
1012
+ _translate("Form", "/path/to/directory")
1013
+ )
1014
+ self.le_wavelength.setText(_translate("Form", "532"))
1015
+ self.label_lcb.setText(_translate("Form", "LC-B"))
1016
+ self.label_swing.setText(_translate("Form", "Swing"))
1017
+ self.label_calib_mode.setText(_translate("Form", "Calibration Mode"))
1018
+ self.label_cfg_group.setText(_translate("Form", "Config Group"))
1019
+ self.label_scheme.setText(_translate("Form", "Illumination Scheme"))
1020
+ self.qbutton_browse.setText(_translate("Form", "Browse"))
1021
+ self.label_inten_plot.setText(_translate("Form", "Intensity Plot"))
1022
+ self.tabWidget_2.setTabText(
1023
+ self.tabWidget_2.indexOf(self.tab_plot), _translate("Form", "Plot")
1024
+ )
1025
+ self.label_loglevel.setText(_translate("Form", "Log Level"))
1026
+ self.cb_loglevel.setItemText(0, _translate("Form", "Basic"))
1027
+ self.cb_loglevel.setItemText(1, _translate("Form", "Debug"))
1028
+ self.label_log.setText(_translate("Form", "Log"))
1029
+ self.tabWidget_2.setTabText(
1030
+ self.tabWidget_2.indexOf(self.tab_advanced),
1031
+ _translate("Form", "Advanced"),
1032
+ )
1033
+ self.qbutton_push_note.setText(
1034
+ _translate("Form", "Push note to last metadata file")
1035
+ )
1036
+ self.label_note.setText(_translate("Form", "Note"))
1037
+ self.tabWidget_2.setTabText(
1038
+ self.tabWidget_2.indexOf(self.tab_notes),
1039
+ _translate("Form", "Notes"),
1040
+ )
1041
+ self.capture_background.setTitle(
1042
+ _translate("Form", "Capture Background")
1043
+ )
1044
+ self.label_bg_folder.setText(
1045
+ _translate("Form", "Background Folder Name")
1046
+ )
1047
+ self.qbutton_capture_bg.setText(
1048
+ _translate("Form", "Capture Background")
1049
+ )
1050
+ self.le_bg_folder.setText(_translate("Form", "bg"))
1051
+ self.le_n_avg.setText(_translate("Form", "5"))
1052
+ self.label_n_avg.setText(
1053
+ _translate("Form", "Number of Images to Average")
1054
+ )
1055
+ self.tabWidget.setTabText(
1056
+ self.tabWidget.indexOf(self.Calibration),
1057
+ _translate("Form", "LC Calibration"),
1058
+ )
1059
+ self.tabWidget.setTabText(
1060
+ self.tabWidget.indexOf(
1061
+ self.tab_reconstruction.recon_tab_mainScrollArea
1062
+ ),
1063
+ _translate("Form", "Reconstruction"),
1064
+ )
1065
+ self.DisplayOptions.setTitle(_translate("Form", "Display Options"))
1066
+ self.label_saturation.setText(_translate("Form", "Saturation"))
1067
+ self.le_overlay_slice.setPlaceholderText(_translate("Form", "Slice"))
1068
+ self.le_sat_min.setText(_translate("Form", "20"))
1069
+ self.cb_colormap.setItemText(0, _translate("Form", "HSV"))
1070
+ self.cb_colormap.setItemText(
1071
+ 1, _translate("Form", "JCh (Perceptually Uniform)")
1072
+ )
1073
+ self.le_val_min.setText(_translate("Form", "20"))
1074
+ self.le_sat_max.setText(_translate("Form", "80"))
1075
+ self.label_value.setText(_translate("Form", "Value"))
1076
+ self.chb_display_volume.setText(_translate("Form", "Use Full Volume"))
1077
+ self.label_colormap.setText(
1078
+ _translate("Form", "BirefringenceOverlay Colormap")
1079
+ )
1080
+ self.le_val_max.setText(_translate("Form", "80"))
1081
+ self.label_hue.setText(_translate("Form", "Hue"))
1082
+ self.qbutton_create_overlay.setText(
1083
+ _translate("Form", "Create Overlay")
1084
+ )
1085
+ self.label.setText(_translate("Form", "Overlay Retardance Maximum "))
1086
+ self.label_orientation_legend.setText(
1087
+ _translate("Form", "Retardance Orientation Overlay Legend")
1088
+ )
1089
+ self.tabWidget.setTabText(
1090
+ self.tabWidget.indexOf(self.Display), _translate("Form", "Display")
1091
+ )
1092
+
1093
+
1094
+ from pyqtgraph import PlotWidget