1、完成了<数据精对齐>的所有代码
This commit is contained in:
@ -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"]
|
||||||
|
|||||||
@ -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"]
|
||||||
|
|||||||
@ -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():
|
||||||
|
|||||||
@ -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():
|
||||||
|
|||||||
1684
func/Module_precisely_align.py
Normal file
1684
func/Module_precisely_align.py
Normal file
File diff suppressed because it is too large
Load Diff
@ -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:
|
||||||
|
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
@ -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}"
|
||||||
|
|||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user