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 - - - - 导出标签 - - - - -