From 0411966ed00f2ad52c9febec9b875bfb06081a2d Mon Sep 17 00:00:00 2001
From: Yorusora <2944763079@qq.com>
Date: Fri, 23 May 2025 10:42:01 +0800
Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E4=BA=86=E8=8B=A5=E5=B9=B2?=
=?UTF-8?q?=E4=B8=AA=E5=8A=9F=E8=83=BD=E7=9A=84=E5=AF=BC=E5=87=BA=E6=A0=87?=
=?UTF-8?q?=E7=AD=BE=E6=8C=89=E9=92=AE=EF=BC=8C=E5=9B=A0=E4=B8=BA=E5=85=B6?=
=?UTF-8?q?=E7=94=A8=E5=A4=84=E4=B8=8D=E5=A4=A7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
func/Module_approximately_align.py | 2 -
func/Module_artifact_label.py | 10 +---
func/Module_label_check.py | 60 +++++--------------
func/Module_resp_quality_label.py | 37 +-----------
ui/MainWindow/MainWindow_artifact_label.py | 10 ----
ui/MainWindow/MainWindow_artifact_label.ui | 20 +------
ui/MainWindow/MainWindow_label_check.py | 9 ---
ui/MainWindow/MainWindow_label_check.ui | 18 ------
.../MainWindow_resp_quality_label.py | 17 +-----
.../MainWindow_resp_quality_label.ui | 24 +-------
10 files changed, 23 insertions(+), 184 deletions(-)
diff --git a/func/Module_approximately_align.py b/func/Module_approximately_align.py
index 3b8a84e..2f1c1dd 100644
--- a/func/Module_approximately_align.py
+++ b/func/Module_approximately_align.py
@@ -1039,8 +1039,6 @@ class Data:
def Standardize_2(self):
# 预重采样
try:
- # TODO:这里的采样率处理,如果THO和ABD的采样率不同,可能还是会导致之后的ApplyFrequency出问题,最后导致得到的粗同步坐标不正确
- #
if Config["InputConfig"]["ThoFreq"] != Config["TempFrequency"]:
print(int(Config["InputConfig"]["ThoFreq"]), int(Config["TempFrequency"]))
self.processed_Tho = resample(self.processed_Tho,
diff --git a/func/Module_artifact_label.py b/func/Module_artifact_label.py
index 4417057..bc48a57 100644
--- a/func/Module_artifact_label.py
+++ b/func/Module_artifact_label.py
@@ -35,7 +35,6 @@ ButtonState = {
"pushButton_prev_move": False,
"pushButton_pause": False,
"pushButton_next_move": False,
- "pushButton_save": False,
"pushButton_type_1": False,
"pushButton_type_2": False,
"pushButton_type_3": False,
@@ -49,7 +48,6 @@ ButtonState = {
"pushButton_prev_move": False,
"pushButton_pause": False,
"pushButton_next_move": False,
- "pushButton_save": False,
"pushButton_type_1": False,
"pushButton_type_2": False,
"pushButton_type_3": False,
@@ -270,7 +268,6 @@ class MainWindow_artifact_label(QMainWindow):
self.ui.pushButton_type_3.clicked.connect(self.__slot_btn_label__)
self.ui.pushButton_type_4.clicked.connect(self.__slot_btn_label__)
self.ui.pushButton_type_5.clicked.connect(self.__slot_btn_label__)
- self.ui.pushButton_save.clicked.connect(self.__slot_btn_save__)
self.ui.pushButton_delete.clicked.connect(self.__slot_btn_delete_label__)
self.ui.pushButton_prev_move.clicked.connect(self.__slot_btn_move__)
self.ui.pushButton_pause.clicked.connect(self.__slot_btn_move__)
@@ -647,7 +644,6 @@ class MainWindow_artifact_label(QMainWindow):
ButtonState["Current"]["pushButton_prev_move"] = True
ButtonState["Current"]["pushButton_next_move"] = True
ButtonState["Current"]["pushButton_pause"] = True
- ButtonState["Current"]["pushButton_save"] = True
ButtonState["Current"]["pushButton_type_1"] = True
ButtonState["Current"]["pushButton_type_2"] = True
ButtonState["Current"]["pushButton_type_3"] = True
@@ -737,9 +733,9 @@ class MainWindow_artifact_label(QMainWindow):
PublicFunc.text_output(self.ui, f"新增体动标签{first_column_value}, 类型{new_row['type']},从{int(self.ui.lineEdit_start_time.text())}ms到{int(self.ui.lineEdit_end_time.text())}ms", Constants.TIPS_TYPE_INFO)
- self.__slot_btn_save__()
+ self.save()
- def __slot_btn_save__(self):
+ def save(self):
PublicFunc.__disableAllButton__(self, ButtonState)
# 保存
@@ -790,7 +786,7 @@ class MainWindow_artifact_label(QMainWindow):
self.update_tableWidget()
self.update_Info()
self.__plot_artifact__()
- self.__slot_btn_save__()
+ self.save()
PublicFunc.text_output(self.ui, f"{self.pressed_number}{Constants.ARTIFACT_LABEL_DELETE_ARTIFACT_SUCCESSFULLY}", Constants.TIPS_TYPE_INFO)
else:
PublicFunc.text_output(self.ui, f"{self.pressed_number}{Constants.ARTIFACT_LABEL_DELETE_ARTIFACT_FAILURE}", Constants.TIPS_TYPE_ERROR)
diff --git a/func/Module_label_check.py b/func/Module_label_check.py
index 1a16c04..09f957e 100644
--- a/func/Module_label_check.py
+++ b/func/Module_label_check.py
@@ -34,16 +34,14 @@ ButtonState = {
"pushButton_input": True,
"pushButton_prev_move": False,
"pushButton_pause": False,
- "pushButton_next_move": False,
- "pushButton_save": False
+ "pushButton_next_move": False
},
"Current": {
"pushButton_input_setting": True,
"pushButton_input": True,
"pushButton_prev_move": False,
"pushButton_pause": False,
- "pushButton_next_move": False,
- "pushButton_save": False
+ "pushButton_next_move": False
}
}
@@ -307,7 +305,6 @@ class MainWindow_label_check(QMainWindow):
self.ui.pushButton_input.clicked.connect(self.__slot_btn_input__)
self.ui.pushButton_input_setting.clicked.connect(self.setting.show)
- self.ui.pushButton_save.clicked.connect(self.__slot_btn_save__)
self.ui.pushButton_prev_move.clicked.connect(self.__slot_btn_move__)
self.ui.pushButton_pause.clicked.connect(self.__slot_btn_move__)
self.ui.pushButton_next_move.clicked.connect(self.__slot_btn_move__)
@@ -541,42 +538,8 @@ class MainWindow_label_check(QMainWindow):
ButtonState["Current"]["pushButton_prev_move"] = True
ButtonState["Current"]["pushButton_next_move"] = True
ButtonState["Current"]["pushButton_pause"] = True
- ButtonState["Current"]["pushButton_save"] = True
PublicFunc.finish_operation(self, ButtonState)
- def __slot_btn_save__(self):
- reply = QMessageBox.question(self, Constants.QUESTION_TITLE,
- Constants.QUESTION_CONTENT + Config["Path"]["Save"],
- QMessageBox.Yes | QMessageBox.No,
- QMessageBox.Yes)
- if reply == QMessageBox.Yes:
- PublicFunc.__disableAllButton__(self, ButtonState)
-
- # 保存
- PublicFunc.progressbar_update(self, 1, 1, Constants.SAVING_DATA, 0)
-
- total_rows = len(DataFrame(self.data.corrected_peak.reshape(-1)))
- chunk_size = ConfigParams.LABEL_CHECK_SAVE_CHUNK_SIZE
- with open(Config["Path"]["Save"], 'w') as f:
- for start in range(0, total_rows, chunk_size):
- end = min(start + chunk_size, total_rows)
- chunk = DataFrame(self.data.corrected_peak.reshape(-1)).iloc[start:end]
- result = self.data.save(chunk)
- progress = int((end / total_rows) * 100)
- self.progressbar.setValue(progress)
- QApplication.processEvents()
-
- if not result.status:
- PublicFunc.text_output(self.ui, "(1/1)" + result.info, Constants.TIPS_TYPE_ERROR)
- PublicFunc.msgbox_output(self, result.info, Constants.MSGBOX_TYPE_ERROR)
- PublicFunc.finish_operation(self, ButtonState)
- return
- else:
- PublicFunc.text_output(self.ui, "(1/1)" + result.info, Constants.TIPS_TYPE_INFO)
-
- PublicFunc.msgbox_output(self, result.info, Constants.TIPS_TYPE_INFO)
- PublicFunc.finish_operation(self, ButtonState)
-
def __slot_btn_move__(self):
if self.data is None:
return
@@ -848,7 +811,14 @@ class MainWindow_label_check(QMainWindow):
self.data.corrected_peak.sort()
self.data.corrected_peak_y = [self.data.processed_data[x] for x in self.data.corrected_peak]
self.__update_tableWidget_and_info__()
- DataFrame(self.data.corrected_peak).to_csv(Config["Path"]["Save"], index=False, header=False)
+ result = self.data.save()
+ if not result.status:
+ PublicFunc.text_output(self.ui, result.info, Constants.TIPS_TYPE_ERROR)
+ PublicFunc.msgbox_output(self, result.info, Constants.MSGBOX_TYPE_ERROR)
+ PublicFunc.finish_operation(self, ButtonState)
+ return
+ else:
+ PublicFunc.text_output(self.ui, result.info, Constants.TIPS_TYPE_INFO)
# 移除矩形patch
if self.figToolbar.rect_patch_ax0 is not None and self.figToolbar.rect_patch_ax1 is not None:
self.figToolbar.rect_patch_ax0.remove()
@@ -989,6 +959,9 @@ class Data:
return Result().success(info=Constants.INPUT_FINISHED)
def get_archive(self):
+ if (not Path(Config["Path"]["Save"]).parent.exists()) or (not Path(Config["Path"]["Save"]).parent.is_dir()):
+ Path(Config["Path"]["Save"]).parent.mkdir(parents=True, exist_ok=True)
+
if not Path(Config["Path"]["Save"]).exists():
self.corrected_peak = self.original_peak
return Result().success(info=Constants.ARCHIVE_NOT_EXIST)
@@ -1025,15 +998,12 @@ class Data:
return Result().success(info=Constants.PREPROCESS_FINISHED)
- def save(self, chunk):
- if (not Path(Config["Path"]["Save"]).parent.exists()) or (not Path(Config["Path"]["Save"]).parent.is_dir()):
- Path(Config["Path"]["Save"]).parent.mkdir(parents=True, exist_ok=True)
-
+ def save(self):
if self.corrected_peak is None:
return Result().failure(info=Constants.SAVE_FAILURE + Constants.FAILURE_REASON["Data_Not_Exist"])
try:
- chunk.to_csv(Config["Path"]["Save"], mode='a', index=False, header=False)
+ DataFrame(self.corrected_peak).to_csv(Config["Path"]["Save"], index=False, header=False)
except Exception as e:
return Result().failure(info=Constants.SAVE_FAILURE +
Constants.FAILURE_REASON["Save_Exception"] + "\n" + format_exc())
diff --git a/func/Module_resp_quality_label.py b/func/Module_resp_quality_label.py
index 2f1049d..6577fcd 100644
--- a/func/Module_resp_quality_label.py
+++ b/func/Module_resp_quality_label.py
@@ -43,8 +43,7 @@ ButtonState = {
"pushButton_invalid": False,
"pushButton_reset": False,
"pushButton_prev": False,
- "pushButton_next": False,
- "pushButton_save": False
+ "pushButton_next": False
},
"Current": {
"pushButton_input_setting": True,
@@ -58,8 +57,7 @@ ButtonState = {
"pushButton_invalid": False,
"pushButton_reset": False,
"pushButton_prev": False,
- "pushButton_next": False,
- "pushButton_save": False
+ "pushButton_next": False
}
}
@@ -285,7 +283,6 @@ class MainWindow_resp_quality_label(QMainWindow):
self.ui.pushButton_valid.clicked.connect(self.__slot_btn_label__)
self.ui.pushButton_invalid.clicked.connect(self.__slot_btn_label__)
self.ui.pushButton_reset.clicked.connect(self.__slot_btn_label__)
- self.ui.pushButton_save.clicked.connect(self.__slot_btn_save__)
self.ui.lineEdit_filter_labeled.textChanged.connect(self.__slot_lineEdit_filter__)
self.ui.lineEdit_filter_tobelabeled.textChanged.connect(self.__slot_lineEdit_filter__)
self.ui.doubleSpinBox_quality_threshold1.valueChanged.connect(self.update_config)
@@ -545,7 +542,6 @@ class MainWindow_resp_quality_label(QMainWindow):
ButtonState["Current"]["pushButton_reset"] = False
ButtonState["Current"]["pushButton_prev"] = False
ButtonState["Current"]["pushButton_next"] = False
- ButtonState["Current"]["pushButton_save"] = False
for action in self.figToolbar._actions.values():
action.setEnabled(True)
self.figToolbar.action_Label_Multiple.setEnabled(False)
@@ -592,7 +588,6 @@ class MainWindow_resp_quality_label(QMainWindow):
ButtonState["Current"]["pushButton_reset"] = False
ButtonState["Current"]["pushButton_prev"] = False
ButtonState["Current"]["pushButton_next"] = False
- ButtonState["Current"]["pushButton_save"] = False
PublicFunc.finish_operation(self, ButtonState)
@@ -714,7 +709,6 @@ class MainWindow_resp_quality_label(QMainWindow):
ButtonState["Current"]["pushButton_reset"] = True
ButtonState["Current"]["pushButton_prev"] = True
ButtonState["Current"]["pushButton_next"] = True
- ButtonState["Current"]["pushButton_save"] = True
for action in self.figToolbar._actions.values():
action.setEnabled(True)
for action in self.figToolbar_spectrum._actions.values():
@@ -932,33 +926,6 @@ class MainWindow_resp_quality_label(QMainWindow):
Constants.RESP_QUALITY_LABEL_KEY_VALUE[self.data.resp_quality_label[Config["CurrentPartNum"] - 1]],
Constants.TIPS_TYPE_INFO)
- def __slot_btn_save__(self):
- PublicFunc.__disableAllButton__(self, ButtonState)
-
- # 保存
- PublicFunc.progressbar_update(self, 1, 2, Constants.SAVING_DATA + ConfigParams.RESP_QUALITY_LABEL, 0)
- result = self.data.save_resp_quality_label()
- if not result.status:
- PublicFunc.text_output(self.ui, "(1/2)" + result.info, Constants.TIPS_TYPE_ERROR)
- PublicFunc.msgbox_output(self, result.info, Constants.MSGBOX_TYPE_ERROR)
- PublicFunc.finish_operation(self, ButtonState)
- return
- else:
- PublicFunc.text_output(self.ui, "(1/2)" + result.info, Constants.TIPS_TYPE_INFO)
-
- PublicFunc.progressbar_update(self, 2, 2, Constants.SAVING_DATA + ConfigParams.THO_PEAK, 50)
- result = self.data.save_tho_peak()
- if not result.status:
- PublicFunc.text_output(self.ui, "(2/2)" + result.info, Constants.TIPS_TYPE_ERROR)
- PublicFunc.msgbox_output(self, result.info, Constants.MSGBOX_TYPE_ERROR)
- PublicFunc.finish_operation(self, ButtonState)
- return
- else:
- PublicFunc.text_output(self.ui, "(2/2)" + result.info, Constants.TIPS_TYPE_INFO)
-
- PublicFunc.msgbox_output(self, Constants.SAVE_FINISHED, Constants.TIPS_TYPE_INFO)
- PublicFunc.finish_operation(self, ButtonState)
-
def __slot_lineEdit_filter__(self, filter_text):
sender = self.sender()
diff --git a/ui/MainWindow/MainWindow_artifact_label.py b/ui/MainWindow/MainWindow_artifact_label.py
index 588cb13..6354192 100644
--- a/ui/MainWindow/MainWindow_artifact_label.py
+++ b/ui/MainWindow/MainWindow_artifact_label.py
@@ -389,14 +389,6 @@ class Ui_MainWindow_artifact_label(object):
self.verticalLayout_2.addItem(self.verticalSpacer_3)
- self.pushButton_save = QPushButton(self.groupBox_left)
- self.pushButton_save.setObjectName(u"pushButton_save")
- sizePolicy.setHeightForWidth(self.pushButton_save.sizePolicy().hasHeightForWidth())
- self.pushButton_save.setSizePolicy(sizePolicy)
- self.pushButton_save.setFont(font1)
-
- self.verticalLayout_2.addWidget(self.pushButton_save)
-
self.groupBox_4 = QGroupBox(self.groupBox_left)
self.groupBox_4.setObjectName(u"groupBox_4")
self.verticalLayout_6 = QVBoxLayout(self.groupBox_4)
@@ -415,7 +407,6 @@ class Ui_MainWindow_artifact_label(object):
self.verticalLayout_2.setStretch(3, 1)
self.verticalLayout_2.setStretch(4, 6)
self.verticalLayout_2.setStretch(5, 1)
- self.verticalLayout_2.setStretch(6, 1)
self.gridLayout.addWidget(self.groupBox_left, 0, 0, 1, 1)
@@ -717,7 +708,6 @@ class Ui_MainWindow_artifact_label(object):
self.label_7.setText(QCoreApplication.translate("MainWindow_artifact_label", u"\u79fb\u52a8\u8ddd\u79bb", None))
self.label_6.setText(QCoreApplication.translate("MainWindow_artifact_label", u"\u6700\u5927\u8303\u56f4", None))
self.label_8.setText(QCoreApplication.translate("MainWindow_artifact_label", u"\u79fb\u52a8\u95f4\u9694(ms)", None))
- self.pushButton_save.setText(QCoreApplication.translate("MainWindow_artifact_label", u"\u5bfc\u51fa\u6807\u7b7e", None))
self.groupBox_4.setTitle(QCoreApplication.translate("MainWindow_artifact_label", u"\u65e5\u5fd7", None))
self.groupBox_right.setTitle(QCoreApplication.translate("MainWindow_artifact_label", u"\u6807\u6ce8\u64cd\u4f5c\u548c\u4fe1\u606f", None))
self.pushButton_type_1.setText(QCoreApplication.translate("MainWindow_artifact_label", u"\u5267\u70c8\u4f53\u52a8", None))
diff --git a/ui/MainWindow/MainWindow_artifact_label.ui b/ui/MainWindow/MainWindow_artifact_label.ui
index 76ccb60..94a987e 100644
--- a/ui/MainWindow/MainWindow_artifact_label.ui
+++ b/ui/MainWindow/MainWindow_artifact_label.ui
@@ -42,7 +42,7 @@
体动标注
-
+
-
-
@@ -676,24 +676,6 @@
- -
-
-
-
- 0
- 0
-
-
-
-
- 12
-
-
-
- 导出标签
-
-
-
-
diff --git a/ui/MainWindow/MainWindow_label_check.py b/ui/MainWindow/MainWindow_label_check.py
index a55d8e8..57e444a 100644
--- a/ui/MainWindow/MainWindow_label_check.py
+++ b/ui/MainWindow/MainWindow_label_check.py
@@ -357,14 +357,6 @@ class Ui_MainWindow_label_check(object):
self.horizontalLayout_3.addWidget(self.checkBox_show_reference_line)
- self.pushButton_save = QPushButton(self.groupBox_left)
- self.pushButton_save.setObjectName(u"pushButton_save")
- sizePolicy.setHeightForWidth(self.pushButton_save.sizePolicy().hasHeightForWidth())
- self.pushButton_save.setSizePolicy(sizePolicy)
- self.pushButton_save.setFont(font1)
-
- self.horizontalLayout_3.addWidget(self.pushButton_save)
-
self.verticalLayout_2.addLayout(self.horizontalLayout_3)
@@ -521,7 +513,6 @@ class Ui_MainWindow_label_check(object):
self.label_6.setText(QCoreApplication.translate("MainWindow_label_check", u"\u6700\u5927\u8303\u56f4", None))
self.label_8.setText(QCoreApplication.translate("MainWindow_label_check", u"\u79fb\u52a8\u95f4\u9694(ms)", None))
self.checkBox_show_reference_line.setText(QCoreApplication.translate("MainWindow_label_check", u"\u7ed8\u5236\u53c2\u8003\u7ebf", None))
- self.pushButton_save.setText(QCoreApplication.translate("MainWindow_label_check", u"\u5bfc\u51fa\u6807\u7b7e", None))
self.groupBox_4.setTitle(QCoreApplication.translate("MainWindow_label_check", u"\u65e5\u5fd7", None))
self.groupBox_right.setTitle(QCoreApplication.translate("MainWindow_label_check", u"\u5cf0\u503c\u5750\u6807\u548c\u4fe1\u606f", None))
self.label_9.setText(QCoreApplication.translate("MainWindow_label_check", u"\u6570\u636e\u957f\u5ea6(\u70b9\u6570)", None))
diff --git a/ui/MainWindow/MainWindow_label_check.ui b/ui/MainWindow/MainWindow_label_check.ui
index 3f1bba6..60bbc3c 100644
--- a/ui/MainWindow/MainWindow_label_check.ui
+++ b/ui/MainWindow/MainWindow_label_check.ui
@@ -619,24 +619,6 @@
- -
-
-
-
- 0
- 0
-
-
-
-
- 12
-
-
-
- 导出标签
-
-
-
-
diff --git a/ui/MainWindow/MainWindow_resp_quality_label.py b/ui/MainWindow/MainWindow_resp_quality_label.py
index 146c77c..24339c4 100644
--- a/ui/MainWindow/MainWindow_resp_quality_label.py
+++ b/ui/MainWindow/MainWindow_resp_quality_label.py
@@ -348,19 +348,6 @@ class Ui_MainWindow_resp_quality_label(object):
self.verticalLayout_2.addWidget(self.groupBox_label_operation)
- self.horizontalLayout_3 = QHBoxLayout()
- self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
- self.pushButton_save = QPushButton(self.groupBox_left)
- self.pushButton_save.setObjectName(u"pushButton_save")
- sizePolicy.setHeightForWidth(self.pushButton_save.sizePolicy().hasHeightForWidth())
- self.pushButton_save.setSizePolicy(sizePolicy)
- self.pushButton_save.setFont(font1)
-
- self.horizontalLayout_3.addWidget(self.pushButton_save)
-
-
- self.verticalLayout_2.addLayout(self.horizontalLayout_3)
-
self.groupBox_4 = QGroupBox(self.groupBox_left)
self.groupBox_4.setObjectName(u"groupBox_4")
self.verticalLayout_6 = QVBoxLayout(self.groupBox_4)
@@ -381,8 +368,7 @@ class Ui_MainWindow_resp_quality_label(object):
self.verticalLayout_2.setStretch(5, 3)
self.verticalLayout_2.setStretch(6, 1)
self.verticalLayout_2.setStretch(7, 6)
- self.verticalLayout_2.setStretch(8, 2)
- self.verticalLayout_2.setStretch(9, 5)
+ self.verticalLayout_2.setStretch(8, 5)
self.gridLayout.addWidget(self.groupBox_left, 0, 0, 1, 1)
@@ -499,7 +485,6 @@ class Ui_MainWindow_resp_quality_label(object):
self.pushButton_valid.setText(QCoreApplication.translate("MainWindow_resp_quality_label", u"\u53ef\u7528\uff08F\uff09", None))
self.pushButton_prev.setText(QCoreApplication.translate("MainWindow_resp_quality_label", u"\u4e0a\u4e00\u6bb5(A)", None))
self.pushButton_next.setText(QCoreApplication.translate("MainWindow_resp_quality_label", u"\u4e0b\u4e00\u6bb5(D)", None))
- self.pushButton_save.setText(QCoreApplication.translate("MainWindow_resp_quality_label", u"\u5bfc\u51fa\u6807\u7b7e", None))
self.groupBox_4.setTitle(QCoreApplication.translate("MainWindow_resp_quality_label", u"\u65e5\u5fd7", None))
self.groupBox_right.setTitle(QCoreApplication.translate("MainWindow_resp_quality_label", u"\u547c\u5438\u53ef\u7528\u6027\u53ca\u95f4\u671f\u6807\u6ce8", None))
self.groupBox.setTitle(QCoreApplication.translate("MainWindow_resp_quality_label", u"\u9891\u8c31", None))
diff --git a/ui/MainWindow/MainWindow_resp_quality_label.ui b/ui/MainWindow/MainWindow_resp_quality_label.ui
index c65e326..14af760 100644
--- a/ui/MainWindow/MainWindow_resp_quality_label.ui
+++ b/ui/MainWindow/MainWindow_resp_quality_label.ui
@@ -42,7 +42,7 @@
呼吸可用性及间期标注
-
+
-
-
@@ -624,28 +624,6 @@
- -
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 12
-
-
-
- 导出标签
-
-
-
-
-
-