Compare commits

...

3 Commits

6 changed files with 384 additions and 122 deletions

View File

@ -293,14 +293,20 @@ class MainWindow_bcg_quality_label(QMainWindow):
if (sender == self.ui.pushButton_input or if (sender == self.ui.pushButton_input or
sender == self.ui.pushButton_prev or sender == self.ui.pushButton_prev or
sender == self.ui.pushButton_next or sender == self.ui.pushButton_next or
self.ui.tableWidget_a1 or sender == self.ui.tableWidget_a1 or
self.ui.tableWidget_a2 or sender == self.ui.tableWidget_a2 or
self.ui.tableWidget_b1 or sender == self.ui.tableWidget_b1 or
self.ui.tableWidget_b2 or sender == self.ui.tableWidget_b2 or
self.ui.tableWidget_c or sender == self.ui.tableWidget_c or
self.ui.tableWidget_f or sender == self.ui.tableWidget_f or
self.ui.checkBox_highlight_longest_continuous or sender == self.ui.checkBox_highlight_longest_continuous or
self.ui.checkBox_display_afterfilter): sender == self.ui.checkBox_display_afterfilter or
sender == self.ui.checkBox_allin or
sender == self.ui.checkBox_type1 or
sender == self.ui.checkBox_type2 or
sender == self.ui.checkBox_type3 or
sender == self.ui.checkBox_type4 or
sender == self.ui.checkBox_type5):
try: try:
artifact_type_seq = array([]) artifact_type_seq = array([])
artifact_type_seq = artifact_type_seq.astype(int64) artifact_type_seq = artifact_type_seq.astype(int64)
@ -1024,7 +1030,16 @@ class Data():
artifact_end = append(artifact_end, self.Artifact_a[i]) artifact_end = append(artifact_end, self.Artifact_a[i])
self.artifact_mask = zeros(len(self.BCG)) self.artifact_mask = zeros(len(self.BCG))
for i in range(0, len(self.artifact_number)): for i in range(0, len(self.artifact_number)):
if self.artifact_type[i] == 1:
self.artifact_mask[artifact_start[i]: artifact_end[i] + 1] = 1 self.artifact_mask[artifact_start[i]: artifact_end[i] + 1] = 1
elif self.artifact_type[i] == 2:
self.artifact_mask[artifact_start[i]: artifact_end[i] + 1] = 2
elif self.artifact_type[i] == 3:
self.artifact_mask[artifact_start[i]: artifact_end[i] + 1] = 3
elif self.artifact_type[i] == 4:
self.artifact_mask[artifact_start[i]: artifact_end[i] + 1] = 4
elif self.artifact_type[i] == 5:
self.artifact_mask[artifact_start[i]: artifact_end[i] + 1] = 5
except Exception as e: except Exception as e:
return Result().failure(info=Constants.INPUT_FAILURE + return Result().failure(info=Constants.INPUT_FAILURE +
Constants.FAILURE_REASON["Get_Artifact_Format_Exception"] + "\n" + format_exc()) Constants.FAILURE_REASON["Get_Artifact_Format_Exception"] + "\n" + format_exc())

View File

@ -285,6 +285,12 @@ class MainWindow_resp_quality_label(QMainWindow):
self.ui.pushButton_reset.clicked.connect(self.__slot_btn_label__) self.ui.pushButton_reset.clicked.connect(self.__slot_btn_label__)
self.ui.lineEdit_filter_labeled.textChanged.connect(self.__slot_lineEdit_filter__) self.ui.lineEdit_filter_labeled.textChanged.connect(self.__slot_lineEdit_filter__)
self.ui.lineEdit_filter_tobelabeled.textChanged.connect(self.__slot_lineEdit_filter__) self.ui.lineEdit_filter_tobelabeled.textChanged.connect(self.__slot_lineEdit_filter__)
self.ui.checkBox_allin.clicked.connect(self.__slot_checkBox__)
self.ui.checkBox_type1.clicked.connect(self.__slot_checkBox__)
self.ui.checkBox_type2.clicked.connect(self.__slot_checkBox__)
self.ui.checkBox_type3.clicked.connect(self.__slot_checkBox__)
self.ui.checkBox_type4.clicked.connect(self.__slot_checkBox__)
self.ui.checkBox_type5.clicked.connect(self.__slot_checkBox__)
self.ui.doubleSpinBox_quality_threshold1.valueChanged.connect(self.update_config) self.ui.doubleSpinBox_quality_threshold1.valueChanged.connect(self.update_config)
self.ui.doubleSpinBox_quality_threshold2.valueChanged.connect(self.update_config) self.ui.doubleSpinBox_quality_threshold2.valueChanged.connect(self.update_config)
self.ui.doubleSpinBox_findpeaks_min_interval.valueChanged.connect(self.update_config) self.ui.doubleSpinBox_findpeaks_min_interval.valueChanged.connect(self.update_config)
@ -349,7 +355,13 @@ class MainWindow_resp_quality_label(QMainWindow):
sender == self.ui.pushButton_prev or sender == self.ui.pushButton_prev or
sender == self.ui.pushButton_next or sender == self.ui.pushButton_next or
sender == self.ui.tableWidget_labeled or sender == self.ui.tableWidget_labeled or
sender == self.ui.tableWidget_tobelabeled): sender == self.ui.tableWidget_tobelabeled or
sender == self.ui.checkBox_allin or
sender == self.ui.checkBox_type1 or
sender == self.ui.checkBox_type2 or
sender == self.ui.checkBox_type3 or
sender == self.ui.checkBox_type4 or
sender == self.ui.checkBox_type5):
try: try:
if Config["CurrentPartNum"] != Config["DataPartNum"]: if Config["CurrentPartNum"] != Config["DataPartNum"]:
begin_OrgBCG = Config["CurrentOrgBCGIndex"] begin_OrgBCG = Config["CurrentOrgBCGIndex"]
@ -385,15 +397,34 @@ class MainWindow_resp_quality_label(QMainWindow):
[self.data.Tho_peak_y[x] for x in [self.data.Tho_peak_y[x] for x in
[index for index, value in enumerate(self.data.Tho_peak) if begin_Tho <= value <= end_Tho]], 'ro', [index for index, value in enumerate(self.data.Tho_peak) if begin_Tho <= value <= end_Tho]], 'ro',
label=Constants.RESP_QUALITY_LABEL_PLOT_LABEL_THO_PEAKS) label=Constants.RESP_QUALITY_LABEL_PLOT_LABEL_THO_PEAKS)
# 绘制体动
artifact_type_seq = array([])
artifact_type_seq = artifact_type_seq.astype(int64)
if self.ui.checkBox_type1.isChecked():
artifact_type_seq = append(artifact_type_seq, 1)
if self.ui.checkBox_type2.isChecked():
artifact_type_seq = append(artifact_type_seq, 2)
if self.ui.checkBox_type3.isChecked():
artifact_type_seq = append(artifact_type_seq, 3)
if self.ui.checkBox_type4.isChecked():
artifact_type_seq = append(artifact_type_seq, 4)
if self.ui.checkBox_type5.isChecked():
artifact_type_seq = append(artifact_type_seq, 5)
length = Config["InputConfig"]["OrgBCGUseFreq"] * Params.RESP_QUALITY_LABEL_PARTS_TIME_SEC
mask = array([arange(length), arange(length), arange(length), arange(length), arange(length), arange(length)])
mask = mask.astype(float64)
for i in artifact_type_seq:
mask[i] = self.data.artifact_mask[begin_OrgBCG:end_OrgBCG] == i
mask[i] = (BDR[begin_OrgBCG:end_OrgBCG] * mask[i]).astype(float64)
place(mask[i], mask[i] == 0, nan)
self.ax0.plot(arange(begin_OrgBCG, end_OrgBCG), mask[i],
label=f"{Constants.RESP_QUALITY_LABEL_PLOT_LABEL_ARTIFACT}{i}", color=Constants.PLOT_COLOR_RED,
linestyle="-")
self.ax0.legend(loc=Constants.PLOT_UPPER_RIGHT) self.ax0.legend(loc=Constants.PLOT_UPPER_RIGHT)
self.ax1.legend(loc=Constants.PLOT_UPPER_RIGHT) self.ax1.legend(loc=Constants.PLOT_UPPER_RIGHT)
# 绘制体动
mask = self.data.artifact_mask[begin_OrgBCG: end_OrgBCG] == 1
mask = (BDR * mask).astype(float64)
place(mask, mask == 0, nan)
self.ax0.plot(arange(begin_OrgBCG, end_OrgBCG), mask,
label=f"{Constants.RESP_QUALITY_LABEL_PLOT_LABEL_ARTIFACT}",
color=Constants.PLOT_COLOR_PINK, linestyle="-")
# 绘制频谱 # 绘制频谱
self.ax0_spectrum.plot(bcg_freq, bcg_spectrum, self.ax0_spectrum.plot(bcg_freq, bcg_spectrum,
label=Constants.RESP_QUALITY_LABEL_SPECTRUM_ORGBCG_LABEL, label=Constants.RESP_QUALITY_LABEL_SPECTRUM_ORGBCG_LABEL,
@ -952,6 +983,40 @@ class MainWindow_resp_quality_label(QMainWindow):
else: else:
raise ValueError("发生信号不存在") raise ValueError("发生信号不存在")
def __slot_checkBox__(self):
sender = self.sender()
if sender == self.ui.checkBox_allin:
if self.ui.checkBox_allin.isChecked():
self.ui.checkBox_type1.setChecked(True)
self.ui.checkBox_type2.setChecked(True)
self.ui.checkBox_type3.setChecked(True)
self.ui.checkBox_type4.setChecked(True)
self.ui.checkBox_type5.setChecked(True)
else:
self.ui.checkBox_type1.setChecked(False)
self.ui.checkBox_type2.setChecked(False)
self.ui.checkBox_type3.setChecked(False)
self.ui.checkBox_type4.setChecked(False)
self.ui.checkBox_type5.setChecked(False)
elif (sender == self.ui.checkBox_type1 or
sender == self.ui.checkBox_type2 or
sender == self.ui.checkBox_type3 or
sender == self.ui.checkBox_type4 or
sender == self.ui.checkBox_type5):
if (self.ui.checkBox_type1.isChecked() and
self.ui.checkBox_type2.isChecked() and
self.ui.checkBox_type3.isChecked() and
self.ui.checkBox_type4.isChecked() and
self.ui.checkBox_type5.isChecked()):
self.ui.checkBox_allin.setChecked(True)
else:
self.ui.checkBox_allin.setChecked(False)
else:
raise ValueError("发射信号不存在")
self.__plot__()
def reset_axes(self): def reset_axes(self):
if self.ax0 is not None: if self.ax0 is not None:
self.ax0.clear() self.ax0.clear()
@ -1372,7 +1437,16 @@ class Data():
artifact_end = append(artifact_end, self.Artifact_a[i]) artifact_end = append(artifact_end, self.Artifact_a[i])
self.artifact_mask = zeros(len(self.OrgBCG)) self.artifact_mask = zeros(len(self.OrgBCG))
for i in range(0, len(self.artifact_number)): for i in range(0, len(self.artifact_number)):
if self.artifact_type[i] == 1:
self.artifact_mask[artifact_start[i]: artifact_end[i] + 1] = 1 self.artifact_mask[artifact_start[i]: artifact_end[i] + 1] = 1
elif self.artifact_type[i] == 2:
self.artifact_mask[artifact_start[i]: artifact_end[i] + 1] = 2
elif self.artifact_type[i] == 3:
self.artifact_mask[artifact_start[i]: artifact_end[i] + 1] = 3
elif self.artifact_type[i] == 4:
self.artifact_mask[artifact_start[i]: artifact_end[i] + 1] = 4
elif self.artifact_type[i] == 5:
self.artifact_mask[artifact_start[i]: artifact_end[i] + 1] = 5
except Exception as e: except Exception as e:
return Result().failure(info=Constants.INPUT_FAILURE + return Result().failure(info=Constants.INPUT_FAILURE +
Constants.FAILURE_REASON["Get_Artifact_Format_Exception"] + "\n" + format_exc()) Constants.FAILURE_REASON["Get_Artifact_Format_Exception"] + "\n" + format_exc())

View File

@ -158,8 +158,8 @@ class Ui_MainWindow_bcg_quality_label(object):
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
self.groupBox_artifact_type = QGroupBox(self.groupBox_left) self.groupBox_artifact_type = QGroupBox(self.groupBox_left)
self.groupBox_artifact_type.setObjectName(u"groupBox_artifact_type") self.groupBox_artifact_type.setObjectName(u"groupBox_artifact_type")
self.gridLayout_6 = QGridLayout(self.groupBox_artifact_type) self.verticalLayout_3 = QVBoxLayout(self.groupBox_artifact_type)
self.gridLayout_6.setObjectName(u"gridLayout_6") self.verticalLayout_3.setObjectName(u"verticalLayout_3")
self.checkBox_allin = QCheckBox(self.groupBox_artifact_type) self.checkBox_allin = QCheckBox(self.groupBox_artifact_type)
self.checkBox_allin.setObjectName(u"checkBox_allin") self.checkBox_allin.setObjectName(u"checkBox_allin")
font2 = QFont() font2 = QFont()
@ -167,42 +167,42 @@ class Ui_MainWindow_bcg_quality_label(object):
self.checkBox_allin.setFont(font2) self.checkBox_allin.setFont(font2)
self.checkBox_allin.setChecked(True) self.checkBox_allin.setChecked(True)
self.gridLayout_6.addWidget(self.checkBox_allin, 0, 1, 1, 1) self.verticalLayout_3.addWidget(self.checkBox_allin)
self.checkBox_type1 = QCheckBox(self.groupBox_artifact_type) self.checkBox_type1 = QCheckBox(self.groupBox_artifact_type)
self.checkBox_type1.setObjectName(u"checkBox_type1") self.checkBox_type1.setObjectName(u"checkBox_type1")
self.checkBox_type1.setFont(font1) self.checkBox_type1.setFont(font1)
self.checkBox_type1.setChecked(True) self.checkBox_type1.setChecked(True)
self.gridLayout_6.addWidget(self.checkBox_type1, 0, 2, 1, 1) self.verticalLayout_3.addWidget(self.checkBox_type1)
self.checkBox_type2 = QCheckBox(self.groupBox_artifact_type) self.checkBox_type2 = QCheckBox(self.groupBox_artifact_type)
self.checkBox_type2.setObjectName(u"checkBox_type2") self.checkBox_type2.setObjectName(u"checkBox_type2")
self.checkBox_type2.setFont(font1) self.checkBox_type2.setFont(font1)
self.checkBox_type2.setChecked(True) self.checkBox_type2.setChecked(True)
self.gridLayout_6.addWidget(self.checkBox_type2, 1, 1, 1, 1) self.verticalLayout_3.addWidget(self.checkBox_type2)
self.checkBox_type3 = QCheckBox(self.groupBox_artifact_type) self.checkBox_type3 = QCheckBox(self.groupBox_artifact_type)
self.checkBox_type3.setObjectName(u"checkBox_type3") self.checkBox_type3.setObjectName(u"checkBox_type3")
self.checkBox_type3.setFont(font1) self.checkBox_type3.setFont(font1)
self.checkBox_type3.setChecked(True) self.checkBox_type3.setChecked(True)
self.gridLayout_6.addWidget(self.checkBox_type3, 1, 2, 1, 1) self.verticalLayout_3.addWidget(self.checkBox_type3)
self.checkBox_type4 = QCheckBox(self.groupBox_artifact_type) self.checkBox_type4 = QCheckBox(self.groupBox_artifact_type)
self.checkBox_type4.setObjectName(u"checkBox_type4") self.checkBox_type4.setObjectName(u"checkBox_type4")
self.checkBox_type4.setFont(font1) self.checkBox_type4.setFont(font1)
self.checkBox_type4.setChecked(True) self.checkBox_type4.setChecked(True)
self.gridLayout_6.addWidget(self.checkBox_type4, 2, 1, 1, 1) self.verticalLayout_3.addWidget(self.checkBox_type4)
self.checkBox_type5 = QCheckBox(self.groupBox_artifact_type) self.checkBox_type5 = QCheckBox(self.groupBox_artifact_type)
self.checkBox_type5.setObjectName(u"checkBox_type5") self.checkBox_type5.setObjectName(u"checkBox_type5")
self.checkBox_type5.setFont(font1) self.checkBox_type5.setFont(font1)
self.checkBox_type5.setChecked(True) self.checkBox_type5.setChecked(True)
self.gridLayout_6.addWidget(self.checkBox_type5, 2, 2, 1, 1) self.verticalLayout_3.addWidget(self.checkBox_type5)
self.horizontalLayout_2.addWidget(self.groupBox_artifact_type) self.horizontalLayout_2.addWidget(self.groupBox_artifact_type)
@ -510,11 +510,11 @@ class Ui_MainWindow_bcg_quality_label(object):
self.label_13.setText(QCoreApplication.translate("MainWindow_bcg_quality_label", u"\u4f53\u52a8\u65f6\u95f4\u5360\u6bd4", None)) self.label_13.setText(QCoreApplication.translate("MainWindow_bcg_quality_label", u"\u4f53\u52a8\u65f6\u95f4\u5360\u6bd4", None))
self.groupBox_artifact_type.setTitle(QCoreApplication.translate("MainWindow_bcg_quality_label", u"\u4f53\u52a8\u7c7b\u578b", None)) self.groupBox_artifact_type.setTitle(QCoreApplication.translate("MainWindow_bcg_quality_label", u"\u4f53\u52a8\u7c7b\u578b", None))
self.checkBox_allin.setText(QCoreApplication.translate("MainWindow_bcg_quality_label", u"\u5168\u9009", None)) self.checkBox_allin.setText(QCoreApplication.translate("MainWindow_bcg_quality_label", u"\u5168\u9009", None))
self.checkBox_type1.setText(QCoreApplication.translate("MainWindow_bcg_quality_label", u"\u7c7b\u578b1", None)) self.checkBox_type1.setText(QCoreApplication.translate("MainWindow_bcg_quality_label", u"\u7c7b\u578b1-\u5267\u70c8\u4f53\u52a8", None))
self.checkBox_type2.setText(QCoreApplication.translate("MainWindow_bcg_quality_label", u"\u7c7b\u578b2", None)) self.checkBox_type2.setText(QCoreApplication.translate("MainWindow_bcg_quality_label", u"\u7c7b\u578b2-\u8109\u51b2\u4f53\u52a8", None))
self.checkBox_type3.setText(QCoreApplication.translate("MainWindow_bcg_quality_label", u"\u7c7b\u578b3", None)) self.checkBox_type3.setText(QCoreApplication.translate("MainWindow_bcg_quality_label", u"\u7c7b\u578b3-\u5e38\u89c4\u4f53\u52a8", None))
self.checkBox_type4.setText(QCoreApplication.translate("MainWindow_bcg_quality_label", u"\u7c7b\u578b4", None)) self.checkBox_type4.setText(QCoreApplication.translate("MainWindow_bcg_quality_label", u"\u7c7b\u578b4-\u7591\u4f3c\u9f3e\u58f0", None))
self.checkBox_type5.setText(QCoreApplication.translate("MainWindow_bcg_quality_label", u"\u7c7b\u578b5", None)) self.checkBox_type5.setText(QCoreApplication.translate("MainWindow_bcg_quality_label", u"\u7c7b\u578b5-\u79bb\u5e8a", None))
self.groupBox_function.setTitle(QCoreApplication.translate("MainWindow_bcg_quality_label", u"\u529f\u80fd", None)) self.groupBox_function.setTitle(QCoreApplication.translate("MainWindow_bcg_quality_label", u"\u529f\u80fd", None))
self.pushButton_invalid_signal_label.setText(QCoreApplication.translate("MainWindow_bcg_quality_label", u"\u65e0\u6548\u4fe1\u53f7\u6807\u6ce8", None)) self.pushButton_invalid_signal_label.setText(QCoreApplication.translate("MainWindow_bcg_quality_label", u"\u65e0\u6548\u4fe1\u53f7\u6807\u6ce8", None))
self.pushButton_Ctype_signal_label.setText(QCoreApplication.translate("MainWindow_bcg_quality_label", u"C\u7c7b\u4fe1\u53f7\u6807\u6ce8", None)) self.pushButton_Ctype_signal_label.setText(QCoreApplication.translate("MainWindow_bcg_quality_label", u"C\u7c7b\u4fe1\u53f7\u6807\u6ce8", None))

View File

@ -245,8 +245,8 @@
<property name="title"> <property name="title">
<string>体动类型</string> <string>体动类型</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_6"> <layout class="QVBoxLayout" name="verticalLayout_3">
<item row="0" column="1"> <item>
<widget class="QCheckBox" name="checkBox_allin"> <widget class="QCheckBox" name="checkBox_allin">
<property name="font"> <property name="font">
<font> <font>
@ -261,7 +261,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="2"> <item>
<widget class="QCheckBox" name="checkBox_type1"> <widget class="QCheckBox" name="checkBox_type1">
<property name="font"> <property name="font">
<font> <font>
@ -269,14 +269,14 @@
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>类型1</string> <string>类型1-剧烈体动</string>
</property> </property>
<property name="checked"> <property name="checked">
<bool>true</bool> <bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="1"> <item>
<widget class="QCheckBox" name="checkBox_type2"> <widget class="QCheckBox" name="checkBox_type2">
<property name="font"> <property name="font">
<font> <font>
@ -284,14 +284,14 @@
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>类型2</string> <string>类型2-脉冲体动</string>
</property> </property>
<property name="checked"> <property name="checked">
<bool>true</bool> <bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="2"> <item>
<widget class="QCheckBox" name="checkBox_type3"> <widget class="QCheckBox" name="checkBox_type3">
<property name="font"> <property name="font">
<font> <font>
@ -299,14 +299,14 @@
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>类型3</string> <string>类型3-常规体动</string>
</property> </property>
<property name="checked"> <property name="checked">
<bool>true</bool> <bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1"> <item>
<widget class="QCheckBox" name="checkBox_type4"> <widget class="QCheckBox" name="checkBox_type4">
<property name="font"> <property name="font">
<font> <font>
@ -314,14 +314,14 @@
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>类型4</string> <string>类型4-疑似鼾声</string>
</property> </property>
<property name="checked"> <property name="checked">
<bool>true</bool> <bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="2"> <item>
<widget class="QCheckBox" name="checkBox_type5"> <widget class="QCheckBox" name="checkBox_type5">
<property name="font"> <property name="font">
<font> <font>
@ -329,7 +329,7 @@
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>类型5</string> <string>类型5-离床</string>
</property> </property>
<property name="checked"> <property name="checked">
<bool>true</bool> <bool>true</bool>

View File

@ -15,11 +15,11 @@ from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
QFont, QFontDatabase, QGradient, QIcon, QFont, QFontDatabase, QGradient, QIcon,
QImage, QKeySequence, QLinearGradient, QPainter, QImage, QKeySequence, QLinearGradient, QPainter,
QPalette, QPixmap, QRadialGradient, QTransform) QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QApplication, QDoubleSpinBox, QGridLayout, QGroupBox, from PySide6.QtWidgets import (QApplication, QCheckBox, QDoubleSpinBox, QGridLayout,
QHBoxLayout, QHeaderView, QLabel, QLineEdit, QGroupBox, QHBoxLayout, QHeaderView, QLabel,
QMainWindow, QPushButton, QRadioButton, QSizePolicy, QLineEdit, QMainWindow, QPushButton, QRadioButton,
QSpacerItem, QStatusBar, QTableWidget, QTableWidgetItem, QSizePolicy, QSpacerItem, QStatusBar, QTableWidget,
QTextBrowser, QVBoxLayout, QWidget) QTableWidgetItem, QTextBrowser, QVBoxLayout, QWidget)
class Ui_MainWindow_resp_quality_label(object): class Ui_MainWindow_resp_quality_label(object):
def setupUi(self, MainWindow_resp_quality_label): def setupUi(self, MainWindow_resp_quality_label):
@ -159,6 +159,59 @@ class Ui_MainWindow_resp_quality_label(object):
self.verticalLayout_2.addWidget(self.groupBox_autoqualitylabel_options) self.verticalLayout_2.addWidget(self.groupBox_autoqualitylabel_options)
self.horizontalLayout_2 = QHBoxLayout()
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
self.groupBox_artifact_type = QGroupBox(self.groupBox_left)
self.groupBox_artifact_type.setObjectName(u"groupBox_artifact_type")
self.verticalLayout_3 = QVBoxLayout(self.groupBox_artifact_type)
self.verticalLayout_3.setObjectName(u"verticalLayout_3")
self.checkBox_allin = QCheckBox(self.groupBox_artifact_type)
self.checkBox_allin.setObjectName(u"checkBox_allin")
font2 = QFont()
font2.setPointSize(20)
self.checkBox_allin.setFont(font2)
self.checkBox_allin.setChecked(True)
self.verticalLayout_3.addWidget(self.checkBox_allin)
self.checkBox_type1 = QCheckBox(self.groupBox_artifact_type)
self.checkBox_type1.setObjectName(u"checkBox_type1")
self.checkBox_type1.setFont(font1)
self.checkBox_type1.setChecked(True)
self.verticalLayout_3.addWidget(self.checkBox_type1)
self.checkBox_type2 = QCheckBox(self.groupBox_artifact_type)
self.checkBox_type2.setObjectName(u"checkBox_type2")
self.checkBox_type2.setFont(font1)
self.checkBox_type2.setChecked(True)
self.verticalLayout_3.addWidget(self.checkBox_type2)
self.checkBox_type3 = QCheckBox(self.groupBox_artifact_type)
self.checkBox_type3.setObjectName(u"checkBox_type3")
self.checkBox_type3.setFont(font1)
self.checkBox_type3.setChecked(True)
self.verticalLayout_3.addWidget(self.checkBox_type3)
self.checkBox_type4 = QCheckBox(self.groupBox_artifact_type)
self.checkBox_type4.setObjectName(u"checkBox_type4")
self.checkBox_type4.setFont(font1)
self.checkBox_type4.setChecked(True)
self.verticalLayout_3.addWidget(self.checkBox_type4)
self.checkBox_type5 = QCheckBox(self.groupBox_artifact_type)
self.checkBox_type5.setObjectName(u"checkBox_type5")
self.checkBox_type5.setFont(font1)
self.checkBox_type5.setChecked(True)
self.verticalLayout_3.addWidget(self.checkBox_type5)
self.horizontalLayout_2.addWidget(self.groupBox_artifact_type)
self.groupBox_findpeaks_options = QGroupBox(self.groupBox_left) self.groupBox_findpeaks_options = QGroupBox(self.groupBox_left)
self.groupBox_findpeaks_options.setObjectName(u"groupBox_findpeaks_options") self.groupBox_findpeaks_options.setObjectName(u"groupBox_findpeaks_options")
self.gridLayout_2 = QGridLayout(self.groupBox_findpeaks_options) self.gridLayout_2 = QGridLayout(self.groupBox_findpeaks_options)
@ -194,7 +247,11 @@ class Ui_MainWindow_resp_quality_label(object):
self.gridLayout_2.addWidget(self.doubleSpinBox_findpeaks_min_height, 1, 1, 1, 1) self.gridLayout_2.addWidget(self.doubleSpinBox_findpeaks_min_height, 1, 1, 1, 1)
self.verticalLayout_2.addWidget(self.groupBox_findpeaks_options) self.horizontalLayout_2.addWidget(self.groupBox_findpeaks_options)
self.horizontalLayout_2.setStretch(0, 2)
self.verticalLayout_2.addLayout(self.horizontalLayout_2)
self.groupBox_threshold_setting = QGroupBox(self.groupBox_left) self.groupBox_threshold_setting = QGroupBox(self.groupBox_left)
self.groupBox_threshold_setting.setObjectName(u"groupBox_threshold_setting") self.groupBox_threshold_setting.setObjectName(u"groupBox_threshold_setting")
@ -246,6 +303,7 @@ class Ui_MainWindow_resp_quality_label(object):
self.label_7 = QLabel(self.groupBox_threshold_setting) self.label_7 = QLabel(self.groupBox_threshold_setting)
self.label_7.setObjectName(u"label_7") self.label_7.setObjectName(u"label_7")
self.label_7.setFont(font1) self.label_7.setFont(font1)
self.label_7.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.gridLayout_6.addWidget(self.label_7, 3, 2, 1, 1) self.gridLayout_6.addWidget(self.label_7, 3, 2, 1, 1)
@ -257,6 +315,10 @@ class Ui_MainWindow_resp_quality_label(object):
self.gridLayout_6.addWidget(self.pushButton_refilter_orgBcg, 0, 2, 1, 2) self.gridLayout_6.addWidget(self.pushButton_refilter_orgBcg, 0, 2, 1, 2)
self.gridLayout_6.setColumnStretch(0, 2)
self.gridLayout_6.setColumnStretch(1, 2)
self.gridLayout_6.setColumnStretch(2, 1)
self.gridLayout_6.setColumnStretch(3, 2)
self.verticalLayout_2.addWidget(self.groupBox_threshold_setting) self.verticalLayout_2.addWidget(self.groupBox_threshold_setting)
@ -364,8 +426,6 @@ class Ui_MainWindow_resp_quality_label(object):
self.verticalLayout_2.setStretch(1, 3) self.verticalLayout_2.setStretch(1, 3)
self.verticalLayout_2.setStretch(2, 1) self.verticalLayout_2.setStretch(2, 1)
self.verticalLayout_2.setStretch(3, 3) self.verticalLayout_2.setStretch(3, 3)
self.verticalLayout_2.setStretch(4, 3)
self.verticalLayout_2.setStretch(5, 3)
self.verticalLayout_2.setStretch(6, 1) self.verticalLayout_2.setStretch(6, 1)
self.verticalLayout_2.setStretch(7, 6) self.verticalLayout_2.setStretch(7, 6)
self.verticalLayout_2.setStretch(8, 5) self.verticalLayout_2.setStretch(8, 5)
@ -467,6 +527,13 @@ class Ui_MainWindow_resp_quality_label(object):
self.label_6.setText(QCoreApplication.translate("MainWindow_resp_quality_label", u"threshold[1]", None)) self.label_6.setText(QCoreApplication.translate("MainWindow_resp_quality_label", u"threshold[1]", None))
self.label_5.setText(QCoreApplication.translate("MainWindow_resp_quality_label", u"threshold[0]", None)) self.label_5.setText(QCoreApplication.translate("MainWindow_resp_quality_label", u"threshold[0]", None))
self.pushButton_autoqualitylabel_recalculate.setText(QCoreApplication.translate("MainWindow_resp_quality_label", u"\u5e94\u7528\u5e76\u8ba1\u7b97", None)) self.pushButton_autoqualitylabel_recalculate.setText(QCoreApplication.translate("MainWindow_resp_quality_label", u"\u5e94\u7528\u5e76\u8ba1\u7b97", None))
self.groupBox_artifact_type.setTitle(QCoreApplication.translate("MainWindow_resp_quality_label", u"\u4f53\u52a8\u7c7b\u578b", None))
self.checkBox_allin.setText(QCoreApplication.translate("MainWindow_resp_quality_label", u"\u5168\u9009", None))
self.checkBox_type1.setText(QCoreApplication.translate("MainWindow_resp_quality_label", u"\u7c7b\u578b1-\u5267\u70c8\u4f53\u52a8", None))
self.checkBox_type2.setText(QCoreApplication.translate("MainWindow_resp_quality_label", u"\u7c7b\u578b2-\u8109\u51b2\u4f53\u52a8", None))
self.checkBox_type3.setText(QCoreApplication.translate("MainWindow_resp_quality_label", u"\u7c7b\u578b3-\u5e38\u89c4\u4f53\u52a8", None))
self.checkBox_type4.setText(QCoreApplication.translate("MainWindow_resp_quality_label", u"\u7c7b\u578b4-\u7591\u4f3c\u9f3e\u58f0", None))
self.checkBox_type5.setText(QCoreApplication.translate("MainWindow_resp_quality_label", u"\u7c7b\u578b5-\u79bb\u5e8a", None))
self.groupBox_findpeaks_options.setTitle(QCoreApplication.translate("MainWindow_resp_quality_label", u"\u5bfb\u5cf0\u53c2\u6570\u8bbe\u7f6e", None)) self.groupBox_findpeaks_options.setTitle(QCoreApplication.translate("MainWindow_resp_quality_label", u"\u5bfb\u5cf0\u53c2\u6570\u8bbe\u7f6e", None))
self.label_4.setText(QCoreApplication.translate("MainWindow_resp_quality_label", u"\u6700\u5c0f\u95f4\u9694", None)) self.label_4.setText(QCoreApplication.translate("MainWindow_resp_quality_label", u"\u6700\u5c0f\u95f4\u9694", None))
self.label_3.setText(QCoreApplication.translate("MainWindow_resp_quality_label", u"\u6700\u5c0f\u9ad8\u5ea6", None)) self.label_3.setText(QCoreApplication.translate("MainWindow_resp_quality_label", u"\u6700\u5c0f\u9ad8\u5ea6", None))

View File

@ -42,7 +42,7 @@
<property name="title"> <property name="title">
<string>呼吸可用性及间期标注</string> <string>呼吸可用性及间期标注</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_2" stretch="2,3,1,3,3,3,1,6,5"> <layout class="QVBoxLayout" name="verticalLayout_2" stretch="2,3,1,3,0,0,1,6,5">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
@ -247,6 +247,107 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2" stretch="2,0">
<item>
<widget class="QGroupBox" name="groupBox_artifact_type">
<property name="title">
<string>体动类型</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QCheckBox" name="checkBox_allin">
<property name="font">
<font>
<pointsize>20</pointsize>
</font>
</property>
<property name="text">
<string>全选</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_type1">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>类型1-剧烈体动</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_type2">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>类型2-脉冲体动</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_type3">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>类型3-常规体动</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_type4">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>类型4-疑似鼾声</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_type5">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>类型5-离床</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item> <item>
<widget class="QGroupBox" name="groupBox_findpeaks_options"> <widget class="QGroupBox" name="groupBox_findpeaks_options">
<property name="title"> <property name="title">
@ -316,12 +417,14 @@
</layout> </layout>
</widget> </widget>
</item> </item>
</layout>
</item>
<item> <item>
<widget class="QGroupBox" name="groupBox_threshold_setting"> <widget class="QGroupBox" name="groupBox_threshold_setting">
<property name="title"> <property name="title">
<string>OrgBCG带通滤波频率设置</string> <string>OrgBCG带通滤波频率设置</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_6"> <layout class="QGridLayout" name="gridLayout_6" columnstretch="2,2,1,2">
<item row="3" column="1"> <item row="3" column="1">
<widget class="QDoubleSpinBox" name="doubleSpinBox_fillterMode_custom_low"> <widget class="QDoubleSpinBox" name="doubleSpinBox_fillterMode_custom_low">
<property name="font"> <property name="font">
@ -419,6 +522,9 @@
<property name="text"> <property name="text">
<string>~</string> <string>~</string>
</property> </property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
</widget> </widget>
</item> </item>
<item row="0" column="2" colspan="2"> <item row="0" column="2" colspan="2">