1、为<人工纠正>和<数据精同步>加入了<数据粗同步>获取到的粗同步坐标绘制的虚线
This commit is contained in:
@ -128,6 +128,9 @@ class SettingWindow(QMainWindow):
|
||||
"Input_Rpeak": str((Path(self.root_path) / ConfigParams.PUBLIC_PATH_PSG_TEXT /
|
||||
Path(str(self.sampID)) / Path(ConfigParams.PRECISELY_ALIGN_INPUT_RPEAK_FILENAME +
|
||||
ConfigParams.ENDSWITH_TXT))),
|
||||
"Input_Approximately_Align": str((Path(self.root_path) / ConfigParams.PUBLIC_PATH_PSG_TEXT /
|
||||
Path(str(self.sampID)) / Path(ConfigParams.PRECISELY_ALIGN_APPROXIMATELY_ALIGNINFO_FILENAME +
|
||||
ConfigParams.ENDSWITH_CSV))),
|
||||
"Save_BCG_AlignInfo": str((Path(self.root_path) / ConfigParams.PUBLIC_PATH_ORGBCG_ALIGNED /
|
||||
Path(str(self.sampID)) / Path(ConfigParams.PRECISELY_ALIGN_SAVE_BCG_ALIGNINFO_FILENAME +
|
||||
ConfigParams.ENDSWITH_TXT))),
|
||||
@ -203,6 +206,7 @@ class SettingWindow(QMainWindow):
|
||||
self.ui.plainTextEdit_file_path_input_Jpeak.setPlainText(Config["Path"]["Input_Jpeak"])
|
||||
self.ui.plainTextEdit_file_path_input_ECG.setPlainText(Config["Path"]["Input_ECG"])
|
||||
self.ui.plainTextEdit_file_path_input_Rpeak.setPlainText(Config["Path"]["Input_Rpeak"])
|
||||
self.ui.plainTextEdit_file_path_input_approximately_align.setPlainText(Config["Path"]["Input_Approximately_Align"])
|
||||
self.ui.plainTextEdit_file_path_save_BCG_AlignInfo.setPlainText(Config["Path"]["Save_BCG_AlignInfo"])
|
||||
self.ui.plainTextEdit_file_path_save_ECG_AlignInfo.setPlainText(Config["Path"]["Save_ECG_AlignInfo"])
|
||||
self.ui.plainTextEdit_file_path_save_orgBcg.setPlainText(Config["Path"]["Save_orgBcg"])
|
||||
@ -219,6 +223,7 @@ class SettingWindow(QMainWindow):
|
||||
Config["Path"]["Input_Jpeak"] = self.ui.plainTextEdit_file_path_input_Jpeak.toPlainText()
|
||||
Config["Path"]["Input_ECG"] = self.ui.plainTextEdit_file_path_input_ECG.toPlainText()
|
||||
Config["Path"]["Input_Rpeak"] = self.ui.plainTextEdit_file_path_input_Rpeak.toPlainText()
|
||||
Config["Path"]["Input_Approximately_Align"] = self.ui.plainTextEdit_file_path_input_approximately_align.toPlainText()
|
||||
Config["Path"]["Save_BCG_AlignInfo"] = self.ui.plainTextEdit_file_path_save_BCG_AlignInfo.toPlainText()
|
||||
Config["Path"]["Save_ECG_AlignInfo"] = self.ui.plainTextEdit_file_path_save_ECG_AlignInfo.toPlainText()
|
||||
Config["Path"]["Save_orgBcg"] = self.ui.plainTextEdit_file_path_save_orgBcg.toPlainText()
|
||||
@ -485,6 +490,19 @@ class MainWindow_precisely_align(QMainWindow):
|
||||
self.ax1.stem(Rpeak, plot_element["RRIVs"],
|
||||
markerfmt="C0.", linefmt=Constants.PLOT_COLOR_ORANGE,
|
||||
label=Constants.PRECISELY_ALIGN_PLOT_LABEL_RRIV)
|
||||
if self.data.BCG_early is True:
|
||||
self.ax0.axvline(x=self.data.approximately_align_pos, color=Constants.PLOT_COLOR_BLACK, linestyle="--",
|
||||
label="Start Line")
|
||||
self.ax1.axvline(x=0, color=Constants.PLOT_COLOR_BLACK, linestyle="--", label="Start Line")
|
||||
elif self.data.BCG_early is False:
|
||||
self.ax0.axvline(x=0, color=Constants.PLOT_COLOR_BLACK, linestyle="--", label="Start Line")
|
||||
self.ax1.axvline(x=self.data.approximately_align_pos, color=Constants.PLOT_COLOR_BLACK, linestyle="--",
|
||||
label="Start Line")
|
||||
else:
|
||||
self.ax0.axvline(x=self.data.approximately_align_pos, color=Constants.PLOT_COLOR_BLACK, linestyle="--", label="Start Line")
|
||||
self.ax1.axvline(x=self.data.approximately_align_pos, color=Constants.PLOT_COLOR_BLACK, linestyle="--",
|
||||
label="Start Line")
|
||||
|
||||
self.ax0.legend(loc=Constants.PLOT_UPPER_RIGHT)
|
||||
self.ax1.legend(loc=Constants.PLOT_UPPER_RIGHT)
|
||||
self.canvas.draw()
|
||||
@ -1139,7 +1157,7 @@ class MainWindow_precisely_align(QMainWindow):
|
||||
self.canvas.draw()
|
||||
self.ax4.autoscale(False)
|
||||
|
||||
PublicFunc.text_output(self.ui, Constants.LABEL_CHECK_RECOVER_SCALE, Constants.TIPS_TYPE_INFO)
|
||||
PublicFunc.text_output(self.ui, Constants.PRECISELY_ALIGN_RECOVER_SCALE, Constants.TIPS_TYPE_INFO)
|
||||
|
||||
def toggle_getRange(self, state):
|
||||
if state:
|
||||
@ -1307,25 +1325,25 @@ class MainWindow_precisely_align(QMainWindow):
|
||||
if self.figToolbar.ax0_BCG_rectangle_front is None and self.is_left_button_pressed:
|
||||
self.figToolbar.ax0_BCG_rectangle_front = patches.Rectangle((0, 0), 1, 1,
|
||||
fill=True,
|
||||
alpha=ConfigParams.LABEL_CHECK_LABEL_TRANSPARENCY,
|
||||
alpha=ConfigParams.PRECISELY_ALIGN_LABEL_TRANSPARENCY,
|
||||
color=Constants.PLOT_COLOR_PINK)
|
||||
self.ax0.add_patch(self.figToolbar.ax0_BCG_rectangle_front)
|
||||
if self.figToolbar.ax0_BCG_rectangle_back is None and self.is_left_button_pressed:
|
||||
self.figToolbar.ax0_BCG_rectangle_back = patches.Rectangle((0, 0), 1, 1,
|
||||
fill=True,
|
||||
alpha=ConfigParams.LABEL_CHECK_LABEL_TRANSPARENCY,
|
||||
alpha=ConfigParams.PRECISELY_ALIGN_LABEL_TRANSPARENCY,
|
||||
color=Constants.PLOT_COLOR_PINK)
|
||||
self.ax0.add_patch(self.figToolbar.ax0_BCG_rectangle_back)
|
||||
if self.figToolbar.ax1_ECG_rectangle_front is None and self.is_left_button_pressed:
|
||||
self.figToolbar.ax1_ECG_rectangle_front = patches.Rectangle((0, 0), 1, 1,
|
||||
fill=True,
|
||||
alpha=ConfigParams.LABEL_CHECK_LABEL_TRANSPARENCY,
|
||||
alpha=ConfigParams.PRECISELY_ALIGN_LABEL_TRANSPARENCY,
|
||||
color=Constants.PLOT_COLOR_PINK)
|
||||
self.ax1.add_patch(self.figToolbar.ax1_ECG_rectangle_front)
|
||||
if self.figToolbar.ax1_ECG_rectangle_back is None and self.is_left_button_pressed:
|
||||
self.figToolbar.ax1_ECG_rectangle_back = patches.Rectangle((0, 0), 1, 1,
|
||||
fill=True,
|
||||
alpha=ConfigParams.LABEL_CHECK_LABEL_TRANSPARENCY,
|
||||
alpha=ConfigParams.PRECISELY_ALIGN_LABEL_TRANSPARENCY,
|
||||
color=Constants.PLOT_COLOR_PINK)
|
||||
self.ax1.add_patch(self.figToolbar.ax1_ECG_rectangle_back)
|
||||
|
||||
@ -1391,6 +1409,8 @@ class Data:
|
||||
self.raw_ECG = None
|
||||
self.Rpeak = None
|
||||
self.Rpeak_y = None
|
||||
self.approximately_align_pos = None
|
||||
self.BCG_early = None
|
||||
|
||||
self.res_orgBcg = None
|
||||
self.res_BCG = None
|
||||
@ -1446,6 +1466,21 @@ class Data:
|
||||
except Exception:
|
||||
return Result().failure(info=Constants.INPUT_FAILURE + Constants.PRECISELY_ALIGN_FAILURE_REASON["Read_Data_Exception"])
|
||||
|
||||
try:
|
||||
df = read_csv(Config["Path"]["Input_Approximately_Align"])
|
||||
pos = df["pos"].values[-1]
|
||||
ApplyFrequency = df["ApplyFrequency"].values[-1]
|
||||
self.approximately_align_pos = int(pos * (Config["InputConfig"]["ECGFreq"] / ApplyFrequency))
|
||||
if self.approximately_align_pos > 0:
|
||||
self.BCG_early = False
|
||||
elif self.approximately_align_pos < 0:
|
||||
self.BCG_early = True
|
||||
else:
|
||||
self.approximately_align_pos = 0
|
||||
self.BCG_early = None
|
||||
except Exception:
|
||||
self.approximately_align_pos = 0
|
||||
|
||||
return Result().success(info=Constants.INPUT_FINISHED)
|
||||
|
||||
def data_process_for_calculate_correlation(self):
|
||||
|
||||
Reference in New Issue
Block a user