Compare commits

..

7 Commits

Author SHA1 Message Date
7928848ca0 Merge branch 'cxh_dev'
# Conflicts:
#	func/Module_mainwindow.py
2025-05-20 15:08:09 +08:00
a0cf874d18 修改了部分命名规则 2025-05-20 13:41:43 +08:00
adfdbf4201 删去了<体动标注>的部分冗余代码 2025-05-20 08:58:19 +08:00
ed2efe4792 完成了<睡眠呼吸暂停事件标注>的界面绘制 2025-05-19 20:58:00 +08:00
d8408ec1cc 修改了ConfigParams的文件命名 2025-05-19 20:10:32 +08:00
40c3390ed4 修改了文件命名规则 2025-05-19 17:23:16 +08:00
55d5df3fb6 修改了文件命名规则 2025-05-19 17:21:27 +08:00
9 changed files with 2641 additions and 97 deletions

32
func/Module_SA_label.py Normal file
View File

@ -0,0 +1,32 @@
from gc import collect
from pathlib import Path
from traceback import format_exc
import matplotlib.pyplot as plt
from PySide6.QtWidgets import QMessageBox, QMainWindow, QApplication
from matplotlib import gridspec
from matplotlib.backends.backend_qt import NavigationToolbar2QT
from matplotlib.backends.backend_qtagg import FigureCanvasQTAgg
from overrides import overrides
from pandas import read_csv, DataFrame
from scipy.signal import resample
from yaml import dump, load, FullLoader
from func.utils.PublicFunc import PublicFunc
from func.utils.Constants import Constants, ConfigParams
from func.utils.Result import Result
from ui.MainWindow.MainWindow_SA_label import Ui_MainWindow_SA_label
# from ui.setting.preprocess_input_setting import Ui_MainWindow_preprocess_input_setting
Config = {
}
class MainWindow_SA_label(QMainWindow):
def __init__(self):
super(MainWindow_SA_label, self).__init__()
self.ui = Ui_MainWindow_SA_label()
self.ui.setupUi(self)

View File

@ -567,17 +567,6 @@ class MainWindow_artifact_label(QMainWindow):
def __slot_btn_input__(self): def __slot_btn_input__(self):
PublicFunc.__disableAllButton__(self, ButtonState) PublicFunc.__disableAllButton__(self, ButtonState)
# 清空画框
# if self.point_peak_original is not None:
# self.point_peak_original.remove()
# self.point_peak_original = None
# if self.point_peak_corrected is not None:
# self.point_peak_corrected.remove()
# self.point_peak_corrected = None
# if self.annotation_tableWidget is not None:
# self.annotation_tableWidget.remove()
# self.annotation_tableWidget = None
self.reset_axes() self.reset_axes()
self.canvas.draw() self.canvas.draw()

View File

@ -16,6 +16,7 @@ from func.Module_label_check import MainWindow_label_check
from func.Module_precisely_align import MainWindow_precisely_align from func.Module_precisely_align import MainWindow_precisely_align
from func.Module_cut_PSG import MainWindow_cut_PSG from func.Module_cut_PSG import MainWindow_cut_PSG
from func.Module_artifact_label import MainWindow_artifact_label from func.Module_artifact_label import MainWindow_artifact_label
from func.Module_SA_label import MainWindow_SA_label
from func.utils.Constants import Constants, ConfigParams from func.utils.Constants import Constants, ConfigParams
@ -62,6 +63,8 @@ class MainWindow(QMainWindow, Ui_Signal_Label):
self.cut_PSG = None self.cut_PSG = None
self.artifact_label = None self.artifact_label = None
self.SA_label = None
# 绑定槽函数 # 绑定槽函数
self.ui.pushButton_open.clicked.connect(self.__slot_btn_open__) self.ui.pushButton_open.clicked.connect(self.__slot_btn_open__)
self.ui.pushButton_approximately_align.clicked.connect(self.__slot_btn_approximately_align__) self.ui.pushButton_approximately_align.clicked.connect(self.__slot_btn_approximately_align__)
@ -74,6 +77,7 @@ class MainWindow(QMainWindow, Ui_Signal_Label):
self.ui.pushButton_precisely_align.clicked.connect(self.__slot_btn_precisely_align__) self.ui.pushButton_precisely_align.clicked.connect(self.__slot_btn_precisely_align__)
self.ui.pushButton_cut_PSG.clicked.connect(self.__slot_btn_cut_PSG__) self.ui.pushButton_cut_PSG.clicked.connect(self.__slot_btn_cut_PSG__)
self.ui.pushButton_artifact_label.clicked.connect(self.__slot_btn_artifact_label__) self.ui.pushButton_artifact_label.clicked.connect(self.__slot_btn_artifact_label__)
self.ui.pushButton_SA_label.clicked.connect(self.__slot_btn_SA_label__)
@staticmethod @staticmethod
def __read_config__(): def __read_config__():
@ -220,6 +224,10 @@ class MainWindow(QMainWindow, Ui_Signal_Label):
# 默认最大化显示而非固定分辨率 # 默认最大化显示而非固定分辨率
self.artifact_label.showMaximized() self.artifact_label.showMaximized()
def __slot_btn_SA_label__(self):
self.SA_label = MainWindow_SA_label()
self.SA_label.show()
def seek_sampID(self, path): def seek_sampID(self, path):
if not Path(path).exists(): if not Path(path).exists():
PublicFunc.msgbox_output(self, Constants.MAINWINDOW_ROOT_PATH_NOT_EXIST, Constants.MSGBOX_TYPE_ERROR) PublicFunc.msgbox_output(self, Constants.MAINWINDOW_ROOT_PATH_NOT_EXIST, Constants.MSGBOX_TYPE_ERROR)

View File

@ -50,7 +50,7 @@ class ConfigParams:
"window_epoch": 6 "window_epoch": 6
} }
} }
APPROXIMATELY_ALIGN_INPUT_ORGBCG_FILENAME: str = "orgBcg_Raw_" APPROXIMATELY_ALIGN_INPUT_ORGBCG_FILENAME: str = "OrgBCG_Raw_"
APPROXIMATELY_ALIGN_INPUT_THO_FILENAME: str = "Effort Tho_Raw_" APPROXIMATELY_ALIGN_INPUT_THO_FILENAME: str = "Effort Tho_Raw_"
APPROXIMATELY_ALIGN_INPUT_ABD_FILENAME: str = "Effort Abd_Raw_" APPROXIMATELY_ALIGN_INPUT_ABD_FILENAME: str = "Effort Abd_Raw_"
APPROXIMATELY_ALIGN_SAVE_FILENAME: str = "Approximately_Align_Info" APPROXIMATELY_ALIGN_SAVE_FILENAME: str = "Approximately_Align_Info"
@ -73,10 +73,10 @@ class ConfigParams:
"ECGBandPassHigh": 25 "ECGBandPassHigh": 25
} }
} }
PREPROCESS_INPUT_BCG_FILENAME: str = "orgBcg_Raw_" PREPROCESS_INPUT_BCG_FILENAME: str = "OrgBCG_Raw_"
PREPROCESS_INPUT_ECG_FILENAME: str = "orgEcg II_Raw_" PREPROCESS_INPUT_ECG_FILENAME: str = "ECG II_Raw_"
PREPROCESS_SAVE_BCG_FILENAME: str = "BCG_Raw_" PREPROCESS_SAVE_BCG_FILENAME: str = "BCG_Filter_"
PREPROCESS_SAVE_ECG_FILENAME: str = "ECG_Raw_" PREPROCESS_SAVE_ECG_FILENAME: str = "ECG_Filter_"
PREPROCESS_SAVE_CHUNK_SIZE: int = 1000000 PREPROCESS_SAVE_CHUNK_SIZE: int = 1000000
# BCG的J峰算法定位 # BCG的J峰算法定位
@ -97,7 +97,7 @@ class ConfigParams:
"UseCPU": False, "UseCPU": False,
"DetectMethod": "" "DetectMethod": ""
} }
DETECT_JPEAK_INPUT_BCG_FILENAME: str = "BCG_Raw_" DETECT_JPEAK_INPUT_BCG_FILENAME: str = "BCG_Filter_"
DETECT_JPEAK_SAVE_FILENAME: str = "JPeak_revise" DETECT_JPEAK_SAVE_FILENAME: str = "JPeak_revise"
DETECT_JPEAK_SAVE_CHUNK_SIZE: int = 100 DETECT_JPEAK_SAVE_CHUNK_SIZE: int = 100
@ -114,7 +114,7 @@ class ConfigParams:
"PeaksValue": 200, "PeaksValue": 200,
"DetectMethod": "" "DetectMethod": ""
} }
DETECT_RPEAK_INPUT_ECG_FILENAME: str = "ECG_Raw_" DETECT_RPEAK_INPUT_ECG_FILENAME: str = "ECG_Filter_"
DETECT_RPEAK_SAVE_FILENAME: str = "Rpeak_final" DETECT_RPEAK_SAVE_FILENAME: str = "Rpeak_final"
DETECT_RPEAK_SAVE_CHUNK_SIZE: int = 100 DETECT_RPEAK_SAVE_CHUNK_SIZE: int = 100
@ -142,10 +142,10 @@ class ConfigParams:
"MoveSpeed": 1000 "MoveSpeed": 1000
} }
} }
LABEL_CHECK_INPUT_BCG_FILENAME: str = "BCG_Raw_" LABEL_CHECK_INPUT_BCG_FILENAME: str = "BCG_Filter_"
LABEL_CHECK_INPUT_JPEAK_FILENAME: str = "JPeak_revise" LABEL_CHECK_INPUT_JPEAK_FILENAME: str = "JPeak_revise"
LABEL_CHECK_SAVE_JPEAK_FILENAME: str = "JPeak_revise_corrected" LABEL_CHECK_SAVE_JPEAK_FILENAME: str = "JPeak_revise_corrected"
LABEL_CHECK_INPUT_ECG_FILENAME: str = "ECG_Raw_" LABEL_CHECK_INPUT_ECG_FILENAME: str = "ECG_Filter_"
LABEL_CHECK_INPUT_RPEAK_FILENAME: str = "Rpeak_final" LABEL_CHECK_INPUT_RPEAK_FILENAME: str = "Rpeak_final"
LABEL_CHECK_SAVE_RPEAK_FILENAME: str = "Rpeak_final_corrected" LABEL_CHECK_SAVE_RPEAK_FILENAME: str = "Rpeak_final_corrected"
LABEL_CHECK_APPROXIMATELY_ALIGNINFO_FILENAME: str = "Approximately_Align_Info" LABEL_CHECK_APPROXIMATELY_ALIGNINFO_FILENAME: str = "Approximately_Align_Info"
@ -160,14 +160,14 @@ class ConfigParams:
"ECGFreq": 1000 "ECGFreq": 1000
} }
} }
PRECISELY_ALIGN_INPUT_ORGBCG_FILENAME: str = "orgBcg_Raw_" PRECISELY_ALIGN_INPUT_ORGBCG_FILENAME: str = "OrgBCG_Raw_"
PRECISELY_ALIGN_INPUT_BCG_FILENAME: str = "BCG_Raw_" PRECISELY_ALIGN_INPUT_BCG_FILENAME: str = "BCG_Filter_"
PRECISELY_ALIGN_INPUT_JPEAK_FILENAME: str = "JPeak_revise_corrected" PRECISELY_ALIGN_INPUT_JPEAK_FILENAME: str = "JPeak_revise_corrected"
PRECISELY_ALIGN_SAVE_BCG_ALIGNINFO_FILENAME: str = "Align_info" PRECISELY_ALIGN_SAVE_BCG_ALIGNINFO_FILENAME: str = "Align_info"
PRECISELY_ALIGN_INPUT_ECG_FILENAME: str = "ECG_Raw_" PRECISELY_ALIGN_INPUT_ECG_FILENAME: str = "ECG_Filter_"
PRECISELY_ALIGN_INPUT_RPEAK_FILENAME: str = "Rpeak_final_corrected" PRECISELY_ALIGN_INPUT_RPEAK_FILENAME: str = "Rpeak_final_corrected"
PRECISELY_ALIGN_SAVE_ECG_ALIGNINFO_FILENAME: str = "Align_info" PRECISELY_ALIGN_SAVE_ECG_ALIGNINFO_FILENAME: str = "Align_info"
PRECISELY_ALIGN_SAVE_ORGBCG_FILENAME: str = "orgBcg_Sync_" PRECISELY_ALIGN_SAVE_ORGBCG_FILENAME: str = "OrgBCG_Sync_"
PRECISELY_ALIGN_SAVE_BCG_FILENAME: str = "BCG_Sync_" PRECISELY_ALIGN_SAVE_BCG_FILENAME: str = "BCG_Sync_"
PRECISELY_ALIGN_SAVE_ECG_FILENAME: str = "ECG_Sync_" PRECISELY_ALIGN_SAVE_ECG_FILENAME: str = "ECG_Sync_"
PRECISELY_ALIGN_SAVE_JPEAK_FILENAME: str = "JPeak_Sync" PRECISELY_ALIGN_SAVE_JPEAK_FILENAME: str = "JPeak_Sync"
@ -233,7 +233,7 @@ class ConfigParams:
"MoveSpeed": 1000 "MoveSpeed": 1000
} }
} }
ARTIFACT_LABEL_INPUT_ORGBCG_FILENAME: str = "orgBcg_Sync_" ARTIFACT_LABEL_INPUT_ORGBCG_FILENAME: str = "OrgBCG_Sync_"
ARTIFACT_LABEL_INPUT_BCG_FILENAME: str = "BCG_Sync_" ARTIFACT_LABEL_INPUT_BCG_FILENAME: str = "BCG_Sync_"
ARTIFACT_LABEL_SAVE_FILENAME_A: str = "Artifact_a" ARTIFACT_LABEL_SAVE_FILENAME_A: str = "Artifact_a"
ARTIFACT_LABEL_SAVE_FILENAME_B: str = "Artifact_b" ARTIFACT_LABEL_SAVE_FILENAME_B: str = "Artifact_b"

View File

@ -0,0 +1,684 @@
# -*- coding: utf-8 -*-
################################################################################
## Form generated from reading UI file 'MainWindow_SA_label.ui'
##
## Created by: Qt User Interface Compiler version 6.8.2
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
QMetaObject, QObject, QPoint, QRect,
QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
QFont, QFontDatabase, QGradient, QIcon,
QImage, QKeySequence, QLinearGradient, QPainter,
QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QAbstractSpinBox, QApplication, QCheckBox, QGridLayout,
QGroupBox, QHBoxLayout, QHeaderView, QLabel,
QLineEdit, QMainWindow, QPushButton, QRadioButton,
QSizePolicy, QSpacerItem, QSpinBox, QStatusBar,
QTableWidget, QTableWidgetItem, QTextBrowser, QVBoxLayout,
QWidget)
class Ui_MainWindow_SA_label(object):
def setupUi(self, MainWindow_SA_label):
if not MainWindow_SA_label.objectName():
MainWindow_SA_label.setObjectName(u"MainWindow_SA_label")
MainWindow_SA_label.resize(1920, 1080)
self.centralwidget = QWidget(MainWindow_SA_label)
self.centralwidget.setObjectName(u"centralwidget")
self.gridLayout = QGridLayout(self.centralwidget)
self.gridLayout.setObjectName(u"gridLayout")
self.groupBox_canvas = QGroupBox(self.centralwidget)
self.groupBox_canvas.setObjectName(u"groupBox_canvas")
font = QFont()
font.setPointSize(10)
self.groupBox_canvas.setFont(font)
self.verticalLayout = QVBoxLayout(self.groupBox_canvas)
self.verticalLayout.setObjectName(u"verticalLayout")
self.verticalLayout_canvas = QVBoxLayout()
self.verticalLayout_canvas.setObjectName(u"verticalLayout_canvas")
self.verticalLayout.addLayout(self.verticalLayout_canvas)
self.gridLayout.addWidget(self.groupBox_canvas, 0, 1, 1, 1)
self.groupBox_left = QGroupBox(self.centralwidget)
self.groupBox_left.setObjectName(u"groupBox_left")
self.groupBox_left.setFont(font)
self.verticalLayout_2 = QVBoxLayout(self.groupBox_left)
self.verticalLayout_2.setObjectName(u"verticalLayout_2")
self.horizontalLayout = QHBoxLayout()
self.horizontalLayout.setObjectName(u"horizontalLayout")
self.pushButton_input_setting = QPushButton(self.groupBox_left)
self.pushButton_input_setting.setObjectName(u"pushButton_input_setting")
sizePolicy = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.pushButton_input_setting.sizePolicy().hasHeightForWidth())
self.pushButton_input_setting.setSizePolicy(sizePolicy)
font1 = QFont()
font1.setPointSize(12)
self.pushButton_input_setting.setFont(font1)
self.horizontalLayout.addWidget(self.pushButton_input_setting)
self.pushButton_input = QPushButton(self.groupBox_left)
self.pushButton_input.setObjectName(u"pushButton_input")
sizePolicy.setHeightForWidth(self.pushButton_input.sizePolicy().hasHeightForWidth())
self.pushButton_input.setSizePolicy(sizePolicy)
self.pushButton_input.setFont(font1)
self.horizontalLayout.addWidget(self.pushButton_input)
self.verticalLayout_2.addLayout(self.horizontalLayout)
self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
self.verticalLayout_2.addItem(self.verticalSpacer)
self.groupBox_plotArgs = QGroupBox(self.groupBox_left)
self.groupBox_plotArgs.setObjectName(u"groupBox_plotArgs")
self.gridLayout_2 = QGridLayout(self.groupBox_plotArgs)
self.gridLayout_2.setObjectName(u"gridLayout_2")
self.label_3 = QLabel(self.groupBox_plotArgs)
self.label_3.setObjectName(u"label_3")
sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Fixed)
sizePolicy1.setHorizontalStretch(0)
sizePolicy1.setVerticalStretch(0)
sizePolicy1.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth())
self.label_3.setSizePolicy(sizePolicy1)
self.label_3.setFont(font1)
self.gridLayout_2.addWidget(self.label_3, 1, 0, 1, 1)
self.label_5 = QLabel(self.groupBox_plotArgs)
self.label_5.setObjectName(u"label_5")
sizePolicy1.setHeightForWidth(self.label_5.sizePolicy().hasHeightForWidth())
self.label_5.setSizePolicy(sizePolicy1)
self.label_5.setFont(font1)
self.gridLayout_2.addWidget(self.label_5, 2, 0, 1, 1)
self.label_4 = QLabel(self.groupBox_plotArgs)
self.label_4.setObjectName(u"label_4")
sizePolicy1.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth())
self.label_4.setSizePolicy(sizePolicy1)
self.label_4.setFont(font1)
self.gridLayout_2.addWidget(self.label_4, 0, 0, 1, 1)
self.label_10 = QLabel(self.groupBox_plotArgs)
self.label_10.setObjectName(u"label_10")
sizePolicy1.setHeightForWidth(self.label_10.sizePolicy().hasHeightForWidth())
self.label_10.setSizePolicy(sizePolicy1)
self.label_10.setFont(font1)
self.gridLayout_2.addWidget(self.label_10, 3, 0, 1, 1)
self.spinBox_plot_freq = QSpinBox(self.groupBox_plotArgs)
self.spinBox_plot_freq.setObjectName(u"spinBox_plot_freq")
self.spinBox_plot_freq.setFont(font1)
self.spinBox_plot_freq.setMinimum(1)
self.spinBox_plot_freq.setMaximum(10000)
self.gridLayout_2.addWidget(self.spinBox_plot_freq, 0, 1, 1, 1)
self.spinBox_orgBcg_freq = QSpinBox(self.groupBox_plotArgs)
self.spinBox_orgBcg_freq.setObjectName(u"spinBox_orgBcg_freq")
self.spinBox_orgBcg_freq.setFont(font1)
self.spinBox_orgBcg_freq.setMinimum(1)
self.spinBox_orgBcg_freq.setMaximum(10000)
self.gridLayout_2.addWidget(self.spinBox_orgBcg_freq, 1, 1, 1, 1)
self.spinBox_front_add_second = QSpinBox(self.groupBox_plotArgs)
self.spinBox_front_add_second.setObjectName(u"spinBox_front_add_second")
self.spinBox_front_add_second.setFont(font1)
self.spinBox_front_add_second.setMinimum(1)
self.spinBox_front_add_second.setMaximum(10000)
self.gridLayout_2.addWidget(self.spinBox_front_add_second, 2, 1, 1, 1)
self.spinBox_back_add_second = QSpinBox(self.groupBox_plotArgs)
self.spinBox_back_add_second.setObjectName(u"spinBox_back_add_second")
self.spinBox_back_add_second.setFont(font1)
self.spinBox_back_add_second.setMinimum(1)
self.spinBox_back_add_second.setMaximum(10000)
self.gridLayout_2.addWidget(self.spinBox_back_add_second, 3, 1, 1, 1)
self.verticalLayout_2.addWidget(self.groupBox_plotArgs)
self.verticalSpacer_2 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
self.verticalLayout_2.addItem(self.verticalSpacer_2)
self.groupBox_label = QGroupBox(self.groupBox_left)
self.groupBox_label.setObjectName(u"groupBox_label")
self.gridLayout_3 = QGridLayout(self.groupBox_label)
self.gridLayout_3.setObjectName(u"gridLayout_3")
self.tableWidget_label = QTableWidget(self.groupBox_label)
if (self.tableWidget_label.columnCount() < 5):
self.tableWidget_label.setColumnCount(5)
self.tableWidget_label.setObjectName(u"tableWidget_label")
self.tableWidget_label.setColumnCount(5)
self.tableWidget_label.horizontalHeader().setDefaultSectionSize(75)
self.gridLayout_3.addWidget(self.tableWidget_label, 1, 0, 1, 2)
self.label = QLabel(self.groupBox_label)
self.label.setObjectName(u"label")
self.label.setFont(font1)
self.gridLayout_3.addWidget(self.label, 0, 0, 1, 1)
self.lineEdit_filter_label_add = QLineEdit(self.groupBox_label)
self.lineEdit_filter_label_add.setObjectName(u"lineEdit_filter_label_add")
self.lineEdit_filter_label_add.setFont(font1)
self.gridLayout_3.addWidget(self.lineEdit_filter_label_add, 4, 1, 1, 1)
self.lineEdit_filter_label = QLineEdit(self.groupBox_label)
self.lineEdit_filter_label.setObjectName(u"lineEdit_filter_label")
self.lineEdit_filter_label.setFont(font1)
self.gridLayout_3.addWidget(self.lineEdit_filter_label, 0, 1, 1, 1)
self.tableWidget_label_add = QTableWidget(self.groupBox_label)
if (self.tableWidget_label_add.columnCount() < 4):
self.tableWidget_label_add.setColumnCount(4)
self.tableWidget_label_add.setObjectName(u"tableWidget_label_add")
self.tableWidget_label_add.setColumnCount(4)
self.tableWidget_label_add.horizontalHeader().setDefaultSectionSize(75)
self.gridLayout_3.addWidget(self.tableWidget_label_add, 5, 0, 1, 2)
self.label_2 = QLabel(self.groupBox_label)
self.label_2.setObjectName(u"label_2")
self.label_2.setFont(font1)
self.gridLayout_3.addWidget(self.label_2, 4, 0, 1, 1)
self.verticalSpacer_4 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
self.gridLayout_3.addItem(self.verticalSpacer_4, 2, 0, 1, 2)
self.gridLayout_3.setRowMinimumHeight(0, 1)
self.gridLayout_3.setRowMinimumHeight(1, 5)
self.gridLayout_3.setRowMinimumHeight(2, 1)
self.gridLayout_3.setRowMinimumHeight(3, 1)
self.gridLayout_3.setRowMinimumHeight(4, 5)
self.verticalLayout_2.addWidget(self.groupBox_label)
self.verticalSpacer_3 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
self.verticalLayout_2.addItem(self.verticalSpacer_3)
self.groupBox_4 = QGroupBox(self.groupBox_left)
self.groupBox_4.setObjectName(u"groupBox_4")
self.verticalLayout_6 = QVBoxLayout(self.groupBox_4)
self.verticalLayout_6.setObjectName(u"verticalLayout_6")
self.textBrowser_info = QTextBrowser(self.groupBox_4)
self.textBrowser_info.setObjectName(u"textBrowser_info")
self.verticalLayout_6.addWidget(self.textBrowser_info)
self.verticalLayout_2.addWidget(self.groupBox_4)
self.verticalLayout_2.setStretch(0, 2)
self.verticalLayout_2.setStretch(1, 1)
self.verticalLayout_2.setStretch(2, 4)
self.verticalLayout_2.setStretch(3, 1)
self.verticalLayout_2.setStretch(4, 15)
self.verticalLayout_2.setStretch(5, 1)
self.verticalLayout_2.setStretch(6, 5)
self.gridLayout.addWidget(self.groupBox_left, 0, 0, 1, 1)
self.groupBox_right = QGroupBox(self.centralwidget)
self.groupBox_right.setObjectName(u"groupBox_right")
self.groupBox_right.setFont(font)
self.gridLayout_4 = QGridLayout(self.groupBox_right)
self.gridLayout_4.setObjectName(u"gridLayout_4")
self.groupBox_examineBySecond = QGroupBox(self.groupBox_right)
self.groupBox_examineBySecond.setObjectName(u"groupBox_examineBySecond")
self.verticalLayout_4 = QVBoxLayout(self.groupBox_examineBySecond)
self.verticalLayout_4.setObjectName(u"verticalLayout_4")
self.checkBox_examineBySecond = QCheckBox(self.groupBox_examineBySecond)
self.checkBox_examineBySecond.setObjectName(u"checkBox_examineBySecond")
self.checkBox_examineBySecond.setFont(font1)
self.verticalLayout_4.addWidget(self.checkBox_examineBySecond)
self.gridLayout_8 = QGridLayout()
self.gridLayout_8.setObjectName(u"gridLayout_8")
self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
self.gridLayout_8.addItem(self.horizontalSpacer, 0, 1, 1, 1)
self.pushButton_next60s = QPushButton(self.groupBox_examineBySecond)
self.pushButton_next60s.setObjectName(u"pushButton_next60s")
self.pushButton_next60s.setFont(font1)
self.gridLayout_8.addWidget(self.pushButton_next60s, 1, 4, 1, 1)
self.pushButton_previous10s = QPushButton(self.groupBox_examineBySecond)
self.pushButton_previous10s.setObjectName(u"pushButton_previous10s")
self.pushButton_previous10s.setFont(font1)
self.gridLayout_8.addWidget(self.pushButton_previous10s, 0, 0, 1, 1)
self.pushButton_previous60s = QPushButton(self.groupBox_examineBySecond)
self.pushButton_previous60s.setObjectName(u"pushButton_previous60s")
self.pushButton_previous60s.setFont(font1)
self.gridLayout_8.addWidget(self.pushButton_previous60s, 0, 4, 1, 1)
self.pushButton_next30s = QPushButton(self.groupBox_examineBySecond)
self.pushButton_next30s.setObjectName(u"pushButton_next30s")
self.pushButton_next30s.setFont(font1)
self.gridLayout_8.addWidget(self.pushButton_next30s, 1, 2, 1, 1)
self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
self.gridLayout_8.addItem(self.horizontalSpacer_2, 1, 1, 1, 1)
self.pushButton_previous30s = QPushButton(self.groupBox_examineBySecond)
self.pushButton_previous30s.setObjectName(u"pushButton_previous30s")
self.pushButton_previous30s.setFont(font1)
self.gridLayout_8.addWidget(self.pushButton_previous30s, 0, 2, 1, 1)
self.pushButton_next10s = QPushButton(self.groupBox_examineBySecond)
self.pushButton_next10s.setObjectName(u"pushButton_next10s")
self.pushButton_next10s.setFont(font1)
self.gridLayout_8.addWidget(self.pushButton_next10s, 1, 0, 1, 1)
self.horizontalSpacer_3 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
self.gridLayout_8.addItem(self.horizontalSpacer_3, 0, 3, 1, 1)
self.horizontalSpacer_4 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
self.gridLayout_8.addItem(self.horizontalSpacer_4, 1, 3, 1, 1)
self.gridLayout_8.setColumnMinimumWidth(0, 3)
self.gridLayout_8.setColumnMinimumWidth(1, 1)
self.gridLayout_8.setColumnMinimumWidth(2, 3)
self.gridLayout_8.setColumnMinimumWidth(3, 1)
self.gridLayout_8.setColumnMinimumWidth(4, 3)
self.verticalLayout_4.addLayout(self.gridLayout_8)
self.gridLayout_4.addWidget(self.groupBox_examineBySecond, 2, 0, 1, 2)
self.groupBox_label_operation = QGroupBox(self.groupBox_right)
self.groupBox_label_operation.setObjectName(u"groupBox_label_operation")
self.verticalLayout_3 = QVBoxLayout(self.groupBox_label_operation)
self.verticalLayout_3.setObjectName(u"verticalLayout_3")
self.checkBox_examineLabeled = QCheckBox(self.groupBox_label_operation)
self.checkBox_examineLabeled.setObjectName(u"checkBox_examineLabeled")
self.checkBox_examineLabeled.setFont(font1)
self.verticalLayout_3.addWidget(self.checkBox_examineLabeled)
self.label_BCG_event = QLabel(self.groupBox_label_operation)
self.label_BCG_event.setObjectName(u"label_BCG_event")
self.label_BCG_event.setFont(font1)
self.label_BCG_event.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.verticalLayout_3.addWidget(self.label_BCG_event)
self.label_BCG_event_2 = QLabel(self.groupBox_label_operation)
self.label_BCG_event_2.setObjectName(u"label_BCG_event_2")
self.label_BCG_event_2.setFont(font1)
self.label_BCG_event_2.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.verticalLayout_3.addWidget(self.label_BCG_event_2)
self.horizontalLayout_3 = QHBoxLayout()
self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
self.label_11 = QLabel(self.groupBox_label_operation)
self.label_11.setObjectName(u"label_11")
self.label_11.setFont(font1)
self.horizontalLayout_3.addWidget(self.label_11)
self.radioButton_OSA = QRadioButton(self.groupBox_label_operation)
self.radioButton_OSA.setObjectName(u"radioButton_OSA")
self.radioButton_OSA.setFont(font1)
self.radioButton_OSA.setChecked(True)
self.horizontalLayout_3.addWidget(self.radioButton_OSA)
self.radioButton_CSA = QRadioButton(self.groupBox_label_operation)
self.radioButton_CSA.setObjectName(u"radioButton_CSA")
self.radioButton_CSA.setFont(font1)
self.horizontalLayout_3.addWidget(self.radioButton_CSA)
self.radioButton_MSA = QRadioButton(self.groupBox_label_operation)
self.radioButton_MSA.setObjectName(u"radioButton_MSA")
self.radioButton_MSA.setFont(font1)
self.horizontalLayout_3.addWidget(self.radioButton_MSA)
self.radioButton_HPY = QRadioButton(self.groupBox_label_operation)
self.radioButton_HPY.setObjectName(u"radioButton_HPY")
self.radioButton_HPY.setFont(font1)
self.horizontalLayout_3.addWidget(self.radioButton_HPY)
self.verticalLayout_3.addLayout(self.horizontalLayout_3)
self.horizontalLayout_4 = QHBoxLayout()
self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
self.label_12 = QLabel(self.groupBox_label_operation)
self.label_12.setObjectName(u"label_12")
self.label_12.setFont(font1)
self.horizontalLayout_4.addWidget(self.label_12)
self.radioButton_1_class = QRadioButton(self.groupBox_label_operation)
self.radioButton_1_class.setObjectName(u"radioButton_1_class")
self.radioButton_1_class.setFont(font1)
self.radioButton_1_class.setChecked(True)
self.horizontalLayout_4.addWidget(self.radioButton_1_class)
self.radioButton_2_class = QRadioButton(self.groupBox_label_operation)
self.radioButton_2_class.setObjectName(u"radioButton_2_class")
self.radioButton_2_class.setFont(font1)
self.horizontalLayout_4.addWidget(self.radioButton_2_class)
self.radioButton_3_class = QRadioButton(self.groupBox_label_operation)
self.radioButton_3_class.setObjectName(u"radioButton_3_class")
self.radioButton_3_class.setFont(font1)
self.horizontalLayout_4.addWidget(self.radioButton_3_class)
self.verticalLayout_3.addLayout(self.horizontalLayout_4)
self.verticalSpacer_9 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
self.verticalLayout_3.addItem(self.verticalSpacer_9)
self.horizontalLayout_2 = QHBoxLayout()
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
self.label_6 = QLabel(self.groupBox_label_operation)
self.label_6.setObjectName(u"label_6")
self.label_6.setFont(font1)
self.horizontalLayout_2.addWidget(self.label_6)
self.lineEdit_remark = QLineEdit(self.groupBox_label_operation)
self.lineEdit_remark.setObjectName(u"lineEdit_remark")
self.lineEdit_remark.setFont(font1)
self.horizontalLayout_2.addWidget(self.lineEdit_remark)
self.verticalLayout_3.addLayout(self.horizontalLayout_2)
self.verticalSpacer_8 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
self.verticalLayout_3.addItem(self.verticalSpacer_8)
self.label_7 = QLabel(self.groupBox_label_operation)
self.label_7.setObjectName(u"label_7")
self.label_7.setFont(font1)
self.verticalLayout_3.addWidget(self.label_7)
self.gridLayout_5 = QGridLayout()
self.gridLayout_5.setObjectName(u"gridLayout_5")
self.pushButton_quick_remark_input_durationNoEnough = QPushButton(self.groupBox_label_operation)
self.pushButton_quick_remark_input_durationNoEnough.setObjectName(u"pushButton_quick_remark_input_durationNoEnough")
sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Preferred)
sizePolicy2.setHorizontalStretch(0)
sizePolicy2.setVerticalStretch(0)
sizePolicy2.setHeightForWidth(self.pushButton_quick_remark_input_durationNoEnough.sizePolicy().hasHeightForWidth())
self.pushButton_quick_remark_input_durationNoEnough.setSizePolicy(sizePolicy2)
self.pushButton_quick_remark_input_durationNoEnough.setFont(font1)
self.gridLayout_5.addWidget(self.pushButton_quick_remark_input_durationNoEnough, 1, 1, 1, 1)
self.pushButton_quick_remark_input_maybeWrongLabeled = QPushButton(self.groupBox_label_operation)
self.pushButton_quick_remark_input_maybeWrongLabeled.setObjectName(u"pushButton_quick_remark_input_maybeWrongLabeled")
sizePolicy2.setHeightForWidth(self.pushButton_quick_remark_input_maybeWrongLabeled.sizePolicy().hasHeightForWidth())
self.pushButton_quick_remark_input_maybeWrongLabeled.setSizePolicy(sizePolicy2)
self.pushButton_quick_remark_input_maybeWrongLabeled.setFont(font1)
self.gridLayout_5.addWidget(self.pushButton_quick_remark_input_maybeWrongLabeled, 1, 0, 1, 1)
self.pushButton_quick_remark_input_noNormalRespBetweenArtifact = QPushButton(self.groupBox_label_operation)
self.pushButton_quick_remark_input_noNormalRespBetweenArtifact.setObjectName(u"pushButton_quick_remark_input_noNormalRespBetweenArtifact")
sizePolicy2.setHeightForWidth(self.pushButton_quick_remark_input_noNormalRespBetweenArtifact.sizePolicy().hasHeightForWidth())
self.pushButton_quick_remark_input_noNormalRespBetweenArtifact.setSizePolicy(sizePolicy2)
self.pushButton_quick_remark_input_noNormalRespBetweenArtifact.setFont(font1)
self.gridLayout_5.addWidget(self.pushButton_quick_remark_input_noNormalRespBetweenArtifact, 2, 1, 1, 1)
self.pushButton_quick_remark_input_maybeDesaturation = QPushButton(self.groupBox_label_operation)
self.pushButton_quick_remark_input_maybeDesaturation.setObjectName(u"pushButton_quick_remark_input_maybeDesaturation")
sizePolicy2.setHeightForWidth(self.pushButton_quick_remark_input_maybeDesaturation.sizePolicy().hasHeightForWidth())
self.pushButton_quick_remark_input_maybeDesaturation.setSizePolicy(sizePolicy2)
self.pushButton_quick_remark_input_maybeDesaturation.setFont(font1)
self.gridLayout_5.addWidget(self.pushButton_quick_remark_input_maybeDesaturation, 0, 1, 1, 1)
self.pushButton_quick_remark_input_littleChange = QPushButton(self.groupBox_label_operation)
self.pushButton_quick_remark_input_littleChange.setObjectName(u"pushButton_quick_remark_input_littleChange")
sizePolicy2.setHeightForWidth(self.pushButton_quick_remark_input_littleChange.sizePolicy().hasHeightForWidth())
self.pushButton_quick_remark_input_littleChange.setSizePolicy(sizePolicy2)
self.pushButton_quick_remark_input_littleChange.setFont(font1)
self.gridLayout_5.addWidget(self.pushButton_quick_remark_input_littleChange, 2, 0, 1, 1)
self.pushButton_quick_remark_input_waitingForTalk = QPushButton(self.groupBox_label_operation)
self.pushButton_quick_remark_input_waitingForTalk.setObjectName(u"pushButton_quick_remark_input_waitingForTalk")
sizePolicy2.setHeightForWidth(self.pushButton_quick_remark_input_waitingForTalk.sizePolicy().hasHeightForWidth())
self.pushButton_quick_remark_input_waitingForTalk.setSizePolicy(sizePolicy2)
self.pushButton_quick_remark_input_waitingForTalk.setFont(font1)
self.gridLayout_5.addWidget(self.pushButton_quick_remark_input_waitingForTalk, 0, 0, 1, 1)
self.pushButton_quick_remark_input_lowSignalNoiseRatio = QPushButton(self.groupBox_label_operation)
self.pushButton_quick_remark_input_lowSignalNoiseRatio.setObjectName(u"pushButton_quick_remark_input_lowSignalNoiseRatio")
sizePolicy2.setHeightForWidth(self.pushButton_quick_remark_input_lowSignalNoiseRatio.sizePolicy().hasHeightForWidth())
self.pushButton_quick_remark_input_lowSignalNoiseRatio.setSizePolicy(sizePolicy2)
self.pushButton_quick_remark_input_lowSignalNoiseRatio.setFont(font1)
self.gridLayout_5.addWidget(self.pushButton_quick_remark_input_lowSignalNoiseRatio, 3, 0, 1, 1)
self.pushButton_quick_remark_input_changeOnMiddle = QPushButton(self.groupBox_label_operation)
self.pushButton_quick_remark_input_changeOnMiddle.setObjectName(u"pushButton_quick_remark_input_changeOnMiddle")
sizePolicy2.setHeightForWidth(self.pushButton_quick_remark_input_changeOnMiddle.sizePolicy().hasHeightForWidth())
self.pushButton_quick_remark_input_changeOnMiddle.setSizePolicy(sizePolicy2)
self.pushButton_quick_remark_input_changeOnMiddle.setFont(font1)
self.gridLayout_5.addWidget(self.pushButton_quick_remark_input_changeOnMiddle, 3, 1, 1, 1)
self.verticalLayout_3.addLayout(self.gridLayout_5)
self.verticalSpacer_7 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
self.verticalLayout_3.addItem(self.verticalSpacer_7)
self.gridLayout_6 = QGridLayout()
self.gridLayout_6.setObjectName(u"gridLayout_6")
self.label_8 = QLabel(self.groupBox_label_operation)
self.label_8.setObjectName(u"label_8")
self.label_8.setFont(font1)
self.gridLayout_6.addWidget(self.label_8, 0, 0, 1, 1)
self.label_9 = QLabel(self.groupBox_label_operation)
self.label_9.setObjectName(u"label_9")
self.label_9.setFont(font1)
self.gridLayout_6.addWidget(self.label_9, 1, 0, 1, 1)
self.spinBox_correctStart = QSpinBox(self.groupBox_label_operation)
self.spinBox_correctStart.setObjectName(u"spinBox_correctStart")
self.spinBox_correctStart.setFont(font1)
self.spinBox_correctStart.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_correctStart.setMaximum(100000)
self.gridLayout_6.addWidget(self.spinBox_correctStart, 0, 1, 1, 1)
self.spinBox_correctEnd = QSpinBox(self.groupBox_label_operation)
self.spinBox_correctEnd.setObjectName(u"spinBox_correctEnd")
self.spinBox_correctEnd.setFont(font1)
self.spinBox_correctEnd.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.spinBox_correctEnd.setMaximum(100000)
self.gridLayout_6.addWidget(self.spinBox_correctEnd, 1, 1, 1, 1)
self.verticalLayout_3.addLayout(self.gridLayout_6)
self.verticalSpacer_6 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
self.verticalLayout_3.addItem(self.verticalSpacer_6)
self.gridLayout_7 = QGridLayout()
self.gridLayout_7.setObjectName(u"gridLayout_7")
self.pushButton_prev = QPushButton(self.groupBox_label_operation)
self.pushButton_prev.setObjectName(u"pushButton_prev")
sizePolicy2.setHeightForWidth(self.pushButton_prev.sizePolicy().hasHeightForWidth())
self.pushButton_prev.setSizePolicy(sizePolicy2)
self.pushButton_prev.setFont(font1)
self.gridLayout_7.addWidget(self.pushButton_prev, 0, 0, 1, 1)
self.pushButton_next = QPushButton(self.groupBox_label_operation)
self.pushButton_next.setObjectName(u"pushButton_next")
sizePolicy2.setHeightForWidth(self.pushButton_next.sizePolicy().hasHeightForWidth())
self.pushButton_next.setSizePolicy(sizePolicy2)
self.pushButton_next.setFont(font1)
self.gridLayout_7.addWidget(self.pushButton_next, 1, 0, 1, 1)
self.pushButton_confirmLabel = QPushButton(self.groupBox_label_operation)
self.pushButton_confirmLabel.setObjectName(u"pushButton_confirmLabel")
sizePolicy2.setHeightForWidth(self.pushButton_confirmLabel.sizePolicy().hasHeightForWidth())
self.pushButton_confirmLabel.setSizePolicy(sizePolicy2)
self.pushButton_confirmLabel.setFont(font1)
self.gridLayout_7.addWidget(self.pushButton_confirmLabel, 0, 1, 2, 1)
self.verticalLayout_3.addLayout(self.gridLayout_7)
self.verticalLayout_3.setStretch(0, 2)
self.verticalLayout_3.setStretch(1, 1)
self.verticalLayout_3.setStretch(2, 1)
self.verticalLayout_3.setStretch(3, 2)
self.verticalLayout_3.setStretch(4, 2)
self.verticalLayout_3.setStretch(5, 1)
self.verticalLayout_3.setStretch(6, 2)
self.verticalLayout_3.setStretch(7, 1)
self.verticalLayout_3.setStretch(8, 1)
self.verticalLayout_3.setStretch(9, 6)
self.verticalLayout_3.setStretch(10, 1)
self.verticalLayout_3.setStretch(11, 2)
self.verticalLayout_3.setStretch(12, 1)
self.verticalLayout_3.setStretch(13, 3)
self.gridLayout_4.addWidget(self.groupBox_label_operation, 0, 0, 1, 2)
self.verticalSpacer_5 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
self.gridLayout_4.addItem(self.verticalSpacer_5, 1, 0, 1, 2)
self.gridLayout_4.setRowStretch(0, 12)
self.gridLayout_4.setRowStretch(1, 1)
self.gridLayout_4.setRowStretch(2, 2)
self.gridLayout.addWidget(self.groupBox_right, 0, 2, 1, 1)
self.gridLayout.setColumnStretch(0, 3)
self.gridLayout.setColumnStretch(1, 7)
self.gridLayout.setColumnStretch(2, 3)
MainWindow_SA_label.setCentralWidget(self.centralwidget)
self.statusbar = QStatusBar(MainWindow_SA_label)
self.statusbar.setObjectName(u"statusbar")
MainWindow_SA_label.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow_SA_label)
QMetaObject.connectSlotsByName(MainWindow_SA_label)
# setupUi
def retranslateUi(self, MainWindow_SA_label):
MainWindow_SA_label.setWindowTitle(QCoreApplication.translate("MainWindow_SA_label", u"\u7761\u7720\u547c\u5438\u6682\u505c\u4e8b\u4ef6\u6807\u6ce8", None))
self.groupBox_canvas.setTitle(QCoreApplication.translate("MainWindow_SA_label", u"\u7ed8\u56fe\u533a", None))
self.groupBox_left.setTitle(QCoreApplication.translate("MainWindow_SA_label", u"\u7761\u7720\u547c\u5438\u6682\u505c\u4e8b\u4ef6\u6807\u6ce8", None))
self.pushButton_input_setting.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u5bfc\u5165\u8bbe\u7f6e", None))
self.pushButton_input.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u5f00\u59cb\u5bfc\u5165", None))
self.groupBox_plotArgs.setTitle(QCoreApplication.translate("MainWindow_SA_label", u"\u53c2\u6570\u8bbe\u7f6e", None))
self.label_3.setText(QCoreApplication.translate("MainWindow_SA_label", u"orgBcg\u4fe1\u53f7\u91c7\u6837\u7387(Hz)", None))
self.label_5.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u4fe1\u53f7\u5411\u524d\u6269\u5c55(s)", None))
self.label_4.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u7ed8\u56fe\u91c7\u6837\u7387(Hz)", None))
self.label_10.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u4fe1\u53f7\u5411\u540e\u6269\u5c55(s)", None))
self.groupBox_label.setTitle(QCoreApplication.translate("MainWindow_SA_label", u"\u6807\u7b7e\u8bb0\u5f55", None))
self.label.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u539f\u6570\u636e\u7684\u6807\u7b7e", None))
self.lineEdit_filter_label_add.setPlaceholderText(QCoreApplication.translate("MainWindow_SA_label", u"\u7b5b\u9009\u5668", None))
self.lineEdit_filter_label.setPlaceholderText(QCoreApplication.translate("MainWindow_SA_label", u"\u7b5b\u9009\u5668", None))
self.label_2.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u65b0\u589e\u7684\u6807\u7b7e", None))
self.groupBox_4.setTitle(QCoreApplication.translate("MainWindow_SA_label", u"\u65e5\u5fd7", None))
self.groupBox_right.setTitle(QCoreApplication.translate("MainWindow_SA_label", u"\u7761\u7720\u547c\u5438\u6682\u505c\u4e8b\u4ef6\u6807\u6ce8", None))
self.groupBox_examineBySecond.setTitle(QCoreApplication.translate("MainWindow_SA_label", u"\u9010\u5e27\u68c0\u67e5", None))
self.checkBox_examineBySecond.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u542f\u7528\u9010\u5e27\u68c0\u67e5\u6a21\u5f0f", None))
self.pushButton_next60s.setText(QCoreApplication.translate("MainWindow_SA_label", u"+60s", None))
self.pushButton_previous10s.setText(QCoreApplication.translate("MainWindow_SA_label", u"-10s", None))
self.pushButton_previous60s.setText(QCoreApplication.translate("MainWindow_SA_label", u"-60s", None))
self.pushButton_next30s.setText(QCoreApplication.translate("MainWindow_SA_label", u"+30s", None))
self.pushButton_previous30s.setText(QCoreApplication.translate("MainWindow_SA_label", u"-30s", None))
self.pushButton_next10s.setText(QCoreApplication.translate("MainWindow_SA_label", u"+10s", None))
self.groupBox_label_operation.setTitle(QCoreApplication.translate("MainWindow_SA_label", u"\u6807\u6ce8\u64cd\u4f5c", None))
self.checkBox_examineLabeled.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u4ec5\u68c0\u67e5\u672a\u786e\u5b9a\u6253\u6807\u53c2\u6570\u7684\u4e8b\u4ef6", None))
self.label_BCG_event.setText("")
self.label_BCG_event_2.setText("")
self.label_11.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u4e8b\u4ef6\u7c7b\u578b", None))
self.radioButton_OSA.setText(QCoreApplication.translate("MainWindow_SA_label", u"OSA", None))
self.radioButton_CSA.setText(QCoreApplication.translate("MainWindow_SA_label", u"CSA", None))
self.radioButton_MSA.setText(QCoreApplication.translate("MainWindow_SA_label", u"MSA", None))
self.radioButton_HPY.setText(QCoreApplication.translate("MainWindow_SA_label", u"HPY", None))
self.label_12.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u6807\u7b7e\u7c7b\u578b", None))
self.radioButton_1_class.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u4e00\u7c7b(U)", None))
self.radioButton_2_class.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u4e8c\u7c7b(I)", None))
self.radioButton_3_class.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u5220\u9664(O)", None))
self.label_6.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u5907\u6ce8", None))
self.label_7.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u5feb\u901f\u5907\u6ce8\u8f93\u5165", None))
self.pushButton_quick_remark_input_durationNoEnough.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u4e8c\u7c7b-\u65f6\u957f\u4e0d\u8db3", None))
self.pushButton_quick_remark_input_maybeWrongLabeled.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u4e8c\u7c7b-\u7591\u4f3c\u533b\u751f\u8bef\u6807", None))
self.pushButton_quick_remark_input_noNormalRespBetweenArtifact.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u4e8c\u7c7b-\u4f53\u52a8\u95f4\u65e0\u6b63\u5e38\u547c\u5438", None))
self.pushButton_quick_remark_input_maybeDesaturation.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u4e00\u7c7b-\u5f62\u4f3c\u6f6e\u5f0f\u547c\u5438", None))
self.pushButton_quick_remark_input_littleChange.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u4e8c\u7c7b-\u8d77\u4f0f\u53d8\u5316\u4e0d\u5927", None))
self.pushButton_quick_remark_input_waitingForTalk.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u5f85\u8ba8\u8bba(J)", None))
self.pushButton_quick_remark_input_lowSignalNoiseRatio.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u4e8c\u7c7b-\u4fe1\u566a\u6bd4\u4f4e", None))
self.pushButton_quick_remark_input_changeOnMiddle.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u4e8c\u7c7b-\u4e2d\u95f4\u8d77\u4f0f", None))
self.label_8.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u4fee\u6b63\u540e\u8d77\u59cb\u65f6\u95f4(s)", None))
self.label_9.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u4fee\u6b63\u540e\u7ec8\u6b62\u65f6\u95f4(s)", None))
self.pushButton_prev.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u4e0a\u4e00\u4e2a\u4e8b\u4ef6(A)", None))
self.pushButton_next.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u4e0b\u4e00\u4e2a\u4e8b\u4ef6(D)", None))
self.pushButton_confirmLabel.setText(QCoreApplication.translate("MainWindow_SA_label", u"\u786e\u5b9a\u6253\u6807\u53c2\u6570(S)", None))
# retranslateUi

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,333 @@
# -*- coding: utf-8 -*-
################################################################################
## Form generated from reading UI file 'SA_label_input_setting.ui'
##
## Created by: Qt User Interface Compiler version 6.8.2
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
QMetaObject, QObject, QPoint, QRect,
QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
QFont, QFontDatabase, QGradient, QIcon,
QImage, QKeySequence, QLinearGradient, QPainter,
QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QApplication, QGridLayout, QGroupBox, QHBoxLayout,
QLabel, QMainWindow, QPlainTextEdit, QPushButton,
QSizePolicy, QSpinBox, QStatusBar, QVBoxLayout,
QWidget)
class Ui_MainWindow_SA_label_input_setting(object):
def setupUi(self, MainWindow_SA_label_input_setting):
if not MainWindow_SA_label_input_setting.objectName():
MainWindow_SA_label_input_setting.setObjectName(u"MainWindow_SA_label_input_setting")
MainWindow_SA_label_input_setting.resize(840, 840)
self.centralwidget = QWidget(MainWindow_SA_label_input_setting)
self.centralwidget.setObjectName(u"centralwidget")
self.gridLayout = QGridLayout(self.centralwidget)
self.gridLayout.setObjectName(u"gridLayout")
self.pushButton_cancel = QPushButton(self.centralwidget)
self.pushButton_cancel.setObjectName(u"pushButton_cancel")
font = QFont()
font.setPointSize(12)
self.pushButton_cancel.setFont(font)
self.gridLayout.addWidget(self.pushButton_cancel, 1, 3, 1, 1)
self.groupBox = QGroupBox(self.centralwidget)
self.groupBox.setObjectName(u"groupBox")
font1 = QFont()
font1.setPointSize(10)
self.groupBox.setFont(font1)
self.gridLayout_2 = QGridLayout(self.groupBox)
self.gridLayout_2.setObjectName(u"gridLayout_2")
self.groupBox_file_path_input_signal_OrgBCG = QGroupBox(self.groupBox)
self.groupBox_file_path_input_signal_OrgBCG.setObjectName(u"groupBox_file_path_input_signal_OrgBCG")
self.verticalLayout_5 = QVBoxLayout(self.groupBox_file_path_input_signal_OrgBCG)
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_signal_OrgBCG)
self.label_2.setObjectName(u"label_2")
self.label_2.setFont(font)
self.horizontalLayout_2.addWidget(self.label_2)
self.spinBox_input_freq_signal_OrgBCG = QSpinBox(self.groupBox_file_path_input_signal_OrgBCG)
self.spinBox_input_freq_signal_OrgBCG.setObjectName(u"spinBox_input_freq_signal_OrgBCG")
self.spinBox_input_freq_signal_OrgBCG.setFont(font)
self.spinBox_input_freq_signal_OrgBCG.setMinimum(1)
self.spinBox_input_freq_signal_OrgBCG.setMaximum(1000000)
self.horizontalLayout_2.addWidget(self.spinBox_input_freq_signal_OrgBCG)
self.verticalLayout_5.addLayout(self.horizontalLayout_2)
self.plainTextEdit_file_path_input_signal_OrgBCG = QPlainTextEdit(self.groupBox_file_path_input_signal_OrgBCG)
self.plainTextEdit_file_path_input_signal_OrgBCG.setObjectName(u"plainTextEdit_file_path_input_signal_OrgBCG")
self.verticalLayout_5.addWidget(self.plainTextEdit_file_path_input_signal_OrgBCG)
self.verticalLayout_5.setStretch(0, 2)
self.verticalLayout_5.setStretch(1, 3)
self.gridLayout_2.addWidget(self.groupBox_file_path_input_signal_OrgBCG, 0, 0, 1, 1)
self.groupBox_file_path_input_signal_FlowT = QGroupBox(self.groupBox)
self.groupBox_file_path_input_signal_FlowT.setObjectName(u"groupBox_file_path_input_signal_FlowT")
self.verticalLayout_7 = QVBoxLayout(self.groupBox_file_path_input_signal_FlowT)
self.verticalLayout_7.setObjectName(u"verticalLayout_7")
self.horizontalLayout_5 = QHBoxLayout()
self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
self.label_5 = QLabel(self.groupBox_file_path_input_signal_FlowT)
self.label_5.setObjectName(u"label_5")
self.label_5.setFont(font)
self.horizontalLayout_5.addWidget(self.label_5)
self.spinBox_input_freq_signal_FlowT = QSpinBox(self.groupBox_file_path_input_signal_FlowT)
self.spinBox_input_freq_signal_FlowT.setObjectName(u"spinBox_input_freq_signal_FlowT")
self.spinBox_input_freq_signal_FlowT.setFont(font)
self.spinBox_input_freq_signal_FlowT.setMinimum(1)
self.spinBox_input_freq_signal_FlowT.setMaximum(1000000)
self.horizontalLayout_5.addWidget(self.spinBox_input_freq_signal_FlowT)
self.verticalLayout_7.addLayout(self.horizontalLayout_5)
self.plainTextEdit_file_path_input_signal_FlowT = QPlainTextEdit(self.groupBox_file_path_input_signal_FlowT)
self.plainTextEdit_file_path_input_signal_FlowT.setObjectName(u"plainTextEdit_file_path_input_signal_FlowT")
self.verticalLayout_7.addWidget(self.plainTextEdit_file_path_input_signal_FlowT)
self.verticalLayout_7.setStretch(1, 2)
self.gridLayout_2.addWidget(self.groupBox_file_path_input_signal_FlowT, 3, 0, 1, 1)
self.groupBox_file_path_input_signal_Abd = QGroupBox(self.groupBox)
self.groupBox_file_path_input_signal_Abd.setObjectName(u"groupBox_file_path_input_signal_Abd")
self.verticalLayout_6 = QVBoxLayout(self.groupBox_file_path_input_signal_Abd)
self.verticalLayout_6.setObjectName(u"verticalLayout_6")
self.horizontalLayout_4 = QHBoxLayout()
self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
self.label_4 = QLabel(self.groupBox_file_path_input_signal_Abd)
self.label_4.setObjectName(u"label_4")
self.label_4.setFont(font)
self.horizontalLayout_4.addWidget(self.label_4)
self.spinBox_input_freq_signal_Abd = QSpinBox(self.groupBox_file_path_input_signal_Abd)
self.spinBox_input_freq_signal_Abd.setObjectName(u"spinBox_input_freq_signal_Abd")
self.spinBox_input_freq_signal_Abd.setFont(font)
self.spinBox_input_freq_signal_Abd.setMinimum(1)
self.spinBox_input_freq_signal_Abd.setMaximum(1000000)
self.horizontalLayout_4.addWidget(self.spinBox_input_freq_signal_Abd)
self.verticalLayout_6.addLayout(self.horizontalLayout_4)
self.plainTextEdit_file_path_input_signal_Abd = QPlainTextEdit(self.groupBox_file_path_input_signal_Abd)
self.plainTextEdit_file_path_input_signal_Abd.setObjectName(u"plainTextEdit_file_path_input_signal_Abd")
self.verticalLayout_6.addWidget(self.plainTextEdit_file_path_input_signal_Abd)
self.verticalLayout_6.setStretch(1, 2)
self.gridLayout_2.addWidget(self.groupBox_file_path_input_signal_Abd, 2, 0, 1, 1)
self.groupBox_file_path_save = QGroupBox(self.groupBox)
self.groupBox_file_path_save.setObjectName(u"groupBox_file_path_save")
self.verticalLayout_4 = QVBoxLayout(self.groupBox_file_path_save)
self.verticalLayout_4.setObjectName(u"verticalLayout_4")
self.plainTextEdit_file_path_save = QPlainTextEdit(self.groupBox_file_path_save)
self.plainTextEdit_file_path_save.setObjectName(u"plainTextEdit_file_path_save")
self.verticalLayout_4.addWidget(self.plainTextEdit_file_path_save)
self.gridLayout_2.addWidget(self.groupBox_file_path_save, 6, 0, 1, 1)
self.groupBox_file_path_input_signal_Tho = QGroupBox(self.groupBox)
self.groupBox_file_path_input_signal_Tho.setObjectName(u"groupBox_file_path_input_signal_Tho")
self.verticalLayout_3 = QVBoxLayout(self.groupBox_file_path_input_signal_Tho)
self.verticalLayout_3.setObjectName(u"verticalLayout_3")
self.horizontalLayout_3 = QHBoxLayout()
self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
self.label_3 = QLabel(self.groupBox_file_path_input_signal_Tho)
self.label_3.setObjectName(u"label_3")
self.label_3.setFont(font)
self.horizontalLayout_3.addWidget(self.label_3)
self.spinBox_input_freq_signal_Tho = QSpinBox(self.groupBox_file_path_input_signal_Tho)
self.spinBox_input_freq_signal_Tho.setObjectName(u"spinBox_input_freq_signal_Tho")
self.spinBox_input_freq_signal_Tho.setFont(font)
self.spinBox_input_freq_signal_Tho.setMinimum(1)
self.spinBox_input_freq_signal_Tho.setMaximum(1000000)
self.horizontalLayout_3.addWidget(self.spinBox_input_freq_signal_Tho)
self.verticalLayout_3.addLayout(self.horizontalLayout_3)
self.plainTextEdit_file_path_input_signal_Tho = QPlainTextEdit(self.groupBox_file_path_input_signal_Tho)
self.plainTextEdit_file_path_input_signal_Tho.setObjectName(u"plainTextEdit_file_path_input_signal_Tho")
self.verticalLayout_3.addWidget(self.plainTextEdit_file_path_input_signal_Tho)
self.verticalLayout_3.setStretch(1, 2)
self.gridLayout_2.addWidget(self.groupBox_file_path_input_signal_Tho, 2, 1, 1, 1)
self.groupBox_file_path_input_signal_SpO2 = QGroupBox(self.groupBox)
self.groupBox_file_path_input_signal_SpO2.setObjectName(u"groupBox_file_path_input_signal_SpO2")
self.verticalLayout_9 = QVBoxLayout(self.groupBox_file_path_input_signal_SpO2)
self.verticalLayout_9.setObjectName(u"verticalLayout_9")
self.horizontalLayout_7 = QHBoxLayout()
self.horizontalLayout_7.setObjectName(u"horizontalLayout_7")
self.label_7 = QLabel(self.groupBox_file_path_input_signal_SpO2)
self.label_7.setObjectName(u"label_7")
self.label_7.setFont(font)
self.horizontalLayout_7.addWidget(self.label_7)
self.spinBox_input_freq_signal_SpO2 = QSpinBox(self.groupBox_file_path_input_signal_SpO2)
self.spinBox_input_freq_signal_SpO2.setObjectName(u"spinBox_input_freq_signal_SpO2")
self.spinBox_input_freq_signal_SpO2.setFont(font)
self.spinBox_input_freq_signal_SpO2.setMinimum(1)
self.spinBox_input_freq_signal_SpO2.setMaximum(1000000)
self.horizontalLayout_7.addWidget(self.spinBox_input_freq_signal_SpO2)
self.verticalLayout_9.addLayout(self.horizontalLayout_7)
self.plainTextEdit_file_path_input_signal_SpO2 = QPlainTextEdit(self.groupBox_file_path_input_signal_SpO2)
self.plainTextEdit_file_path_input_signal_SpO2.setObjectName(u"plainTextEdit_file_path_input_signal_SpO2")
self.verticalLayout_9.addWidget(self.plainTextEdit_file_path_input_signal_SpO2)
self.verticalLayout_9.setStretch(1, 2)
self.gridLayout_2.addWidget(self.groupBox_file_path_input_signal_SpO2, 0, 1, 1, 1)
self.groupBox_file_path_input_signal_FlowP = QGroupBox(self.groupBox)
self.groupBox_file_path_input_signal_FlowP.setObjectName(u"groupBox_file_path_input_signal_FlowP")
self.verticalLayout_8 = QVBoxLayout(self.groupBox_file_path_input_signal_FlowP)
self.verticalLayout_8.setObjectName(u"verticalLayout_8")
self.horizontalLayout_6 = QHBoxLayout()
self.horizontalLayout_6.setObjectName(u"horizontalLayout_6")
self.label_6 = QLabel(self.groupBox_file_path_input_signal_FlowP)
self.label_6.setObjectName(u"label_6")
self.label_6.setFont(font)
self.horizontalLayout_6.addWidget(self.label_6)
self.spinBox_input_freq_signal_FlowP = QSpinBox(self.groupBox_file_path_input_signal_FlowP)
self.spinBox_input_freq_signal_FlowP.setObjectName(u"spinBox_input_freq_signal_FlowP")
self.spinBox_input_freq_signal_FlowP.setFont(font)
self.spinBox_input_freq_signal_FlowP.setMinimum(1)
self.spinBox_input_freq_signal_FlowP.setMaximum(1000000)
self.horizontalLayout_6.addWidget(self.spinBox_input_freq_signal_FlowP)
self.verticalLayout_8.addLayout(self.horizontalLayout_6)
self.plainTextEdit_file_path_input_signal_FlowP = QPlainTextEdit(self.groupBox_file_path_input_signal_FlowP)
self.plainTextEdit_file_path_input_signal_FlowP.setObjectName(u"plainTextEdit_file_path_input_signal_FlowP")
self.verticalLayout_8.addWidget(self.plainTextEdit_file_path_input_signal_FlowP)
self.verticalLayout_8.setStretch(1, 2)
self.gridLayout_2.addWidget(self.groupBox_file_path_input_signal_FlowP, 3, 1, 1, 1)
self.groupBox_file_path_save_2 = QGroupBox(self.groupBox)
self.groupBox_file_path_save_2.setObjectName(u"groupBox_file_path_save_2")
self.verticalLayout_10 = QVBoxLayout(self.groupBox_file_path_save_2)
self.verticalLayout_10.setObjectName(u"verticalLayout_10")
self.plainTextEdit_file_path_save_2 = QPlainTextEdit(self.groupBox_file_path_save_2)
self.plainTextEdit_file_path_save_2.setObjectName(u"plainTextEdit_file_path_save_2")
self.verticalLayout_10.addWidget(self.plainTextEdit_file_path_save_2)
self.gridLayout_2.addWidget(self.groupBox_file_path_save_2, 6, 1, 1, 1)
self.groupBox_file_path_input_artifact = QGroupBox(self.groupBox)
self.groupBox_file_path_input_artifact.setObjectName(u"groupBox_file_path_input_artifact")
self.verticalLayout_11 = QVBoxLayout(self.groupBox_file_path_input_artifact)
self.verticalLayout_11.setObjectName(u"verticalLayout_11")
self.plainTextEdit_file_path_input_artifact = QPlainTextEdit(self.groupBox_file_path_input_artifact)
self.plainTextEdit_file_path_input_artifact.setObjectName(u"plainTextEdit_file_path_input_artifact")
self.verticalLayout_11.addWidget(self.plainTextEdit_file_path_input_artifact)
self.verticalLayout_11.setStretch(0, 2)
self.gridLayout_2.addWidget(self.groupBox_file_path_input_artifact, 5, 0, 1, 1)
self.gridLayout.addWidget(self.groupBox, 0, 0, 1, 4)
self.pushButton_confirm = QPushButton(self.centralwidget)
self.pushButton_confirm.setObjectName(u"pushButton_confirm")
self.pushButton_confirm.setFont(font)
self.gridLayout.addWidget(self.pushButton_confirm, 1, 2, 1, 1)
MainWindow_SA_label_input_setting.setCentralWidget(self.centralwidget)
self.statusbar = QStatusBar(MainWindow_SA_label_input_setting)
self.statusbar.setObjectName(u"statusbar")
MainWindow_SA_label_input_setting.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow_SA_label_input_setting)
QMetaObject.connectSlotsByName(MainWindow_SA_label_input_setting)
# setupUi
def retranslateUi(self, MainWindow_SA_label_input_setting):
MainWindow_SA_label_input_setting.setWindowTitle(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u5bfc\u5165\u8bbe\u7f6e", None))
self.pushButton_cancel.setText(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u53d6\u6d88", None))
self.groupBox.setTitle(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u6587\u4ef6\u8def\u5f84", None))
self.groupBox_file_path_input_signal_OrgBCG.setTitle(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u540c\u6b65\u540e\u7684OrgBCG\u8def\u5f84", None))
self.label_2.setText(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u91c7\u6837\u7387(Hz)\uff1a", None))
self.plainTextEdit_file_path_input_signal_OrgBCG.setPlainText("")
self.plainTextEdit_file_path_input_signal_OrgBCG.setPlaceholderText(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u6587\u4ef6\u8def\u5f84", None))
self.groupBox_file_path_input_signal_FlowT.setTitle(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u540c\u6b65\u540e\u7684Flow T\u8def\u5f84", None))
self.label_5.setText(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u91c7\u6837\u7387(Hz)\uff1a", None))
self.plainTextEdit_file_path_input_signal_FlowT.setPlainText("")
self.plainTextEdit_file_path_input_signal_FlowT.setPlaceholderText(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u6587\u4ef6\u8def\u5f84", None))
self.groupBox_file_path_input_signal_Abd.setTitle(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u540c\u6b65\u540e\u7684Effort Abd\u8def\u5f84", None))
self.label_4.setText(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u91c7\u6837\u7387(Hz)\uff1a", None))
self.plainTextEdit_file_path_input_signal_Abd.setPlainText("")
self.plainTextEdit_file_path_input_signal_Abd.setPlaceholderText(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u6587\u4ef6\u8def\u5f84", None))
self.groupBox_file_path_save.setTitle(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u4fee\u6b63\u540e\u7684\u547c\u5438\u6682\u505c\u6807\u7b7e\u4fdd\u5b58\u8def\u5f84", None))
self.plainTextEdit_file_path_save.setPlaceholderText(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u4fdd\u5b58\u8def\u5f84", None))
self.groupBox_file_path_input_signal_Tho.setTitle(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u540c\u6b65\u540e\u7684Effort Tho\u8def\u5f84", None))
self.label_3.setText(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u91c7\u6837\u7387(Hz)\uff1a", None))
self.plainTextEdit_file_path_input_signal_Tho.setPlainText("")
self.plainTextEdit_file_path_input_signal_Tho.setPlaceholderText(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u6587\u4ef6\u8def\u5f84", None))
self.groupBox_file_path_input_signal_SpO2.setTitle(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u540c\u6b65\u540e\u7684SpO2\u8def\u5f84", None))
self.label_7.setText(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u91c7\u6837\u7387(Hz)\uff1a", None))
self.plainTextEdit_file_path_input_signal_SpO2.setPlainText("")
self.plainTextEdit_file_path_input_signal_SpO2.setPlaceholderText(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u6587\u4ef6\u8def\u5f84", None))
self.groupBox_file_path_input_signal_FlowP.setTitle(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u540c\u6b65\u540e\u7684Flow P\u8def\u5f84", None))
self.label_6.setText(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u91c7\u6837\u7387(Hz)\uff1a", None))
self.plainTextEdit_file_path_input_signal_FlowP.setPlainText("")
self.plainTextEdit_file_path_input_signal_FlowP.setPlaceholderText(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u6587\u4ef6\u8def\u5f84", None))
self.groupBox_file_path_save_2.setTitle(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u65b0\u589e\u7684\u547c\u5438\u6682\u505c\u6807\u7b7e\u4fdd\u5b58\u8def\u5f84", None))
self.plainTextEdit_file_path_save_2.setPlaceholderText(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u4fdd\u5b58\u8def\u5f84", None))
self.groupBox_file_path_input_artifact.setTitle(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u4f53\u52a8Artifact_a\u8def\u5f84", None))
self.plainTextEdit_file_path_input_artifact.setPlainText("")
self.plainTextEdit_file_path_input_artifact.setPlaceholderText(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u6587\u4ef6\u8def\u5f84", None))
self.pushButton_confirm.setText(QCoreApplication.translate("MainWindow_SA_label_input_setting", u"\u786e\u5b9a", None))
# retranslateUi

View File

@ -0,0 +1,413 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow_SA_label_input_setting</class>
<widget class="QMainWindow" name="MainWindow_SA_label_input_setting">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>840</width>
<height>840</height>
</rect>
</property>
<property name="windowTitle">
<string>导入设置</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="3">
<widget class="QPushButton" name="pushButton_cancel">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>取消</string>
</property>
</widget>
</item>
<item row="0" column="0" colspan="4">
<widget class="QGroupBox" name="groupBox">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="title">
<string>文件路径</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QGroupBox" name="groupBox_file_path_input_signal_OrgBCG">
<property name="title">
<string>同步后的OrgBCG路径</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5" stretch="2,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_signal_OrgBCG">
<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>
<widget class="QPlainTextEdit" name="plainTextEdit_file_path_input_signal_OrgBCG">
<property name="plainText">
<string/>
</property>
<property name="placeholderText">
<string>文件路径</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="3" column="0">
<widget class="QGroupBox" name="groupBox_file_path_input_signal_FlowT">
<property name="title">
<string>同步后的Flow T路径</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_7" stretch="0,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>采样率(Hz)</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBox_input_freq_signal_FlowT">
<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>
<widget class="QPlainTextEdit" name="plainTextEdit_file_path_input_signal_FlowT">
<property name="plainText">
<string/>
</property>
<property name="placeholderText">
<string>文件路径</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="2" column="0">
<widget class="QGroupBox" name="groupBox_file_path_input_signal_Abd">
<property name="title">
<string>同步后的Effort Abd路径</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_6" stretch="0,2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLabel" name="label_4">
<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_signal_Abd">
<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>
<widget class="QPlainTextEdit" name="plainTextEdit_file_path_input_signal_Abd">
<property name="plainText">
<string/>
</property>
<property name="placeholderText">
<string>文件路径</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="6" column="0">
<widget class="QGroupBox" name="groupBox_file_path_save">
<property name="title">
<string>修正后的呼吸暂停标签保存路径</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QPlainTextEdit" name="plainTextEdit_file_path_save">
<property name="placeholderText">
<string>保存路径</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="2" column="1">
<widget class="QGroupBox" name="groupBox_file_path_input_signal_Tho">
<property name="title">
<string>同步后的Effort Tho路径</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3" stretch="0,2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLabel" name="label_3">
<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_signal_Tho">
<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>
<widget class="QPlainTextEdit" name="plainTextEdit_file_path_input_signal_Tho">
<property name="plainText">
<string/>
</property>
<property name="placeholderText">
<string>文件路径</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="0" column="1">
<widget class="QGroupBox" name="groupBox_file_path_input_signal_SpO2">
<property name="title">
<string>同步后的SpO2路径</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_9" stretch="0,2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QLabel" name="label_7">
<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_signal_SpO2">
<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>
<widget class="QPlainTextEdit" name="plainTextEdit_file_path_input_signal_SpO2">
<property name="plainText">
<string/>
</property>
<property name="placeholderText">
<string>文件路径</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="3" column="1">
<widget class="QGroupBox" name="groupBox_file_path_input_signal_FlowP">
<property name="title">
<string>同步后的Flow P路径</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_8" stretch="0,2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QLabel" name="label_6">
<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_signal_FlowP">
<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>
<widget class="QPlainTextEdit" name="plainTextEdit_file_path_input_signal_FlowP">
<property name="plainText">
<string/>
</property>
<property name="placeholderText">
<string>文件路径</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="6" column="1">
<widget class="QGroupBox" name="groupBox_file_path_save_2">
<property name="title">
<string>新增的呼吸暂停标签保存路径</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_10">
<item>
<widget class="QPlainTextEdit" name="plainTextEdit_file_path_save_2">
<property name="placeholderText">
<string>保存路径</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="5" column="0">
<widget class="QGroupBox" name="groupBox_file_path_input_artifact">
<property name="title">
<string>体动Artifact_a路径</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_11" stretch="2">
<item>
<widget class="QPlainTextEdit" name="plainTextEdit_file_path_input_artifact">
<property name="plainText">
<string/>
</property>
<property name="placeholderText">
<string>文件路径</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="2">
<widget class="QPushButton" name="pushButton_confirm">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>确定</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -6,49 +6,50 @@
``` ```
.../Label/<sampID> .../Label/<sampID>
|-Artifact_a.txt |-Artifact_a_采样率.txt
|-Artifact_b.txt |-Artifact_b_采样率.txt
|-Artifact_c.csv |-Artifact_c_采样率.csv
|-SQ_label_10s.csv |-SQ_label_10s.csv
|-SQ_label_30s.csv |-SQ_label_30s.csv
|-Resp_quality_label.txt |-Resp_quality_label.txt
|-Tho_peak.txt |-Tho_peak_采样率.txt
|-SA Label_corrected.csv |-SA Label_corrected.csv
|-SA Label_add.csv` |-SA Label_add.csv
.../OrgBCG_Aligned/<sampID> |-Precisely_Align_info.txt
|-Align_info.yaml
|-BCG_Sync_采样率.txt
|-orgBcg_Sync_采样率.txt
|-Jpeak_Sync.txt
.../OrgBCG_Text/<sampID>
|-orgBcg_Raw_采样率.txt
|-BCG_Raw_采样率.txt
|-JPeak_revise.txt
|-JPeak_revise_corrected.txt
|-Approximately_Align_Info.csv |-Approximately_Align_Info.csv
.../OrgBCG_Aligned/<sampID>
|-BCG_Sync_采样率.txt
|-OrgBCG_Sync_采样率.txt
|-Jpeak_Sync_采样率.txt
.../OrgBCG_Text/<sampID>
|-OrgBCG_Raw_采样率.txt
|-BCG_Filter_采样率.txt
|-JPeak_revise_采样率.txt
|-JPeak_revise_corrected_采样率.txt
.../OrgBCG_Origin/<sampID> .../OrgBCG_Origin/<sampID>
|-... |-...
.../PSG_Aligned/<sampID> .../PSG_Aligned/<sampID>
|-Align_info.yaml
|-ECG_Sync_采样率.txt |-ECG_Sync_采样率.txt
|-Rpeak_Sync.txt |-Rpeak_Sync_采样率.txt
|-5_class_Sync_1.txt |-5_class_Sync_采样率.txt
|-SA Label_Sync.csv |-SA Label_Sync.csv
|-Effort Abd_Sync_采样率.txt |-Effort Abd_Sync_采样率.txt
|-Effort Tho_Sync_采样率.txt |-Effort Tho_Sync_采样率.txt
|-Flow Patient_Sync_采样率.txt |-Flow T_Sync_采样率.txt
|-Flow P_Sync_采样率.txt
|-Snore_Sync_采样率.txt |-Snore_Sync_采样率.txt
|-SpO2_Sync_采样率.txt |-SpO2_Sync_采样率.txt
.../PSG_Text/<sampID> .../PSG_Text/<sampID>
|-orgEcg II_Raw_采样率.txt |-ECG II_Raw_采样率.txt
|-ECG_Raw_采样率.txt |-ECG_Filter_采样率.txt
|-Rpeak_final.txt |-Rpeak_final_采样率.txt
|-Rpeak_final_corrected.txt |-Rpeak_final_corrected_采样率.txt
|-5_class_Raw_1.txt |-5_class_Raw_采样率.txt
|-SA Label_Raw.csv |-SA Label_Raw.csv
|-Effort Abd_Raw_采样率.txt |-Effort Abd_Raw_采样率.txt
|-Effort Tho_Raw_采样率.txt |-Effort Tho_Raw_采样率.txt
|-Flow Patient_Raw_采样率.txt |-Flow T_Raw_采样率.txt
|-Flow P_Raw_采样率.txt
|-Snore_Raw_采样率.txt |-Snore_Raw_采样率.txt
|-SpO2_Raw_采样率.txt |-SpO2_Raw_采样率.txt
|-StartTime_Raw.txt |-StartTime_Raw.txt
@ -66,13 +67,13 @@
输入: 输入:
原始orgBcg信号`./OrgBCG_Text/<sampID>/orgBcg_Raw_采样率.txt` 原始orgBcg信号`./OrgBCG_Text/<sampID>/OrgBCG_Raw_采样率.txt`
原始PSG信号`./PSG_Text/<sampID>/Axxxxxxx.edf` 原始PSG信号`./PSG_Text/<sampID>/Axxxxxxx.edf`
输出: 输出:
粗同步后的位置索引:`./OrgBCG_Text/<sampID>/Approximately_Align_Info.csv` 粗同步后的位置索引:`./Label/<sampID>/Approximately_Align_Info.csv`
### 2 预处理 ### 2 预处理
@ -80,15 +81,15 @@
输入: 输入:
原始orgBcg信号`./OrgBCG_Text/<sampID>/orgBcg_Raw_采样率.txt` 原始orgBcg信号`./OrgBCG_Text/<sampID>/OrgBCG_Raw_采样率.txt`
原始ECG信号`./PSG_Text/<sampID>/ECG II_Raw_采样率.txt` 原始ECG信号`./PSG_Text/<sampID>/ECG II_Raw_采样率.txt`
输出: 输出:
带通滤波BCG信号`./OrgBCG_Text/<sampID>/BCG_Raw_采样率.txt` 带通滤波BCG信号`./OrgBCG_Text/<sampID>/BCG_Filter_采样率.txt`
滤波后的ECG信号`./PSG_Text/<sampID>/ECG_Raw_采样率.txt` 滤波后的ECG信号`./PSG_Text/<sampID>/ECG_Filter_采样率.txt`
### 3 数据精同步 ### 3 数据精同步
@ -101,11 +102,11 @@
输入: 输入:
滤波后的ECG信号`./PSG_Text/<sampID>/ECG_Raw_采样率.txt` 滤波后的ECG信号`./PSG_Text/<sampID>/ECG_Filter_采样率.txt`
输出: 输出:
算法定位的R峰坐标`./PSG_Text/<sampID>/Rpeak_final.txt` 算法定位的R峰坐标`./PSG_Text/<sampID>/Rpeak_final_采样率.txt`
#### 3.1.2 J峰算法定位 #### 3.1.2 J峰算法定位
@ -113,11 +114,11 @@
输入: 输入:
带通滤波BCG信号`./OrgBCG_Text/<sampID>/BCG_Raw_采样率.txt` 带通滤波BCG信号`./OrgBCG_Text/<sampID>/BCG_Filter_采样率.txt`
输出: 输出:
算法定位的J峰坐标`./OrgBCG_Text/<sampID>/JPeak_revise.txt` 算法定位的J峰坐标`./OrgBCG_Text/<sampID>/JPeak_revise_采样率.txt`
#### 3.2 人工纠正 #### 3.2 人工纠正
@ -128,15 +129,15 @@
输入: 输入:
滤波后的ECG信号`./PSG_Text/<sampID>/ECG_Raw_采样率.txt` 滤波后的ECG信号`./PSG_Text/<sampID>/ECG_Filter_采样率.txt`
算法定位的R峰坐标`./PSG_Text/<sampID>/Rpeak_final.txt` 算法定位的R峰坐标`./PSG_Text/<sampID>/Rpeak_final_采样率.txt`
粗同步后的位置索引:`./OrgBCG_Text/<sampID>/Approximately_Align_Info.csv` 粗同步后的位置索引:`./Label/<sampID>/Approximately_Align_Info.csv`
输出: 输出:
人工纠正后的R峰坐标`./PSG_Text/<sampID>/Rpeak_final_corrected.txt` 人工纠正后的R峰坐标`./PSG_Text/<sampID>/Rpeak_final_corrected_采样率.txt`
#### 3.2.2 J峰人工纠正* #### 3.2.2 J峰人工纠正*
@ -144,15 +145,15 @@
输入: 输入:
带通滤波BCG信号`./OrgBCG_Text/<sampID>/BCG_Raw_采样率.txt` 带通滤波BCG信号`./OrgBCG_Text/<sampID>/BCG_Filter_采样率.txt`
算法定位的J峰坐标`./OrgBCG_Text/<sampID>/JPeak_revise.txt` 算法定位的J峰坐标`./OrgBCG_Text/<sampID>/JPeak_revise_采样率.txt`
粗同步后的位置索引:`./OrgBCG_Text/<sampID>/Approximately_Align_Info.csv` 粗同步后的位置索引:`./Label/<sampID>/Approximately_Align_Info.csv`
输出: 输出:
人工纠正后的J峰坐标`./OrgBCG_Text/<sampID>/JPeak_revise_corrected.txt` 人工纠正后的J峰坐标`./OrgBCG_Text/<sampID>/JPeak_revise_corrected_采样率.txt`
#### 3.3 数据片段起止对齐、数据采样率同步 #### 3.3 数据片段起止对齐、数据采样率同步
@ -160,33 +161,31 @@
输入: 输入:
滤波后的ECG信号`./PSG_Text/<sampID>/ECG_Raw_采样率.txt` 滤波后的ECG信号`./PSG_Text/<sampID>/ECG_Filter_采样率.txt`
人工纠正后的R峰坐标`./PSG_Text/<sampID>/Rpeak_final_corrected.txt` 人工纠正后的R峰坐标`./PSG_Text/<sampID>/Rpeak_final_corrected_采样率.txt`
带通滤波BCG信号`./OrgBCG_Text/<sampID>/BCG_Raw_采样率.txt` 带通滤波BCG信号`./OrgBCG_Text/<sampID>/BCG_Filter_采样率.txt`
人工纠正后的J峰坐标`./OrgBCG_Text/<sampID>/JPeak_revise_corrected.txt` 人工纠正后的J峰坐标`./OrgBCG_Text/<sampID>/JPeak_revise_corrected_采样率.txt`
原始orgBcg信号`./OrgBCG_Text/<sampID>/orgBcg_Raw_采样率.txt` 原始orgBcg信号`./OrgBCG_Text/<sampID>/OrgBCG_Raw_采样率.txt`
粗同步后的位置索引:`./OrgBCG_Text/<sampID>/Approximately_Align_Info.csv` 粗同步后的位置索引:`./Label/<sampID>/Approximately_Align_Info.csv`
输出: 输出:
PSG的对齐信息:`./PSG_Aligned/<sampID>/Align_info.yaml` 精同步对齐信息:`./Label/<sampID>/Precisely_Align_info.txt`
同步后的ECG信号`./PSG_Aligned/<sampID>/ECG_Sync_采样率.txt` 同步后的ECG信号`./PSG_Aligned/<sampID>/ECG_Sync_采样率.txt`
同步后的R峰坐标`./PSG_Aligned/<sampID>/Rpeak_Sync.txt` 同步后的R峰坐标`./PSG_Aligned/<sampID>/Rpeak_Sync_采样率.txt`
BCG的对齐信息`./OrgBCG_Aligned/<sampID>/Align_info.yaml`
同步后的BCG信号`./OrgBCG_Aligned/<sampID>/BCG_Sync_采样率.txt` 同步后的BCG信号`./OrgBCG_Aligned/<sampID>/BCG_Sync_采样率.txt`
同步后的orgBcg信号`./OrgBCG_Aligned/<sampID>/orgBcg_Sync_采样率.txt` 同步后的orgBcg信号`./OrgBCG_Aligned/<sampID>/OrgBCG_Sync_采样率.txt`
同步后的J峰坐标`./OrgBCG_Aligned/<sampID>/Jpeak_Sync.txt` 同步后的J峰坐标`./OrgBCG_Aligned/<sampID>/Jpeak_Sync_采样率.txt`
#### 3.4、冗余数据切割、标签映射 #### 3.4、冗余数据切割、标签映射
@ -194,21 +193,19 @@ BCG的对齐信息`./OrgBCG_Aligned/<sampID>/Align_info.yaml`
输入: 输入:
PSG的对齐信息:`./PSG_Aligned/<sampID>/Align_info.yaml` 精同步对齐信息:`./Label/<sampID>/Precisely_Align_info.txt`
BCG的对齐信息`./OrgBCG_Aligned/<sampID>/Align_info.yaml` 原始的其他PSG通道信号`./PSG_Text/<sampID>/通道名_Raw_采样率.txt`通道名包括Effort Abd, Effort Tho, Flow T, Flow P, Snore, SpO2
原始的其他PSG通道信号`./PSG_Text/<sampID>/通道名_Raw_采样率.txt`通道名包括Effort Abd, Effort Tho, Flow Patient, Snore, SpO2 原始的睡眠分期标签`./PSG_Text/<sampID>/5_class_Raw_采样率.txt`
原始的睡眠分期标签:`./PSG_Text/<sampID>/5_class_Raw_1.txt`
原始的睡眠呼吸暂停事件标签:`./PSG_Text/<sampID>/SA Label_Raw.csv` 原始的睡眠呼吸暂停事件标签:`./PSG_Text/<sampID>/SA Label_Raw.csv`
输出: 输出:
同步后的其他PSG通道信号`./PSG_Aligned/<sampID>/通道名_Sync_采样率.txt`通道名包括Effort Abd, Effort Tho, Flow Patient, Snore, SpO2 同步后的其他PSG通道信号`./PSG_Aligned/<sampID>/通道名_Sync_采样率.txt`通道名包括Effort Abd, Effort Tho, Flow T, Flow P, Snore, SpO2
同步后的睡眠分期标签:`./PSG_Aligned/<sampID>/5_class_Sync_1.txt` 同步后的睡眠分期标签:`./PSG_Aligned/<sampID>/5_class_Sync_采样率.txt`
同步后的睡眠呼吸暂停事件标签:`./PSG_Aligned/<sampID>/SA Label_Sync.csv` 同步后的睡眠呼吸暂停事件标签:`./PSG_Aligned/<sampID>/SA Label_Sync.csv`
@ -220,15 +217,15 @@ BCG的对齐信息`./OrgBCG_Aligned/<sampID>/Align_info.yaml`
同步后的BCG信号`./OrgBCG_Aligned/<sampID>/BCG_Sync_采样率.txt` 同步后的BCG信号`./OrgBCG_Aligned/<sampID>/BCG_Sync_采样率.txt`
同步后的orgBcg信号`./OrgBCG_Aligned/<sampID>/orgBcg_Sync_采样率.txt` 同步后的orgBcg信号`./OrgBCG_Aligned/<sampID>/OrgBCG_Sync_采样率.txt`
输出: 输出:
txt格式的体动标签`./Label/<sampID>/Artifact_a.txt` txt格式的体动标签`./Label/<sampID>/Artifact_a_采样率.txt`
体动标签类型数量统计:`./Label/<sampID>/Artifact_b.txt` 体动标签类型数量统计:`./Label/<sampID>/Artifact_b_采样率.txt`
csv格式的体动标签`./Label/<sampID>/Artifact_c.csv` csv格式的体动标签`./Label/<sampID>/Artifact_c_采样率.csv`
### 5 质量评估 ### 5 质量评估
@ -238,7 +235,7 @@ csv格式的体动标签`./Label/<sampID>/Artifact_c.csv`
同步后的BCG信号`./OrgBCG_Aligned/<sampID>/BCG_Sync_采样率.txt` 同步后的BCG信号`./OrgBCG_Aligned/<sampID>/BCG_Sync_采样率.txt`
txt格式的体动标签`./Label/<sampID>/Artifact_a.txt` txt格式的体动标签`./Label/<sampID>/Artifact_a_采样率.txt`
输出: 输出:
@ -266,13 +263,13 @@ txt格式的体动标签`./Label/<sampID>/Artifact_a.txt`
同步后的THO信号`./PSG_Aligned/<sampID>/Effort Tho_Sync_采样率.txt` 同步后的THO信号`./PSG_Aligned/<sampID>/Effort Tho_Sync_采样率.txt`
txt格式的体动标签`./Label/<sampID>/Artifact_a.txt` txt格式的体动标签`./Label/<sampID>/Artifact_a_采样率.txt`
输出: 输出:
呼吸可用性标签:`./Label/<sampID>/Resp_quality_label.txt` 呼吸可用性标签:`./Label/<sampID>/Resp_quality_label.txt`
THO信号呼吸间期标签`./Label/<sampID>/Tho_peak.txt` THO信号呼吸间期标签`./Label/<sampID>/Tho_peak_采样率.txt`
### 8 呼吸暂停事件标注 ### 8 呼吸暂停事件标注
@ -280,13 +277,13 @@ THO信号呼吸间期标签`./Label/<sampID>/Tho_peak.txt`
输入: 输入:
同步后的orgBcg信号`./OrgBCG_Aligned/<sampID>/orgBcg_Sync_采样率.txt` 同步后的orgBcg信号`./OrgBCG_Aligned/<sampID>/OrgBCG_Sync_采样率.txt`
txt格式的体动标签`./Label/<sampID>/Artifact_a.txt` txt格式的体动标签`./Label/<sampID>/Artifact_a_采样率.txt`
同步后的FlowT信号`./PSG_Aligned/<sampID>/Effort Tho_Sync_采样率.txt` 同步后的Flow T信号`./PSG_Aligned/<sampID>/Flow T_Sync_采样率.txt`
同步后的FlowP信号`./PSG_Aligned/<sampID>/Effort Tho_Sync_采样率.txt` 同步后的Flow P信号`./PSG_Aligned/<sampID>/Flow P_Sync_采样率.txt`
同步后的THO信号`./PSG_Aligned/<sampID>/Effort Tho_Sync_采样率.txt` 同步后的THO信号`./PSG_Aligned/<sampID>/Effort Tho_Sync_采样率.txt`