1、精简部分公共代码到PublicFunc.py中
2、完成了<人工纠正>的部分代码
This commit is contained in:
@ -94,6 +94,36 @@ class ConfigParams:
|
||||
DETECT_RPEAK_SAVE_CHUNK_SIZE: int = 100
|
||||
|
||||
# 人工纠正
|
||||
LABEL_CHECK_CONFIG_FILE_PATH: str = "./config/Config_label_check.yaml"
|
||||
LABEL_CHECK_CONFIG_NEW_CONTENT = {
|
||||
"InputConfig": {
|
||||
"Freq": 1000
|
||||
},
|
||||
"Filter": {
|
||||
"BCGBandPassOrder": 2,
|
||||
"BCGBandPassLow": 2,
|
||||
"BCGBandPassHigh": 10,
|
||||
"ECGBandPassOrder": 2,
|
||||
"ECGBandPassLow": 2,
|
||||
"ECGBandPassHigh": 15
|
||||
},
|
||||
"FindPeaks" : {
|
||||
"MinInterval": 1000,
|
||||
"MinHeight": 0.5
|
||||
},
|
||||
"CustomAutoplayArgs": {
|
||||
"MoveLength": 15000,
|
||||
"MaxRange": 60000,
|
||||
"MoveSpeed": 1000
|
||||
}
|
||||
}
|
||||
LABEL_CHECK_INPUT_BCG_FILENAME: str = "DSbcg_sig_"
|
||||
LABEL_CHECK_INPUT_JPEAK_FILENAME: str = "JPeak_revise"
|
||||
LABEL_CHECK_SAVE_JPEAK_FILENAME: str = "JPeak_revise_corrected"
|
||||
LABEL_CHECK_INPUT_ECG_FILENAME: str = "ECG_filter_"
|
||||
LABEL_CHECK_INPUT_RPEAK_FILENAME: str = "final_Rpeak"
|
||||
LABEL_CHECK_SAVE_RPEAK_FILENAME: str = "final_Rpeak_corrected"
|
||||
LABEL_CHECK_SAVE_CHUNK_SIZE: int = 100
|
||||
|
||||
# 体动标注
|
||||
|
||||
|
||||
@ -25,6 +25,7 @@ class Constants:
|
||||
|
||||
OPERATION_FINISHED: str = "操作完成"
|
||||
OPERATION_FAILURE: str = "操作失败"
|
||||
OPERATION_CANCELED: str = "操作取消"
|
||||
|
||||
UNKNOWN_ERROR: str = "未知错误"
|
||||
SHUTTING_DOWN: str = "正在释放内存资源"
|
||||
@ -80,8 +81,8 @@ class Constants:
|
||||
"Save_Exception": "(保存异常)"
|
||||
}
|
||||
|
||||
PREPROCESS_PLOT_LABEL_ORIGINAL_DATA: str = "Original Data"
|
||||
PREPROCESS_PLOT_LABEL_PROCESSED_DATA: str = "Processed Data"
|
||||
PREPROCESS_PLOT_LABEL_ORIGINAL_DATA: str = "Original_Data"
|
||||
PREPROCESS_PLOT_LABEL_PROCESSED_DATA: str = "Processed_Data"
|
||||
PREPROCESS_OUTPUT_INPUT_AMP_OFFSET: int = 1850
|
||||
|
||||
# BCG的J峰算法定位
|
||||
@ -153,6 +154,27 @@ class Constants:
|
||||
DETECT_RPEAK_PLOT_LABEL_INTERVAL: str = "Interval"
|
||||
|
||||
# 人工纠正
|
||||
LABEL_CHECK_PROCESSING_DATA: str = "正在处理数据"
|
||||
LABEL_CHECK_PROCESS_FINISHED: str = "处理完成"
|
||||
LABEL_CHECK_PROCESS_FAILURE: str = "处理失败"
|
||||
|
||||
LABEL_CHECK_FAILURE_REASON = {
|
||||
"Data_Path_Not_Exist": "(数据路径不存在)",
|
||||
"Read_Data_Exception": "(读取数据异常)",
|
||||
"Method_Not_Exist": "(检测方法不存在)",
|
||||
"Read_Method_Exception": "(读取方法异常)",
|
||||
"Predict_Exception": "(峰值预测异常)",
|
||||
"Raw_Data_Not_Exist": "(原始数据不存在)",
|
||||
"Filter_Exception": "(滤波器异常)",
|
||||
"Processed_Data_Not_Exist": "(处理后数据不存在)",
|
||||
"Peak_Not_Exist": "(预测的峰值不存在)",
|
||||
"Save_Exception": "(保存异常)"
|
||||
}
|
||||
|
||||
LABEL_CHECK_PLOT_LABEL_BCG: str = "Data_Processed"
|
||||
LABEL_CHECK_PLOT_LABEL_PEAK_ORIGINAL: str = "Peaks_Original"
|
||||
LABEL_CHECK_PLOT_LABEL_PEAK_CORRECTED: str = "Peaks_Corrected"
|
||||
|
||||
|
||||
# 体动标注
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
from datetime import datetime
|
||||
from logging import error, info
|
||||
|
||||
from PySide6.QtWidgets import QMessageBox
|
||||
from PySide6.QtWidgets import QMessageBox, QWidget, QPushButton, QProgressBar, QApplication
|
||||
|
||||
from func.utils.Constants import Constants
|
||||
from func.utils.CustomException import TipsTypeValueNotExistError, MsgBoxTypeValueNotExistError
|
||||
@ -94,3 +94,64 @@ class PublicFunc:
|
||||
else:
|
||||
raise MsgBoxTypeValueNotExistError()
|
||||
main_window.msgBox.exec()
|
||||
|
||||
@staticmethod
|
||||
def __disableAllButton__(mainWindow, buttonState):
|
||||
# 禁用所有按钮
|
||||
all_widgets = mainWindow.centralWidget().findChildren(QWidget)
|
||||
|
||||
# 迭代所有部件,查找按钮并禁用它们
|
||||
for widget in all_widgets:
|
||||
if isinstance(widget, QPushButton):
|
||||
if widget.objectName() in buttonState["Current"].keys():
|
||||
widget.setEnabled(False)
|
||||
|
||||
@staticmethod
|
||||
def __enableAllButton__(mainWindow, buttonState):
|
||||
# 启用按钮
|
||||
all_widgets = mainWindow.centralWidget().findChildren(QWidget)
|
||||
|
||||
# 迭代所有部件,查找按钮并启用它们
|
||||
for widget in all_widgets:
|
||||
if isinstance(widget, QPushButton):
|
||||
if widget.objectName() in buttonState["Current"].keys():
|
||||
widget.setEnabled(buttonState["Current"][widget.objectName()])
|
||||
|
||||
@staticmethod
|
||||
def __resetAllButton__(mainWindow, buttonState):
|
||||
# 启用按钮
|
||||
all_widgets = mainWindow.centralWidget().findChildren(QWidget)
|
||||
|
||||
# 迭代所有部件,查找按钮并启用它们
|
||||
for widget in all_widgets:
|
||||
if isinstance(widget, QPushButton):
|
||||
if widget.objectName() in buttonState["Default"].keys():
|
||||
widget.setEnabled(buttonState["Default"][widget.objectName()])
|
||||
|
||||
@staticmethod
|
||||
def add_progressbar(mainWindow):
|
||||
|
||||
mainWindow.progressbar = QProgressBar()
|
||||
mainWindow.progressbar.setRange(0, 100)
|
||||
mainWindow.progressbar.setValue(0)
|
||||
mainWindow.progressbar.setStyleSheet(Constants.PROGRESSBAR_STYLE)
|
||||
mainWindow.ui.statusbar.addPermanentWidget(mainWindow.progressbar)
|
||||
|
||||
@staticmethod
|
||||
def statusbar_show_msg(mainWindow, msg):
|
||||
|
||||
mainWindow.ui.statusbar.showMessage(msg)
|
||||
|
||||
@staticmethod
|
||||
def statusbar_clear_msg(mainWindow):
|
||||
|
||||
mainWindow.ui.statusbar.clearMessage()
|
||||
|
||||
@staticmethod
|
||||
def finish_operation(mainWindow, buttonState):
|
||||
|
||||
PublicFunc.statusbar_show_msg(mainWindow, PublicFunc.format_status_msg(Constants.OPERATION_FINISHED))
|
||||
mainWindow.progressbar.setValue(100)
|
||||
QApplication.processEvents()
|
||||
|
||||
PublicFunc.__enableAllButton__(mainWindow, buttonState)
|
||||
Reference in New Issue
Block a user