add tgc g1-g8 and midi

This commit is contained in:
remilia 2025-04-16 23:31:52 +08:00
parent bc776418a1
commit 2aab992ed3
10 changed files with 1287 additions and 1091 deletions

View File

@ -39,8 +39,17 @@ class Beamformer(Node):
.call(cp.asarray, order='C')
.argrelextrema()
.conv_guass(b=arg.beta * 0.01)
.time_gain_compensation_linear_float(10)
.crop_center(arg.t_start, arg.t_end)
.time_gain_compensation([
( (1 - arg.g1 * (1.0 / 128))** 2),
( (1 - arg.g2 * (1.0 / 128))** 2),
( (1 - arg.g3 * (1.0 / 128))** 2),
( (1 - arg.g4 * (1.0 / 128))** 2),
( (1 - arg.g5 * (1.0 / 128))** 2),
( (1 - arg.g6 * (1.0 / 128))** 2),
( (1 - arg.g7 * (1.0 / 128))** 2),
( (1 - arg.g8 * (1.0 / 128))** 2),
])
.rotate90()
.grey()
.cpu()

View File

@ -381,6 +381,24 @@ class Adv(QMainWindow, Ui_MainWindow):
self.sp_dct_bandwidth.setValue(msg.dct_bandwidth)
self.sp_beta.setValue(msg.beta)
self.s_g1.setValue(msg.g1)
self.s_g2.setValue(msg.g2)
self.s_g3.setValue(msg.g3)
self.s_g4.setValue(msg.g4)
self.s_g5.setValue(msg.g5)
self.s_g6.setValue(msg.g6)
self.s_g7.setValue(msg.g7)
self.s_g8.setValue(msg.g8)
self.sp_g1.setValue(msg.g1)
self.sp_g2.setValue(msg.g2)
self.sp_g3.setValue(msg.g3)
self.sp_g4.setValue(msg.g4)
self.sp_g5.setValue(msg.g5)
self.sp_g6.setValue(msg.g6)
self.sp_g7.setValue(msg.g7)
self.sp_g8.setValue(msg.g8)
elif isinstance(msg, MoveAxisMsg):
@ -520,6 +538,60 @@ class Adv(QMainWindow, Ui_MainWindow):
self.arg.v2 = v
self.p.send(self.arg)
@pyqtSlot(int)
def on_s_tgc_valueChanged(self, v):
if self.s_tgc.sender() is None:
self.arg.tgc = v
self.p.send(self.arg)
@pyqtSlot(int)
def on_s_g1_valueChanged(self, v):
if self.s_g1.sender() is None:
self.arg.g1 = v
self.p.send(self.arg)
@pyqtSlot(int)
def on_s_g2_valueChanged(self, v):
if self.s_g2.sender() is None:
self.arg.g2 = v
self.p.send(self.arg)
@pyqtSlot(int)
def on_s_g3_valueChanged(self, v):
if self.s_g3.sender() is None:
self.arg.g3 = v
self.p.send(self.arg)
@pyqtSlot(int)
def on_s_g4_valueChanged(self, v):
if self.s_g4.sender() is None:
self.arg.g4 = v
self.p.send(self.arg)
@pyqtSlot(int)
def on_s_g5_valueChanged(self, v):
if self.s_g5.sender() is None:
self.arg.g5 = v
self.p.send(self.arg)
@pyqtSlot(int)
def on_s_g6_valueChanged(self, v):
if self.s_g6.sender() is None:
self.arg.g6 = v
self.p.send(self.arg)
@pyqtSlot(int)
def on_s_g7_valueChanged(self, v):
if self.s_g7.sender() is None:
self.arg.g7 = v
self.p.send(self.arg)
@pyqtSlot(int)
def on_s_g8_valueChanged(self, v):
if self.s_g8.sender() is None:
self.arg.g8 = v
self.p.send(self.arg)
@pyqtSlot(int)
def on_t_start(self, v):
if self.s_t_end.sender() is None:

View File

@ -46,7 +46,6 @@ class Midi(Node):
def midi_event_loop(self):
while self.do_loop:
midi_msg: Message = self.m_input.receive()
print(midi_msg)
d = midi_msg.dict()
match d['type']:
case 'pitchwheel':
@ -55,8 +54,8 @@ class Midi(Node):
pitch = int(d['pitch'] / 128) + 64
if channel not in self.last_pitch:
self.last_pitch[channel] = pitch
elif abs(pitch - self.last_pitch[channel]) > 5:
pass
# elif abs(pitch - self.last_pitch[channel]) > 5:
# pass
else:
self.last_pitch[channel] = pitch
# pitch_p = int(pitch / 127)
@ -84,8 +83,21 @@ class Midi(Node):
case 'pitchwheel':
match msg.channel:
case 0:
self.arg.v2 = int(100 + 6000 * (msg.pitch / 127))
# print(msg.pitch)
self.arg.g1 = msg.pitch
case 1:
self.arg.g2 = msg.pitch
case 2:
self.arg.g3 = msg.pitch
case 3:
self.arg.g4 = msg.pitch
case 4:
self.arg.g5 = msg.pitch
case 5:
self.arg.g6 = msg.pitch
case 6:
self.arg.g7 = msg.pitch
case 7:
self.arg.g8 = msg.pitch
self.send(self.arg)
case 'control_change':
match msg.control:
@ -95,6 +107,16 @@ class Midi(Node):
self.arg.t_end = sorted((1, self.arg.t_end + msg.value * 10, self.m_t_end))[1]
case 2:
self.arg.v2 = sorted((500, self.arg.v2 + msg.value * 10, 7000))[1]
case 3:
self.arg.dct_center = sorted((500, self.arg.dct_center + msg.value * 10, self.m_dct_center))[1]
case 4:
self.arg.dct_bandwidth = sorted((500, self.arg.dct_bandwidth + msg.value * 10, self.m_dct_bandwidth))[1]
case 5:
self.arg.f_rows = sorted((500, self.arg.f_rows + msg.value * 10, self.m_f_rows))[1]
case 6:
self.arg.beta = sorted((1, self.arg.beta + msg.value, 60))[1]
case 7:
self.arg.tgc = sorted((1, self.arg.tgc + msg.value, 127))[1]
case 'note_on':
self.sid += 1
self.send(SetSidMsg(self.sid))

View File

@ -47,6 +47,8 @@ class Muxer(Node):
if self.play_mode == 'live':
self.req_driver_socket.send(struct.pack('i', Device.magic) + struct.pack('i', DeviceCmd.GetData.value))
self.driver_data_raw = self.req_driver_socket.recv()
else:
time.sleep(1)
def handle_rep_socket(self):
self.rep_socket.recv()

View File

@ -60,7 +60,7 @@ class Node:
def __call__(self, *args, **kwargs):
self.setup()
if not self.broker:
time.sleep(0.2)
time.sleep(1)
self.send(NodeOnlineMsg(self.__class__.__name__))
# input('asdasd')
msg = self.recv()

View File

@ -12,11 +12,154 @@ from PyQt6 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(1238, 1044)
MainWindow.resize(1238, 1082)
self.centralwidget = QtWidgets.QWidget(parent=MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
self.gridLayout.setObjectName("gridLayout")
self.gridLayout_5 = QtWidgets.QGridLayout()
self.gridLayout_5.setObjectName("gridLayout_5")
self.label_35 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_35.setObjectName("label_35")
self.gridLayout_5.addWidget(self.label_35, 9, 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.s_beta = QtWidgets.QSlider(parent=self.centralwidget)
self.s_beta.setMinimum(1)
self.s_beta.setMaximum(60)
self.s_beta.setProperty("value", 10)
self.s_beta.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.s_beta.setObjectName("s_beta")
self.gridLayout_5.addWidget(self.s_beta, 9, 1, 1, 1)
self.sp_beta = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_beta.setMaximum(60)
self.sp_beta.setObjectName("sp_beta")
self.gridLayout_5.addWidget(self.sp_beta, 9, 2, 1, 1)
self.sp_crop_center = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_crop_center.setMaximum(9999)
self.sp_crop_center.setObjectName("sp_crop_center")
self.gridLayout_5.addWidget(self.sp_crop_center, 3, 2, 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.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.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.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.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_v2 = QtWidgets.QSlider(parent=self.centralwidget)
self.s_v2.setMinimum(500)
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)
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
self.gridLayout_5.addItem(spacerItem, 11, 1, 1, 1)
self.sp_f_rows = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_f_rows.setMaximum(7000)
self.sp_f_rows.setObjectName("sp_f_rows")
self.gridLayout_5.addWidget(self.sp_f_rows, 8, 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.sp_dct_center = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_dct_center.setMaximum(9999)
self.sp_dct_center.setObjectName("sp_dct_center")
self.gridLayout_5.addWidget(self.sp_dct_center, 6, 2, 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.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.sp_v2 = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_v2.setMinimum(500)
self.sp_v2.setMaximum(7000)
self.sp_v2.setObjectName("sp_v2")
self.gridLayout_5.addWidget(self.sp_v2, 5, 2, 1, 1)
self.sp_dct_bandwidth = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_dct_bandwidth.setMaximum(9999)
self.sp_dct_bandwidth.setObjectName("sp_dct_bandwidth")
self.gridLayout_5.addWidget(self.sp_dct_bandwidth, 7, 2, 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.horizontalLayout_3 = QtWidgets.QHBoxLayout()
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
self.label_27 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_27.setObjectName("label_27")
self.horizontalLayout_3.addWidget(self.label_27)
self.c_imaging_config = QtWidgets.QComboBox(parent=self.centralwidget)
self.c_imaging_config.setObjectName("c_imaging_config")
self.horizontalLayout_3.addWidget(self.c_imaging_config)
self.b_new_imaging_config = QtWidgets.QPushButton(parent=self.centralwidget)
self.b_new_imaging_config.setObjectName("b_new_imaging_config")
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.sp_crop_width = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_crop_width.setMaximum(9999)
self.sp_crop_width.setObjectName("sp_crop_width")
self.gridLayout_5.addWidget(self.sp_crop_width, 4, 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.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.label_36 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_36.setObjectName("label_36")
self.gridLayout_5.addWidget(self.label_36, 10, 0, 1, 1)
self.s_tgc = QtWidgets.QSlider(parent=self.centralwidget)
self.s_tgc.setMinimum(1)
self.s_tgc.setMaximum(100)
self.s_tgc.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.s_tgc.setObjectName("s_tgc")
self.gridLayout_5.addWidget(self.s_tgc, 10, 1, 1, 1)
self.sp_tgc = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_tgc.setObjectName("sp_tgc")
self.gridLayout_5.addWidget(self.sp_tgc, 10, 2, 1, 1)
self.gridLayout.addLayout(self.gridLayout_5, 3, 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)
self.g_cap = QtWidgets.QGroupBox(parent=self.centralwidget)
self.g_cap.setEnabled(False)
self.g_cap.setObjectName("g_cap")
@ -121,258 +264,6 @@ class Ui_MainWindow(object):
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"
"border-radius: 7px;\n"
"}")
self.g_us.setObjectName("g_us")
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.g_us)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.horizontalLayout_9 = QtWidgets.QHBoxLayout()
self.horizontalLayout_9.setObjectName("horizontalLayout_9")
self.label_30 = QtWidgets.QLabel(parent=self.g_us)
font = QtGui.QFont()
font.setPointSize(15)
self.label_30.setFont(font)
self.label_30.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
self.label_30.setObjectName("label_30")
self.horizontalLayout_9.addWidget(self.label_30)
self.b_us_refresh = QtWidgets.QPushButton(parent=self.g_us)
self.b_us_refresh.setText("")
self.b_us_refresh.setObjectName("b_us_refresh")
self.horizontalLayout_9.addWidget(self.b_us_refresh)
self.b_us_switch = QtWidgets.QPushButton(parent=self.g_us)
self.b_us_switch.setText("")
self.b_us_switch.setObjectName("b_us_switch")
self.horizontalLayout_9.addWidget(self.b_us_switch)
self.horizontalLayout_9.setStretch(0, 1)
self.verticalLayout_2.addLayout(self.horizontalLayout_9)
self.g_device = QtWidgets.QGroupBox(parent=self.g_us)
self.g_device.setEnabled(True)
self.g_device.setTitle("")
self.g_device.setObjectName("g_device")
self.verticalLayout = QtWidgets.QVBoxLayout(self.g_device)
self.verticalLayout.setObjectName("verticalLayout")
self.gridLayout_8 = QtWidgets.QGridLayout()
self.gridLayout_8.setObjectName("gridLayout_8")
self.b_device_connection = QtWidgets.QPushButton(parent=self.g_device)
self.b_device_connection.setObjectName("b_device_connection")
self.gridLayout_8.addWidget(self.b_device_connection, 1, 1, 1, 1)
self.lb_device_connection = QtWidgets.QLabel(parent=self.g_device)
self.lb_device_connection.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
self.lb_device_connection.setObjectName("lb_device_connection")
self.gridLayout_8.addWidget(self.lb_device_connection, 0, 1, 1, 1)
self.lb_device_enable = QtWidgets.QLabel(parent=self.g_device)
self.lb_device_enable.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
self.lb_device_enable.setObjectName("lb_device_enable")
self.gridLayout_8.addWidget(self.lb_device_enable, 0, 3, 1, 1)
self.b_device_enable = QtWidgets.QPushButton(parent=self.g_device)
self.b_device_enable.setEnabled(False)
self.b_device_enable.setObjectName("b_device_enable")
self.gridLayout_8.addWidget(self.b_device_enable, 1, 3, 1, 1)
self.label_24 = QtWidgets.QLabel(parent=self.g_device)
self.label_24.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
self.label_24.setObjectName("label_24")
self.gridLayout_8.addWidget(self.label_24, 0, 2, 2, 1)
self.label_21 = QtWidgets.QLabel(parent=self.g_device)
self.label_21.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
self.label_21.setObjectName("label_21")
self.gridLayout_8.addWidget(self.label_21, 0, 0, 2, 1)
self.gridLayout_8.setColumnStretch(1, 1)
self.gridLayout_8.setColumnStretch(3, 1)
self.verticalLayout.addLayout(self.gridLayout_8)
self.gridLayout_7 = QtWidgets.QGridLayout()
self.gridLayout_7.setObjectName("gridLayout_7")
self.label_32 = QtWidgets.QLabel(parent=self.g_device)
self.label_32.setObjectName("label_32")
self.gridLayout_7.addWidget(self.label_32, 1, 0, 1, 1)
self.c_live_seq_name = QtWidgets.QComboBox(parent=self.g_device)
self.c_live_seq_name.setEnabled(False)
self.c_live_seq_name.setObjectName("c_live_seq_name")
self.c_live_seq_name.addItem("")
self.gridLayout_7.addWidget(self.c_live_seq_name, 0, 1, 1, 1)
self.label_20 = QtWidgets.QLabel(parent=self.g_device)
self.label_20.setObjectName("label_20")
self.gridLayout_7.addWidget(self.label_20, 0, 0, 1, 1)
self.b_live_seq_apply = QtWidgets.QPushButton(parent=self.g_device)
self.b_live_seq_apply.setObjectName("b_live_seq_apply")
self.gridLayout_7.addWidget(self.b_live_seq_apply, 0, 2, 1, 1)
self.l_live_seq_name = QtWidgets.QLabel(parent=self.g_device)
self.l_live_seq_name.setObjectName("l_live_seq_name")
self.gridLayout_7.addWidget(self.l_live_seq_name, 1, 1, 1, 2)
self.gridLayout_7.setColumnStretch(1, 1)
self.verticalLayout.addLayout(self.gridLayout_7)
self.b_device_zero = QtWidgets.QPushButton(parent=self.g_device)
self.b_device_zero.setObjectName("b_device_zero")
self.verticalLayout.addWidget(self.b_device_zero)
self.verticalLayout.setStretch(1, 1)
self.verticalLayout_2.addWidget(self.g_device)
self.verticalLayout_2.setStretch(1, 1)
self.gridLayout.addWidget(self.g_us, 0, 0, 1, 1)
self.gridLayout_4 = QtWidgets.QGridLayout()
self.gridLayout_4.setObjectName("gridLayout_4")
self.label_14 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_14.setObjectName("label_14")
self.gridLayout_4.addWidget(self.label_14, 6, 0, 1, 1)
self.horizontalSlider_5 = QtWidgets.QSlider(parent=self.centralwidget)
self.horizontalSlider_5.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.horizontalSlider_5.setObjectName("horizontalSlider_5")
self.gridLayout_4.addWidget(self.horizontalSlider_5, 2, 1, 1, 1)
self.label_13 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_13.setObjectName("label_13")
self.gridLayout_4.addWidget(self.label_13, 5, 0, 1, 1)
self.horizontalSlider_6 = QtWidgets.QSlider(parent=self.centralwidget)
self.horizontalSlider_6.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.horizontalSlider_6.setObjectName("horizontalSlider_6")
self.gridLayout_4.addWidget(self.horizontalSlider_6, 3, 1, 1, 1)
self.label_3 = QtWidgets.QLabel(parent=self.centralwidget)
font = QtGui.QFont()
font.setPointSize(20)
font.setBold(False)
self.label_3.setFont(font)
self.label_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
self.label_3.setObjectName("label_3")
self.gridLayout_4.addWidget(self.label_3, 0, 0, 1, 3)
self.spinBox_9 = QtWidgets.QSpinBox(parent=self.centralwidget)
self.spinBox_9.setObjectName("spinBox_9")
self.gridLayout_4.addWidget(self.spinBox_9, 5, 2, 1, 1)
self.spinBox_5 = QtWidgets.QSpinBox(parent=self.centralwidget)
self.spinBox_5.setObjectName("spinBox_5")
self.gridLayout_4.addWidget(self.spinBox_5, 2, 2, 1, 1)
self.spinBox_11 = QtWidgets.QSpinBox(parent=self.centralwidget)
self.spinBox_11.setObjectName("spinBox_11")
self.gridLayout_4.addWidget(self.spinBox_11, 7, 2, 1, 1)
self.spinBox_10 = QtWidgets.QSpinBox(parent=self.centralwidget)
self.spinBox_10.setObjectName("spinBox_10")
self.gridLayout_4.addWidget(self.spinBox_10, 6, 2, 1, 1)
self.horizontalSlider_7 = QtWidgets.QSlider(parent=self.centralwidget)
self.horizontalSlider_7.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.horizontalSlider_7.setObjectName("horizontalSlider_7")
self.gridLayout_4.addWidget(self.horizontalSlider_7, 7, 1, 1, 1)
self.horizontalSlider_10 = QtWidgets.QSlider(parent=self.centralwidget)
self.horizontalSlider_10.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.horizontalSlider_10.setObjectName("horizontalSlider_10")
self.gridLayout_4.addWidget(self.horizontalSlider_10, 4, 1, 1, 1)
self.label_9 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_9.setObjectName("label_9")
self.gridLayout_4.addWidget(self.label_9, 2, 0, 1, 1)
self.horizontalSlider_9 = QtWidgets.QSlider(parent=self.centralwidget)
self.horizontalSlider_9.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.horizontalSlider_9.setObjectName("horizontalSlider_9")
self.gridLayout_4.addWidget(self.horizontalSlider_9, 5, 1, 1, 1)
self.label_10 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_10.setObjectName("label_10")
self.gridLayout_4.addWidget(self.label_10, 3, 0, 1, 1)
self.spinBox_6 = QtWidgets.QSpinBox(parent=self.centralwidget)
self.spinBox_6.setObjectName("spinBox_6")
self.gridLayout_4.addWidget(self.spinBox_6, 3, 2, 1, 1)
self.spinBox_4 = QtWidgets.QSpinBox(parent=self.centralwidget)
self.spinBox_4.setObjectName("spinBox_4")
self.gridLayout_4.addWidget(self.spinBox_4, 1, 2, 1, 1)
self.label_12 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_12.setObjectName("label_12")
self.gridLayout_4.addWidget(self.label_12, 4, 0, 1, 1)
self.spinBox_8 = QtWidgets.QSpinBox(parent=self.centralwidget)
self.spinBox_8.setObjectName("spinBox_8")
self.gridLayout_4.addWidget(self.spinBox_8, 4, 2, 1, 1)
self.label_11 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_11.setObjectName("label_11")
self.gridLayout_4.addWidget(self.label_11, 7, 0, 1, 1)
self.horizontalSlider_3 = QtWidgets.QSlider(parent=self.centralwidget)
self.horizontalSlider_3.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.horizontalSlider_3.setObjectName("horizontalSlider_3")
self.gridLayout_4.addWidget(self.horizontalSlider_3, 1, 1, 1, 1)
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
self.gridLayout_4.addItem(spacerItem, 8, 1, 1, 1)
self.label_8 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_8.setObjectName("label_8")
self.gridLayout_4.addWidget(self.label_8, 1, 0, 1, 1)
self.horizontalSlider_8 = QtWidgets.QSlider(parent=self.centralwidget)
self.horizontalSlider_8.setOrientation(QtCore.Qt.Orientation.Horizontal)
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)
self.cb_bscan.setChecked(True)
self.cb_bscan.setObjectName("cb_bscan")
self.horizontalLayout_6.addWidget(self.cb_bscan)
self.checkBox = QtWidgets.QCheckBox(parent=self.centralwidget)
self.checkBox.setObjectName("checkBox")
self.horizontalLayout_6.addWidget(self.checkBox)
self.b_test1 = QtWidgets.QPushButton(parent=self.centralwidget)
self.b_test1.setObjectName("b_test1")
self.horizontalLayout_6.addWidget(self.b_test1)
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_cobot = QtWidgets.QGroupBox(parent=self.centralwidget)
self.g_cobot.setStyleSheet("#g_cobot {\n"
" background: pink;\n"
@ -470,120 +361,251 @@ class Ui_MainWindow(object):
self.gridLayout_3.addLayout(self.horizontalLayout_10, 0, 0, 1, 1)
self.gridLayout_3.setRowStretch(1, 1)
self.gridLayout.addWidget(self.g_cobot, 0, 1, 2, 1)
self.gridLayout_5 = QtWidgets.QGridLayout()
self.gridLayout_5.setObjectName("gridLayout_5")
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.sp_crop_width = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_crop_width.setMaximum(9999)
self.sp_crop_width.setObjectName("sp_crop_width")
self.gridLayout_5.addWidget(self.sp_crop_width, 4, 2, 1, 1)
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
self.gridLayout_5.addItem(spacerItem2, 10, 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.sp_dct_bandwidth = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_dct_bandwidth.setMaximum(9999)
self.sp_dct_bandwidth.setObjectName("sp_dct_bandwidth")
self.gridLayout_5.addWidget(self.sp_dct_bandwidth, 7, 2, 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.horizontalLayout_3 = QtWidgets.QHBoxLayout()
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
self.label_27 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_27.setObjectName("label_27")
self.horizontalLayout_3.addWidget(self.label_27)
self.c_imaging_config = QtWidgets.QComboBox(parent=self.centralwidget)
self.c_imaging_config.setObjectName("c_imaging_config")
self.horizontalLayout_3.addWidget(self.c_imaging_config)
self.b_new_imaging_config = QtWidgets.QPushButton(parent=self.centralwidget)
self.b_new_imaging_config.setObjectName("b_new_imaging_config")
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.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.sp_v2 = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_v2.setMinimum(500)
self.sp_v2.setMaximum(7000)
self.sp_v2.setObjectName("sp_v2")
self.gridLayout_5.addWidget(self.sp_v2, 5, 2, 1, 1)
self.sp_dct_center = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_dct_center.setMaximum(9999)
self.sp_dct_center.setObjectName("sp_dct_center")
self.gridLayout_5.addWidget(self.sp_dct_center, 6, 2, 1, 1)
self.sp_f_rows = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_f_rows.setMaximum(7000)
self.sp_f_rows.setObjectName("sp_f_rows")
self.gridLayout_5.addWidget(self.sp_f_rows, 8, 2, 1, 1)
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.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(500)
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)
self.g_us = QtWidgets.QGroupBox(parent=self.centralwidget)
self.g_us.setStyleSheet("#g_us{\n"
" background: pink;\n"
"border-radius: 7px;\n"
"}")
self.g_us.setObjectName("g_us")
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.g_us)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.horizontalLayout_9 = QtWidgets.QHBoxLayout()
self.horizontalLayout_9.setObjectName("horizontalLayout_9")
self.label_30 = QtWidgets.QLabel(parent=self.g_us)
font = QtGui.QFont()
font.setPointSize(15)
self.label_30.setFont(font)
self.label_30.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
self.label_30.setObjectName("label_30")
self.horizontalLayout_9.addWidget(self.label_30)
self.b_us_refresh = QtWidgets.QPushButton(parent=self.g_us)
self.b_us_refresh.setText("")
self.b_us_refresh.setObjectName("b_us_refresh")
self.horizontalLayout_9.addWidget(self.b_us_refresh)
self.b_us_switch = QtWidgets.QPushButton(parent=self.g_us)
self.b_us_switch.setText("")
self.b_us_switch.setObjectName("b_us_switch")
self.horizontalLayout_9.addWidget(self.b_us_switch)
self.horizontalLayout_9.setStretch(0, 1)
self.verticalLayout_2.addLayout(self.horizontalLayout_9)
self.g_device = QtWidgets.QGroupBox(parent=self.g_us)
self.g_device.setEnabled(True)
self.g_device.setTitle("")
self.g_device.setObjectName("g_device")
self.verticalLayout = QtWidgets.QVBoxLayout(self.g_device)
self.verticalLayout.setObjectName("verticalLayout")
self.gridLayout_8 = QtWidgets.QGridLayout()
self.gridLayout_8.setObjectName("gridLayout_8")
self.b_device_connection = QtWidgets.QPushButton(parent=self.g_device)
self.b_device_connection.setObjectName("b_device_connection")
self.gridLayout_8.addWidget(self.b_device_connection, 1, 1, 1, 1)
self.lb_device_connection = QtWidgets.QLabel(parent=self.g_device)
self.lb_device_connection.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
self.lb_device_connection.setObjectName("lb_device_connection")
self.gridLayout_8.addWidget(self.lb_device_connection, 0, 1, 1, 1)
self.lb_device_enable = QtWidgets.QLabel(parent=self.g_device)
self.lb_device_enable.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
self.lb_device_enable.setObjectName("lb_device_enable")
self.gridLayout_8.addWidget(self.lb_device_enable, 0, 3, 1, 1)
self.b_device_enable = QtWidgets.QPushButton(parent=self.g_device)
self.b_device_enable.setEnabled(False)
self.b_device_enable.setObjectName("b_device_enable")
self.gridLayout_8.addWidget(self.b_device_enable, 1, 3, 1, 1)
self.label_24 = QtWidgets.QLabel(parent=self.g_device)
self.label_24.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
self.label_24.setObjectName("label_24")
self.gridLayout_8.addWidget(self.label_24, 0, 2, 2, 1)
self.label_21 = QtWidgets.QLabel(parent=self.g_device)
self.label_21.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
self.label_21.setObjectName("label_21")
self.gridLayout_8.addWidget(self.label_21, 0, 0, 2, 1)
self.gridLayout_8.setColumnStretch(1, 1)
self.gridLayout_8.setColumnStretch(3, 1)
self.verticalLayout.addLayout(self.gridLayout_8)
self.gridLayout_7 = QtWidgets.QGridLayout()
self.gridLayout_7.setObjectName("gridLayout_7")
self.label_32 = QtWidgets.QLabel(parent=self.g_device)
self.label_32.setObjectName("label_32")
self.gridLayout_7.addWidget(self.label_32, 1, 0, 1, 1)
self.c_live_seq_name = QtWidgets.QComboBox(parent=self.g_device)
self.c_live_seq_name.setEnabled(False)
self.c_live_seq_name.setObjectName("c_live_seq_name")
self.c_live_seq_name.addItem("")
self.gridLayout_7.addWidget(self.c_live_seq_name, 0, 1, 1, 1)
self.label_20 = QtWidgets.QLabel(parent=self.g_device)
self.label_20.setObjectName("label_20")
self.gridLayout_7.addWidget(self.label_20, 0, 0, 1, 1)
self.b_live_seq_apply = QtWidgets.QPushButton(parent=self.g_device)
self.b_live_seq_apply.setObjectName("b_live_seq_apply")
self.gridLayout_7.addWidget(self.b_live_seq_apply, 0, 2, 1, 1)
self.l_live_seq_name = QtWidgets.QLabel(parent=self.g_device)
self.l_live_seq_name.setObjectName("l_live_seq_name")
self.gridLayout_7.addWidget(self.l_live_seq_name, 1, 1, 1, 2)
self.gridLayout_7.setColumnStretch(1, 1)
self.verticalLayout.addLayout(self.gridLayout_7)
self.b_device_zero = QtWidgets.QPushButton(parent=self.g_device)
self.b_device_zero.setObjectName("b_device_zero")
self.verticalLayout.addWidget(self.b_device_zero)
self.verticalLayout.setStretch(1, 1)
self.verticalLayout_2.addWidget(self.g_device)
self.verticalLayout_2.setStretch(1, 1)
self.gridLayout.addWidget(self.g_us, 0, 0, 1, 1)
self.gridLayout_4 = QtWidgets.QGridLayout()
self.gridLayout_4.setObjectName("gridLayout_4")
self.s_g3 = QtWidgets.QSlider(parent=self.centralwidget)
self.s_g3.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.s_g3.setObjectName("s_g3")
self.gridLayout_4.addWidget(self.s_g3, 3, 1, 1, 1)
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
self.gridLayout_4.addItem(spacerItem1, 9, 1, 1, 1)
self.label_14 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_14.setObjectName("label_14")
self.gridLayout_4.addWidget(self.label_14, 6, 0, 1, 1)
self.label_12 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_12.setObjectName("label_12")
self.gridLayout_4.addWidget(self.label_12, 4, 0, 1, 1)
self.label_3 = 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.sp_crop_center = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_crop_center.setMaximum(9999)
self.sp_crop_center.setObjectName("sp_crop_center")
self.gridLayout_5.addWidget(self.sp_crop_center, 3, 2, 1, 1)
self.s_beta = QtWidgets.QSlider(parent=self.centralwidget)
self.s_beta.setMinimum(1)
self.s_beta.setMaximum(30)
self.s_beta.setProperty("value", 10)
self.s_beta.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.s_beta.setObjectName("s_beta")
self.gridLayout_5.addWidget(self.s_beta, 9, 1, 1, 1)
self.label_35 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_35.setObjectName("label_35")
self.gridLayout_5.addWidget(self.label_35, 9, 0, 1, 1)
self.sp_beta = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_beta.setMaximum(9999)
self.sp_beta.setObjectName("sp_beta")
self.gridLayout_5.addWidget(self.sp_beta, 9, 2, 1, 1)
self.gridLayout.addLayout(self.gridLayout_5, 3, 0, 1, 1)
self.label_3.setFont(font)
self.label_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
self.label_3.setObjectName("label_3")
self.gridLayout_4.addWidget(self.label_3, 0, 0, 1, 3)
self.label_13 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_13.setObjectName("label_13")
self.gridLayout_4.addWidget(self.label_13, 5, 0, 1, 1)
self.label_11 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_11.setObjectName("label_11")
self.gridLayout_4.addWidget(self.label_11, 7, 0, 1, 1)
self.label_8 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_8.setObjectName("label_8")
self.gridLayout_4.addWidget(self.label_8, 1, 0, 1, 1)
self.sp_g6 = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_g6.setObjectName("sp_g6")
self.gridLayout_4.addWidget(self.sp_g6, 6, 2, 1, 1)
self.sp_g4 = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_g4.setObjectName("sp_g4")
self.gridLayout_4.addWidget(self.sp_g4, 4, 2, 1, 1)
self.s_g7 = QtWidgets.QSlider(parent=self.centralwidget)
self.s_g7.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.s_g7.setObjectName("s_g7")
self.gridLayout_4.addWidget(self.s_g7, 7, 1, 1, 1)
self.sp_g2 = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_g2.setObjectName("sp_g2")
self.gridLayout_4.addWidget(self.sp_g2, 2, 2, 1, 1)
self.label_10 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_10.setObjectName("label_10")
self.gridLayout_4.addWidget(self.label_10, 3, 0, 1, 1)
self.sp_g3 = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_g3.setObjectName("sp_g3")
self.gridLayout_4.addWidget(self.sp_g3, 3, 2, 1, 1)
self.s_g6 = QtWidgets.QSlider(parent=self.centralwidget)
self.s_g6.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.s_g6.setObjectName("s_g6")
self.gridLayout_4.addWidget(self.s_g6, 6, 1, 1, 1)
self.label_9 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_9.setObjectName("label_9")
self.gridLayout_4.addWidget(self.label_9, 2, 0, 1, 1)
self.s_g5 = QtWidgets.QSlider(parent=self.centralwidget)
self.s_g5.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.s_g5.setObjectName("s_g5")
self.gridLayout_4.addWidget(self.s_g5, 5, 1, 1, 1)
self.s_g4 = QtWidgets.QSlider(parent=self.centralwidget)
self.s_g4.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.s_g4.setObjectName("s_g4")
self.gridLayout_4.addWidget(self.s_g4, 4, 1, 1, 1)
self.sp_g7 = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_g7.setObjectName("sp_g7")
self.gridLayout_4.addWidget(self.sp_g7, 7, 2, 1, 1)
self.sp_g1 = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_g1.setObjectName("sp_g1")
self.gridLayout_4.addWidget(self.sp_g1, 1, 2, 1, 1)
self.sp_g5 = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_g5.setObjectName("sp_g5")
self.gridLayout_4.addWidget(self.sp_g5, 5, 2, 1, 1)
self.s_g2 = QtWidgets.QSlider(parent=self.centralwidget)
self.s_g2.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.s_g2.setObjectName("s_g2")
self.gridLayout_4.addWidget(self.s_g2, 2, 1, 1, 1)
self.s_g1 = QtWidgets.QSlider(parent=self.centralwidget)
self.s_g1.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.s_g1.setObjectName("s_g1")
self.gridLayout_4.addWidget(self.s_g1, 1, 1, 1, 1)
self.s_g8 = QtWidgets.QSlider(parent=self.centralwidget)
self.s_g8.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.s_g8.setObjectName("s_g8")
self.gridLayout_4.addWidget(self.s_g8, 8, 1, 1, 1)
self.label_37 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_37.setObjectName("label_37")
self.gridLayout_4.addWidget(self.label_37, 8, 0, 1, 1)
self.sp_g8 = QtWidgets.QSpinBox(parent=self.centralwidget)
self.sp_g8.setObjectName("sp_g8")
self.gridLayout_4.addWidget(self.sp_g8, 8, 2, 1, 1)
self.gridLayout.addLayout(self.gridLayout_4, 3, 1, 1, 1)
self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
self.horizontalLayout_6.setObjectName("horizontalLayout_6")
self.cb_bscan = QtWidgets.QCheckBox(parent=self.centralwidget)
self.cb_bscan.setChecked(True)
self.cb_bscan.setObjectName("cb_bscan")
self.horizontalLayout_6.addWidget(self.cb_bscan)
self.checkBox = QtWidgets.QCheckBox(parent=self.centralwidget)
self.checkBox.setObjectName("checkBox")
self.horizontalLayout_6.addWidget(self.checkBox)
self.b_test1 = QtWidgets.QPushButton(parent=self.centralwidget)
self.b_test1.setObjectName("b_test1")
self.horizontalLayout_6.addWidget(self.b_test1)
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.horizontalLayout_6.addItem(spacerItem2)
self.gridLayout.addLayout(self.horizontalLayout_6, 5, 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.gridLayout.setRowStretch(0, 1)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(parent=MainWindow)
@ -600,6 +622,20 @@ class Ui_MainWindow(object):
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Scarlet Flandre Control Panel"))
self.label_35.setText(_translate("MainWindow", "beta"))
self.label_34.setText(_translate("MainWindow", "f_rows"))
self.label_7.setText(_translate("MainWindow", "dct_center"))
self.label_15.setText(_translate("MainWindow", "t_center"))
self.label_33.setText(_translate("MainWindow", "dct_bandwidth"))
self.label_6.setText(_translate("MainWindow", "v2"))
self.label_5.setText(_translate("MainWindow", "t_width"))
self.label_27.setText(_translate("MainWindow", "Profile"))
self.b_new_imaging_config.setText(_translate("MainWindow", "New"))
self.label_2.setText(_translate("MainWindow", "Imaging"))
self.label_36.setText(_translate("MainWindow", "tgc"))
self.label.setText(_translate("MainWindow", "Base Path"))
self.b_select_base.setText(_translate("MainWindow", "Select"))
self.b_base.setText(_translate("MainWindow", "Open"))
self.g_cap.setTitle(_translate("MainWindow", "Capture Source"))
self.g_live.setTitle(_translate("MainWindow", "Live"))
self.label_17.setText(_translate("MainWindow", "RecordName"))
@ -620,6 +656,9 @@ class Ui_MainWindow(object):
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_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"))
@ -633,37 +672,22 @@ class Ui_MainWindow(object):
self.b_live_seq_apply.setText(_translate("MainWindow", "Apply"))
self.l_live_seq_name.setText(_translate("MainWindow", "Empty"))
self.b_device_zero.setText(_translate("MainWindow", "Zero"))
self.label_14.setText(_translate("MainWindow", "Yal"))
self.label_13.setText(_translate("MainWindow", "Pitch"))
self.label_3.setText(_translate("MainWindow", "Probe Position"))
self.label_9.setText(_translate("MainWindow", "Y"))
self.label_10.setText(_translate("MainWindow", "Z"))
self.label_12.setText(_translate("MainWindow", "Roll"))
self.label_11.setText(_translate("MainWindow", "E"))
self.label_8.setText(_translate("MainWindow", "X"))
self.label.setText(_translate("MainWindow", "Base Path"))
self.b_select_base.setText(_translate("MainWindow", "Select"))
self.b_base.setText(_translate("MainWindow", "Open"))
self.label_14.setText(_translate("MainWindow", "G6"))
self.label_12.setText(_translate("MainWindow", "G4"))
self.label_3.setText(_translate("MainWindow", "TGC"))
self.label_13.setText(_translate("MainWindow", "G5"))
self.label_11.setText(_translate("MainWindow", "G7"))
self.label_8.setText(_translate("MainWindow", "G1"))
self.label_10.setText(_translate("MainWindow", "G3"))
self.label_9.setText(_translate("MainWindow", "G2"))
self.label_37.setText(_translate("MainWindow", "G8"))
self.cb_bscan.setText(_translate("MainWindow", "BSCAN"))
self.checkBox.setText(_translate("MainWindow", "FOCUS"))
self.b_test1.setText(_translate("MainWindow", "test1"))
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.cb_bscan.setText(_translate("MainWindow", "BSCAN"))
self.checkBox.setText(_translate("MainWindow", "FOCUS"))
self.b_test1.setText(_translate("MainWindow", "test1"))
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"))
self.label_35.setText(_translate("MainWindow", "beta"))
from flandre.pyqt.QJumpSlider import QJumpSlider

File diff suppressed because it is too large Load Diff

View File

@ -254,6 +254,16 @@ class ImageArgMsg(Msg):
dct_bandwidth: int = 0
f_rows: int = 0
beta: int = 10
tgc: int = 0
g1: int = 0
g2: int = 0
g3: int = 0
g4: int = 0
g5: int = 0
g6: int = 0
g7: int = 0
g8: int = 0
@staticmethod
def from_path(p: Path):

View File

@ -226,6 +226,10 @@ class RfMat:
def crop_center(self, center: float, width: float):
mmin = max(0, int(center - width / 2))
mmax = min(self.duration, int(center + width / 2))
mmin = min(mmin, self.duration - width)
mmax = max(mmax, width)
return self.crop(mmin, mmax)
def watermark(self, watermark=None):
@ -354,10 +358,30 @@ class RfMat:
return self.copy(self.m * addend)
def time_gain_compensation_linear(self, scale: float, start: int = 0):
self.m = self.m.astype(np.float32)
h = self.m.shape[-1]
addend = self.p.zeros((1, h), dtype=np.int64)
addend[:, start:] = self.p.arange(h - start) * scale
self.m += addend
self.m[:, start:] *= addend
s2 = self.m[:, h - 500:]
m1 = self.m[:, h - 500:].max()
m2 = m1 * scale
s2[s2 > m2] = m2
self.m[:, h - 500:] = s2 * (1 / scale)
return self
def time_gain_compensation(self, scales: list[float]):
self.m = self.m.astype(np.float32)
h = self.m.shape[-1]
block = h // scales.__len__()
ssss = 0
mmax = self.m.max()
for scale in scales:
s2 = self.m[:, ssss:ssss + block]
new_max = mmax * scale
s2[s2 > new_max] = new_max
self.m[:, ssss:ssss + block] = s2 * (mmax / new_max)
ssss += block
return self
def time_gain_compensation_linear_max(self, scale: float, mmax: int | None = None, start: int = 0):

File diff suppressed because one or more lines are too long