467 lines
25 KiB
Python
467 lines
25 KiB
Python
from func.utils.ConfigParams import ConfigParams
|
||
|
||
|
||
class Constants:
|
||
|
||
# 公共
|
||
TIPS_TYPE_INFO: str = "Info"
|
||
TIPS_TYPE_ERROR: str = "Error"
|
||
MSGBOX_TYPE_INFO: str = "Info"
|
||
MSGBOX_TYPE_WARNING: str = "Warning"
|
||
MSGBOX_TYPE_ERROR: str = "Error"
|
||
MSGBOX_TYPE_QUESTION: str = "Question"
|
||
|
||
MAINWINDOW_ROOT_PATH_NOT_EXIST: str = "根目录路径输入错误"
|
||
MAINWINDOW_MSGBOX_TITLE: str = "消息"
|
||
|
||
INPUTTING_DATA: str = "正在导入数据"
|
||
INPUT_FINISHED: str = "导入完成"
|
||
INPUT_FAILURE: str = "导入失败"
|
||
|
||
DRAWING_DATA: str = "正在绘制图形"
|
||
DRAWING_FINISHED: str = "绘制完成"
|
||
DRAWING_FAILURE: str = "绘制失败"
|
||
|
||
UPDATING_TABLEWIDGET_AND_INFO: str = "正在更新表格和信息"
|
||
UPDATING_FINISHED: str = "更新完成"
|
||
UPDATING_FAILURE: str = "更新失败"
|
||
|
||
SAVING_DATA: str = "正在保存数据"
|
||
SAVING_FINISHED: str = "保存完成"
|
||
SAVING_FAILURE: str = "保存失败"
|
||
|
||
OPERATION_FINISHED: str = "操作完成"
|
||
OPERATION_FAILURE: str = "操作失败"
|
||
OPERATION_CANCELED: str = "操作取消"
|
||
|
||
UNKNOWN_ERROR: str = "未知错误"
|
||
SHUTTING_DOWN: str = "正在释放内存资源"
|
||
|
||
QUESTION_TITLE: str = "警告:确认操作"
|
||
QUESTION_CONTENT: str = "你确定要保存结果到"
|
||
PLOT_UPPER_RIGHT: str = "upper right"
|
||
STRING_IS_EMPTY: str = ""
|
||
STRING_IS_NAN: str = "nan"
|
||
|
||
PLOT_COLOR_RED: str = "r"
|
||
PLOT_COLOR_GREEN: str = "g"
|
||
PLOT_COLOR_BLUE: str = "b"
|
||
PLOT_COLOR_ORANGE: str = "orange"
|
||
PLOT_COLOR_WHITE: str = "white"
|
||
PLOT_COLOR_BLACK: str = "black"
|
||
PLOT_COLOR_PINK: str = "#ff00ff"
|
||
PLOT_COLOR_PURPLE: str = "m"
|
||
PLOT_COLOR_GRAY: str = "gray"
|
||
PLOT_COLOR_DEEP_YELLOW: str = "#ffa500"
|
||
PLOT_COLOR_YELLOW: str = "#ffff00"
|
||
PLOT_COLOR_AQUA: str = "#00ffff"
|
||
PLOT_COLOR_PURPLE_PINK: str = "#ee82ee"
|
||
PLOT_COLOR_DEEP_GREY: str = "#808080"
|
||
|
||
PROGRESSBAR_STYLE: str = """
|
||
QProgressBar {
|
||
border: 1px solid #020066;
|
||
border-radius: 6px;
|
||
font-size: 16px;
|
||
color: black;
|
||
text-align: center;
|
||
height: 20px;
|
||
background: #E5E4E4;
|
||
}
|
||
QProgressBar::chunk {
|
||
background: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 #9AFF99, stop:1 #9A9AFE);
|
||
border-radius: 6px;
|
||
}
|
||
"""
|
||
|
||
# 预处理
|
||
PREPROCESS_PROCESSING_DATA: str = "正在处理数据"
|
||
PREPROCESS_PROCESS_FINISHED: str = "处理完成"
|
||
PREPROCESS_PROCESS_FAILURE: str = "处理失败"
|
||
|
||
PREPROCESS_FAILURE_REASON = {
|
||
"Data_Path_Not_Exist": "(路径不存在)",
|
||
"Read_Data_Exception": "(读取数据异常)",
|
||
"Raw_Data_Not_Exist": "(原始数据不存在)",
|
||
"Filter_Exception": "(滤波器异常)",
|
||
"Processed_Data_Not_Exist": "(处理后数据不存在)",
|
||
"Save_Exception": "(保存异常)"
|
||
}
|
||
|
||
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峰算法定位
|
||
DETECT_JPEAK_LOADING_MODEL: str = "正在读取模型"
|
||
DETECT_JPEAK_LOAD_FINISHED: str = "读取完成"
|
||
DETECT_JPEAK_LOAD_FAILURE: str = "读取失败"
|
||
|
||
DETECT_JPEAK_PROCESSING_DATA: str = "正在处理数据"
|
||
DETECT_JPEAK_PROCESS_FINISHED: str = "处理完成"
|
||
DETECT_JPEAK_PROCESS_FAILURE: str = "处理失败"
|
||
|
||
DETECT_JPEAK_PREDICTING_PEAK: str = "正在预测峰值"
|
||
DETECT_JPEAK_PREDICT_FINISHED: str = "预测完成"
|
||
DETECT_JPEAK_PREDICT_FAILURE: str = "预测失败"
|
||
|
||
DETECT_JPEAK_FAILURE_REASON = {
|
||
"Data_Path_Not_Exist": "(数据路径不存在)",
|
||
"Read_Data_Exception": "(读取数据异常)",
|
||
"Model_Path_Not_Exist": "(模型路径不存在)",
|
||
"Model_File_Not_Exist": "(模型文件不存在)",
|
||
"Read_Model_Exception": "(读取模型异常)",
|
||
"Predict_Exception": "(峰值预测异常)",
|
||
"Raw_Data_Not_Exist": "(原始数据不存在)",
|
||
"Filter_Exception": "(滤波器异常)",
|
||
"Processed_Data_Not_Exist": "(处理后数据不存在)",
|
||
"Peak_Not_Exist": "(预测的峰值不存在)",
|
||
"Save_Exception": "(保存异常)"
|
||
}
|
||
|
||
DETECT_JPEAK_DATA_LENGTH_POINTS: str = "数据长度(点数):"
|
||
DETECT_JPEAK_DURATION_MIN: str = "数据时长(分钟):"
|
||
DETECT_JPEAK_PEAK_AMOUNT: str = "J峰个数:"
|
||
DETECT_JPEAK_PLOT_LABEL_BCG: str = "BCG_Processed"
|
||
DETECT_JPEAK_PLOT_LABEL_J_PEAKS: str = "J_Peaks"
|
||
DETECT_JPEAK_PLOT_LABEL_INTERVAL: str = "Interval"
|
||
|
||
# ECG的R峰算法定位
|
||
DETECT_RPEAK_LOADING_METHOD: str = "正在读取方法"
|
||
DETECT_RPEAK_LOAD_FINISHED: str = "读取完成"
|
||
DETECT_RPEAK_LOAD_FAILURE: str = "读取失败"
|
||
|
||
DETECT_RPEAK_PROCESSING_DATA: str = "正在处理数据"
|
||
DETECT_RPEAK_PROCESS_FINISHED: str = "处理完成"
|
||
DETECT_RPEAK_PROCESS_FAILURE: str = "处理失败"
|
||
|
||
DETECT_RPEAK_PREDICTING_PEAK: str = "正在预测峰值"
|
||
DETECT_RPEAK_PREDICT_FINISHED: str = "预测完成"
|
||
DETECT_RPEAK_PREDICT_FAILURE: str = "预测失败"
|
||
|
||
DETECT_RPEAK_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": "(保存异常)"
|
||
}
|
||
|
||
DETECT_RPEAK_DATA_LENGTH_POINTS: str = "数据长度(点数):"
|
||
DETECT_RPEAK_DURATION_MIN: str = "数据时长(分钟):"
|
||
DETECT_RPEAK_PEAK_AMOUNT: str = "R峰个数:"
|
||
DETECT_RPEAK_PLOT_LABEL_RRIV: str = "RRIV"
|
||
DETECT_RPEAK_PLOT_LABEL_ECG: str = "ECG"
|
||
DETECT_RPEAK_PLOT_LABEL_R_PEAKS: str = "R_Peaks"
|
||
DETECT_RPEAK_PLOT_LABEL_INTERVAL: str = "Interval"
|
||
|
||
# 人工纠正
|
||
LABEL_CHECK_PROCESSING_DATA: str = "正在处理数据"
|
||
LABEL_CHECK_PROCESS_FINISHED: str = "处理完成"
|
||
LABEL_CHECK_PROCESS_FAILURE: str = "处理失败"
|
||
|
||
LABEL_CHECK_LOADING_ARCHIVE: str = "正在获取历史存档"
|
||
LABEL_CHECK_ARCHIVE_EXIST: str = "找到历史存档,成功读取"
|
||
LABEL_CHECK_ARCHIVE_NOT_EXIST: str = "未找到历史存档,创建新存档"
|
||
|
||
LABEL_CHECK_FAILURE_REASON = {
|
||
"Data_Path_Not_Exist": "(数据路径不存在)",
|
||
"Read_Data_Exception": "(读取数据异常)",
|
||
"Raw_Data_Not_Exist": "(原始数据不存在)",
|
||
"Filter_Exception": "(滤波器异常)",
|
||
"Processed_Data_Not_Exist": "(处理后数据不存在)",
|
||
"Peak_Not_Exist": "(峰值不存在)",
|
||
"Save_Exception": "(保存异常)"
|
||
}
|
||
|
||
LABEL_CHECK_PLOT_LABEL_SIGNAL: str = "Data_Processed"
|
||
LABEL_CHECK_PLOT_LABEL_PEAK_ORIGINAL: str = "Peaks_Original"
|
||
LABEL_CHECK_PLOT_LABEL_PEAK_CORRECTED: str = "Peaks_Corrected"
|
||
LABEL_CHECK_PREV_MOVE: str = "向前移动"
|
||
LABEL_CHECK_NEXT_MOVE: str = "向后移动"
|
||
LABEL_CHECK_PAUSE: str = "暂停移动"
|
||
LABEL_CHECK_SWITCH_PRESET_1: str = "变更为预设1"
|
||
LABEL_CHECK_SWITCH_PRESET_2: str = "变更为预设2"
|
||
LABEL_CHECK_SWITCH_PRESET_3: str = "变更为预设3"
|
||
LABEL_CHECK_SWITCH_CUSTOM: str = "变更为自定义,请注意,自定义的参数未经校验,过大或过小的参数可能导致程序异常"
|
||
LABEL_CHECK_JUMP_X_INDEX: str = "跳转到x坐标: "
|
||
LABEL_CHECK_RECOVER_SCALE: str = "尺度恢复"
|
||
LABEL_CHECK_ADD_POINTS_SUCCESSFULLY: str = "成功新增点,横坐标:"
|
||
LABEL_CHECK_REMOVE_POINTS_SUCCESSFULLY: str = "成功删除点,横坐标:"
|
||
LABEL_CHECK_NO_POINT_IN_THE_INTERVAL: str = "所选区间内无新增或删除点"
|
||
LABEL_CHECK_ACTION_LABEL_MULTIPLE_NAME: str = f"批量更改标签({ConfigParams.LABEL_CHECK_ACTION_LABEL_MULTIPLE_SHORTCUT_KEY})"
|
||
|
||
# 数据精同步
|
||
PRECISELY_ALIGN_PROCESSING_DATA: str = "正在处理数据"
|
||
PRECISELY_ALIGN_PROCESS_FINISHED: str = "处理完成"
|
||
PRECISELY_ALIGN_PROCESS_FAILURE: str = "处理失败"
|
||
|
||
PRECISELY_ALIGN_CALCULATING_CORRELATION_FRONT: str = "正在计算前段相关性"
|
||
PRECISELY_ALIGN_CALCULATE_FINISHED_FRONT: str = "计算前段相关性完成"
|
||
PRECISELY_ALIGN_CALCULATE_FAILURE_FRONT: str = "计算前段相关性失败"
|
||
PRECISELY_ALIGN_CALCULATING_CORRELATION_BACK: str = "正在计算后段相关性"
|
||
PRECISELY_ALIGN_CALCULATE_FINISHED_BACK: str = "计算后段相关性完成"
|
||
PRECISELY_ALIGN_CALCULATE_FAILURE_BACK: str = "计算后段相关性失败"
|
||
|
||
PRECISELY_ALIGN_ALIGNING_CORRELATION: str = "正在处理相关对齐"
|
||
PRECISELY_ALIGN_ALIGN_CORRELATION_FINISHED: str = "处理相关对齐完成"
|
||
PRECISELY_ALIGN_ALIGN_CORRELATION_FAILURE: str = "处理相关对齐失败"
|
||
|
||
PRECISELY_ALIGN_POSTPROCESSING_VIEW: str = "正在数据后处理"
|
||
PRECISELY_ALIGN_POSTPROCESS_VIEW_FINISHED: str = "数据后处理完成"
|
||
PRECISELY_ALIGN_POSTPROCESS_VIEW_FAILURE: str = "数据后处理失败"
|
||
|
||
PRECISELY_ALIGN_FAILURE_REASON = {
|
||
"Data_Path_Not_Exist": "(数据路径不存在)",
|
||
"Read_Data_Exception": "(读取数据异常)",
|
||
"Data_Not_Exist": "(数据不存在)",
|
||
"Process_Data_Exception": "(处理数据异常)",
|
||
"Calculate_Correlation_Value_Equal": "(计算相关性参数相同)",
|
||
"Calculate_Correlation_JJIVRange_too_Large": "(计算相关性JJIV范围大于RRIV范围)",
|
||
"Calculate_Correlation_Exception": "(计算相关性异常)",
|
||
"Correlation_Align_Exception": "(处理相关对齐异常)",
|
||
"PostProcess_Align_Exception": "(数据后处理异常)",
|
||
"Save_Exception": "(保存异常)"
|
||
}
|
||
|
||
PRECISELY_ALIGN_PLOT_LABEL_JJIV: str = "JJIV"
|
||
PRECISELY_ALIGN_PLOT_LABEL_RRIV: str = "RRIV"
|
||
PRECISELY_ALIGN_PLOT_LABEL_CORRE_RRIV_JJIV: str = "corre(RRIV, JJIV)"
|
||
PRECISELY_ALIGN_PLOT_LABEL_ECG: str = "ECG"
|
||
PRECISELY_ALIGN_PLOT_LABEL_BCG: str = "BCG"
|
||
PRECISELY_ALIGN_PLOT_LABEL_RPEAK: str = "Rpeak_ECG"
|
||
PRECISELY_ALIGN_PLOT_LABEL_JPEAK: str = "Jpeak_BCG"
|
||
PRECISELY_ALIGN_PLOT_LABEL_SELECTED_POINT: str = "Selected Point"
|
||
PRECISELY_ALIGN_NO_POINT_IN_THE_INTERVAL: str = "所选区间内无有效点"
|
||
PRECISELY_ALIGN_ACTION_GET_RANGE_NAME: str = f"设置范围({ConfigParams.PRECISELY_ALIGN_ACTION_GET_RANGE_SHORTCUT_KEY})"
|
||
|
||
# 体动标注
|
||
|
||
# TODO:弃用
|
||
# 数据粗同步
|
||
APPROXIMATELY_ALIGN_FILES_NOT_FOUND: str = f"无法找到{ConfigParams.APPROXIMATELY_ALIGN_INPUT_ORGBCG_FILENAME}{ConfigParams.ENDSWITH_TXT}或{ConfigParams.APPROXIMATELY_ALIGN_INPUT_PSG_FILENAME}{ConfigParams.ENDSWITH_EDF},无法执行<数据粗同步>"
|
||
APPROXIMATELY_ALIGN_FILES_FOUND: str = f"找到{ConfigParams.APPROXIMATELY_ALIGN_INPUT_ORGBCG_FILENAME}{ConfigParams.ENDSWITH_TXT}和{ConfigParams.APPROXIMATELY_ALIGN_INPUT_PSG_FILENAME}{ConfigParams.ENDSWITH_EDF}"
|
||
|
||
APPROXIMATELY_ALIGN_RUNNING: str = "开始执行任务<数据粗同步>"
|
||
APPROXIMATELY_RECORD_NOT_FOUND: str = "没有保存记录"
|
||
|
||
# 体动打标
|
||
ARTIFACT_LABEL_FILES_NOT_FOUND: str = f"无法找到{ConfigParams.ARTIFACT_LABEL_INPUT_BCG_FILENAME}{ConfigParams.ENDSWITH_TXT}或{ConfigParams.ARTIFACT_LABEL_INPUT_XINXIAO_FILENAME}{ConfigParams.ENDSWITH_TXT},无法执行<体动标注>"
|
||
ARTIFACT_LABEL_FILES_FOUND: str = f"找到{ConfigParams.ARTIFACT_LABEL_INPUT_BCG_FILENAME}{ConfigParams.ENDSWITH_TXT}和{ConfigParams.ARTIFACT_LABEL_INPUT_XINXIAO_FILENAME}{ConfigParams.ENDSWITH_TXT}"
|
||
ARTIFACT_LABEL_HISTORICAL_SAVE_FOUND: str = "找到历史存档文件,已成功读取"
|
||
|
||
ARTIFACT_LABEL_RUNNING: str = "开始执行任务<体动标注>"
|
||
ARTIFACT_LABEL_INPUT_FAILURE_LENGTH: str = "导入失败,两个输入信号的长度不相等"
|
||
ARTIFACT_LABEL_INPUT_ARTIFACT_FAILURE_FORMAT: str = "导入体动失败,请检查体动标签格式"
|
||
ARTIFACT_LABEL_INPUT_ARTIFACT_FAILURE_LENGTH: str = "导入体动失败,请检查体动长度是否为4的倍数"
|
||
ARTIFACT_LABEL_DELETE_ARTIFACT_SUCCESSFULLY: str = "体动被删除"
|
||
ARTIFACT_LABEL_DELETE_ARTIFACT_FAILURE: str = "需要被删除的体动不存在"
|
||
ARTIFACT_LABEL_JUMP_ARTIFACT: str = "跳转到体动"
|
||
ARTIFACT_LABEL_MISS_ARGS: str = "打标参数未填写"
|
||
ARTIFACT_LABEL_OVERLAPPING: str = "当前所打标的片段存在重合,重合片段序号:"
|
||
ARTIFACT_LABEL_COLUMN_ORGBCG_SYNC: str = "orgBcg_sync"
|
||
ARTIFACT_LABEL_COLUMN_BCG_SYNC: str = "BCG_sync"
|
||
ARTIFACT_LABEL_AUTOPLAY_LEFT: str = "LEFT"
|
||
ARTIFACT_LABEL_AUTOPLAY_PAUSE: str = "PAUSE"
|
||
ARTIFACT_LABEL_AUTOPLAY_RIGHT: str = "RIGHT"
|
||
ARTIFACT_LABEL_AUTOPLAY_LEFT_INFO: str = "开始自动播放-向左"
|
||
ARTIFACT_LABEL_AUTOPLAY_PAUSE_INFO: str = "暂停自动播放"
|
||
ARTIFACT_LABEL_AUTOPLAY_RIGHT_INFO: str = "开始自动播放-向右"
|
||
ARTIFACT_LABEL_RECOVER_SCALE: str = "尺度恢复"
|
||
ARTIFACT_LABEL_BUTTON_PRESS_EVENT: str = "button_press_event"
|
||
ARTIFACT_LABEL_BUTTON_RELEASE_EVENT: str = "button_release_event"
|
||
ARTIFACT_LABEL_MOTION_NOTIFY_EVENT: str = "motion_notify_event"
|
||
ARTIFACT_LABEL_AUTOPLAY_PRESET1_INFO: str = "切换到自动播放-预设1"
|
||
ARTIFACT_LABEL_AUTOPLAY_PRESET2_INFO: str = "切换到自动播放-预设2"
|
||
ARTIFACT_LABEL_AUTOPLAY_PRESET3_INFO: str = "切换到自动播放-预设3"
|
||
ARTIFACT_LABEL_AUTOPLAY_PRESET_CUSTOM_INFO: str = "切换到自动播放-自定义"
|
||
ARTIFACT_LABEL_CUSTOM_NAVIGATIONTOOLBAR_WIDGET_NAME: str = "MainWindow"
|
||
ARTIFACT_LABEL_ACTION_LABEL_ARTIFACT_NAME: str = f"标注体动({ConfigParams.ARTIFACT_LABEL_ACTION_LABEL_ARTIFACT_SHORTCUT_KEY})"
|
||
ARTIFACT_LABEL_LABELBTN_STYLE_1: str = """
|
||
QPushButton {
|
||
background-color: #ffa500; /* 设置背景颜色 */
|
||
padding: 10px; /* 设置内边距 */
|
||
border: 2px solid darkblue; /* 设置边框 */
|
||
border-radius: 10px; /* 设置圆角 */
|
||
}
|
||
QPushButton:hover {
|
||
background-color: #00ff00; /* 鼠标悬停时的背景颜色 */
|
||
}"""
|
||
ARTIFACT_LABEL_LABELBTN_STYLE_2: str = """
|
||
QPushButton {
|
||
background-color: #ffff00; /* 设置背景颜色 */
|
||
padding: 10px; /* 设置内边距 */
|
||
border: 2px solid darkblue; /* 设置边框 */
|
||
border-radius: 10px; /* 设置圆角 */
|
||
}
|
||
QPushButton:hover {
|
||
background-color: #00ff00; /* 鼠标悬停时的背景颜色 */
|
||
}"""
|
||
ARTIFACT_LABEL_LABELBTN_STYLE_3: str = """
|
||
QPushButton {
|
||
background-color: #00ffff; /* 设置背景颜色 */
|
||
padding: 10px; /* 设置内边距 */
|
||
border: 2px solid darkblue; /* 设置边框 */
|
||
border-radius: 10px; /* 设置圆角 */
|
||
}
|
||
QPushButton:hover {
|
||
background-color: #00ff00; /* 鼠标悬停时的背景颜色 */
|
||
}"""
|
||
ARTIFACT_LABEL_LABELBTN_STYLE_4: str = """
|
||
QPushButton {
|
||
background-color: #ee82ee; /* 设置背景颜色 */
|
||
padding: 10px; /* 设置内边距 */
|
||
border: 2px solid darkblue; /* 设置边框 */
|
||
border-radius: 10px; /* 设置圆角 */
|
||
}
|
||
QPushButton:hover {
|
||
background-color: #00ff00; /* 鼠标悬停时的背景颜色 */
|
||
}"""
|
||
ARTIFACT_LABEL_LABELBTN_STYLE_5: str = """
|
||
QPushButton {
|
||
background-color: #808080; /* 设置背景颜色 */
|
||
padding: 10px; /* 设置内边距 */
|
||
border: 2px solid darkblue; /* 设置边框 */
|
||
border-radius: 10px; /* 设置圆角 */
|
||
}
|
||
QPushButton:hover {
|
||
background-color: #00ff00; /* 鼠标悬停时的背景颜色 */
|
||
}"""
|
||
|
||
|
||
# 质量打标
|
||
BCG_QUALITY_LABEL_FILES_NOT_FOUND: str = f"无法找到{ConfigParams.BCG_QUALITY_LABEL_INPUT_BCG_FILENAME}{ConfigParams.ENDSWITH_TXT}或{ConfigParams.BCG_QUALITY_LABEL_INPUT_ARTIFACT_FILENAME}{ConfigParams.ENDSWITH_TXT},无法执行<BCG的质量标注>"
|
||
BCG_QUALITY_LABEL_FILES_FOUND: str = f"找到{ConfigParams.BCG_QUALITY_LABEL_INPUT_BCG_FILENAME}{ConfigParams.ENDSWITH_TXT}和{ConfigParams.BCG_QUALITY_LABEL_INPUT_ARTIFACT_FILENAME}{ConfigParams.ENDSWITH_TXT}"
|
||
BCG_QUALITY_LABEL_HISTORICAL_SAVE_FOUND: str = f"找到历史存档文件{ConfigParams.BCG_QUALITY_LABEL_SAVE_FILENAME}{ConfigParams.BCG_QUALITY_LABEL_SAVE_MODE_10S}{ConfigParams.ENDSWITH_CSV}或{ConfigParams.BCG_QUALITY_LABEL_SAVE_FILENAME}{ConfigParams.BCG_QUALITY_LABEL_SAVE_MODE_30S}{ConfigParams.ENDSWITH_CSV},已成功读取"
|
||
BCG_QUALITY_LABEL_MODE_UNSELECTED: str = "显示模式未选择"
|
||
BCG_QUALITY_LABEL_INPUT_SIGNAL_FAILURE: str = "导入信号失败,请检查信号长度"
|
||
BCG_QUALITY_LABEL_INPUT_ARTIFACT_FAILURE_FORMAT: str = "导入体动失败,请检查体动标签格式"
|
||
BCG_QUALITY_LABEL_INPUT_ARTIFACT_FAILURE_LENGTH: str = "导入体动失败,请检查体动长度是否为4的倍数"
|
||
|
||
BCG_QUALITY_LABEL_RUNNING: str = "开始执行任务<BCG的质量评估标注>"
|
||
BCG_QUALITY_LABEL_10S_MODE: str = f"{ConfigParams.BCG_QUALITY_LABEL_SAVE_MODE_10S}_MODE"
|
||
BCG_QUALITY_LABEL_30S_MODE: str = f"{ConfigParams.BCG_QUALITY_LABEL_SAVE_MODE_30S}_MODE"
|
||
BCG_QUALITY_LABEL_COLUMN_LABEL: str = "label"
|
||
BCG_QUALITY_LABEL_COLUMN_REMARK: str = "remark"
|
||
BCG_QUALITY_LABEL_VIEWING_THE_FIRST_PART: str = "你正在查看第1段信号"
|
||
BCG_QUALITY_LABEL_VIEWING_THE_LAST_PART: str = "你正在查看最后1段信号"
|
||
BCG_QUALITY_LABEL_VIEWING_THE_FIRST_PART_UNLABELED: str = "前面的片段都被打标,将跳转至第1段信号"
|
||
BCG_QUALITY_LABEL_VIEWING_THE_LAST_PART_UNLABELED: str = "后面的片段都被打标,将跳转至最后1段信号"
|
||
BCG_QUALITY_LABEL_LABELED_FINISHED: str = "该份数据打标已全部完成"
|
||
BCG_QUALITY_LABEL_VIEWING_PART: str = "正在查看信号段"
|
||
BCG_QUALITY_LABEL_JUMP_PART: str = "跳转到片段"
|
||
BCG_QUALITY_LABEL_CLICKED_CHECKBOX_HIGHLIGHT_LONGEST_CONTINUOUS: str = "点击了<高亮最长连续>"
|
||
BCG_QUALITY_LABEL_CLICKED_CHECKBOX_DISPLAY_AFTERFILTER: str = "点击了<去除工频噪声>"
|
||
BCG_QUALITY_LABEL_CLICKED_CHECKBOX_EXAMINE_TOBOLABELED: str = "点击了<仅查未标片段>"
|
||
BCG_QUALITY_LABEL_LABEL_ALL_TO_TYPE_C_QUESTION_CONTENT: str = "你确定要将所有片段标记为类型C"
|
||
BCG_QUALITY_LABEL_LABEL_ALL_TO_TYPE_C: str = "已将所有片段标记为类型C"
|
||
BCG_QUALITY_LABEL_LABEL_ARTIFACT_TO_TYPE_C_QUESTION_CONTENT: str = "你确定要将所有带有体动的片段标记为类型C"
|
||
BCG_QUALITY_LABEL_LABEL_ARTIFACT_TO_TYPE_C: str = "已将所有带有体动的片段标记为类型C"
|
||
BCG_QUALITY_LABEL_PLOT_LABEL_SIGNAL: str = "BCG"
|
||
BCG_QUALITY_LABEL_PLOT_LABEL_ARTIFACT: str = "Artifact"
|
||
BCG_QUALITY_LABEL_PLOT_LABEL_LONGEST_CONTINUOUS: str = "Longest_Continuous"
|
||
BCG_QUALITY_LABEL_10S_A: str = "a"
|
||
BCG_QUALITY_LABEL_10S_B: str = "b"
|
||
BCG_QUALITY_LABEL_10S_C: str = "c"
|
||
BCG_QUALITY_LABEL_10S_A_LIST: str = "label_a"
|
||
BCG_QUALITY_LABEL_10S_B_LIST: str = "label_b"
|
||
BCG_QUALITY_LABEL_10S_C_LIST: str = "label_c"
|
||
BCG_QUALITY_LABEL_30S_A1: str = "a"
|
||
BCG_QUALITY_LABEL_30S_A2: str = "b"
|
||
BCG_QUALITY_LABEL_30S_B1: str = "c"
|
||
BCG_QUALITY_LABEL_30S_B2: str = "d"
|
||
BCG_QUALITY_LABEL_30S_C: str = "e"
|
||
BCG_QUALITY_LABEL_30S_A1_LIST: str = "label_a1"
|
||
BCG_QUALITY_LABEL_30S_A2_LIST: str = "label_a2"
|
||
BCG_QUALITY_LABEL_30S_B1_LIST: str = "label_b1"
|
||
BCG_QUALITY_LABEL_30S_B2_LIST: str = "label_b2"
|
||
BCG_QUALITY_LABEL_30S_C_LIST: str = "label_c"
|
||
BCG_QUALITY_LABEL_tobeLabeled: str = "f"
|
||
BCG_QUALITY_LABEL_tobeLabeled_LIST: str = "label_tobeLabeled"
|
||
BCG_QUALITY_LABEL_LABELBTN_STYLE: str = """
|
||
QPushButton {
|
||
background-color: orange; /* 设置背景颜色 */
|
||
padding: 10px; /* 设置内边距 */
|
||
border: 2px solid darkblue; /* 设置边框 */
|
||
border-radius: 10px; /* 设置圆角 */
|
||
}
|
||
QPushButton:hover {
|
||
background-color: yellow; /* 鼠标悬停时的背景颜色 */
|
||
}"""
|
||
|
||
|
||
# 呼吸可用性及间期标注
|
||
RESP_QUALITY_LABEL_FILES_NOT_FOUND: str = f"无法找到{ConfigParams.RESP_QUALITY_LABEL_INPUT_XINXIAO_FILENAME}{ConfigParams.ENDSWITH_TXT}或{ConfigParams.RESP_QUALITY_LABEL_INPUT_THO_FILENAME}{ConfigParams.ENDSWITH_TXT}或{ConfigParams.RESP_QUALITY_LABEL_INPUT_ARTIFACT_FILENAME}{ConfigParams.ENDSWITH_TXT},无法执行<呼吸可用性及间期标注>"
|
||
RESP_QUALITY_LABEL_FILES_FOUND: str = f"找到{ConfigParams.RESP_QUALITY_LABEL_INPUT_XINXIAO_FILENAME}{ConfigParams.ENDSWITH_TXT}和{ConfigParams.RESP_QUALITY_LABEL_INPUT_THO_FILENAME}{ConfigParams.ENDSWITH_TXT}和{ConfigParams.RESP_QUALITY_LABEL_INPUT_ARTIFACT_FILENAME}{ConfigParams.ENDSWITH_TXT}"
|
||
RESP_QUALITY_LABEL_HISTORICAL_SAVE1_FOUND: str = f"找到历史存档文件{ConfigParams.RESP_QUALITY_LABEL_SAVE_RESP_QUALITY_LABNEL_FILENAME}{ConfigParams.ENDSWITH_TXT},已成功读取"
|
||
RESP_QUALITY_LABEL_HISTORICAL_SAVE2_FOUND: str = f"找到历史存档文件{ConfigParams.RESP_QUALITY_LABEL_SAVE_THO_PEAK_FILENAME}{ConfigParams.ENDSWITH_TXT},已成功读取"
|
||
RESP_QUALITY_LABEL_INPUT_SIGNAL_FAILURE: str = "导入信号失败,请检查信号长度"
|
||
RESP_QUALITY_LABEL_INPUT_SUCCESSFULLY: str = "导入数据成功"
|
||
RESP_QUALITY_LABEL_PREPROCESS_SUCCESSFULLY: str = "导入数据成功"
|
||
RESP_QUALITY_LABEL_INPUT_ARTIFACT_FAILURE_FORMAT: str = "导入体动失败,请检查体动标签格式"
|
||
RESP_QUALITY_LABEL_INPUT_ARTIFACT_FAILURE_LENGTH: str = "导入体动失败,请检查体动长度是否为4的倍数"
|
||
|
||
RESP_QUALITY_LABEL_RUNNING: str = "开始执行任务<呼吸可用性及间期标注>"
|
||
RESP_QUALITY_LABEL_PLOT_LABEL_ORGBCG: str = "BDR_sync by filter orgBcg_sync"
|
||
RESP_QUALITY_LABEL_PLOT_LABEL_THO: str = "THO_sync after preprocess"
|
||
RESP_QUALITY_LABEL_PLOT_LABEL_THO_PEAKS: str = "THO_peak"
|
||
RESP_QUALITY_LABEL_PLOT_LABEL_ARTIFACT: str = "Artifact"
|
||
RESP_QUALITY_LABEL_VIEWING_THE_FIRST_PART: str = "你正在查看第1段信号"
|
||
RESP_QUALITY_LABEL_VIEWING_THE_LAST_PART: str = "你正在查看最后1段信号"
|
||
RESP_QUALITY_LABEL_ACTION_LABEL_MULTIPLE_NAME: str = f"批量更改标签({ConfigParams.RESP_QUALITY_LABEL_ACTION_LABEL_MULTIPLE_SHORTCUT_KEY})"
|
||
RESP_QUALITY_LABEL_CUSTOM_NAVIGATIONTOOLBAR_WIDGET_NAME: str = "MainWindow"
|
||
RESP_QUALITY_LABEL_BUTTON_PRESS_EVENT: str = "button_press_event"
|
||
RESP_QUALITY_LABEL_BUTTON_RELEASE_EVENT: str = "button_release_event"
|
||
RESP_QUALITY_LABEL_MOTION_NOTIFY_EVENT: str = "motion_notify_event"
|
||
RESP_QUALITY_LABEL_ADD_POINTS_SUCCESSFULLY: str = "成功新增点,横坐标:"
|
||
RESP_QUALITY_LABEL_REMOVE_POINTS_SUCCESSFULLY: str = "成功删除点,横坐标:"
|
||
RESP_QUALITY_LABEL_NO_POINT_IN_THE_INTERVAL: str = "所选区间内无新增或删除点"
|
||
RESP_QUALITY_LABEL_SAVE_PEAKS_SUCCESSFULLY: str = "保存峰值成功"
|
||
RESP_QUALITY_LABEL_DATA_NOT_FOUND: str = "数据未导入"
|
||
RESP_QUALITY_LABEL_LABEL_SUCCESSFULLY: str = "片段标注并保存成功"
|
||
RESP_QUALITY_LABEL_RESET_SUCCESSFULLY: str = "片段重置并保存成功"
|
||
RESP_QUALITY_LABEL_PLOT_LABEL_VLINE: str = "vline"
|
||
RESP_QUALITY_LABEL_PLOT_LABEL_HLINE: str = "hline"
|
||
RESP_QUALITY_LABEL_A_QUALITY: int = 1
|
||
RESP_QUALITY_LABEL_B_QUALITY: int = 0
|
||
RESP_QUALITY_LABEL_C_QUALITY: int = -1
|
||
RESP_QUALITY_LABEL_LABELED: str = "已标注"
|
||
RESP_QUALITY_LABEL_TOBELABELED: str = "未标注"
|
||
RESP_QUALITY_LABEL_SPECTRUM_BDR_TITLE: str = "Spectrum of BDR_sync by filter orgBcg_sync"
|
||
RESP_QUALITY_LABEL_SPECTRUM_THO_TITLE: str = "Spectrum of THO_sync after preprocess"
|
||
RESP_QUALITY_LABEL_SPECTRUM_ORGBCG_LABEL: str = "orgBcg"
|
||
RESP_QUALITY_LABEL_SPECTRUM_BDR_LABEL: str = "BDR"
|
||
RESP_QUALITY_LABEL_SPECTRUM_THO_LABEL: str = "THO"
|
||
RESP_QUALITY_LABEL_CUSTOM_FILTER_ARGS_ERROR: str = "orgBcg带通滤波频率设置范围应为数字,范围是0~1"
|
||
RESP_QUALITY_LABEL_AUTOLABEL_ARGS_ERROR: str = "人工标注阈值设置范围应为数字,范围是0~1"
|
||
RESP_QUALITY_LABEL_CHECK_ARGS_QUESTION_CONTENT: str = "你确定要执行此操作吗,请确保参数输入正确"
|
||
RESP_QUALITY_LABEL_KEY_VALUE = {
|
||
1: "Good",
|
||
0: "Bad",
|
||
-1: "None"
|
||
}
|
||
|
||
|
||
# 睡眠呼吸暂停事件打标
|
||
SA_LABEL_CHANNEL_NAME_FLOWT: str = "Flow T"
|
||
SA_LABEL_CHANNEL_NAME_FLOWP: str = "Flow P"
|
||
SA_LABEL_CHANNEL_NAME_EFFORTTHO: str = "Effort Tho"
|
||
SA_LABEL_CHANNEL_NAME_EFFORTABD: str = "Effort Abd"
|
||
SA_LABEL_CHANNEL_NAME_SPO2: str = "SpO2"
|
||
|
||
|
||
|
||
|
||
# 禁止实例化
|
||
def __new__(cls):
|
||
raise TypeError("Constants class cannot be instantiated")
|
||
|
||
# 禁止修改常量
|
||
@classmethod
|
||
def __setattr__(cls, key, value):
|
||
raise AttributeError("Cannot modify constants") |