1、完成了<数据精对齐>的所有代码

This commit is contained in:
2025-05-08 15:51:32 +08:00
parent b4c4e124f8
commit 6a250a64a0
12 changed files with 2662 additions and 480 deletions

View File

@ -144,10 +144,6 @@ class MainWindow_detect_Jpeak(QMainWindow):
self.gs = None self.gs = None
self.ax0 = None self.ax0 = None
self.line_data = None
self.point_peak = None
self.line_interval = None
self.msgBox = QMessageBox() self.msgBox = QMessageBox()
self.msgBox.setWindowTitle(Constants.MAINWINDOW_MSGBOX_TITLE) self.msgBox.setWindowTitle(Constants.MAINWINDOW_MSGBOX_TITLE)
@ -207,11 +203,7 @@ class MainWindow_detect_Jpeak(QMainWindow):
QApplication.processEvents() QApplication.processEvents()
# 清空画框 # 清空画框
if self.line_data and self.point_peak: self.ax0.clear()
del self.line_data
del self.point_peak
del self.line_interval
self.canvas.draw()
# 释放资源 # 释放资源
del self.data del self.data
@ -232,24 +224,18 @@ class MainWindow_detect_Jpeak(QMainWindow):
def __plot__(self): def __plot__(self):
# 清空画框 # 清空画框
if self.line_data and self.point_peak and self.line_interval: self.reset_axes()
try:
self.line_data.remove()
self.point_peak.remove()
self.line_interval.remove()
except ValueError:
pass
sender = self.sender() sender = self.sender()
if sender == self.ui.pushButton_view: if sender == self.ui.pushButton_view:
self.line_data, = self.ax0.plot(self.data.processed_data, self.ax0.plot(self.data.processed_data,
color=Constants.PLOT_COLOR_BLUE, color=Constants.PLOT_COLOR_BLUE,
label=Constants.DETECT_JPEAK_PLOT_LABEL_BCG) label=Constants.DETECT_JPEAK_PLOT_LABEL_BCG)
self.point_peak, = self.ax0.plot(self.data.peak, self.data.processed_data[self.data.peak], self.ax0.plot(self.data.peak, self.data.processed_data[self.data.peak],
'r.', 'r.',
label=Constants.DETECT_JPEAK_PLOT_LABEL_J_PEAKS) label=Constants.DETECT_JPEAK_PLOT_LABEL_J_PEAKS)
self.line_interval, = self.ax0.plot(self.data.interval, self.ax0.plot(self.data.interval,
color=Constants.PLOT_COLOR_ORANGE, color=Constants.PLOT_COLOR_ORANGE,
label=Constants.DETECT_JPEAK_PLOT_LABEL_INTERVAL) label=Constants.DETECT_JPEAK_PLOT_LABEL_INTERVAL)
self.ax0.legend(loc=Constants.PLOT_UPPER_RIGHT) self.ax0.legend(loc=Constants.PLOT_UPPER_RIGHT)
@ -278,13 +264,7 @@ class MainWindow_detect_Jpeak(QMainWindow):
PublicFunc.__disableAllButton__(self, ButtonState) PublicFunc.__disableAllButton__(self, ButtonState)
# 清空画框 # 清空画框
if self.line_data and self.point_peak and self.line_interval: self.reset_axes()
try:
self.line_data.remove()
self.point_peak.remove()
self.line_interval.remove()
except ValueError:
pass
self.canvas.draw() self.canvas.draw()
# 清空模型列表 # 清空模型列表
@ -401,6 +381,12 @@ class MainWindow_detect_Jpeak(QMainWindow):
PublicFunc.finish_operation(self, ButtonState) PublicFunc.finish_operation(self, ButtonState)
def reset_axes(self):
self.ax0.clear()
self.ax0.grid(True)
self.ax0.xaxis.set_major_formatter(ConfigParams.FORMATTER)
def update_ui_comboBox_model(self, model_list): def update_ui_comboBox_model(self, model_list):
self.ui.comboBox_model.clear() self.ui.comboBox_model.clear()
@ -479,8 +465,7 @@ class Data:
try: try:
# DataFrame(self.processed_data.reshape(-1)).to_csv(self.file_path_save, # DataFrame(self.processed_data.reshape(-1)).to_csv(self.file_path_save,
# index=False, # index=False,
# header=False, # header=False)
# float_format='%.4f')
chunk.to_csv(self.file_path_save, mode='a', index=False, header=False) chunk.to_csv(self.file_path_save, mode='a', index=False, header=False)
except Exception: except Exception:
return False, Constants.SAVING_FAILURE + Constants.DETECT_JPEAK_FAILURE_REASON["Save_Exception"] return False, Constants.SAVING_FAILURE + Constants.DETECT_JPEAK_FAILURE_REASON["Save_Exception"]

View File

@ -142,11 +142,6 @@ class MainWindow_detect_Rpeak(QMainWindow):
self.ax0 = None self.ax0 = None
self.ax1 = None self.ax1 = None
self.line_data = None
self.point_peak = None
self.line_interval = None
self.point_RRIV = None
self.msgBox = QMessageBox() self.msgBox = QMessageBox()
self.msgBox.setWindowTitle(Constants.MAINWINDOW_MSGBOX_TITLE) self.msgBox.setWindowTitle(Constants.MAINWINDOW_MSGBOX_TITLE)
@ -202,11 +197,8 @@ class MainWindow_detect_Rpeak(QMainWindow):
QApplication.processEvents() QApplication.processEvents()
# 清空画框 # 清空画框
if self.line_data and self.point_peak: self.ax0.clear()
del self.line_data self.ax1.clear()
del self.point_peak
del self.line_interval
self.canvas.draw()
# 释放资源 # 释放资源
del self.data del self.data
@ -226,28 +218,21 @@ class MainWindow_detect_Rpeak(QMainWindow):
def __plot__(self): def __plot__(self):
# 清空画框 # 清空画框
if self.line_data and self.point_peak and self.line_interval and self.point_RRIV: self.reset_axes()
try:
self.line_data.remove()
self.point_peak.remove()
self.line_interval.remove()
self.point_RRIV.remove()
except ValueError:
pass
sender = self.sender() sender = self.sender()
if sender == self.ui.pushButton_view: if sender == self.ui.pushButton_view:
self.point_RRIV, = self.ax0.plot(self.data.peak[2:], self.data.RRIV, self.ax0.plot(self.data.peak[2:], self.data.RRIV,
'r.', 'r.',
label=Constants.DETECT_RPEAK_PLOT_LABEL_RRIV) label=Constants.DETECT_RPEAK_PLOT_LABEL_RRIV)
self.line_data, = self.ax1.plot(self.data.processed_data, self.ax1.plot(self.data.processed_data,
color=Constants.PLOT_COLOR_BLUE, color=Constants.PLOT_COLOR_BLUE,
label=Constants.DETECT_RPEAK_PLOT_LABEL_ECG) label=Constants.DETECT_RPEAK_PLOT_LABEL_ECG)
self.point_peak, = self.ax1.plot(self.data.peak, self.data.processed_data[self.data.peak], self.ax1.plot(self.data.peak, self.data.processed_data[self.data.peak],
'r*', 'r*',
label=Constants.DETECT_RPEAK_PLOT_LABEL_R_PEAKS) label=Constants.DETECT_RPEAK_PLOT_LABEL_R_PEAKS)
self.line_interval, = self.ax1.plot(self.data.interval, self.ax1.plot(self.data.interval,
color=Constants.PLOT_COLOR_GREEN, color=Constants.PLOT_COLOR_GREEN,
label=Constants.DETECT_RPEAK_PLOT_LABEL_INTERVAL) label=Constants.DETECT_RPEAK_PLOT_LABEL_INTERVAL)
self.ax0.legend(loc=Constants.PLOT_UPPER_RIGHT) self.ax0.legend(loc=Constants.PLOT_UPPER_RIGHT)
@ -273,14 +258,7 @@ class MainWindow_detect_Rpeak(QMainWindow):
PublicFunc.__disableAllButton__(self, ButtonState) PublicFunc.__disableAllButton__(self, ButtonState)
# 清空画框 # 清空画框
if self.line_data and self.point_peak and self.line_interval and self.point_RRIV: self.reset_axes()
try:
self.line_data.remove()
self.point_peak.remove()
self.line_interval.remove()
self.point_RRIV.remove()
except ValueError:
pass
self.canvas.draw() self.canvas.draw()
# 清空方法列表 # 清空方法列表
@ -402,6 +380,16 @@ class MainWindow_detect_Rpeak(QMainWindow):
PublicFunc.finish_operation(self, ButtonState) PublicFunc.finish_operation(self, ButtonState)
def reset_axes(self):
self.ax0.clear()
self.ax1.clear()
self.ax0.grid(True)
self.ax0.xaxis.set_major_formatter(ConfigParams.FORMATTER)
self.ax0.tick_params(axis='x', colors=Constants.PLOT_COLOR_WHITE)
self.ax1.grid(True)
self.ax1.xaxis.set_major_formatter(ConfigParams.FORMATTER)
def update_ui_comboBox_method(self, method_list): def update_ui_comboBox_method(self, method_list):
self.ui.comboBox_method.clear() self.ui.comboBox_method.clear()
@ -472,8 +460,7 @@ class Data:
try: try:
# DataFrame(self.processed_data.reshape(-1)).to_csv(self.file_path_save, # DataFrame(self.processed_data.reshape(-1)).to_csv(self.file_path_save,
# index=False, # index=False,
# header=False, # header=False)
# float_format='%.4f')
chunk.to_csv(self.file_path_save, mode='a', index=False, header=False) chunk.to_csv(self.file_path_save, mode='a', index=False, header=False)
except Exception: except Exception:
return False, Constants.SAVING_FAILURE + Constants.DETECT_RPEAK_FAILURE_REASON["Save_Exception"] return False, Constants.SAVING_FAILURE + Constants.DETECT_RPEAK_FAILURE_REASON["Save_Exception"]

View File

@ -213,8 +213,6 @@ class MainWindow_label_check(QMainWindow):
self.is_left_button_pressed = None self.is_left_button_pressed = None
self.is_right_button_pressed = None self.is_right_button_pressed = None
self.line_processed_data_1 = None
self.line_processed_data_2 = None
self.point_peak_original = None self.point_peak_original = None
self.point_peak_corrected = None self.point_peak_corrected = None
self.annotation_tableWidget = None self.annotation_tableWidget = None
@ -250,6 +248,7 @@ class MainWindow_label_check(QMainWindow):
self.fig = plt.figure(figsize=(12, 9), dpi=100) self.fig = plt.figure(figsize=(12, 9), dpi=100)
self.canvas = FigureCanvasQTAgg(self.fig) self.canvas = FigureCanvasQTAgg(self.fig)
self.figToolbar = CustomNavigationToolbar(self.canvas, self) self.figToolbar = CustomNavigationToolbar(self.canvas, self)
self.figToolbar.action_Label_Multiple.setEnabled(False)
for action in self.figToolbar._actions.values(): for action in self.figToolbar._actions.values():
action.setEnabled(False) action.setEnabled(False)
for action in self.figToolbar.actions(): for action in self.figToolbar.actions():
@ -300,7 +299,6 @@ class MainWindow_label_check(QMainWindow):
self.ui.tableWidget_peak_corrected.cellDoubleClicked.connect( self.ui.tableWidget_peak_corrected.cellDoubleClicked.connect(
self.__slot_tableWidget_on_cell_double_clicked__) self.__slot_tableWidget_on_cell_double_clicked__)
self.ui.doubleSpinBox_findpeaks_min_interval.editingFinished.connect(self.__update_config__) self.ui.doubleSpinBox_findpeaks_min_interval.editingFinished.connect(self.__update_config__)
self.ui.doubleSpinBox_findpeaks_min_height.editingFinished.connect(self.__update_config__) self.ui.doubleSpinBox_findpeaks_min_height.editingFinished.connect(self.__update_config__)
self.ui.spinBox_moveLength.editingFinished.connect(self.__update_config__) self.ui.spinBox_moveLength.editingFinished.connect(self.__update_config__)
@ -316,12 +314,11 @@ class MainWindow_label_check(QMainWindow):
QApplication.processEvents() QApplication.processEvents()
# 清空画框 # 清空画框
if self.line_processed_data_1 and self.line_processed_data_2 and self.point_peak_original and self.point_peak_corrected: del self.point_peak_original
del self.line_processed_data_1 del self.point_peak_corrected
del self.line_processed_data_2 del self.annotation_tableWidget
del self.point_peak_original self.ax0.clear()
del self.point_peak_corrected self.ax1.clear()
self.canvas.draw()
# 释放资源 # 释放资源
del self.data del self.data
@ -340,25 +337,28 @@ class MainWindow_label_check(QMainWindow):
def __plot__(self): def __plot__(self):
# 清空画框 # 清空画框
if self.line_processed_data_1 and self.line_processed_data_2 and self.point_peak_original and self.point_peak_corrected: if self.point_peak_original is not None:
try: self.point_peak_original.remove()
self.line_processed_data_1.remove() self.point_peak_original = None
self.line_processed_data_2.remove() if self.point_peak_corrected is not None:
self.point_peak_original.remove() self.point_peak_corrected.remove()
self.point_peak_corrected.remove() self.point_peak_corrected = None
except ValueError: if self.annotation_tableWidget is not None:
pass self.annotation_tableWidget.remove()
self.annotation_tableWidget = None
self.reset_axes()
sender = self.sender() sender = self.sender()
if sender == self.ui.pushButton_input: if sender == self.ui.pushButton_input:
self.ui.spinBox_data_length.setValue(len(self.data.processed_data)) self.ui.spinBox_data_length.setValue(len(self.data.processed_data))
self.line_processed_data_1, = self.ax0.plot(self.data.processed_data, self.ax0.plot(self.data.processed_data,
label=Constants.LABEL_CHECK_PLOT_LABEL_SIGNAL, label=Constants.LABEL_CHECK_PLOT_LABEL_SIGNAL,
color=Constants.PLOT_COLOR_BLUE) color=Constants.PLOT_COLOR_BLUE)
self.line_processed_data_2, = self.ax1.plot(self.data.processed_data, self.ax1.plot(self.data.processed_data,
label=Constants.LABEL_CHECK_PLOT_LABEL_SIGNAL, label=Constants.LABEL_CHECK_PLOT_LABEL_SIGNAL,
color=Constants.PLOT_COLOR_BLUE) color=Constants.PLOT_COLOR_BLUE)
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)
status = True status = True
@ -382,7 +382,7 @@ class MainWindow_label_check(QMainWindow):
self.ax1.callbacks.connect('xlim_changed', lambda ax: self.on_xlim_change(ax)) self.ax1.callbacks.connect('xlim_changed', lambda ax: self.on_xlim_change(ax))
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)
except Exception as e: except Exception:
return False, Constants.DRAWING_FAILURE return False, Constants.DRAWING_FAILURE
self.canvas.draw() self.canvas.draw()
@ -431,14 +431,17 @@ class MainWindow_label_check(QMainWindow):
PublicFunc.__disableAllButton__(self, ButtonState) PublicFunc.__disableAllButton__(self, ButtonState)
# 清空画框 # 清空画框
if self.line_processed_data_1 and self.line_processed_data_2 and self.point_peak_original and self.point_peak_corrected: if self.point_peak_original is not None:
try: self.point_peak_original.remove()
self.line_processed_data_1.remove() self.point_peak_original = None
self.line_processed_data_2.remove() if self.point_peak_corrected is not None:
self.point_peak_original.remove() self.point_peak_corrected.remove()
self.point_peak_corrected.remove() self.point_peak_corrected = None
except ValueError: if self.annotation_tableWidget is not None:
pass self.annotation_tableWidget.remove()
self.annotation_tableWidget = None
self.reset_axes()
self.canvas.draw() self.canvas.draw()
self.data = Data() self.data = Data()
@ -653,14 +656,24 @@ class MainWindow_label_check(QMainWindow):
self.canvas.draw() self.canvas.draw()
PublicFunc.text_output(self.ui, f"{Constants.LABEL_CHECK_JUMP_X_INDEX}{str(int(x))}", Constants.TIPS_TYPE_INFO) PublicFunc.text_output(self.ui, f"{Constants.LABEL_CHECK_JUMP_X_INDEX}{str(int(x))}", Constants.TIPS_TYPE_INFO)
def reset_axes(self):
self.ax0.clear()
self.ax1.clear()
self.ax0.grid(True)
self.ax0.xaxis.set_major_formatter(ConfigParams.FORMATTER)
self.ax0.tick_params(axis='x', colors=Constants.PLOT_COLOR_WHITE)
self.ax1.grid(True)
self.ax1.xaxis.set_major_formatter(ConfigParams.FORMATTER)
def on_xlim_change(self, event_ax): def on_xlim_change(self, event_ax):
try: try:
if self.annotation_tableWidget: if self.annotation_tableWidget is not None:
self.annotation_tableWidget.remove() self.annotation_tableWidget.remove()
self.annotation_tableWidget = None
except AttributeError: except AttributeError:
pass pass
self.annotation_tableWidget = None
def autoplay_move_xlim(self): def autoplay_move_xlim(self):
@ -967,7 +980,6 @@ class Data:
class CustomNavigationToolbar(NavigationToolbar2QT): class CustomNavigationToolbar(NavigationToolbar2QT):
def __init__(self, canvas, parent): def __init__(self, canvas, parent):
super().__init__(canvas, parent) super().__init__(canvas, parent)
# 初始化画框工具栏 # 初始化画框工具栏
@ -997,24 +1009,20 @@ class CustomNavigationToolbar(NavigationToolbar2QT):
self.rect_patch_ax0 = None # 用于绘制矩形的patch self.rect_patch_ax0 = None # 用于绘制矩形的patch
self.rect_patch_ax1 = None # 用于绘制矩形的patch self.rect_patch_ax1 = None # 用于绘制矩形的patch
def home(self, *args): def home(self, *args):
pass pass
def zoom(self, *args): def zoom(self, *args):
super().zoom(*args) super().zoom(*args)
self.deactivate_figToorbar_changeLabel_mode() self.deactivate_figToorbar_changeLabel_mode()
def pan(self, *args): def pan(self, *args):
super().pan(*args) super().pan(*args)
self.deactivate_figToorbar_changeLabel_mode() self.deactivate_figToorbar_changeLabel_mode()
def deactivate_figToorbar_changeLabel_mode(self): def deactivate_figToorbar_changeLabel_mode(self):
if self.action_Label_Multiple.isChecked(): if self.action_Label_Multiple.isChecked():

View File

@ -4,7 +4,6 @@ from PySide6.QtWidgets import QMainWindow, QMessageBox, QFileDialog
from matplotlib import use from matplotlib import use
from yaml import dump, load, FullLoader from yaml import dump, load, FullLoader
from func.utils.PublicFunc import PublicFunc from func.utils.PublicFunc import PublicFunc
from ui.MainWindow.MainWindow_menu import Ui_Signal_Label from ui.MainWindow.MainWindow_menu import Ui_Signal_Label
@ -12,6 +11,7 @@ from func.Module_preprocess import MainWindow_preprocess
from func.Module_detect_Jpeak import MainWindow_detect_Jpeak from func.Module_detect_Jpeak import MainWindow_detect_Jpeak
from func.Module_detect_Rpeak import MainWindow_detect_Rpeak from func.Module_detect_Rpeak import MainWindow_detect_Rpeak
from func.Module_label_check import MainWindow_label_check from func.Module_label_check import MainWindow_label_check
from func.Module_precisely_align import MainWindow_precisely_align
from func.utils.Constants import Constants, ConfigParams from func.utils.Constants import Constants, ConfigParams
@ -44,6 +44,7 @@ class MainWindow(QMainWindow, Ui_Signal_Label):
self.detect_Jpeak = None self.detect_Jpeak = None
self.detect_Rpeak = None self.detect_Rpeak = None
self.label_check = None self.label_check = None
self.precisely_align = None
# 绑定槽函数 # 绑定槽函数
self.ui.pushButton_open.clicked.connect(self.__slot_btn_open__) self.ui.pushButton_open.clicked.connect(self.__slot_btn_open__)
@ -53,6 +54,7 @@ class MainWindow(QMainWindow, Ui_Signal_Label):
self.ui.pushButton_detect_Rpeak.clicked.connect(self.__slot_btn_detect_Rpeak__) self.ui.pushButton_detect_Rpeak.clicked.connect(self.__slot_btn_detect_Rpeak__)
self.ui.pushButton_label_check_BCG.clicked.connect(self.__slot_btn_label_check__) self.ui.pushButton_label_check_BCG.clicked.connect(self.__slot_btn_label_check__)
self.ui.pushButton_label_check_ECG.clicked.connect(self.__slot_btn_label_check__) self.ui.pushButton_label_check_ECG.clicked.connect(self.__slot_btn_label_check__)
self.ui.pushButton_precisely_align.clicked.connect(self.__slot_btn_precisely_align__)
@staticmethod @staticmethod
def __read_config__(): def __read_config__():
@ -98,7 +100,7 @@ class MainWindow(QMainWindow, Ui_Signal_Label):
elif sender == self.ui.pushButton_preprocess_ECG: elif sender == self.ui.pushButton_preprocess_ECG:
mode = "ECG" mode = "ECG"
else: else:
mode = "ModeNotExist" raise ValueError("模式不存在")
self.preprocess.show(mode, root_path, sampID) self.preprocess.show(mode, root_path, sampID)
def __slot_btn_detect_Jpeak__(self): def __slot_btn_detect_Jpeak__(self):
@ -127,9 +129,16 @@ class MainWindow(QMainWindow, Ui_Signal_Label):
elif sender == self.ui.pushButton_label_check_ECG: elif sender == self.ui.pushButton_label_check_ECG:
mode = "ECG" mode = "ECG"
else: else:
mode = "ModeNotExist" raise ValueError("模式不存在")
self.label_check.show(mode, root_path, sampID) self.label_check.show(mode, root_path, sampID)
def __slot_btn_precisely_align__(self):
self.precisely_align = MainWindow_precisely_align()
root_path = self.ui.plainTextEdit_root_path.toPlainText()
sampID = int(self.ui.comboBox_sampID.currentText())
self.precisely_align.show(root_path, sampID)
def seek_sampID(self, path): def seek_sampID(self, path):
if not Path(path).exists(): if not Path(path).exists():

File diff suppressed because it is too large Load Diff

View File

@ -192,9 +192,6 @@ class MainWindow_preprocess(QMainWindow):
self.gs = None self.gs = None
self.ax0 = None self.ax0 = None
self.line_raw_data = None
self.line_processed_data = None
self.msgBox = QMessageBox() self.msgBox = QMessageBox()
self.msgBox.setWindowTitle(Constants.MAINWINDOW_MSGBOX_TITLE) self.msgBox.setWindowTitle(Constants.MAINWINDOW_MSGBOX_TITLE)
@ -254,10 +251,7 @@ class MainWindow_preprocess(QMainWindow):
QApplication.processEvents() QApplication.processEvents()
# 清空画框 # 清空画框
if self.line_raw_data and self.line_processed_data: self.ax0.clear()
del self.line_raw_data
del self.line_processed_data
self.canvas.draw()
# 释放资源 # 释放资源
del self.data del self.data
@ -277,22 +271,17 @@ class MainWindow_preprocess(QMainWindow):
def __plot__(self): def __plot__(self):
# 清空画框 # 清空画框
if self.line_raw_data and self.line_processed_data: self.reset_axes()
try:
self.line_raw_data.remove()
self.line_processed_data.remove()
except ValueError:
pass
sender = self.sender() sender = self.sender()
if sender == self.ui.pushButton_view: if sender == self.ui.pushButton_view:
self.line_raw_data, = self.ax0.plot(self.data.raw_data, self.ax0.plot(self.data.raw_data,
color=Constants.PLOT_COLOR_RED, color=Constants.PLOT_COLOR_RED,
label=Constants.PREPROCESS_PLOT_LABEL_ORIGINAL_DATA) label=Constants.PREPROCESS_PLOT_LABEL_ORIGINAL_DATA)
self.line_processed_data, = self.ax0.plot(self.data.processed_data + Constants.PREPROCESS_OUTPUT_INPUT_AMP_OFFSET, self.ax0.plot(self.data.processed_data + Constants.PREPROCESS_OUTPUT_INPUT_AMP_OFFSET,
color=Constants.PLOT_COLOR_BLUE, color=Constants.PLOT_COLOR_BLUE,
label=Constants.PREPROCESS_PLOT_LABEL_PROCESSED_DATA) label=Constants.PREPROCESS_PLOT_LABEL_PROCESSED_DATA)
self.ax0.legend(loc=Constants.PLOT_UPPER_RIGHT) self.ax0.legend(loc=Constants.PLOT_UPPER_RIGHT)
status = True status = True
info = Constants.DRAWING_FINISHED info = Constants.DRAWING_FINISHED
@ -321,12 +310,8 @@ class MainWindow_preprocess(QMainWindow):
PublicFunc.__disableAllButton__(self, ButtonState) PublicFunc.__disableAllButton__(self, ButtonState)
# 清空画框 # 清空画框
if self.line_raw_data and self.line_processed_data: self.reset_axes()
try:
self.line_raw_data.remove()
self.line_processed_data.remove()
except ValueError:
pass
self.canvas.draw() self.canvas.draw()
self.data = Data() self.data = Data()
@ -408,6 +393,12 @@ class MainWindow_preprocess(QMainWindow):
PublicFunc.finish_operation(self, ButtonState) PublicFunc.finish_operation(self, ButtonState)
def reset_axes(self):
self.ax0.clear()
self.ax0.grid(True)
self.ax0.xaxis.set_major_formatter(ConfigParams.FORMATTER)
class Data: class Data:

View File

@ -27,6 +27,7 @@ class ConfigParams:
FORMATTER = FuncFormatter(lambda x, p: f"{x:.0f}") FORMATTER = FuncFormatter(lambda x, p: f"{x:.0f}")
ACTION_PAN_SHORTCUT_KEY: str = "X" ACTION_PAN_SHORTCUT_KEY: str = "X"
ACTION_ZOOM_SHORTCUT_KEY: str = "C" ACTION_ZOOM_SHORTCUT_KEY: str = "C"
FONT: str = "Microsoft YaHei UI"
# 数据粗同步 # 数据粗同步
@ -127,22 +128,28 @@ class ConfigParams:
LABEL_CHECK_LABEL_TRANSPARENCY: float = 0.2 LABEL_CHECK_LABEL_TRANSPARENCY: float = 0.2
LABEL_CHECK_ACTION_LABEL_MULTIPLE_SHORTCUT_KEY: str = "Z" LABEL_CHECK_ACTION_LABEL_MULTIPLE_SHORTCUT_KEY: str = "Z"
# 数据精同步
PRECISELY_ALIGN_CONFIG_FILE_PATH: str = "./config/Config_precisely_align.yaml"
PRECISELY_ALIGN_CONFIG_NEW_CONTENT = {
"InputConfig": {
"ECGFreq": 1000
}
}
PRECISELY_ALIGN_INPUT_BCG_FILENAME: str = "DSbcg_sig_"
PRECISELY_ALIGN_INPUT_JPEAK_FILENAME: str = "JPeak_revise_corrected"
PRECISELY_ALIGN_SAVE_BCG_FILENAME: str = "Align_info"
PRECISELY_ALIGN_INPUT_ECG_FILENAME: str = "ECG_filter_"
PRECISELY_ALIGN_INPUT_RPEAK_FILENAME: str = "final_Rpeak_corrected"
PRECISELY_ALIGN_SAVE_ECG_FILENAME: str = "Align_info"
PRECISELY_ALIGN_ACTION_GET_RANGE_SHORTCUT_KEY: str = "Z"
# 体动标注 # 体动标注
# TODO弃用 # TODO弃用
# 通用 # 通用
# 目前用到这个编码的地方:
# <BCG的质量评估打标>里的保存和读取csv文件的地方注意的是读取原始数据时依然使用UTF-8
VALIDATOR_INTEGER = QIntValidator(-2**31, 2**31 - 1) VALIDATOR_INTEGER = QIntValidator(-2**31, 2**31 - 1)
VALIDATOR_DOUBLE = QDoubleValidator(-1e100, 1e100, 10) VALIDATOR_DOUBLE = QDoubleValidator(-1e100, 1e100, 10)
FONT: str = "Microsoft YaHei UI"
# 菜单界面
MATPLOTLIB_PLOT_PRECISION_PARAM: int = 10000
# 数据粗同步 # 数据粗同步
APPROXIMATELY_ALIGN_INPUT_ORGBCG_FILENAME: str = "orgBcg_Raw_" APPROXIMATELY_ALIGN_INPUT_ORGBCG_FILENAME: str = "orgBcg_Raw_"
APPROXIMATELY_ALIGN_INPUT_PSG_FILENAME: str = "A" APPROXIMATELY_ALIGN_INPUT_PSG_FILENAME: str = "A"

View File

@ -11,6 +11,9 @@ class Constants:
MSGBOX_TYPE_ERROR: str = "Error" MSGBOX_TYPE_ERROR: str = "Error"
MSGBOX_TYPE_QUESTION: str = "Question" MSGBOX_TYPE_QUESTION: str = "Question"
MAINWINDOW_ROOT_PATH_NOT_EXIST: str = "根目录路径输入错误"
MAINWINDOW_MSGBOX_TITLE: str = "消息"
INPUTTING_DATA: str = "正在导入数据" INPUTTING_DATA: str = "正在导入数据"
INPUT_FINISHED: str = "导入完成" INPUT_FINISHED: str = "导入完成"
INPUT_FAILURE: str = "导入失败" INPUT_FAILURE: str = "导入失败"
@ -193,24 +196,53 @@ class Constants:
LABEL_CHECK_NO_POINT_IN_THE_INTERVAL: 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})" 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弃用 # TODO弃用
# 通用
FOLDER_DIR_NOT_EXIST_THEN_CREATE: str = "检测到保存路径所指向的文件夹不存在,已创建相应文件夹"
# 菜单界面
MAINWINDOW_ROOT_PATH_NOT_EXIST: str = "根目录路径输入错误"
MAINWINDOW_MSGBOX_TITLE: str = "消息"
MAINWINDOW_DIALOG_TITLE: str = "确认数据的采样率"
MAINWINDOW_BACK_TO_MENU: str = "返回主菜单"
MAINWINDOW_QUESTION_BACK_TO_MENU: str = "确定要返回主菜单吗"
# 数据粗同步 # 数据粗同步
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_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_FILES_FOUND: str = f"找到{ConfigParams.APPROXIMATELY_ALIGN_INPUT_ORGBCG_FILENAME}{ConfigParams.ENDSWITH_TXT}{ConfigParams.APPROXIMATELY_ALIGN_INPUT_PSG_FILENAME}{ConfigParams.ENDSWITH_EDF}"

View File

@ -18,33 +18,33 @@ from PySide6.QtGui import (QAction, QBrush, QColor, QConicalGradient,
QTransform) QTransform)
from PySide6.QtWidgets import (QAbstractSpinBox, QApplication, QGridLayout, QGroupBox, from PySide6.QtWidgets import (QAbstractSpinBox, QApplication, QGridLayout, QGroupBox,
QHBoxLayout, QLabel, QMainWindow, QPushButton, QHBoxLayout, QLabel, QMainWindow, QPushButton,
QSizePolicy, QSpacerItem, QSpinBox, QStatusBar, QRadioButton, QSizePolicy, QSpacerItem, QSpinBox,
QTextBrowser, QVBoxLayout, QWidget) QStatusBar, QTextBrowser, QVBoxLayout, QWidget)
class Ui_MainWindow_detect_Jpeak(object): class Ui_MainWindow_precisely_align(object):
def setupUi(self, MainWindow_detect_Jpeak): def setupUi(self, MainWindow_precisely_align):
if not MainWindow_detect_Jpeak.objectName(): if not MainWindow_precisely_align.objectName():
MainWindow_detect_Jpeak.setObjectName(u"MainWindow_detect_Jpeak") MainWindow_precisely_align.setObjectName(u"MainWindow_precisely_align")
MainWindow_detect_Jpeak.setEnabled(True) MainWindow_precisely_align.setEnabled(True)
MainWindow_detect_Jpeak.resize(1920, 1080) MainWindow_precisely_align.resize(1920, 1080)
sizePolicy = QSizePolicy(QSizePolicy.Policy.Ignored, QSizePolicy.Policy.Preferred) sizePolicy = QSizePolicy(QSizePolicy.Policy.Ignored, QSizePolicy.Policy.Preferred)
sizePolicy.setHorizontalStretch(0) sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0) sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(MainWindow_detect_Jpeak.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(MainWindow_precisely_align.sizePolicy().hasHeightForWidth())
MainWindow_detect_Jpeak.setSizePolicy(sizePolicy) MainWindow_precisely_align.setSizePolicy(sizePolicy)
font = QFont() font = QFont()
font.setPointSize(12) font.setPointSize(12)
MainWindow_detect_Jpeak.setFont(font) MainWindow_precisely_align.setFont(font)
self.action_selectPath = QAction(MainWindow_detect_Jpeak) self.action_selectPath = QAction(MainWindow_precisely_align)
self.action_selectPath.setObjectName(u"action_selectPath") self.action_selectPath.setObjectName(u"action_selectPath")
font1 = QFont() font1 = QFont()
font1.setFamilies([u"\u9ed1\u4f53"]) font1.setFamilies([u"\u9ed1\u4f53"])
font1.setPointSize(14) font1.setPointSize(14)
self.action_selectPath.setFont(font1) self.action_selectPath.setFont(font1)
self.action = QAction(MainWindow_detect_Jpeak) self.action = QAction(MainWindow_precisely_align)
self.action.setObjectName(u"action") self.action.setObjectName(u"action")
self.action.setFont(font1) self.action.setFont(font1)
self.centralwidget = QWidget(MainWindow_detect_Jpeak) self.centralwidget = QWidget(MainWindow_precisely_align)
self.centralwidget.setObjectName(u"centralwidget") self.centralwidget.setObjectName(u"centralwidget")
self.gridLayout = QGridLayout(self.centralwidget) self.gridLayout = QGridLayout(self.centralwidget)
self.gridLayout.setObjectName(u"gridLayout") self.gridLayout.setObjectName(u"gridLayout")
@ -100,164 +100,332 @@ class Ui_MainWindow_detect_Jpeak(object):
self.groupBox_2.setObjectName(u"groupBox_2") self.groupBox_2.setObjectName(u"groupBox_2")
self.verticalLayout_2 = QVBoxLayout(self.groupBox_2) self.verticalLayout_2 = QVBoxLayout(self.groupBox_2)
self.verticalLayout_2.setObjectName(u"verticalLayout_2") self.verticalLayout_2.setObjectName(u"verticalLayout_2")
self.horizontalLayout_2 = QHBoxLayout() self.gridLayout_2 = QGridLayout()
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") self.gridLayout_2.setObjectName(u"gridLayout_2")
self.label_3 = QLabel(self.groupBox_2) self.spinBox_BCG_front_Signal_2 = QSpinBox(self.groupBox_2)
self.label_3.setObjectName(u"label_3") self.spinBox_BCG_front_Signal_2.setObjectName(u"spinBox_BCG_front_Signal_2")
self.label_3.setFont(font) self.spinBox_BCG_front_Signal_2.setEnabled(False)
self.label_3.setAlignment(Qt.AlignmentFlag.AlignCenter) self.spinBox_BCG_front_Signal_2.setFont(font)
self.spinBox_BCG_front_Signal_2.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_BCG_front_Signal_2.setMinimum(0)
self.spinBox_BCG_front_Signal_2.setMaximum(1000000000)
self.horizontalLayout_2.addWidget(self.label_3) self.gridLayout_2.addWidget(self.spinBox_BCG_front_Signal_2, 1, 4, 1, 1)
self.spinBox_BCG_front_1 = QSpinBox(self.groupBox_2) self.spinBox_BCG_front_JJIV_1 = QSpinBox(self.groupBox_2)
self.spinBox_BCG_front_1.setObjectName(u"spinBox_BCG_front_1") self.spinBox_BCG_front_JJIV_1.setObjectName(u"spinBox_BCG_front_JJIV_1")
self.spinBox_BCG_front_1.setFont(font) self.spinBox_BCG_front_JJIV_1.setFont(font)
self.spinBox_BCG_front_1.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons) self.spinBox_BCG_front_JJIV_1.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_BCG_front_1.setMinimum(0) self.spinBox_BCG_front_JJIV_1.setMinimum(0)
self.spinBox_BCG_front_1.setMaximum(1000000000) self.spinBox_BCG_front_JJIV_1.setMaximum(1000000000)
self.horizontalLayout_2.addWidget(self.spinBox_BCG_front_1) self.gridLayout_2.addWidget(self.spinBox_BCG_front_JJIV_1, 0, 2, 1, 1)
self.radioButton_BCG_front = QRadioButton(self.groupBox_2)
self.radioButton_BCG_front.setObjectName(u"radioButton_BCG_front")
self.radioButton_BCG_front.setFont(font)
self.radioButton_BCG_front.setChecked(True)
self.gridLayout_2.addWidget(self.radioButton_BCG_front, 0, 0, 2, 1)
self.label_4 = QLabel(self.groupBox_2) self.label_4 = QLabel(self.groupBox_2)
self.label_4.setObjectName(u"label_4") self.label_4.setObjectName(u"label_4")
self.label_4.setFont(font) self.label_4.setFont(font)
self.label_4.setAlignment(Qt.AlignmentFlag.AlignCenter) self.label_4.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.horizontalLayout_2.addWidget(self.label_4) self.gridLayout_2.addWidget(self.label_4, 0, 3, 1, 1)
self.spinBox_BCG_front_2 = QSpinBox(self.groupBox_2) self.spinBox_BCG_front_Signal_1 = QSpinBox(self.groupBox_2)
self.spinBox_BCG_front_2.setObjectName(u"spinBox_BCG_front_2") self.spinBox_BCG_front_Signal_1.setObjectName(u"spinBox_BCG_front_Signal_1")
self.spinBox_BCG_front_2.setFont(font) self.spinBox_BCG_front_Signal_1.setEnabled(False)
self.spinBox_BCG_front_2.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons) self.spinBox_BCG_front_Signal_1.setFont(font)
self.spinBox_BCG_front_2.setMinimum(0) self.spinBox_BCG_front_Signal_1.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_BCG_front_2.setMaximum(1000000000) self.spinBox_BCG_front_Signal_1.setMinimum(0)
self.spinBox_BCG_front_Signal_1.setMaximum(1000000000)
self.horizontalLayout_2.addWidget(self.spinBox_BCG_front_2) self.gridLayout_2.addWidget(self.spinBox_BCG_front_Signal_1, 1, 2, 1, 1)
self.spinBox_BCG_front_JJIV_2 = QSpinBox(self.groupBox_2)
self.spinBox_BCG_front_JJIV_2.setObjectName(u"spinBox_BCG_front_JJIV_2")
self.spinBox_BCG_front_JJIV_2.setFont(font)
self.spinBox_BCG_front_JJIV_2.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_BCG_front_JJIV_2.setMinimum(0)
self.spinBox_BCG_front_JJIV_2.setMaximum(1000000000)
self.verticalLayout_2.addLayout(self.horizontalLayout_2) self.gridLayout_2.addWidget(self.spinBox_BCG_front_JJIV_2, 0, 4, 1, 1)
self.horizontalLayout_5 = QHBoxLayout()
self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
self.label_5 = QLabel(self.groupBox_2)
self.label_5.setObjectName(u"label_5")
self.label_5.setFont(font)
self.label_5.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.horizontalLayout_5.addWidget(self.label_5)
self.spinBox_ECG_front_1 = QSpinBox(self.groupBox_2)
self.spinBox_ECG_front_1.setObjectName(u"spinBox_ECG_front_1")
self.spinBox_ECG_front_1.setFont(font)
self.spinBox_ECG_front_1.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_ECG_front_1.setMinimum(0)
self.spinBox_ECG_front_1.setMaximum(1000000000)
self.horizontalLayout_5.addWidget(self.spinBox_ECG_front_1)
self.label_6 = QLabel(self.groupBox_2) self.label_6 = QLabel(self.groupBox_2)
self.label_6.setObjectName(u"label_6") self.label_6.setObjectName(u"label_6")
self.label_6.setFont(font) self.label_6.setFont(font)
self.label_6.setAlignment(Qt.AlignmentFlag.AlignCenter) self.label_6.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.horizontalLayout_5.addWidget(self.label_6) self.gridLayout_2.addWidget(self.label_6, 1, 3, 1, 1)
self.spinBox_ECG_front_2 = QSpinBox(self.groupBox_2) self.label = QLabel(self.groupBox_2)
self.spinBox_ECG_front_2.setObjectName(u"spinBox_ECG_front_2") self.label.setObjectName(u"label")
self.spinBox_ECG_front_2.setFont(font) self.label.setFont(font)
self.spinBox_ECG_front_2.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_ECG_front_2.setMinimum(0)
self.spinBox_ECG_front_2.setMaximum(1000000000)
self.horizontalLayout_5.addWidget(self.spinBox_ECG_front_2) self.gridLayout_2.addWidget(self.label, 0, 1, 1, 1)
self.label_2 = QLabel(self.groupBox_2)
self.label_2.setObjectName(u"label_2")
self.label_2.setFont(font)
self.gridLayout_2.addWidget(self.label_2, 1, 1, 1, 1)
self.verticalLayout_2.addLayout(self.horizontalLayout_5) self.verticalLayout_2.addLayout(self.gridLayout_2)
self.verticalLayout_5.addWidget(self.groupBox_2) self.verticalLayout_5.addWidget(self.groupBox_2)
self.groupBox_4 = QGroupBox(self.groupBox_args)
self.groupBox_4.setObjectName(u"groupBox_4")
self.verticalLayout_4 = QVBoxLayout(self.groupBox_4)
self.verticalLayout_4.setObjectName(u"verticalLayout_4")
self.gridLayout_3 = QGridLayout()
self.gridLayout_3.setObjectName(u"gridLayout_3")
self.spinBox_BCG_back_Signal_2 = QSpinBox(self.groupBox_4)
self.spinBox_BCG_back_Signal_2.setObjectName(u"spinBox_BCG_back_Signal_2")
self.spinBox_BCG_back_Signal_2.setEnabled(False)
self.spinBox_BCG_back_Signal_2.setFont(font)
self.spinBox_BCG_back_Signal_2.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_BCG_back_Signal_2.setMinimum(0)
self.spinBox_BCG_back_Signal_2.setMaximum(1000000000)
self.gridLayout_3.addWidget(self.spinBox_BCG_back_Signal_2, 1, 4, 1, 1)
self.spinBox_BCG_back_Signal_1 = QSpinBox(self.groupBox_4)
self.spinBox_BCG_back_Signal_1.setObjectName(u"spinBox_BCG_back_Signal_1")
self.spinBox_BCG_back_Signal_1.setEnabled(False)
self.spinBox_BCG_back_Signal_1.setFont(font)
self.spinBox_BCG_back_Signal_1.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_BCG_back_Signal_1.setMinimum(0)
self.spinBox_BCG_back_Signal_1.setMaximum(1000000000)
self.gridLayout_3.addWidget(self.spinBox_BCG_back_Signal_1, 1, 2, 1, 1)
self.spinBox_BCG_back_JJIV_2 = QSpinBox(self.groupBox_4)
self.spinBox_BCG_back_JJIV_2.setObjectName(u"spinBox_BCG_back_JJIV_2")
self.spinBox_BCG_back_JJIV_2.setFont(font)
self.spinBox_BCG_back_JJIV_2.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_BCG_back_JJIV_2.setMinimum(0)
self.spinBox_BCG_back_JJIV_2.setMaximum(1000000000)
self.gridLayout_3.addWidget(self.spinBox_BCG_back_JJIV_2, 0, 4, 1, 1)
self.radioButton_BCG_back = QRadioButton(self.groupBox_4)
self.radioButton_BCG_back.setObjectName(u"radioButton_BCG_back")
self.radioButton_BCG_back.setFont(font)
self.radioButton_BCG_back.setChecked(False)
self.gridLayout_3.addWidget(self.radioButton_BCG_back, 0, 0, 2, 1)
self.spinBox_BCG_back_JJIV_1 = QSpinBox(self.groupBox_4)
self.spinBox_BCG_back_JJIV_1.setObjectName(u"spinBox_BCG_back_JJIV_1")
self.spinBox_BCG_back_JJIV_1.setFont(font)
self.spinBox_BCG_back_JJIV_1.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_BCG_back_JJIV_1.setMinimum(0)
self.spinBox_BCG_back_JJIV_1.setMaximum(1000000000)
self.gridLayout_3.addWidget(self.spinBox_BCG_back_JJIV_1, 0, 2, 1, 1)
self.label_7 = QLabel(self.groupBox_4)
self.label_7.setObjectName(u"label_7")
self.label_7.setFont(font)
self.label_7.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.gridLayout_3.addWidget(self.label_7, 1, 3, 1, 1)
self.label_5 = QLabel(self.groupBox_4)
self.label_5.setObjectName(u"label_5")
self.label_5.setFont(font)
self.label_5.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.gridLayout_3.addWidget(self.label_5, 0, 3, 1, 1)
self.label_3 = QLabel(self.groupBox_4)
self.label_3.setObjectName(u"label_3")
self.label_3.setFont(font)
self.gridLayout_3.addWidget(self.label_3, 0, 1, 1, 1)
self.label_12 = QLabel(self.groupBox_4)
self.label_12.setObjectName(u"label_12")
self.label_12.setFont(font)
self.gridLayout_3.addWidget(self.label_12, 1, 1, 1, 1)
self.verticalLayout_4.addLayout(self.gridLayout_3)
self.verticalLayout_5.addWidget(self.groupBox_4)
self.groupBox_3 = QGroupBox(self.groupBox_args) self.groupBox_3 = QGroupBox(self.groupBox_args)
self.groupBox_3.setObjectName(u"groupBox_3") self.groupBox_3.setObjectName(u"groupBox_3")
self.verticalLayout_3 = QVBoxLayout(self.groupBox_3) self.verticalLayout_3 = QVBoxLayout(self.groupBox_3)
self.verticalLayout_3.setObjectName(u"verticalLayout_3") self.verticalLayout_3.setObjectName(u"verticalLayout_3")
self.horizontalLayout_6 = QHBoxLayout() self.gridLayout_4 = QGridLayout()
self.horizontalLayout_6.setObjectName(u"horizontalLayout_6") self.gridLayout_4.setObjectName(u"gridLayout_4")
self.label_7 = QLabel(self.groupBox_3) self.spinBox_ECG_front_RRIV_2 = QSpinBox(self.groupBox_3)
self.label_7.setObjectName(u"label_7") self.spinBox_ECG_front_RRIV_2.setObjectName(u"spinBox_ECG_front_RRIV_2")
self.label_7.setFont(font) self.spinBox_ECG_front_RRIV_2.setFont(font)
self.label_7.setAlignment(Qt.AlignmentFlag.AlignCenter) self.spinBox_ECG_front_RRIV_2.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_ECG_front_RRIV_2.setMinimum(0)
self.spinBox_ECG_front_RRIV_2.setMaximum(1000000000)
self.horizontalLayout_6.addWidget(self.label_7) self.gridLayout_4.addWidget(self.spinBox_ECG_front_RRIV_2, 0, 4, 1, 1)
self.spinBox_BCG_back_1 = QSpinBox(self.groupBox_3)
self.spinBox_BCG_back_1.setObjectName(u"spinBox_BCG_back_1")
self.spinBox_BCG_back_1.setFont(font)
self.spinBox_BCG_back_1.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_BCG_back_1.setMinimum(0)
self.spinBox_BCG_back_1.setMaximum(1000000000)
self.horizontalLayout_6.addWidget(self.spinBox_BCG_back_1)
self.label_8 = QLabel(self.groupBox_3)
self.label_8.setObjectName(u"label_8")
self.label_8.setFont(font)
self.label_8.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.horizontalLayout_6.addWidget(self.label_8)
self.spinBox_BCG_back_2 = QSpinBox(self.groupBox_3)
self.spinBox_BCG_back_2.setObjectName(u"spinBox_BCG_back_2")
self.spinBox_BCG_back_2.setFont(font)
self.spinBox_BCG_back_2.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_BCG_back_2.setMinimum(0)
self.spinBox_BCG_back_2.setMaximum(1000000000)
self.horizontalLayout_6.addWidget(self.spinBox_BCG_back_2)
self.verticalLayout_3.addLayout(self.horizontalLayout_6)
self.horizontalLayout_7 = QHBoxLayout()
self.horizontalLayout_7.setObjectName(u"horizontalLayout_7")
self.label_9 = QLabel(self.groupBox_3)
self.label_9.setObjectName(u"label_9")
self.label_9.setFont(font)
self.label_9.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.horizontalLayout_7.addWidget(self.label_9)
self.spinBox_ECG_back_1 = QSpinBox(self.groupBox_3)
self.spinBox_ECG_back_1.setObjectName(u"spinBox_ECG_back_1")
self.spinBox_ECG_back_1.setFont(font)
self.spinBox_ECG_back_1.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_ECG_back_1.setMinimum(0)
self.spinBox_ECG_back_1.setMaximum(1000000000)
self.horizontalLayout_7.addWidget(self.spinBox_ECG_back_1)
self.label_10 = QLabel(self.groupBox_3) self.label_10 = QLabel(self.groupBox_3)
self.label_10.setObjectName(u"label_10") self.label_10.setObjectName(u"label_10")
self.label_10.setFont(font) self.label_10.setFont(font)
self.label_10.setAlignment(Qt.AlignmentFlag.AlignCenter) self.label_10.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.horizontalLayout_7.addWidget(self.label_10) self.gridLayout_4.addWidget(self.label_10, 1, 3, 1, 1)
self.spinBox_ECG_back_2 = QSpinBox(self.groupBox_3) self.radioButton_ECG_front = QRadioButton(self.groupBox_3)
self.spinBox_ECG_back_2.setObjectName(u"spinBox_ECG_back_2") self.radioButton_ECG_front.setObjectName(u"radioButton_ECG_front")
self.spinBox_ECG_back_2.setFont(font) self.radioButton_ECG_front.setFont(font)
self.spinBox_ECG_back_2.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_ECG_back_2.setMinimum(0)
self.spinBox_ECG_back_2.setMaximum(1000000000)
self.horizontalLayout_7.addWidget(self.spinBox_ECG_back_2) self.gridLayout_4.addWidget(self.radioButton_ECG_front, 0, 0, 2, 1)
self.spinBox_ECG_front_Signal_2 = QSpinBox(self.groupBox_3)
self.spinBox_ECG_front_Signal_2.setObjectName(u"spinBox_ECG_front_Signal_2")
self.spinBox_ECG_front_Signal_2.setEnabled(False)
self.spinBox_ECG_front_Signal_2.setFont(font)
self.spinBox_ECG_front_Signal_2.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_ECG_front_Signal_2.setMinimum(0)
self.spinBox_ECG_front_Signal_2.setMaximum(1000000000)
self.gridLayout_4.addWidget(self.spinBox_ECG_front_Signal_2, 1, 4, 1, 1)
self.spinBox_ECG_front_Signal_1 = QSpinBox(self.groupBox_3)
self.spinBox_ECG_front_Signal_1.setObjectName(u"spinBox_ECG_front_Signal_1")
self.spinBox_ECG_front_Signal_1.setEnabled(False)
self.spinBox_ECG_front_Signal_1.setFont(font)
self.spinBox_ECG_front_Signal_1.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_ECG_front_Signal_1.setMinimum(0)
self.spinBox_ECG_front_Signal_1.setMaximum(1000000000)
self.gridLayout_4.addWidget(self.spinBox_ECG_front_Signal_1, 1, 2, 1, 1)
self.spinBox_ECG_front_RRIV_1 = QSpinBox(self.groupBox_3)
self.spinBox_ECG_front_RRIV_1.setObjectName(u"spinBox_ECG_front_RRIV_1")
self.spinBox_ECG_front_RRIV_1.setFont(font)
self.spinBox_ECG_front_RRIV_1.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_ECG_front_RRIV_1.setMinimum(0)
self.spinBox_ECG_front_RRIV_1.setMaximum(1000000000)
self.gridLayout_4.addWidget(self.spinBox_ECG_front_RRIV_1, 0, 2, 1, 1)
self.label_8 = QLabel(self.groupBox_3)
self.label_8.setObjectName(u"label_8")
self.label_8.setFont(font)
self.label_8.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.gridLayout_4.addWidget(self.label_8, 0, 3, 1, 1)
self.label_13 = QLabel(self.groupBox_3)
self.label_13.setObjectName(u"label_13")
self.label_13.setFont(font)
self.gridLayout_4.addWidget(self.label_13, 0, 1, 1, 1)
self.label_14 = QLabel(self.groupBox_3)
self.label_14.setObjectName(u"label_14")
self.label_14.setFont(font)
self.gridLayout_4.addWidget(self.label_14, 1, 1, 1, 1)
self.verticalLayout_3.addLayout(self.horizontalLayout_7) self.verticalLayout_3.addLayout(self.gridLayout_4)
self.verticalLayout_5.addWidget(self.groupBox_3) self.verticalLayout_5.addWidget(self.groupBox_3)
self.groupBox_5 = QGroupBox(self.groupBox_args)
self.groupBox_5.setObjectName(u"groupBox_5")
self.verticalLayout_8 = QVBoxLayout(self.groupBox_5)
self.verticalLayout_8.setObjectName(u"verticalLayout_8")
self.gridLayout_5 = QGridLayout()
self.gridLayout_5.setObjectName(u"gridLayout_5")
self.radioButton_ECG_back = QRadioButton(self.groupBox_5)
self.radioButton_ECG_back.setObjectName(u"radioButton_ECG_back")
self.radioButton_ECG_back.setFont(font)
self.gridLayout_5.addWidget(self.radioButton_ECG_back, 0, 0, 2, 1)
self.label_11 = QLabel(self.groupBox_5)
self.label_11.setObjectName(u"label_11")
self.label_11.setFont(font)
self.label_11.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.gridLayout_5.addWidget(self.label_11, 1, 3, 1, 1)
self.spinBox_ECG_back_RRIV_2 = QSpinBox(self.groupBox_5)
self.spinBox_ECG_back_RRIV_2.setObjectName(u"spinBox_ECG_back_RRIV_2")
self.spinBox_ECG_back_RRIV_2.setFont(font)
self.spinBox_ECG_back_RRIV_2.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_ECG_back_RRIV_2.setMinimum(0)
self.spinBox_ECG_back_RRIV_2.setMaximum(1000000000)
self.gridLayout_5.addWidget(self.spinBox_ECG_back_RRIV_2, 0, 4, 1, 1)
self.spinBox_ECG_back_Signal_2 = QSpinBox(self.groupBox_5)
self.spinBox_ECG_back_Signal_2.setObjectName(u"spinBox_ECG_back_Signal_2")
self.spinBox_ECG_back_Signal_2.setEnabled(False)
self.spinBox_ECG_back_Signal_2.setFont(font)
self.spinBox_ECG_back_Signal_2.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_ECG_back_Signal_2.setMinimum(0)
self.spinBox_ECG_back_Signal_2.setMaximum(1000000000)
self.gridLayout_5.addWidget(self.spinBox_ECG_back_Signal_2, 1, 4, 1, 1)
self.spinBox_ECG_back_RRIV_1 = QSpinBox(self.groupBox_5)
self.spinBox_ECG_back_RRIV_1.setObjectName(u"spinBox_ECG_back_RRIV_1")
self.spinBox_ECG_back_RRIV_1.setFont(font)
self.spinBox_ECG_back_RRIV_1.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_ECG_back_RRIV_1.setMinimum(0)
self.spinBox_ECG_back_RRIV_1.setMaximum(1000000000)
self.gridLayout_5.addWidget(self.spinBox_ECG_back_RRIV_1, 0, 2, 1, 1)
self.spinBox_ECG_back_Signal_1 = QSpinBox(self.groupBox_5)
self.spinBox_ECG_back_Signal_1.setObjectName(u"spinBox_ECG_back_Signal_1")
self.spinBox_ECG_back_Signal_1.setEnabled(False)
self.spinBox_ECG_back_Signal_1.setFont(font)
self.spinBox_ECG_back_Signal_1.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_ECG_back_Signal_1.setMinimum(0)
self.spinBox_ECG_back_Signal_1.setMaximum(1000000000)
self.gridLayout_5.addWidget(self.spinBox_ECG_back_Signal_1, 1, 2, 1, 1)
self.label_9 = QLabel(self.groupBox_5)
self.label_9.setObjectName(u"label_9")
self.label_9.setFont(font)
self.label_9.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.gridLayout_5.addWidget(self.label_9, 0, 3, 1, 1)
self.label_15 = QLabel(self.groupBox_5)
self.label_15.setObjectName(u"label_15")
self.label_15.setFont(font)
self.gridLayout_5.addWidget(self.label_15, 0, 1, 1, 1)
self.label_16 = QLabel(self.groupBox_5)
self.label_16.setObjectName(u"label_16")
self.label_16.setFont(font)
self.gridLayout_5.addWidget(self.label_16, 1, 1, 1, 1)
self.verticalLayout_8.addLayout(self.gridLayout_5)
self.verticalLayout_5.addWidget(self.groupBox_5)
self.verticalLayout.addWidget(self.groupBox_args) self.verticalLayout.addWidget(self.groupBox_args)
@ -288,13 +456,13 @@ class Ui_MainWindow_detect_Jpeak(object):
self.horizontalLayout_3 = QHBoxLayout() self.horizontalLayout_3 = QHBoxLayout()
self.horizontalLayout_3.setObjectName(u"horizontalLayout_3") self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
self.pushButton_precise_align = QPushButton(self.groupBox_left) self.pushButton_view_align = QPushButton(self.groupBox_left)
self.pushButton_precise_align.setObjectName(u"pushButton_precise_align") self.pushButton_view_align.setObjectName(u"pushButton_view_align")
sizePolicy1.setHeightForWidth(self.pushButton_precise_align.sizePolicy().hasHeightForWidth()) sizePolicy1.setHeightForWidth(self.pushButton_view_align.sizePolicy().hasHeightForWidth())
self.pushButton_precise_align.setSizePolicy(sizePolicy1) self.pushButton_view_align.setSizePolicy(sizePolicy1)
self.pushButton_precise_align.setFont(font) self.pushButton_view_align.setFont(font)
self.horizontalLayout_3.addWidget(self.pushButton_precise_align) self.horizontalLayout_3.addWidget(self.pushButton_view_align)
self.pushButton_save = QPushButton(self.groupBox_left) self.pushButton_save = QPushButton(self.groupBox_left)
self.pushButton_save.setObjectName(u"pushButton_save") self.pushButton_save.setObjectName(u"pushButton_save")
@ -321,7 +489,7 @@ class Ui_MainWindow_detect_Jpeak(object):
self.verticalLayout.setStretch(0, 1) self.verticalLayout.setStretch(0, 1)
self.verticalLayout.setStretch(1, 7) self.verticalLayout.setStretch(1, 7)
self.verticalLayout.setStretch(2, 3) self.verticalLayout.setStretch(2, 2)
self.verticalLayout.setStretch(3, 1) self.verticalLayout.setStretch(3, 1)
self.verticalLayout.setStretch(4, 1) self.verticalLayout.setStretch(4, 1)
self.verticalLayout.setStretch(5, 5) self.verticalLayout.setStretch(5, 5)
@ -330,39 +498,53 @@ class Ui_MainWindow_detect_Jpeak(object):
self.gridLayout.setColumnStretch(0, 2) self.gridLayout.setColumnStretch(0, 2)
self.gridLayout.setColumnStretch(1, 8) self.gridLayout.setColumnStretch(1, 8)
MainWindow_detect_Jpeak.setCentralWidget(self.centralwidget) MainWindow_precisely_align.setCentralWidget(self.centralwidget)
self.statusbar = QStatusBar(MainWindow_detect_Jpeak) self.statusbar = QStatusBar(MainWindow_precisely_align)
self.statusbar.setObjectName(u"statusbar") self.statusbar.setObjectName(u"statusbar")
MainWindow_detect_Jpeak.setStatusBar(self.statusbar) MainWindow_precisely_align.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow_detect_Jpeak) self.retranslateUi(MainWindow_precisely_align)
QMetaObject.connectSlotsByName(MainWindow_detect_Jpeak) QMetaObject.connectSlotsByName(MainWindow_precisely_align)
# setupUi # setupUi
def retranslateUi(self, MainWindow_detect_Jpeak): def retranslateUi(self, MainWindow_precisely_align):
MainWindow_detect_Jpeak.setWindowTitle(QCoreApplication.translate("MainWindow_detect_Jpeak", u"\u6570\u636e\u7cbe\u540c\u6b65", None)) MainWindow_precisely_align.setWindowTitle(QCoreApplication.translate("MainWindow_precisely_align", u"\u6570\u636e\u7cbe\u540c\u6b65", None))
self.action_selectPath.setText(QCoreApplication.translate("MainWindow_detect_Jpeak", u"\u6570\u636e\u8def\u5f84\u9009\u62e9", None)) self.action_selectPath.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u6570\u636e\u8def\u5f84\u9009\u62e9", None))
self.action.setText(QCoreApplication.translate("MainWindow_detect_Jpeak", u"\u52a0\u8f7d\u5b58\u6863", None)) self.action.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u52a0\u8f7d\u5b58\u6863", None))
self.groupBox_canvas.setTitle(QCoreApplication.translate("MainWindow_detect_Jpeak", u"\u7ed8\u56fe\u533a", None)) self.groupBox_canvas.setTitle(QCoreApplication.translate("MainWindow_precisely_align", u"\u7ed8\u56fe\u533a", None))
self.groupBox_left.setTitle(QCoreApplication.translate("MainWindow_detect_Jpeak", u"\u9884\u5904\u7406", None)) self.groupBox_left.setTitle(QCoreApplication.translate("MainWindow_precisely_align", u"\u9884\u5904\u7406", None))
self.pushButton_input_setting.setText(QCoreApplication.translate("MainWindow_detect_Jpeak", u"\u5bfc\u5165\u8bbe\u7f6e", None)) self.pushButton_input_setting.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u5bfc\u5165\u8bbe\u7f6e", None))
self.pushButton_input.setText(QCoreApplication.translate("MainWindow_detect_Jpeak", u"\u5f00\u59cb\u5bfc\u5165", None)) self.pushButton_input.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u5f00\u59cb\u5bfc\u5165", None))
self.groupBox_args.setTitle(QCoreApplication.translate("MainWindow_detect_Jpeak", u"\u53c2\u6570\u8f93\u5165", None)) self.groupBox_args.setTitle(QCoreApplication.translate("MainWindow_precisely_align", u"\u53c2\u6570\u8f93\u5165", None))
self.groupBox_2.setTitle(QCoreApplication.translate("MainWindow_detect_Jpeak", u"\u524d\u6bb5\u533a\u95f4\u5750\u6807\u53d6\u503c", None)) self.groupBox_2.setTitle(QCoreApplication.translate("MainWindow_precisely_align", u"\u524d\u6bb5BCG\u533a\u95f4\u5750\u6807\u53d6\u503c", None))
self.label_3.setText(QCoreApplication.translate("MainWindow_detect_Jpeak", u"BCG", None)) self.radioButton_BCG_front.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u524d\u6bb5BCG", None))
self.label_4.setText(QCoreApplication.translate("MainWindow_detect_Jpeak", u"~", None)) self.label_4.setText(QCoreApplication.translate("MainWindow_precisely_align", u"~", None))
self.label_5.setText(QCoreApplication.translate("MainWindow_detect_Jpeak", u"ECG", None)) self.label_6.setText(QCoreApplication.translate("MainWindow_precisely_align", u"~", None))
self.label_6.setText(QCoreApplication.translate("MainWindow_detect_Jpeak", u"~", None)) self.label.setText(QCoreApplication.translate("MainWindow_precisely_align", u"JJIV\u5e8f\u53f7", None))
self.groupBox_3.setTitle(QCoreApplication.translate("MainWindow_detect_Jpeak", u"\u540e\u6bb5\u533a\u95f4\u5750\u6807\u53d6\u503c", None)) self.label_2.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u4fe1\u53f7\u5750\u6807", None))
self.label_7.setText(QCoreApplication.translate("MainWindow_detect_Jpeak", u"BCG", None)) self.groupBox_4.setTitle(QCoreApplication.translate("MainWindow_precisely_align", u"\u540e\u6bb5BCG\u533a\u95f4\u5750\u6807\u53d6\u503c", None))
self.label_8.setText(QCoreApplication.translate("MainWindow_detect_Jpeak", u"~", None)) self.radioButton_BCG_back.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u540e\u6bb5BCG", None))
self.label_9.setText(QCoreApplication.translate("MainWindow_detect_Jpeak", u"ECG", None)) self.label_7.setText(QCoreApplication.translate("MainWindow_precisely_align", u"~", None))
self.label_10.setText(QCoreApplication.translate("MainWindow_detect_Jpeak", u"~", None)) self.label_5.setText(QCoreApplication.translate("MainWindow_precisely_align", u"~", None))
self.pushButton_calculate_correlation.setText(QCoreApplication.translate("MainWindow_detect_Jpeak", u"\u8ba1\u7b97\u76f8\u5173\u6027", None)) self.label_3.setText(QCoreApplication.translate("MainWindow_precisely_align", u"JJIV\u5e8f\u53f7", None))
self.pushButton_correlation_align.setText(QCoreApplication.translate("MainWindow_detect_Jpeak", u"\u76f8\u5173\u5bf9\u9f50", None)) self.label_12.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u4fe1\u53f7\u5750\u6807", None))
self.pushButton_precise_align.setText(QCoreApplication.translate("MainWindow_detect_Jpeak", u"\u7cbe\u7ec6\u5bf9\u9f50", None)) self.groupBox_3.setTitle(QCoreApplication.translate("MainWindow_precisely_align", u"\u524d\u6bb5ECG\u533a\u95f4\u5750\u6807\u53d6\u503c", None))
self.pushButton_save.setText(QCoreApplication.translate("MainWindow_detect_Jpeak", u"\u4fdd\u5b58\u7ed3\u679c", None)) self.label_10.setText(QCoreApplication.translate("MainWindow_precisely_align", u"~", None))
self.groupBox.setTitle(QCoreApplication.translate("MainWindow_detect_Jpeak", u"\u65e5\u5fd7", None)) self.radioButton_ECG_front.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u524d\u6bb5ECG", None))
self.label_8.setText(QCoreApplication.translate("MainWindow_precisely_align", u"~", None))
self.label_13.setText(QCoreApplication.translate("MainWindow_precisely_align", u"RRIV\u5e8f\u53f7", None))
self.label_14.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u4fe1\u53f7\u5750\u6807", None))
self.groupBox_5.setTitle(QCoreApplication.translate("MainWindow_precisely_align", u"\u540e\u6bb5ECG\u533a\u95f4\u5750\u6807\u53d6\u503c", None))
self.radioButton_ECG_back.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u540e\u6bb5ECG", None))
self.label_11.setText(QCoreApplication.translate("MainWindow_precisely_align", u"~", None))
self.label_9.setText(QCoreApplication.translate("MainWindow_precisely_align", u"~", None))
self.label_15.setText(QCoreApplication.translate("MainWindow_precisely_align", u"RRIV\u5e8f\u53f7", None))
self.label_16.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u4fe1\u53f7\u5750\u6807", None))
self.pushButton_calculate_correlation.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u8ba1\u7b97\u76f8\u5173\u6027", None))
self.pushButton_correlation_align.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u76f8\u5173\u5bf9\u9f50", None))
self.pushButton_view_align.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u67e5\u770b\u5bf9\u9f50\u7ed3\u679c", None))
self.pushButton_save.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u4fdd\u5b58\u7ed3\u679c", None))
self.groupBox.setTitle(QCoreApplication.translate("MainWindow_precisely_align", u"\u65e5\u5fd7", None))
# retranslateUi # retranslateUi

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0"> <ui version="4.0">
<class>MainWindow_detect_Jpeak</class> <class>MainWindow_precisely_align</class>
<widget class="QMainWindow" name="MainWindow_detect_Jpeak"> <widget class="QMainWindow" name="MainWindow_precisely_align">
<property name="enabled"> <property name="enabled">
<bool>true</bool> <bool>true</bool>
</property> </property>
@ -56,7 +56,7 @@
<property name="title"> <property name="title">
<string>预处理</string> <string>预处理</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout" stretch="1,7,3,1,1,5"> <layout class="QVBoxLayout" name="verticalLayout" stretch="1,7,2,1,1,5">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_4"> <layout class="QHBoxLayout" name="horizontalLayout_4">
<item> <item>
@ -102,32 +102,20 @@
<property name="title"> <property name="title">
<string>参数输入</string> <string>参数输入</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_5" stretch="0,0"> <layout class="QVBoxLayout" name="verticalLayout_5" stretch="0,0,0,0">
<item> <item>
<widget class="QGroupBox" name="groupBox_2"> <widget class="QGroupBox" name="groupBox_2">
<property name="title"> <property name="title">
<string>前段区间坐标取值</string> <string>前段BCG区间坐标取值</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_2">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QGridLayout" name="gridLayout_2">
<item> <item row="1" column="4">
<widget class="QLabel" name="label_3"> <widget class="QSpinBox" name="spinBox_BCG_front_Signal_2">
<property name="font"> <property name="enabled">
<font> <bool>false</bool>
<pointsize>12</pointsize>
</font>
</property> </property>
<property name="text">
<string>BCG</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBox_BCG_front_1">
<property name="font"> <property name="font">
<font> <font>
<pointsize>12</pointsize> <pointsize>12</pointsize>
@ -144,7 +132,40 @@
</property> </property>
</widget> </widget>
</item> </item>
<item> <item row="0" column="2">
<widget class="QSpinBox" name="spinBox_BCG_front_JJIV_1">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>1000000000</number>
</property>
</widget>
</item>
<item row="0" column="0" rowspan="2">
<widget class="QRadioButton" name="radioButton_BCG_front">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>前段BCG</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QLabel" name="label_4"> <widget class="QLabel" name="label_4">
<property name="font"> <property name="font">
<font> <font>
@ -159,8 +180,11 @@
</property> </property>
</widget> </widget>
</item> </item>
<item> <item row="1" column="2">
<widget class="QSpinBox" name="spinBox_BCG_front_2"> <widget class="QSpinBox" name="spinBox_BCG_front_Signal_1">
<property name="enabled">
<bool>false</bool>
</property>
<property name="font"> <property name="font">
<font> <font>
<pointsize>12</pointsize> <pointsize>12</pointsize>
@ -177,27 +201,8 @@
</property> </property>
</widget> </widget>
</item> </item>
</layout> <item row="0" column="4">
</item> <widget class="QSpinBox" name="spinBox_BCG_front_JJIV_2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QLabel" name="label_5">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>ECG</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBox_ECG_front_1">
<property name="font"> <property name="font">
<font> <font>
<pointsize>12</pointsize> <pointsize>12</pointsize>
@ -214,7 +219,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item> <item row="1" column="3">
<widget class="QLabel" name="label_6"> <widget class="QLabel" name="label_6">
<property name="font"> <property name="font">
<font> <font>
@ -229,21 +234,27 @@
</property> </property>
</widget> </widget>
</item> </item>
<item> <item row="0" column="1">
<widget class="QSpinBox" name="spinBox_ECG_front_2"> <widget class="QLabel" name="label">
<property name="font"> <property name="font">
<font> <font>
<pointsize>12</pointsize> <pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="buttonSymbols"> <property name="text">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum> <string>JJIV序号</string>
</property> </property>
<property name="minimum"> </widget>
<number>0</number> </item>
<item row="1" column="1">
<widget class="QLabel" name="label_2">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property> </property>
<property name="maximum"> <property name="text">
<number>1000000000</number> <string>信号坐标</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -253,30 +264,18 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QGroupBox" name="groupBox_3"> <widget class="QGroupBox" name="groupBox_4">
<property name="title"> <property name="title">
<string>后段区间坐标取值</string> <string>后段BCG区间坐标取值</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_3"> <layout class="QVBoxLayout" name="verticalLayout_4">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_6"> <layout class="QGridLayout" name="gridLayout_3">
<item> <item row="1" column="4">
<widget class="QLabel" name="label_7"> <widget class="QSpinBox" name="spinBox_BCG_back_Signal_2">
<property name="font"> <property name="enabled">
<font> <bool>false</bool>
<pointsize>12</pointsize>
</font>
</property> </property>
<property name="text">
<string>BCG</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBox_BCG_back_1">
<property name="font"> <property name="font">
<font> <font>
<pointsize>12</pointsize> <pointsize>12</pointsize>
@ -293,8 +292,80 @@
</property> </property>
</widget> </widget>
</item> </item>
<item> <item row="1" column="2">
<widget class="QLabel" name="label_8"> <widget class="QSpinBox" name="spinBox_BCG_back_Signal_1">
<property name="enabled">
<bool>false</bool>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>1000000000</number>
</property>
</widget>
</item>
<item row="0" column="4">
<widget class="QSpinBox" name="spinBox_BCG_back_JJIV_2">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>1000000000</number>
</property>
</widget>
</item>
<item row="0" column="0" rowspan="2">
<widget class="QRadioButton" name="radioButton_BCG_back">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>后段BCG</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QSpinBox" name="spinBox_BCG_back_JJIV_1">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>1000000000</number>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QLabel" name="label_7">
<property name="font"> <property name="font">
<font> <font>
<pointsize>12</pointsize> <pointsize>12</pointsize>
@ -308,45 +379,60 @@
</property> </property>
</widget> </widget>
</item> </item>
<item> <item row="0" column="3">
<widget class="QSpinBox" name="spinBox_BCG_back_2"> <widget class="QLabel" name="label_5">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>1000000000</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QLabel" name="label_9">
<property name="font"> <property name="font">
<font> <font>
<pointsize>12</pointsize> <pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>ECG</string> <string>~</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set> <set>Qt::AlignmentFlag::AlignCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item row="0" column="1">
<widget class="QSpinBox" name="spinBox_ECG_back_1"> <widget class="QLabel" name="label_3">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>JJIV序号</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_12">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>信号坐标</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>前段ECG区间坐标取值</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="4">
<widget class="QSpinBox" name="spinBox_ECG_front_RRIV_2">
<property name="font"> <property name="font">
<font> <font>
<pointsize>12</pointsize> <pointsize>12</pointsize>
@ -363,7 +449,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item> <item row="1" column="3">
<widget class="QLabel" name="label_10"> <widget class="QLabel" name="label_10">
<property name="font"> <property name="font">
<font> <font>
@ -378,8 +464,23 @@
</property> </property>
</widget> </widget>
</item> </item>
<item> <item row="0" column="0" rowspan="2">
<widget class="QSpinBox" name="spinBox_ECG_back_2"> <widget class="QRadioButton" name="radioButton_ECG_front">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>前段ECG</string>
</property>
</widget>
</item>
<item row="1" column="4">
<widget class="QSpinBox" name="spinBox_ECG_front_Signal_2">
<property name="enabled">
<bool>false</bool>
</property>
<property name="font"> <property name="font">
<font> <font>
<pointsize>12</pointsize> <pointsize>12</pointsize>
@ -396,6 +497,241 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="2">
<widget class="QSpinBox" name="spinBox_ECG_front_Signal_1">
<property name="enabled">
<bool>false</bool>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>1000000000</number>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QSpinBox" name="spinBox_ECG_front_RRIV_1">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>1000000000</number>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QLabel" name="label_8">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>~</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_13">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>RRIV序号</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_14">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>信号坐标</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_5">
<property name="title">
<string>后段ECG区间坐标取值</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_8">
<item>
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0" rowspan="2">
<widget class="QRadioButton" name="radioButton_ECG_back">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>后段ECG</string>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QLabel" name="label_11">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>~</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
</widget>
</item>
<item row="0" column="4">
<widget class="QSpinBox" name="spinBox_ECG_back_RRIV_2">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>1000000000</number>
</property>
</widget>
</item>
<item row="1" column="4">
<widget class="QSpinBox" name="spinBox_ECG_back_Signal_2">
<property name="enabled">
<bool>false</bool>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>1000000000</number>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QSpinBox" name="spinBox_ECG_back_RRIV_1">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>1000000000</number>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QSpinBox" name="spinBox_ECG_back_Signal_1">
<property name="enabled">
<bool>false</bool>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>1000000000</number>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QLabel" name="label_9">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>~</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_15">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>RRIV序号</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_16">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>信号坐标</string>
</property>
</widget>
</item>
</layout> </layout>
</item> </item>
</layout> </layout>
@ -460,7 +796,7 @@
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_3"> <layout class="QHBoxLayout" name="horizontalLayout_3">
<item> <item>
<widget class="QPushButton" name="pushButton_precise_align"> <widget class="QPushButton" name="pushButton_view_align">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum"> <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch> <horstretch>0</horstretch>
@ -473,7 +809,7 @@
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>精细对齐</string> <string>查看对齐结果</string>
</property> </property>
</widget> </widget>
</item> </item>

View File

@ -48,32 +48,12 @@ class Ui_MainWindow_precisely_align_input_setting(object):
self.groupBox_file_path_input_BCG.setObjectName(u"groupBox_file_path_input_BCG") self.groupBox_file_path_input_BCG.setObjectName(u"groupBox_file_path_input_BCG")
self.verticalLayout_5 = QVBoxLayout(self.groupBox_file_path_input_BCG) self.verticalLayout_5 = QVBoxLayout(self.groupBox_file_path_input_BCG)
self.verticalLayout_5.setObjectName(u"verticalLayout_5") self.verticalLayout_5.setObjectName(u"verticalLayout_5")
self.horizontalLayout_2 = QHBoxLayout()
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
self.label_2 = QLabel(self.groupBox_file_path_input_BCG)
self.label_2.setObjectName(u"label_2")
self.label_2.setFont(font)
self.horizontalLayout_2.addWidget(self.label_2)
self.spinBox_input_freq_BCG = QSpinBox(self.groupBox_file_path_input_BCG)
self.spinBox_input_freq_BCG.setObjectName(u"spinBox_input_freq_BCG")
self.spinBox_input_freq_BCG.setFont(font)
self.spinBox_input_freq_BCG.setMinimum(1)
self.spinBox_input_freq_BCG.setMaximum(1000000)
self.horizontalLayout_2.addWidget(self.spinBox_input_freq_BCG)
self.verticalLayout_5.addLayout(self.horizontalLayout_2)
self.plainTextEdit_file_path_input_BCG = QPlainTextEdit(self.groupBox_file_path_input_BCG) self.plainTextEdit_file_path_input_BCG = QPlainTextEdit(self.groupBox_file_path_input_BCG)
self.plainTextEdit_file_path_input_BCG.setObjectName(u"plainTextEdit_file_path_input_BCG") self.plainTextEdit_file_path_input_BCG.setObjectName(u"plainTextEdit_file_path_input_BCG")
self.verticalLayout_5.addWidget(self.plainTextEdit_file_path_input_BCG) self.verticalLayout_5.addWidget(self.plainTextEdit_file_path_input_BCG)
self.verticalLayout_5.setStretch(0, 2) self.verticalLayout_5.setStretch(0, 3)
self.verticalLayout_5.setStretch(1, 3)
self.verticalLayout_2.addWidget(self.groupBox_file_path_input_BCG) self.verticalLayout_2.addWidget(self.groupBox_file_path_input_BCG)
@ -140,10 +120,15 @@ class Ui_MainWindow_precisely_align_input_setting(object):
self.groupBox_file_path_save.setObjectName(u"groupBox_file_path_save") self.groupBox_file_path_save.setObjectName(u"groupBox_file_path_save")
self.verticalLayout_4 = QVBoxLayout(self.groupBox_file_path_save) self.verticalLayout_4 = QVBoxLayout(self.groupBox_file_path_save)
self.verticalLayout_4.setObjectName(u"verticalLayout_4") self.verticalLayout_4.setObjectName(u"verticalLayout_4")
self.plainTextEdit_file_path_save = QPlainTextEdit(self.groupBox_file_path_save) self.plainTextEdit_file_path_save_BCG = QPlainTextEdit(self.groupBox_file_path_save)
self.plainTextEdit_file_path_save.setObjectName(u"plainTextEdit_file_path_save") self.plainTextEdit_file_path_save_BCG.setObjectName(u"plainTextEdit_file_path_save_BCG")
self.verticalLayout_4.addWidget(self.plainTextEdit_file_path_save) self.verticalLayout_4.addWidget(self.plainTextEdit_file_path_save_BCG)
self.plainTextEdit_file_path_save_ECG = QPlainTextEdit(self.groupBox_file_path_save)
self.plainTextEdit_file_path_save_ECG.setObjectName(u"plainTextEdit_file_path_save_ECG")
self.verticalLayout_4.addWidget(self.plainTextEdit_file_path_save_ECG)
self.verticalLayout_2.addWidget(self.groupBox_file_path_save) self.verticalLayout_2.addWidget(self.groupBox_file_path_save)
@ -152,7 +137,7 @@ class Ui_MainWindow_precisely_align_input_setting(object):
self.verticalLayout_2.setStretch(1, 4) self.verticalLayout_2.setStretch(1, 4)
self.verticalLayout_2.setStretch(2, 5) self.verticalLayout_2.setStretch(2, 5)
self.verticalLayout_2.setStretch(3, 4) self.verticalLayout_2.setStretch(3, 4)
self.verticalLayout_2.setStretch(4, 4) self.verticalLayout_2.setStretch(4, 8)
self.gridLayout.addWidget(self.groupBox, 0, 0, 1, 4) self.gridLayout.addWidget(self.groupBox, 0, 0, 1, 4)
@ -177,7 +162,6 @@ class Ui_MainWindow_precisely_align_input_setting(object):
self.pushButton_cancel.setText(QCoreApplication.translate("MainWindow_precisely_align_input_setting", u"\u53d6\u6d88", None)) self.pushButton_cancel.setText(QCoreApplication.translate("MainWindow_precisely_align_input_setting", u"\u53d6\u6d88", None))
self.groupBox.setTitle(QCoreApplication.translate("MainWindow_precisely_align_input_setting", u"\u6587\u4ef6\u8def\u5f84", None)) self.groupBox.setTitle(QCoreApplication.translate("MainWindow_precisely_align_input_setting", u"\u6587\u4ef6\u8def\u5f84", None))
self.groupBox_file_path_input_BCG.setTitle(QCoreApplication.translate("MainWindow_precisely_align_input_setting", u"\u9884\u5904\u7406\u540e\u7684BCG\u8def\u5f84", None)) self.groupBox_file_path_input_BCG.setTitle(QCoreApplication.translate("MainWindow_precisely_align_input_setting", u"\u9884\u5904\u7406\u540e\u7684BCG\u8def\u5f84", None))
self.label_2.setText(QCoreApplication.translate("MainWindow_precisely_align_input_setting", u"\u91c7\u6837\u7387(Hz)\uff1a", None))
self.plainTextEdit_file_path_input_BCG.setPlainText("") self.plainTextEdit_file_path_input_BCG.setPlainText("")
self.plainTextEdit_file_path_input_BCG.setPlaceholderText(QCoreApplication.translate("MainWindow_precisely_align_input_setting", u"\u6587\u4ef6\u8def\u5f84", None)) self.plainTextEdit_file_path_input_BCG.setPlaceholderText(QCoreApplication.translate("MainWindow_precisely_align_input_setting", u"\u6587\u4ef6\u8def\u5f84", None))
self.groupBox_file_path_input_Jpeak.setTitle(QCoreApplication.translate("MainWindow_precisely_align_input_setting", u"\u4eba\u5de5\u7ea0\u6b63\u540e\u7684J\u5cf0\u5cf0\u503c\u8def\u5f84", None)) self.groupBox_file_path_input_Jpeak.setTitle(QCoreApplication.translate("MainWindow_precisely_align_input_setting", u"\u4eba\u5de5\u7ea0\u6b63\u540e\u7684J\u5cf0\u5cf0\u503c\u8def\u5f84", None))
@ -191,7 +175,8 @@ class Ui_MainWindow_precisely_align_input_setting(object):
self.plainTextEdit_file_path_input_Rpeak.setPlainText("") self.plainTextEdit_file_path_input_Rpeak.setPlainText("")
self.plainTextEdit_file_path_input_Rpeak.setPlaceholderText(QCoreApplication.translate("MainWindow_precisely_align_input_setting", u"\u6587\u4ef6\u8def\u5f84", None)) self.plainTextEdit_file_path_input_Rpeak.setPlaceholderText(QCoreApplication.translate("MainWindow_precisely_align_input_setting", u"\u6587\u4ef6\u8def\u5f84", None))
self.groupBox_file_path_save.setTitle(QCoreApplication.translate("MainWindow_precisely_align_input_setting", u"\u5bf9\u9f50\u4fe1\u606f\u4fdd\u5b58\u8def\u5f84", None)) self.groupBox_file_path_save.setTitle(QCoreApplication.translate("MainWindow_precisely_align_input_setting", u"\u5bf9\u9f50\u4fe1\u606f\u4fdd\u5b58\u8def\u5f84", None))
self.plainTextEdit_file_path_save.setPlaceholderText(QCoreApplication.translate("MainWindow_precisely_align_input_setting", u"\u4fdd\u5b58\u8def\u5f84", None)) self.plainTextEdit_file_path_save_BCG.setPlaceholderText(QCoreApplication.translate("MainWindow_precisely_align_input_setting", u"\u4fdd\u5b58\u8def\u5f84", None))
self.plainTextEdit_file_path_save_ECG.setPlaceholderText(QCoreApplication.translate("MainWindow_precisely_align_input_setting", u"\u4fdd\u5b58\u8def\u5f84", None))
self.pushButton_confirm.setText(QCoreApplication.translate("MainWindow_precisely_align_input_setting", u"\u786e\u5b9a", None)) self.pushButton_confirm.setText(QCoreApplication.translate("MainWindow_precisely_align_input_setting", u"\u786e\u5b9a", None))
# retranslateUi # retranslateUi

View File

@ -37,44 +37,13 @@
<property name="title"> <property name="title">
<string>文件路径</string> <string>文件路径</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_2" stretch="5,4,5,4,4"> <layout class="QVBoxLayout" name="verticalLayout_2" stretch="5,4,5,4,8">
<item> <item>
<widget class="QGroupBox" name="groupBox_file_path_input_BCG"> <widget class="QGroupBox" name="groupBox_file_path_input_BCG">
<property name="title"> <property name="title">
<string>预处理后的BCG路径</string> <string>预处理后的BCG路径</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_5" stretch="2,3"> <layout class="QVBoxLayout" name="verticalLayout_5" stretch="3">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label_2">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>采样率(Hz)</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBox_input_freq_BCG">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>1000000</number>
</property>
</widget>
</item>
</layout>
</item>
<item> <item>
<widget class="QPlainTextEdit" name="plainTextEdit_file_path_input_BCG"> <widget class="QPlainTextEdit" name="plainTextEdit_file_path_input_BCG">
<property name="plainText"> <property name="plainText">
@ -183,7 +152,14 @@
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_4"> <layout class="QVBoxLayout" name="verticalLayout_4">
<item> <item>
<widget class="QPlainTextEdit" name="plainTextEdit_file_path_save"> <widget class="QPlainTextEdit" name="plainTextEdit_file_path_save_BCG">
<property name="placeholderText">
<string>保存路径</string>
</property>
</widget>
</item>
<item>
<widget class="QPlainTextEdit" name="plainTextEdit_file_path_save_ECG">
<property name="placeholderText"> <property name="placeholderText">
<string>保存路径</string> <string>保存路径</string>
</property> </property>