add beamformer args
This commit is contained in:
parent
0f8e5a3ccc
commit
74ce48c7a4
@ -34,14 +34,15 @@ class Beamformer(Node):
|
||||
return
|
||||
d2 = (data
|
||||
.crop(arg.t_start, arg.t_end)
|
||||
.dct(80, 1500)
|
||||
# .dct(80, 1500)
|
||||
.dct_center(arg.dct_center, arg.dct_bandwidth)
|
||||
.call(lambda m: m.astype(cp.int16))
|
||||
.call(pwi)
|
||||
.call(cp.asarray, order='C')
|
||||
.argrelextrema()
|
||||
.conv_guass(b=18 * 0.01)
|
||||
.rotate90()
|
||||
.grey()
|
||||
# .grey()
|
||||
.cpu()
|
||||
)
|
||||
self.send(RfMatMsg(d2))
|
||||
@ -50,6 +51,8 @@ class Beamformer(Node):
|
||||
time.sleep(1)
|
||||
dc = DeviceConfig()
|
||||
pwi, _ = gen_pwi(direct_dist(dc), dc)
|
||||
last_v2 = 5900
|
||||
last_f_rows = 0
|
||||
while True:
|
||||
self.muxer_req_socket.send(b'')
|
||||
r = dict(self.c.poller.poll())
|
||||
@ -72,5 +75,10 @@ class Beamformer(Node):
|
||||
fb1 = cp.frombuffer(s, dtype=cp.int16)
|
||||
seq_meta = RfSequenceMeta.from_name(seq_msg.name)
|
||||
mat = RfMat(fb1.reshape(seq_meta.shape), b_msg.meta, seq_meta)
|
||||
if arg_msg.v2 != last_v2 or arg_msg.f_rows != last_f_rows:
|
||||
last_v2 = arg_msg.v2
|
||||
last_f_rows = arg_msg.f_rows
|
||||
dc = DeviceConfig(v2=arg_msg.v2, rows=arg_msg.f_rows)
|
||||
pwi, _ = gen_pwi(direct_dist(dc), dc)
|
||||
if seq_meta.mode == RfSequenceMeta.RfSequenceMode.PWI:
|
||||
self.process_pwi(mat, arg_msg, pwi)
|
||||
|
||||
@ -42,16 +42,6 @@ class Adv(QMainWindow, Ui_MainWindow):
|
||||
if isinstance(msg, KillMsg):
|
||||
if msg.name == '':
|
||||
self.close()
|
||||
elif isinstance(msg, BMMsg):
|
||||
qImg = QImage(
|
||||
msg.data,
|
||||
C.video_width,
|
||||
C.video_height,
|
||||
4 * C.video_width,
|
||||
QImage.Format.Format_RGBA8888
|
||||
)
|
||||
self.g.setPixmap(QPixmap(qImg))
|
||||
self.graphicsView.fitInView(self.s.sceneRect(), Qt.AspectRatioMode.KeepAspectRatio)
|
||||
elif isinstance(msg, RfMatMsg):
|
||||
w = msg.rfmat.m.shape[1]
|
||||
h = msg.rfmat.m.shape[0]
|
||||
@ -75,6 +65,7 @@ class Adv(QMainWindow, Ui_MainWindow):
|
||||
)
|
||||
|
||||
self.g.setPixmap(QPixmap(qImg))
|
||||
self.s.setSceneRect(0.0, 0.0, w, h)
|
||||
if self.scale:
|
||||
self.graphicsView.fitInView(self.s.sceneRect())
|
||||
else:
|
||||
|
||||
@ -118,9 +118,6 @@ class Adv(QMainWindow, Ui_MainWindow):
|
||||
# self.cb_bscan.checkStateChanged.connect(lambda e: print(e == 2, flush=True))
|
||||
# self.cb_bscan.checkStateChanged.connect(lambda e: print(e.name, flush=True))
|
||||
|
||||
self.b_new_imaging_config.clicked.connect(self.on_new_imaging_config)
|
||||
self.c_imaging_config.currentIndexChanged.connect(self.on_imaging_config)
|
||||
|
||||
self.b_probe_single.clicked.connect(self.on_probe('single'))
|
||||
self.b_probe_orig.clicked.connect(self.on_probe('orig'))
|
||||
self.b_probe_start.clicked.connect(self.on_probe('start'))
|
||||
@ -178,19 +175,28 @@ class Adv(QMainWindow, Ui_MainWindow):
|
||||
|
||||
return f
|
||||
|
||||
def on_imaging_config(self, i):
|
||||
@pyqtSlot()
|
||||
def on_b_new_imaging_config_clicked(self):
|
||||
filename, okPressed = QtWidgets.QInputDialog.getText(None,
|
||||
"Set New Imaging Config Name",
|
||||
"Config Name:",
|
||||
QLineEdit.EchoMode.Normal,
|
||||
"")
|
||||
if okPressed and filename != '':
|
||||
(C.imaging_config_folder / f'{filename}.json').write_text(self.arg.json())
|
||||
idx = self.c_imaging_config.findText(filename)
|
||||
if idx == -1:
|
||||
self.c_imaging_config.addItem(filename)
|
||||
idx = self.c_imaging_config.findText(filename)
|
||||
self.c_imaging_config.setCurrentIndex(idx)
|
||||
else:
|
||||
self.c_imaging_config.setCurrentIndex(idx)
|
||||
|
||||
@pyqtSlot(int)
|
||||
def on_c_imaging_config_currentIndexChanged(self, i):
|
||||
name = self.c_imaging_config.itemText(i)
|
||||
self.p.send(ImageArgMsg.from_path(C.imaging_config_folder / f'{name}.json'))
|
||||
|
||||
def on_new_imaging_config(self):
|
||||
text, okPressed = QtWidgets.QInputDialog.getText(None,
|
||||
"Set New Imaging Config Name",
|
||||
"Config Name:",
|
||||
QLineEdit.EchoMode.Normal,
|
||||
"")
|
||||
if okPressed and text != '':
|
||||
(C.imaging_config_folder / f'{text}.json').write_text(self.arg.json())
|
||||
|
||||
def on_select_base(self):
|
||||
base = QFileDialog.getExistingDirectory(self, 'Select Base Folder', DS.__str__())
|
||||
self.l_base.setText(Path(base).__str__())
|
||||
@ -341,6 +347,10 @@ class Adv(QMainWindow, Ui_MainWindow):
|
||||
self.arg.sender = 'ui'
|
||||
self.s_t_start.setValue(msg.t_start)
|
||||
self.s_t_end.setValue(msg.t_end)
|
||||
self.s_f_rows.setValue(msg.f_rows)
|
||||
self.s_v2.setValue(msg.v2)
|
||||
self.s_dct_center.setValue(msg.dct_center)
|
||||
self.s_dct_bandwidth.setValue(msg.dct_bandwidth)
|
||||
elif isinstance(msg, MoveAxisMsg):
|
||||
match msg.axis:
|
||||
case 'S':
|
||||
@ -368,6 +378,9 @@ class Adv(QMainWindow, Ui_MainWindow):
|
||||
mmax_shape0 = max(self.seq_meta.shape)
|
||||
self.s_t_start.setMaximum(mmax_shape0)
|
||||
self.s_t_end.setMaximum(mmax_shape0)
|
||||
self.s_dct_center.setMaximum(mmax_shape0)
|
||||
self.s_dct_bandwidth.setMaximum(mmax_shape0)
|
||||
self.s_f_rows.setMaximum(mmax_shape0)
|
||||
elif isinstance(msg, DeviceConnectedMsg):
|
||||
if msg.value:
|
||||
self.set_device_connection(LinkStatus.GREEN)
|
||||
@ -443,6 +456,24 @@ class Adv(QMainWindow, Ui_MainWindow):
|
||||
if self.cb_bscan.sender() is None:
|
||||
self.p.send(SetWindowVisibleMsg('ui', 'bscan', v == 2))
|
||||
|
||||
@pyqtSlot(int)
|
||||
def on_s_dct_center_valueChanged(self, v):
|
||||
if self.s_dct_center.sender() is None:
|
||||
self.arg.dct_center = v
|
||||
self.p.send(self.arg)
|
||||
|
||||
@pyqtSlot(int)
|
||||
def on_s_dct_bandwidth_valueChanged(self, v):
|
||||
if self.s_dct_bandwidth.sender() is None:
|
||||
self.arg.dct_bandwidth = v
|
||||
self.p.send(self.arg)
|
||||
|
||||
@pyqtSlot(int)
|
||||
def on_s_v2_valueChanged(self, v):
|
||||
if self.s_v2.sender() is None:
|
||||
self.arg.v2 = v
|
||||
self.p.send(self.arg)
|
||||
|
||||
@pyqtSlot(int)
|
||||
def on_t_start(self, v):
|
||||
if self.s_t_end.sender() is None:
|
||||
@ -455,6 +486,12 @@ class Adv(QMainWindow, Ui_MainWindow):
|
||||
self.arg.t_end = v
|
||||
self.p.send(self.arg)
|
||||
|
||||
@pyqtSlot(int)
|
||||
def on_s_f_rows_valueChanged(self, v):
|
||||
if self.s_f_rows.sender() is None:
|
||||
self.arg.f_rows = v
|
||||
self.p.send(self.arg)
|
||||
|
||||
@pyqtSlot(int)
|
||||
def on_select_plyayback_seq_name(self, v):
|
||||
if self.c_playback_seq_name.sender() is None or isinstance(self.c_playback_seq_name.sender(), QFrame):
|
||||
|
||||
@ -12,11 +12,115 @@ from PyQt6 import QtCore, QtGui, QtWidgets
|
||||
class Ui_MainWindow(object):
|
||||
def setupUi(self, MainWindow):
|
||||
MainWindow.setObjectName("MainWindow")
|
||||
MainWindow.resize(1238, 999)
|
||||
MainWindow.resize(1238, 1017)
|
||||
self.centralwidget = QtWidgets.QWidget(parent=MainWindow)
|
||||
self.centralwidget.setObjectName("centralwidget")
|
||||
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.g_cap = QtWidgets.QGroupBox(parent=self.centralwidget)
|
||||
self.g_cap.setEnabled(False)
|
||||
self.g_cap.setObjectName("g_cap")
|
||||
self.horizontalLayout_8 = QtWidgets.QHBoxLayout(self.g_cap)
|
||||
self.horizontalLayout_8.setObjectName("horizontalLayout_8")
|
||||
self.g_live = QtWidgets.QGroupBox(parent=self.g_cap)
|
||||
self.g_live.setCheckable(True)
|
||||
self.g_live.setChecked(False)
|
||||
self.g_live.setObjectName("g_live")
|
||||
self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.g_live)
|
||||
self.verticalLayout_6.setObjectName("verticalLayout_6")
|
||||
self.horizontalLayout_12 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_12.setObjectName("horizontalLayout_12")
|
||||
self.label_17 = QtWidgets.QLabel(parent=self.g_live)
|
||||
self.label_17.setObjectName("label_17")
|
||||
self.horizontalLayout_12.addWidget(self.label_17)
|
||||
self.l_record_commit = QtWidgets.QLineEdit(parent=self.g_live)
|
||||
self.l_record_commit.setEnabled(False)
|
||||
self.l_record_commit.setObjectName("l_record_commit")
|
||||
self.horizontalLayout_12.addWidget(self.l_record_commit)
|
||||
self.b_record = QtWidgets.QPushButton(parent=self.g_live)
|
||||
self.b_record.setEnabled(False)
|
||||
self.b_record.setObjectName("b_record")
|
||||
self.horizontalLayout_12.addWidget(self.b_record)
|
||||
self.verticalLayout_6.addLayout(self.horizontalLayout_12)
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
self.label_18 = QtWidgets.QLabel(parent=self.g_live)
|
||||
self.label_18.setObjectName("label_18")
|
||||
self.horizontalLayout_2.addWidget(self.label_18)
|
||||
self.l_record_frames = QtWidgets.QLabel(parent=self.g_live)
|
||||
self.l_record_frames.setObjectName("l_record_frames")
|
||||
self.horizontalLayout_2.addWidget(self.l_record_frames)
|
||||
self.label_25 = QtWidgets.QLabel(parent=self.g_live)
|
||||
self.label_25.setObjectName("label_25")
|
||||
self.horizontalLayout_2.addWidget(self.label_25)
|
||||
self.l_record_size = QtWidgets.QLabel(parent=self.g_live)
|
||||
self.l_record_size.setObjectName("l_record_size")
|
||||
self.horizontalLayout_2.addWidget(self.l_record_size)
|
||||
self.label_26 = QtWidgets.QLabel(parent=self.g_live)
|
||||
self.label_26.setObjectName("label_26")
|
||||
self.horizontalLayout_2.addWidget(self.label_26)
|
||||
self.l_record_max_sid = QtWidgets.QLabel(parent=self.g_live)
|
||||
self.l_record_max_sid.setObjectName("l_record_max_sid")
|
||||
self.horizontalLayout_2.addWidget(self.l_record_max_sid)
|
||||
self.horizontalLayout_2.setStretch(1, 1)
|
||||
self.horizontalLayout_2.setStretch(3, 1)
|
||||
self.horizontalLayout_2.setStretch(5, 1)
|
||||
self.verticalLayout_6.addLayout(self.horizontalLayout_2)
|
||||
self.verticalLayout_6.setStretch(0, 1)
|
||||
self.horizontalLayout_8.addWidget(self.g_live)
|
||||
self.g_playback = QtWidgets.QGroupBox(parent=self.g_cap)
|
||||
self.g_playback.setCheckable(True)
|
||||
self.g_playback.setChecked(False)
|
||||
self.g_playback.setObjectName("g_playback")
|
||||
self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.g_playback)
|
||||
self.verticalLayout_3.setObjectName("verticalLayout_3")
|
||||
self.gridLayout_6 = QtWidgets.QGridLayout()
|
||||
self.gridLayout_6.setObjectName("gridLayout_6")
|
||||
self.sp_sid = QtWidgets.QSpinBox(parent=self.g_playback)
|
||||
self.sp_sid.setObjectName("sp_sid")
|
||||
self.gridLayout_6.addWidget(self.sp_sid, 1, 2, 1, 1)
|
||||
self.label_4 = QtWidgets.QLabel(parent=self.g_playback)
|
||||
self.label_4.setObjectName("label_4")
|
||||
self.gridLayout_6.addWidget(self.label_4, 1, 0, 1, 1)
|
||||
self.label_16 = QtWidgets.QLabel(parent=self.g_playback)
|
||||
self.label_16.setObjectName("label_16")
|
||||
self.gridLayout_6.addWidget(self.label_16, 0, 0, 1, 1)
|
||||
self.c_playback_seq_name = QtWidgets.QComboBox(parent=self.g_playback)
|
||||
self.c_playback_seq_name.setEditable(False)
|
||||
self.c_playback_seq_name.setObjectName("c_playback_seq_name")
|
||||
self.c_playback_seq_name.addItem("")
|
||||
self.gridLayout_6.addWidget(self.c_playback_seq_name, 0, 1, 1, 2)
|
||||
self.s_sid = QJumpSlider(parent=self.g_playback)
|
||||
self.s_sid.setOrientation(QtCore.Qt.Orientation.Horizontal)
|
||||
self.s_sid.setObjectName("s_sid")
|
||||
self.gridLayout_6.addWidget(self.s_sid, 1, 1, 1, 1)
|
||||
self.verticalLayout_3.addLayout(self.gridLayout_6)
|
||||
self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_5.setObjectName("horizontalLayout_5")
|
||||
self.label26 = QtWidgets.QLabel(parent=self.g_playback)
|
||||
self.label26.setObjectName("label26")
|
||||
self.horizontalLayout_5.addWidget(self.label26)
|
||||
self.l_seq_min = QtWidgets.QLabel(parent=self.g_playback)
|
||||
self.l_seq_min.setObjectName("l_seq_min")
|
||||
self.horizontalLayout_5.addWidget(self.l_seq_min)
|
||||
self.label_28 = QtWidgets.QLabel(parent=self.g_playback)
|
||||
self.label_28.setObjectName("label_28")
|
||||
self.horizontalLayout_5.addWidget(self.label_28)
|
||||
self.l_seq_current = QtWidgets.QLabel(parent=self.g_playback)
|
||||
self.l_seq_current.setObjectName("l_seq_current")
|
||||
self.horizontalLayout_5.addWidget(self.l_seq_current)
|
||||
self.label_29 = QtWidgets.QLabel(parent=self.g_playback)
|
||||
self.label_29.setObjectName("label_29")
|
||||
self.horizontalLayout_5.addWidget(self.label_29)
|
||||
self.l_seq_max = QtWidgets.QLabel(parent=self.g_playback)
|
||||
self.l_seq_max.setObjectName("l_seq_max")
|
||||
self.horizontalLayout_5.addWidget(self.l_seq_max)
|
||||
self.horizontalLayout_5.setStretch(1, 1)
|
||||
self.horizontalLayout_5.setStretch(3, 1)
|
||||
self.horizontalLayout_5.setStretch(5, 1)
|
||||
self.verticalLayout_3.addLayout(self.horizontalLayout_5)
|
||||
self.horizontalLayout_8.addWidget(self.g_playback)
|
||||
self.gridLayout.addWidget(self.g_cap, 2, 0, 1, 2)
|
||||
self.g_us = QtWidgets.QGroupBox(parent=self.centralwidget)
|
||||
self.g_us.setStyleSheet("#g_us{\n"
|
||||
" background: pink;\n"
|
||||
@ -189,6 +293,71 @@ class Ui_MainWindow(object):
|
||||
self.horizontalSlider_8.setObjectName("horizontalSlider_8")
|
||||
self.gridLayout_4.addWidget(self.horizontalSlider_8, 6, 1, 1, 1)
|
||||
self.gridLayout.addLayout(self.gridLayout_4, 3, 1, 1, 1)
|
||||
self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_4.setObjectName("horizontalLayout_4")
|
||||
self.label = QtWidgets.QLabel(parent=self.centralwidget)
|
||||
self.label.setObjectName("label")
|
||||
self.horizontalLayout_4.addWidget(self.label)
|
||||
self.l_base = QtWidgets.QLineEdit(parent=self.centralwidget)
|
||||
self.l_base.setText("")
|
||||
self.l_base.setObjectName("l_base")
|
||||
self.horizontalLayout_4.addWidget(self.l_base)
|
||||
self.b_select_base = QtWidgets.QPushButton(parent=self.centralwidget)
|
||||
self.b_select_base.setObjectName("b_select_base")
|
||||
self.horizontalLayout_4.addWidget(self.b_select_base)
|
||||
self.b_base = QtWidgets.QPushButton(parent=self.centralwidget)
|
||||
self.b_base.setIconSize(QtCore.QSize(16, 16))
|
||||
self.b_base.setObjectName("b_base")
|
||||
self.horizontalLayout_4.addWidget(self.b_base)
|
||||
self.gridLayout.addLayout(self.horizontalLayout_4, 4, 0, 1, 2)
|
||||
self.g_probe_head = QtWidgets.QGroupBox(parent=self.centralwidget)
|
||||
self.g_probe_head.setStyleSheet("#g_probe_head {\n"
|
||||
" background: pink;\n"
|
||||
"border-radius: 7px;\n"
|
||||
"}")
|
||||
self.g_probe_head.setTitle("")
|
||||
self.g_probe_head.setObjectName("g_probe_head")
|
||||
self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.g_probe_head)
|
||||
self.verticalLayout_5.setObjectName("verticalLayout_5")
|
||||
self.horizontalLayout_7 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_7.setObjectName("horizontalLayout_7")
|
||||
self.label_31 = QtWidgets.QLabel(parent=self.g_probe_head)
|
||||
font = QtGui.QFont()
|
||||
font.setFamily("Noto Sans")
|
||||
font.setPointSize(15)
|
||||
self.label_31.setFont(font)
|
||||
self.label_31.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
|
||||
self.label_31.setObjectName("label_31")
|
||||
self.horizontalLayout_7.addWidget(self.label_31)
|
||||
self.b_probe_head_switch = QtWidgets.QPushButton(parent=self.g_probe_head)
|
||||
self.b_probe_head_switch.setText("")
|
||||
self.b_probe_head_switch.setObjectName("b_probe_head_switch")
|
||||
self.horizontalLayout_7.addWidget(self.b_probe_head_switch)
|
||||
self.horizontalLayout_7.setStretch(0, 1)
|
||||
self.verticalLayout_5.addLayout(self.horizontalLayout_7)
|
||||
self.groupBox_3 = QtWidgets.QGroupBox(parent=self.g_probe_head)
|
||||
self.groupBox_3.setTitle("")
|
||||
self.groupBox_3.setObjectName("groupBox_3")
|
||||
self.horizontalLayout_11 = QtWidgets.QHBoxLayout(self.groupBox_3)
|
||||
self.horizontalLayout_11.setObjectName("horizontalLayout_11")
|
||||
self.b_probe_start = QtWidgets.QPushButton(parent=self.groupBox_3)
|
||||
self.b_probe_start.setObjectName("b_probe_start")
|
||||
self.horizontalLayout_11.addWidget(self.b_probe_start)
|
||||
self.b_probe_stop = QtWidgets.QPushButton(parent=self.groupBox_3)
|
||||
self.b_probe_stop.setObjectName("b_probe_stop")
|
||||
self.horizontalLayout_11.addWidget(self.b_probe_stop)
|
||||
self.b_probe_single = QtWidgets.QPushButton(parent=self.groupBox_3)
|
||||
self.b_probe_single.setObjectName("b_probe_single")
|
||||
self.horizontalLayout_11.addWidget(self.b_probe_single)
|
||||
self.b_probe_orig = QtWidgets.QPushButton(parent=self.groupBox_3)
|
||||
self.b_probe_orig.setObjectName("b_probe_orig")
|
||||
self.horizontalLayout_11.addWidget(self.b_probe_orig)
|
||||
self.l_probe_angle = QtWidgets.QLabel(parent=self.groupBox_3)
|
||||
self.l_probe_angle.setObjectName("l_probe_angle")
|
||||
self.horizontalLayout_11.addWidget(self.l_probe_angle)
|
||||
self.verticalLayout_5.addWidget(self.groupBox_3)
|
||||
self.verticalLayout_5.setStretch(1, 1)
|
||||
self.gridLayout.addWidget(self.g_probe_head, 1, 0, 1, 1)
|
||||
self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_6.setObjectName("horizontalLayout_6")
|
||||
self.cb_bscan = QtWidgets.QCheckBox(parent=self.centralwidget)
|
||||
@ -201,110 +370,6 @@ class Ui_MainWindow(object):
|
||||
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
||||
self.horizontalLayout_6.addItem(spacerItem1)
|
||||
self.gridLayout.addLayout(self.horizontalLayout_6, 5, 0, 1, 2)
|
||||
self.g_cap = QtWidgets.QGroupBox(parent=self.centralwidget)
|
||||
self.g_cap.setEnabled(False)
|
||||
self.g_cap.setObjectName("g_cap")
|
||||
self.horizontalLayout_8 = QtWidgets.QHBoxLayout(self.g_cap)
|
||||
self.horizontalLayout_8.setObjectName("horizontalLayout_8")
|
||||
self.g_live = QtWidgets.QGroupBox(parent=self.g_cap)
|
||||
self.g_live.setCheckable(True)
|
||||
self.g_live.setChecked(False)
|
||||
self.g_live.setObjectName("g_live")
|
||||
self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.g_live)
|
||||
self.verticalLayout_6.setObjectName("verticalLayout_6")
|
||||
self.horizontalLayout_12 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_12.setObjectName("horizontalLayout_12")
|
||||
self.label_17 = QtWidgets.QLabel(parent=self.g_live)
|
||||
self.label_17.setObjectName("label_17")
|
||||
self.horizontalLayout_12.addWidget(self.label_17)
|
||||
self.l_record_commit = QtWidgets.QLineEdit(parent=self.g_live)
|
||||
self.l_record_commit.setEnabled(False)
|
||||
self.l_record_commit.setObjectName("l_record_commit")
|
||||
self.horizontalLayout_12.addWidget(self.l_record_commit)
|
||||
self.b_record = QtWidgets.QPushButton(parent=self.g_live)
|
||||
self.b_record.setEnabled(False)
|
||||
self.b_record.setObjectName("b_record")
|
||||
self.horizontalLayout_12.addWidget(self.b_record)
|
||||
self.verticalLayout_6.addLayout(self.horizontalLayout_12)
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
self.label_18 = QtWidgets.QLabel(parent=self.g_live)
|
||||
self.label_18.setObjectName("label_18")
|
||||
self.horizontalLayout_2.addWidget(self.label_18)
|
||||
self.l_record_frames = QtWidgets.QLabel(parent=self.g_live)
|
||||
self.l_record_frames.setObjectName("l_record_frames")
|
||||
self.horizontalLayout_2.addWidget(self.l_record_frames)
|
||||
self.label_25 = QtWidgets.QLabel(parent=self.g_live)
|
||||
self.label_25.setObjectName("label_25")
|
||||
self.horizontalLayout_2.addWidget(self.label_25)
|
||||
self.l_record_size = QtWidgets.QLabel(parent=self.g_live)
|
||||
self.l_record_size.setObjectName("l_record_size")
|
||||
self.horizontalLayout_2.addWidget(self.l_record_size)
|
||||
self.label_26 = QtWidgets.QLabel(parent=self.g_live)
|
||||
self.label_26.setObjectName("label_26")
|
||||
self.horizontalLayout_2.addWidget(self.label_26)
|
||||
self.l_record_max_sid = QtWidgets.QLabel(parent=self.g_live)
|
||||
self.l_record_max_sid.setObjectName("l_record_max_sid")
|
||||
self.horizontalLayout_2.addWidget(self.l_record_max_sid)
|
||||
self.horizontalLayout_2.setStretch(1, 1)
|
||||
self.horizontalLayout_2.setStretch(3, 1)
|
||||
self.horizontalLayout_2.setStretch(5, 1)
|
||||
self.verticalLayout_6.addLayout(self.horizontalLayout_2)
|
||||
self.verticalLayout_6.setStretch(0, 1)
|
||||
self.horizontalLayout_8.addWidget(self.g_live)
|
||||
self.g_playback = QtWidgets.QGroupBox(parent=self.g_cap)
|
||||
self.g_playback.setCheckable(True)
|
||||
self.g_playback.setChecked(False)
|
||||
self.g_playback.setObjectName("g_playback")
|
||||
self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.g_playback)
|
||||
self.verticalLayout_3.setObjectName("verticalLayout_3")
|
||||
self.gridLayout_6 = QtWidgets.QGridLayout()
|
||||
self.gridLayout_6.setObjectName("gridLayout_6")
|
||||
self.sp_sid = QtWidgets.QSpinBox(parent=self.g_playback)
|
||||
self.sp_sid.setObjectName("sp_sid")
|
||||
self.gridLayout_6.addWidget(self.sp_sid, 1, 2, 1, 1)
|
||||
self.label_4 = QtWidgets.QLabel(parent=self.g_playback)
|
||||
self.label_4.setObjectName("label_4")
|
||||
self.gridLayout_6.addWidget(self.label_4, 1, 0, 1, 1)
|
||||
self.label_16 = QtWidgets.QLabel(parent=self.g_playback)
|
||||
self.label_16.setObjectName("label_16")
|
||||
self.gridLayout_6.addWidget(self.label_16, 0, 0, 1, 1)
|
||||
self.c_playback_seq_name = QtWidgets.QComboBox(parent=self.g_playback)
|
||||
self.c_playback_seq_name.setEditable(False)
|
||||
self.c_playback_seq_name.setObjectName("c_playback_seq_name")
|
||||
self.c_playback_seq_name.addItem("")
|
||||
self.gridLayout_6.addWidget(self.c_playback_seq_name, 0, 1, 1, 2)
|
||||
self.s_sid = QJumpSlider(parent=self.g_playback)
|
||||
self.s_sid.setOrientation(QtCore.Qt.Orientation.Horizontal)
|
||||
self.s_sid.setObjectName("s_sid")
|
||||
self.gridLayout_6.addWidget(self.s_sid, 1, 1, 1, 1)
|
||||
self.verticalLayout_3.addLayout(self.gridLayout_6)
|
||||
self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_5.setObjectName("horizontalLayout_5")
|
||||
self.label26 = QtWidgets.QLabel(parent=self.g_playback)
|
||||
self.label26.setObjectName("label26")
|
||||
self.horizontalLayout_5.addWidget(self.label26)
|
||||
self.l_seq_min = QtWidgets.QLabel(parent=self.g_playback)
|
||||
self.l_seq_min.setObjectName("l_seq_min")
|
||||
self.horizontalLayout_5.addWidget(self.l_seq_min)
|
||||
self.label_28 = QtWidgets.QLabel(parent=self.g_playback)
|
||||
self.label_28.setObjectName("label_28")
|
||||
self.horizontalLayout_5.addWidget(self.label_28)
|
||||
self.l_seq_current = QtWidgets.QLabel(parent=self.g_playback)
|
||||
self.l_seq_current.setObjectName("l_seq_current")
|
||||
self.horizontalLayout_5.addWidget(self.l_seq_current)
|
||||
self.label_29 = QtWidgets.QLabel(parent=self.g_playback)
|
||||
self.label_29.setObjectName("label_29")
|
||||
self.horizontalLayout_5.addWidget(self.label_29)
|
||||
self.l_seq_max = QtWidgets.QLabel(parent=self.g_playback)
|
||||
self.l_seq_max.setObjectName("l_seq_max")
|
||||
self.horizontalLayout_5.addWidget(self.l_seq_max)
|
||||
self.horizontalLayout_5.setStretch(1, 1)
|
||||
self.horizontalLayout_5.setStretch(3, 1)
|
||||
self.horizontalLayout_5.setStretch(5, 1)
|
||||
self.verticalLayout_3.addLayout(self.horizontalLayout_5)
|
||||
self.horizontalLayout_8.addWidget(self.g_playback)
|
||||
self.gridLayout.addWidget(self.g_cap, 2, 0, 1, 2)
|
||||
self.g_cobot = QtWidgets.QGroupBox(parent=self.centralwidget)
|
||||
self.g_cobot.setStyleSheet("#g_cobot {\n"
|
||||
" background: pink;\n"
|
||||
@ -404,58 +469,36 @@ class Ui_MainWindow(object):
|
||||
self.gridLayout.addWidget(self.g_cobot, 0, 1, 2, 1)
|
||||
self.gridLayout_5 = QtWidgets.QGridLayout()
|
||||
self.gridLayout_5.setObjectName("gridLayout_5")
|
||||
self.spinBox_3 = QtWidgets.QSpinBox(parent=self.centralwidget)
|
||||
self.spinBox_3.setObjectName("spinBox_3")
|
||||
self.gridLayout_5.addWidget(self.spinBox_3, 6, 2, 1, 1)
|
||||
self.label_33 = QtWidgets.QLabel(parent=self.centralwidget)
|
||||
self.label_33.setObjectName("label_33")
|
||||
self.gridLayout_5.addWidget(self.label_33, 7, 0, 1, 1)
|
||||
self.label_15 = QtWidgets.QLabel(parent=self.centralwidget)
|
||||
self.label_15.setObjectName("label_15")
|
||||
self.gridLayout_5.addWidget(self.label_15, 3, 0, 1, 1)
|
||||
self.label_34 = QtWidgets.QLabel(parent=self.centralwidget)
|
||||
self.label_34.setObjectName("label_34")
|
||||
self.gridLayout_5.addWidget(self.label_34, 8, 0, 1, 1)
|
||||
self.s_t_start = QJumpSlider(parent=self.centralwidget)
|
||||
self.s_t_start.setOrientation(QtCore.Qt.Orientation.Horizontal)
|
||||
self.s_t_start.setObjectName("s_t_start")
|
||||
self.gridLayout_5.addWidget(self.s_t_start, 3, 1, 1, 1)
|
||||
self.label_7 = QtWidgets.QLabel(parent=self.centralwidget)
|
||||
self.label_7.setObjectName("label_7")
|
||||
self.gridLayout_5.addWidget(self.label_7, 6, 0, 1, 1)
|
||||
self.spinBox_12 = QtWidgets.QSpinBox(parent=self.centralwidget)
|
||||
self.spinBox_12.setObjectName("spinBox_12")
|
||||
self.gridLayout_5.addWidget(self.spinBox_12, 3, 2, 1, 1)
|
||||
self.spinBox_2 = QtWidgets.QSpinBox(parent=self.centralwidget)
|
||||
self.spinBox_2.setObjectName("spinBox_2")
|
||||
self.gridLayout_5.addWidget(self.spinBox_2, 5, 2, 1, 1)
|
||||
self.horizontalSlider_2 = QtWidgets.QSlider(parent=self.centralwidget)
|
||||
self.horizontalSlider_2.setOrientation(QtCore.Qt.Orientation.Horizontal)
|
||||
self.horizontalSlider_2.setObjectName("horizontalSlider_2")
|
||||
self.gridLayout_5.addWidget(self.horizontalSlider_2, 5, 1, 1, 1)
|
||||
self.spinBox = QtWidgets.QSpinBox(parent=self.centralwidget)
|
||||
self.spinBox.setObjectName("spinBox")
|
||||
self.gridLayout_5.addWidget(self.spinBox, 4, 2, 1, 1)
|
||||
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
|
||||
self.gridLayout_5.addItem(spacerItem2, 7, 1, 1, 1)
|
||||
self.label_2 = QtWidgets.QLabel(parent=self.centralwidget)
|
||||
font = QtGui.QFont()
|
||||
font.setPointSize(20)
|
||||
font.setBold(False)
|
||||
self.label_2.setFont(font)
|
||||
self.label_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
|
||||
self.label_2.setObjectName("label_2")
|
||||
self.gridLayout_5.addWidget(self.label_2, 0, 0, 1, 3)
|
||||
self.gridLayout_5.addItem(spacerItem2, 9, 1, 1, 1)
|
||||
self.s_t_end = QJumpSlider(parent=self.centralwidget)
|
||||
self.s_t_end.setMinimum(1)
|
||||
self.s_t_end.setMaximum(1500)
|
||||
self.s_t_end.setOrientation(QtCore.Qt.Orientation.Horizontal)
|
||||
self.s_t_end.setObjectName("s_t_end")
|
||||
self.gridLayout_5.addWidget(self.s_t_end, 4, 1, 1, 1)
|
||||
self.label_6 = QtWidgets.QLabel(parent=self.centralwidget)
|
||||
self.label_6.setObjectName("label_6")
|
||||
self.gridLayout_5.addWidget(self.label_6, 5, 0, 1, 1)
|
||||
self.spinBox = QtWidgets.QSpinBox(parent=self.centralwidget)
|
||||
self.spinBox.setObjectName("spinBox")
|
||||
self.gridLayout_5.addWidget(self.spinBox, 4, 2, 1, 1)
|
||||
self.label_15 = QtWidgets.QLabel(parent=self.centralwidget)
|
||||
self.label_15.setObjectName("label_15")
|
||||
self.gridLayout_5.addWidget(self.label_15, 3, 0, 1, 1)
|
||||
self.s_t_start = QJumpSlider(parent=self.centralwidget)
|
||||
self.s_t_start.setOrientation(QtCore.Qt.Orientation.Horizontal)
|
||||
self.s_t_start.setObjectName("s_t_start")
|
||||
self.gridLayout_5.addWidget(self.s_t_start, 3, 1, 1, 1)
|
||||
self.label_5 = QtWidgets.QLabel(parent=self.centralwidget)
|
||||
self.label_5.setObjectName("label_5")
|
||||
self.gridLayout_5.addWidget(self.label_5, 4, 0, 1, 1)
|
||||
self.horizontalSlider_4 = QtWidgets.QSlider(parent=self.centralwidget)
|
||||
self.horizontalSlider_4.setOrientation(QtCore.Qt.Orientation.Horizontal)
|
||||
self.horizontalSlider_4.setObjectName("horizontalSlider_4")
|
||||
self.gridLayout_5.addWidget(self.horizontalSlider_4, 6, 1, 1, 1)
|
||||
self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
|
||||
self.label_27 = QtWidgets.QLabel(parent=self.centralwidget)
|
||||
@ -469,72 +512,54 @@ class Ui_MainWindow(object):
|
||||
self.horizontalLayout_3.addWidget(self.b_new_imaging_config)
|
||||
self.horizontalLayout_3.setStretch(1, 1)
|
||||
self.gridLayout_5.addLayout(self.horizontalLayout_3, 2, 0, 1, 3)
|
||||
self.gridLayout.addLayout(self.gridLayout_5, 3, 0, 1, 1)
|
||||
self.g_probe_head = QtWidgets.QGroupBox(parent=self.centralwidget)
|
||||
self.g_probe_head.setStyleSheet("#g_probe_head {\n"
|
||||
" background: pink;\n"
|
||||
"border-radius: 7px;\n"
|
||||
"}")
|
||||
self.g_probe_head.setTitle("")
|
||||
self.g_probe_head.setObjectName("g_probe_head")
|
||||
self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.g_probe_head)
|
||||
self.verticalLayout_5.setObjectName("verticalLayout_5")
|
||||
self.horizontalLayout_7 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_7.setObjectName("horizontalLayout_7")
|
||||
self.label_31 = QtWidgets.QLabel(parent=self.g_probe_head)
|
||||
self.label_6 = QtWidgets.QLabel(parent=self.centralwidget)
|
||||
self.label_6.setObjectName("label_6")
|
||||
self.gridLayout_5.addWidget(self.label_6, 5, 0, 1, 1)
|
||||
self.spinBox_2 = QtWidgets.QSpinBox(parent=self.centralwidget)
|
||||
self.spinBox_2.setObjectName("spinBox_2")
|
||||
self.gridLayout_5.addWidget(self.spinBox_2, 5, 2, 1, 1)
|
||||
self.spinBox_3 = QtWidgets.QSpinBox(parent=self.centralwidget)
|
||||
self.spinBox_3.setObjectName("spinBox_3")
|
||||
self.gridLayout_5.addWidget(self.spinBox_3, 6, 2, 1, 1)
|
||||
self.s_dct_bandwidth = QtWidgets.QSlider(parent=self.centralwidget)
|
||||
self.s_dct_bandwidth.setOrientation(QtCore.Qt.Orientation.Horizontal)
|
||||
self.s_dct_bandwidth.setObjectName("s_dct_bandwidth")
|
||||
self.gridLayout_5.addWidget(self.s_dct_bandwidth, 7, 1, 1, 1)
|
||||
self.s_v2 = QtWidgets.QSlider(parent=self.centralwidget)
|
||||
self.s_v2.setMinimum(1)
|
||||
self.s_v2.setMaximum(7000)
|
||||
self.s_v2.setProperty("value", 5900)
|
||||
self.s_v2.setOrientation(QtCore.Qt.Orientation.Horizontal)
|
||||
self.s_v2.setObjectName("s_v2")
|
||||
self.gridLayout_5.addWidget(self.s_v2, 5, 1, 1, 1)
|
||||
self.s_dct_center = QtWidgets.QSlider(parent=self.centralwidget)
|
||||
self.s_dct_center.setOrientation(QtCore.Qt.Orientation.Horizontal)
|
||||
self.s_dct_center.setObjectName("s_dct_center")
|
||||
self.gridLayout_5.addWidget(self.s_dct_center, 6, 1, 1, 1)
|
||||
self.label_2 = QtWidgets.QLabel(parent=self.centralwidget)
|
||||
font = QtGui.QFont()
|
||||
font.setFamily("Noto Sans")
|
||||
font.setPointSize(15)
|
||||
self.label_31.setFont(font)
|
||||
self.label_31.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
|
||||
self.label_31.setObjectName("label_31")
|
||||
self.horizontalLayout_7.addWidget(self.label_31)
|
||||
self.b_probe_head_switch = QtWidgets.QPushButton(parent=self.g_probe_head)
|
||||
self.b_probe_head_switch.setText("")
|
||||
self.b_probe_head_switch.setObjectName("b_probe_head_switch")
|
||||
self.horizontalLayout_7.addWidget(self.b_probe_head_switch)
|
||||
self.horizontalLayout_7.setStretch(0, 1)
|
||||
self.verticalLayout_5.addLayout(self.horizontalLayout_7)
|
||||
self.groupBox_3 = QtWidgets.QGroupBox(parent=self.g_probe_head)
|
||||
self.groupBox_3.setTitle("")
|
||||
self.groupBox_3.setObjectName("groupBox_3")
|
||||
self.horizontalLayout_11 = QtWidgets.QHBoxLayout(self.groupBox_3)
|
||||
self.horizontalLayout_11.setObjectName("horizontalLayout_11")
|
||||
self.b_probe_start = QtWidgets.QPushButton(parent=self.groupBox_3)
|
||||
self.b_probe_start.setObjectName("b_probe_start")
|
||||
self.horizontalLayout_11.addWidget(self.b_probe_start)
|
||||
self.b_probe_stop = QtWidgets.QPushButton(parent=self.groupBox_3)
|
||||
self.b_probe_stop.setObjectName("b_probe_stop")
|
||||
self.horizontalLayout_11.addWidget(self.b_probe_stop)
|
||||
self.b_probe_single = QtWidgets.QPushButton(parent=self.groupBox_3)
|
||||
self.b_probe_single.setObjectName("b_probe_single")
|
||||
self.horizontalLayout_11.addWidget(self.b_probe_single)
|
||||
self.b_probe_orig = QtWidgets.QPushButton(parent=self.groupBox_3)
|
||||
self.b_probe_orig.setObjectName("b_probe_orig")
|
||||
self.horizontalLayout_11.addWidget(self.b_probe_orig)
|
||||
self.l_probe_angle = QtWidgets.QLabel(parent=self.groupBox_3)
|
||||
self.l_probe_angle.setObjectName("l_probe_angle")
|
||||
self.horizontalLayout_11.addWidget(self.l_probe_angle)
|
||||
self.verticalLayout_5.addWidget(self.groupBox_3)
|
||||
self.verticalLayout_5.setStretch(1, 1)
|
||||
self.gridLayout.addWidget(self.g_probe_head, 1, 0, 1, 1)
|
||||
self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_4.setObjectName("horizontalLayout_4")
|
||||
self.label = QtWidgets.QLabel(parent=self.centralwidget)
|
||||
self.label.setObjectName("label")
|
||||
self.horizontalLayout_4.addWidget(self.label)
|
||||
self.l_base = QtWidgets.QLineEdit(parent=self.centralwidget)
|
||||
self.l_base.setText("")
|
||||
self.l_base.setObjectName("l_base")
|
||||
self.horizontalLayout_4.addWidget(self.l_base)
|
||||
self.b_select_base = QtWidgets.QPushButton(parent=self.centralwidget)
|
||||
self.b_select_base.setObjectName("b_select_base")
|
||||
self.horizontalLayout_4.addWidget(self.b_select_base)
|
||||
self.b_base = QtWidgets.QPushButton(parent=self.centralwidget)
|
||||
self.b_base.setIconSize(QtCore.QSize(16, 16))
|
||||
self.b_base.setObjectName("b_base")
|
||||
self.horizontalLayout_4.addWidget(self.b_base)
|
||||
self.gridLayout.addLayout(self.horizontalLayout_4, 4, 0, 1, 2)
|
||||
font.setPointSize(20)
|
||||
font.setBold(False)
|
||||
self.label_2.setFont(font)
|
||||
self.label_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
|
||||
self.label_2.setObjectName("label_2")
|
||||
self.gridLayout_5.addWidget(self.label_2, 0, 0, 1, 3)
|
||||
self.s_f_rows = QtWidgets.QSlider(parent=self.centralwidget)
|
||||
self.s_f_rows.setMinimum(500)
|
||||
self.s_f_rows.setMaximum(7000)
|
||||
self.s_f_rows.setOrientation(QtCore.Qt.Orientation.Horizontal)
|
||||
self.s_f_rows.setObjectName("s_f_rows")
|
||||
self.gridLayout_5.addWidget(self.s_f_rows, 8, 1, 1, 1)
|
||||
self.spinBox_12 = QtWidgets.QSpinBox(parent=self.centralwidget)
|
||||
self.spinBox_12.setObjectName("spinBox_12")
|
||||
self.gridLayout_5.addWidget(self.spinBox_12, 3, 2, 1, 1)
|
||||
self.spinBox_7 = QtWidgets.QSpinBox(parent=self.centralwidget)
|
||||
self.spinBox_7.setObjectName("spinBox_7")
|
||||
self.gridLayout_5.addWidget(self.spinBox_7, 7, 2, 1, 1)
|
||||
self.spinBox_13 = QtWidgets.QSpinBox(parent=self.centralwidget)
|
||||
self.spinBox_13.setObjectName("spinBox_13")
|
||||
self.gridLayout_5.addWidget(self.spinBox_13, 8, 2, 1, 1)
|
||||
self.gridLayout.addLayout(self.gridLayout_5, 3, 0, 1, 1)
|
||||
self.gridLayout.setRowStretch(0, 1)
|
||||
MainWindow.setCentralWidget(self.centralwidget)
|
||||
self.menubar = QtWidgets.QMenuBar(parent=MainWindow)
|
||||
@ -551,6 +576,26 @@ class Ui_MainWindow(object):
|
||||
def retranslateUi(self, MainWindow):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
MainWindow.setWindowTitle(_translate("MainWindow", "Scarlet Flandre Control Panel"))
|
||||
self.g_cap.setTitle(_translate("MainWindow", "Capture Source"))
|
||||
self.g_live.setTitle(_translate("MainWindow", "Live"))
|
||||
self.label_17.setText(_translate("MainWindow", "RecordName"))
|
||||
self.b_record.setText(_translate("MainWindow", "Record"))
|
||||
self.label_18.setText(_translate("MainWindow", "Record Frames:"))
|
||||
self.l_record_frames.setText(_translate("MainWindow", "0"))
|
||||
self.label_25.setText(_translate("MainWindow", "Record Size:"))
|
||||
self.l_record_size.setText(_translate("MainWindow", "0"))
|
||||
self.label_26.setText(_translate("MainWindow", "Max SeqId:"))
|
||||
self.l_record_max_sid.setText(_translate("MainWindow", "0"))
|
||||
self.g_playback.setTitle(_translate("MainWindow", "Playback"))
|
||||
self.label_4.setText(_translate("MainWindow", "Frame ID"))
|
||||
self.label_16.setText(_translate("MainWindow", "SeqName"))
|
||||
self.c_playback_seq_name.setItemText(0, _translate("MainWindow", "Unset"))
|
||||
self.label26.setText(_translate("MainWindow", "Min:"))
|
||||
self.l_seq_min.setText(_translate("MainWindow", "0"))
|
||||
self.label_28.setText(_translate("MainWindow", "Current:"))
|
||||
self.l_seq_current.setText(_translate("MainWindow", "0"))
|
||||
self.label_29.setText(_translate("MainWindow", "Max:"))
|
||||
self.l_seq_max.setText(_translate("MainWindow", "0"))
|
||||
self.label_30.setText(_translate("MainWindow", "Ultrasound T/R Device Driver"))
|
||||
self.b_device_connection.setText(_translate("MainWindow", "Connect"))
|
||||
self.lb_device_connection.setText(_translate("MainWindow", "Disconnected"))
|
||||
@ -572,45 +617,27 @@ class Ui_MainWindow(object):
|
||||
self.label_12.setText(_translate("MainWindow", "Roll"))
|
||||
self.label_11.setText(_translate("MainWindow", "E"))
|
||||
self.label_8.setText(_translate("MainWindow", "X"))
|
||||
self.cb_bscan.setText(_translate("MainWindow", "BSCAN"))
|
||||
self.checkBox.setText(_translate("MainWindow", "FOCUS"))
|
||||
self.g_cap.setTitle(_translate("MainWindow", "Capture Source"))
|
||||
self.g_live.setTitle(_translate("MainWindow", "Live"))
|
||||
self.label_17.setText(_translate("MainWindow", "RecordName"))
|
||||
self.b_record.setText(_translate("MainWindow", "Record"))
|
||||
self.label_18.setText(_translate("MainWindow", "Record Frames:"))
|
||||
self.l_record_frames.setText(_translate("MainWindow", "0"))
|
||||
self.label_25.setText(_translate("MainWindow", "Record Size:"))
|
||||
self.l_record_size.setText(_translate("MainWindow", "0"))
|
||||
self.label_26.setText(_translate("MainWindow", "Max SeqId:"))
|
||||
self.l_record_max_sid.setText(_translate("MainWindow", "0"))
|
||||
self.g_playback.setTitle(_translate("MainWindow", "Playback"))
|
||||
self.label_4.setText(_translate("MainWindow", "Frame ID"))
|
||||
self.label_16.setText(_translate("MainWindow", "SeqName"))
|
||||
self.c_playback_seq_name.setItemText(0, _translate("MainWindow", "Unset"))
|
||||
self.label26.setText(_translate("MainWindow", "Min:"))
|
||||
self.l_seq_min.setText(_translate("MainWindow", "0"))
|
||||
self.label_28.setText(_translate("MainWindow", "Current:"))
|
||||
self.l_seq_current.setText(_translate("MainWindow", "0"))
|
||||
self.label_29.setText(_translate("MainWindow", "Max:"))
|
||||
self.l_seq_max.setText(_translate("MainWindow", "0"))
|
||||
self.label_23.setText(_translate("MainWindow", "Force"))
|
||||
self.label_22.setText(_translate("MainWindow", "Position"))
|
||||
self.label_19.setText(_translate("MainWindow", "6DOF Cobot"))
|
||||
self.label_7.setText(_translate("MainWindow", "TextLabel"))
|
||||
self.label_2.setText(_translate("MainWindow", "Imaging"))
|
||||
self.label_6.setText(_translate("MainWindow", "TextLabel"))
|
||||
self.label_15.setText(_translate("MainWindow", "t_start"))
|
||||
self.label_5.setText(_translate("MainWindow", "t_end"))
|
||||
self.label_27.setText(_translate("MainWindow", "Profile"))
|
||||
self.b_new_imaging_config.setText(_translate("MainWindow", "New"))
|
||||
self.label.setText(_translate("MainWindow", "Base Path"))
|
||||
self.b_select_base.setText(_translate("MainWindow", "Select"))
|
||||
self.b_base.setText(_translate("MainWindow", "Open"))
|
||||
self.label_31.setText(_translate("MainWindow", "Probe Head Control"))
|
||||
self.b_probe_start.setText(_translate("MainWindow", "Start"))
|
||||
self.b_probe_stop.setText(_translate("MainWindow", "Stop"))
|
||||
self.b_probe_single.setText(_translate("MainWindow", "Single"))
|
||||
self.b_probe_orig.setText(_translate("MainWindow", "Orig"))
|
||||
self.l_probe_angle.setText(_translate("MainWindow", "TextLabel"))
|
||||
self.label.setText(_translate("MainWindow", "Base Path"))
|
||||
self.b_select_base.setText(_translate("MainWindow", "Select"))
|
||||
self.b_base.setText(_translate("MainWindow", "Open"))
|
||||
self.cb_bscan.setText(_translate("MainWindow", "BSCAN"))
|
||||
self.checkBox.setText(_translate("MainWindow", "FOCUS"))
|
||||
self.label_23.setText(_translate("MainWindow", "Force"))
|
||||
self.label_22.setText(_translate("MainWindow", "Position"))
|
||||
self.label_19.setText(_translate("MainWindow", "6DOF Cobot"))
|
||||
self.label_33.setText(_translate("MainWindow", "dct_bandwidth"))
|
||||
self.label_15.setText(_translate("MainWindow", "t_start"))
|
||||
self.label_34.setText(_translate("MainWindow", "f_rows"))
|
||||
self.label_7.setText(_translate("MainWindow", "dct_center"))
|
||||
self.label_5.setText(_translate("MainWindow", "t_end"))
|
||||
self.label_27.setText(_translate("MainWindow", "Profile"))
|
||||
self.b_new_imaging_config.setText(_translate("MainWindow", "New"))
|
||||
self.label_6.setText(_translate("MainWindow", "v2"))
|
||||
self.label_2.setText(_translate("MainWindow", "Imaging"))
|
||||
from flandre.pyqt.QJumpSlider import QJumpSlider
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1238</width>
|
||||
<height>999</height>
|
||||
<height>1017</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@ -15,6 +15,208 @@
|
||||
</property>
|
||||
<widget class="QWidget" name="centralwidget">
|
||||
<layout class="QGridLayout" name="gridLayout" rowstretch="1,0,0,0,0,0" columnstretch="0,0">
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QGroupBox" name="g_cap">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Capture Source</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_8">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="g_live">
|
||||
<property name="title">
|
||||
<string>Live</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6" stretch="1,0">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_12">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_17">
|
||||
<property name="text">
|
||||
<string>RecordName</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="l_record_commit">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="b_record">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Record</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,1,0,1,0,1">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_18">
|
||||
<property name="text">
|
||||
<string>Record Frames:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="l_record_frames">
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_25">
|
||||
<property name="text">
|
||||
<string>Record Size:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="l_record_size">
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_26">
|
||||
<property name="text">
|
||||
<string>Max SeqId:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="l_record_max_sid">
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="g_playback">
|
||||
<property name="title">
|
||||
<string>Playback</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_6">
|
||||
<item row="1" column="2">
|
||||
<widget class="QSpinBox" name="sp_sid"/>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Frame ID</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_16">
|
||||
<property name="text">
|
||||
<string>SeqName</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1" colspan="2">
|
||||
<widget class="QComboBox" name="c_playback_seq_name">
|
||||
<property name="editable">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Unset</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QJumpSlider" name="s_sid">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_5" stretch="0,1,0,1,0,1">
|
||||
<item>
|
||||
<widget class="QLabel" name="label26">
|
||||
<property name="text">
|
||||
<string>Min:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="l_seq_min">
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_28">
|
||||
<property name="text">
|
||||
<string>Current:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="l_seq_current">
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_29">
|
||||
<property name="text">
|
||||
<string>Max:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="l_seq_max">
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QGroupBox" name="g_us">
|
||||
<property name="styleSheet">
|
||||
@ -336,6 +538,130 @@ border-radius: 7px;
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="2">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Base Path</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="l_base">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="b_select_base">
|
||||
<property name="text">
|
||||
<string>Select</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="b_base">
|
||||
<property name="text">
|
||||
<string>Open</string>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>16</width>
|
||||
<height>16</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QGroupBox" name="g_probe_head">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">#g_probe_head {
|
||||
background: pink;
|
||||
border-radius: 7px;
|
||||
}</string>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_5" stretch="0,1">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_7" stretch="1,0">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_31">
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Noto Sans</family>
|
||||
<pointsize>15</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Probe Head Control</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="b_probe_head_switch">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_3">
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_11">
|
||||
<item>
|
||||
<widget class="QPushButton" name="b_probe_start">
|
||||
<property name="text">
|
||||
<string>Start</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="b_probe_stop">
|
||||
<property name="text">
|
||||
<string>Stop</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="b_probe_single">
|
||||
<property name="text">
|
||||
<string>Single</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="b_probe_orig">
|
||||
<property name="text">
|
||||
<string>Orig</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="l_probe_angle">
|
||||
<property name="text">
|
||||
<string>TextLabel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="2">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||
<item>
|
||||
@ -370,208 +696,6 @@ border-radius: 7px;
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QGroupBox" name="g_cap">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Capture Source</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_8">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="g_live">
|
||||
<property name="title">
|
||||
<string>Live</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6" stretch="1,0">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_12">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_17">
|
||||
<property name="text">
|
||||
<string>RecordName</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="l_record_commit">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="b_record">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Record</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,1,0,1,0,1">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_18">
|
||||
<property name="text">
|
||||
<string>Record Frames:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="l_record_frames">
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_25">
|
||||
<property name="text">
|
||||
<string>Record Size:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="l_record_size">
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_26">
|
||||
<property name="text">
|
||||
<string>Max SeqId:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="l_record_max_sid">
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="g_playback">
|
||||
<property name="title">
|
||||
<string>Playback</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_6">
|
||||
<item row="1" column="2">
|
||||
<widget class="QSpinBox" name="sp_sid"/>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Frame ID</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_16">
|
||||
<property name="text">
|
||||
<string>SeqName</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1" colspan="2">
|
||||
<widget class="QComboBox" name="c_playback_seq_name">
|
||||
<property name="editable">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Unset</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QJumpSlider" name="s_sid">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_5" stretch="0,1,0,1,0,1">
|
||||
<item>
|
||||
<widget class="QLabel" name="label26">
|
||||
<property name="text">
|
||||
<string>Min:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="l_seq_min">
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_28">
|
||||
<property name="text">
|
||||
<string>Current:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="l_seq_current">
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_29">
|
||||
<property name="text">
|
||||
<string>Max:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="l_seq_max">
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1" rowspan="2">
|
||||
<widget class="QGroupBox" name="g_cobot">
|
||||
<property name="styleSheet">
|
||||
@ -750,30 +874,45 @@ border-radius: 7px;
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<item row="6" column="2">
|
||||
<widget class="QSpinBox" name="spinBox_3"/>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<item row="7" column="0">
|
||||
<widget class="QLabel" name="label_33">
|
||||
<property name="text">
|
||||
<string>TextLabel</string>
|
||||
<string>dct_bandwidth</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QSpinBox" name="spinBox_12"/>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_15">
|
||||
<property name="text">
|
||||
<string>t_start</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="2">
|
||||
<widget class="QSpinBox" name="spinBox_2"/>
|
||||
<item row="8" column="0">
|
||||
<widget class="QLabel" name="label_34">
|
||||
<property name="text">
|
||||
<string>f_rows</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QSlider" name="horizontalSlider_2">
|
||||
<item row="3" column="1">
|
||||
<widget class="QJumpSlider" name="s_t_start">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="1">
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="text">
|
||||
<string>dct_center</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="2">
|
||||
<widget class="QSpinBox" name="spinBox"/>
|
||||
</item>
|
||||
<item row="9" column="1">
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
@ -786,22 +925,6 @@ border-radius: 7px;
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="0" colspan="3">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>20</pointsize>
|
||||
<bold>false</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Imaging</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QJumpSlider" name="s_t_end">
|
||||
<property name="minimum">
|
||||
@ -815,30 +938,6 @@ border-radius: 7px;
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>TextLabel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="2">
|
||||
<widget class="QSpinBox" name="spinBox"/>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_15">
|
||||
<property name="text">
|
||||
<string>t_start</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QJumpSlider" name="s_t_start">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
@ -846,13 +945,6 @@ border-radius: 7px;
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QSlider" name="horizontalSlider_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="3">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3" stretch="0,1,0">
|
||||
<item>
|
||||
@ -874,130 +966,87 @@ border-radius: 7px;
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QGroupBox" name="g_probe_head">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">#g_probe_head {
|
||||
background: pink;
|
||||
border-radius: 7px;
|
||||
}</string>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_5" stretch="0,1">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_7" stretch="1,0">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_31">
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Noto Sans</family>
|
||||
<pointsize>15</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Probe Head Control</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="b_probe_head_switch">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_3">
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_11">
|
||||
<item>
|
||||
<widget class="QPushButton" name="b_probe_start">
|
||||
<property name="text">
|
||||
<string>Start</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="b_probe_stop">
|
||||
<property name="text">
|
||||
<string>Stop</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="b_probe_single">
|
||||
<property name="text">
|
||||
<string>Single</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="b_probe_orig">
|
||||
<property name="text">
|
||||
<string>Orig</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="l_probe_angle">
|
||||
<property name="text">
|
||||
<string>TextLabel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="2">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>Base Path</string>
|
||||
<string>v2</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="l_base">
|
||||
<property name="text">
|
||||
<string/>
|
||||
<item row="5" column="2">
|
||||
<widget class="QSpinBox" name="spinBox_2"/>
|
||||
</item>
|
||||
<item row="6" column="2">
|
||||
<widget class="QSpinBox" name="spinBox_3"/>
|
||||
</item>
|
||||
<item row="7" column="1">
|
||||
<widget class="QSlider" name="s_dct_bandwidth">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="b_select_base">
|
||||
<property name="text">
|
||||
<string>Select</string>
|
||||
<item row="5" column="1">
|
||||
<widget class="QSlider" name="s_v2">
|
||||
<property name="minimum">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>7000</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>5900</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="b_base">
|
||||
<property name="text">
|
||||
<string>Open</string>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>16</width>
|
||||
<height>16</height>
|
||||
</size>
|
||||
<item row="6" column="1">
|
||||
<widget class="QSlider" name="s_dct_center">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0" colspan="3">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>20</pointsize>
|
||||
<bold>false</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Imaging</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="1">
|
||||
<widget class="QSlider" name="s_f_rows">
|
||||
<property name="minimum">
|
||||
<number>500</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>7000</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QSpinBox" name="spinBox_12"/>
|
||||
</item>
|
||||
<item row="7" column="2">
|
||||
<widget class="QSpinBox" name="spinBox_7"/>
|
||||
</item>
|
||||
<item row="8" column="2">
|
||||
<widget class="QSpinBox" name="spinBox_13"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
|
||||
@ -240,23 +240,29 @@ class MoveAxisMsg(Msg):
|
||||
@dataclasses.dataclass
|
||||
class ImageArgMsg(Msg):
|
||||
sender: str
|
||||
t_start: int
|
||||
t_end: int
|
||||
t_start: int = 0
|
||||
v2: int = 5900
|
||||
dct_center: int = 0
|
||||
dct_bandwidth: int = 0
|
||||
f_rows: int = 0
|
||||
|
||||
@staticmethod
|
||||
def from_path(p: Path):
|
||||
j = json.loads(p.read_text())
|
||||
return ImageArgMsg(
|
||||
'load',
|
||||
t_start=j['t_start'],
|
||||
t_end=j['t_end'],
|
||||
sender='load',
|
||||
**json.loads(p.read_text())
|
||||
)
|
||||
|
||||
def json(self):
|
||||
return json.dumps(dict(
|
||||
t_start=self.t_start,
|
||||
t_end=self.t_end,
|
||||
))
|
||||
arg_d = dict()
|
||||
for field in dataclasses.fields(ImageArgMsg):
|
||||
match field.name:
|
||||
case 'sender':
|
||||
pass
|
||||
case _:
|
||||
arg_d[field.name] = self.__getattribute__(field.name)
|
||||
return json.dumps(arg_d)
|
||||
|
||||
|
||||
@dataclasses.dataclass
|
||||
|
||||
@ -14,7 +14,6 @@ import scipy.signal
|
||||
from cupyx.scipy.fft import dctn, idctn
|
||||
from scipy.stats import norm as norms
|
||||
|
||||
|
||||
from flandre.utils.RfFile import RfFrame, RfSequenceMeta
|
||||
from flandre.utils.RfMeta import RfFrameMeta
|
||||
|
||||
@ -61,6 +60,10 @@ class RfMat:
|
||||
return RfMat(self.m.copy(), self.frame_meta, self.seq_meta)
|
||||
return RfMat(data, self.frame_meta, self.seq_meta)
|
||||
|
||||
@property
|
||||
def duration(self):
|
||||
return self.m.shape[1]
|
||||
|
||||
@property
|
||||
def p(self):
|
||||
if self.device == 'cpu':
|
||||
@ -182,6 +185,11 @@ class RfMat:
|
||||
raise NotImplementedError()
|
||||
return self.copy(idct(m_dct))
|
||||
|
||||
def dct_center(self, center, bandwidth):
|
||||
mmin = max(0, int(center - bandwidth / 2))
|
||||
mmax = min(self.duration, int(center + bandwidth / 2))
|
||||
return self.dct(mmin, mmax)
|
||||
|
||||
def argrelextrema(self, axis=1):
|
||||
arg = scipy.signal.argrelextrema
|
||||
m = self.m
|
||||
@ -216,6 +224,5 @@ class RfMat:
|
||||
return self.copy(rm)
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
cp.zeros((1, 2, 3)) + 1
|
||||
|
||||
Loading…
Reference in New Issue
Block a user