1、完善命名规范
This commit is contained in:
@ -50,7 +50,7 @@ class ConfigParams:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
PREPROCESS_INPUT_BCG_FILENAME: str = "orgBcg_Raw_"
|
PREPROCESS_INPUT_BCG_FILENAME: str = "orgBcg_Raw_"
|
||||||
PREPROCESS_INPUT_ECG_FILENAME: str = "ECG I_Raw_"
|
PREPROCESS_INPUT_ECG_FILENAME: str = "ECG II_Raw_"
|
||||||
PREPROCESS_SAVE_BCG_FILENAME: str = "BCG_Raw_"
|
PREPROCESS_SAVE_BCG_FILENAME: str = "BCG_Raw_"
|
||||||
PREPROCESS_SAVE_ECG_FILENAME: str = "ECG_Raw_"
|
PREPROCESS_SAVE_ECG_FILENAME: str = "ECG_Raw_"
|
||||||
PREPROCESS_SAVE_CHUNK_SIZE: int = 1000000
|
PREPROCESS_SAVE_CHUNK_SIZE: int = 1000000
|
||||||
@ -151,6 +151,12 @@ class ConfigParams:
|
|||||||
PRECISELY_ALIGN_SAVE_CHUNK_SIZE: int = 1000000
|
PRECISELY_ALIGN_SAVE_CHUNK_SIZE: int = 1000000
|
||||||
PRECISELY_ALIGN_SAVE_PEAK_CHUNK_SIZE: int = 100
|
PRECISELY_ALIGN_SAVE_PEAK_CHUNK_SIZE: int = 100
|
||||||
|
|
||||||
|
# 冗余数据切割和标签映射
|
||||||
|
|
||||||
|
CUT_PSG_CHANNEL_LIST: list = ["Effort Abd_Raw_", "Effort Tho_Raw_", "Flow Patient_Raw_", "Snore_Raw_", "SpO2_Raw_"]
|
||||||
|
CUT_PST_LABEL_LIST: list = ["5_class_Raw_", "SA Label_Raw"]
|
||||||
|
CUT_PST_STARTTIME: list = ["StartTime_Raw"]
|
||||||
|
|
||||||
# 体动标注
|
# 体动标注
|
||||||
|
|
||||||
# TODO:弃用
|
# TODO:弃用
|
||||||
|
|||||||
188
ui/MainWindow/MainWindow_cut_PSG.py
Normal file
188
ui/MainWindow/MainWindow_cut_PSG.py
Normal file
@ -0,0 +1,188 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
## Form generated from reading UI file 'MainWindow_cut_PSG.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 (QAction, 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, QProgressBar,
|
||||||
|
QPushButton, QSizePolicy, QSpacerItem, QStatusBar,
|
||||||
|
QTextBrowser, QVBoxLayout, QWidget)
|
||||||
|
|
||||||
|
class Ui_MainWindow_cut_PSG(object):
|
||||||
|
def setupUi(self, MainWindow_cut_PSG):
|
||||||
|
if not MainWindow_cut_PSG.objectName():
|
||||||
|
MainWindow_cut_PSG.setObjectName(u"MainWindow_cut_PSG")
|
||||||
|
MainWindow_cut_PSG.setEnabled(True)
|
||||||
|
MainWindow_cut_PSG.resize(540, 720)
|
||||||
|
sizePolicy = QSizePolicy(QSizePolicy.Policy.Ignored, QSizePolicy.Policy.Preferred)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(MainWindow_cut_PSG.sizePolicy().hasHeightForWidth())
|
||||||
|
MainWindow_cut_PSG.setSizePolicy(sizePolicy)
|
||||||
|
font = QFont()
|
||||||
|
font.setPointSize(12)
|
||||||
|
MainWindow_cut_PSG.setFont(font)
|
||||||
|
self.action_selectPath = QAction(MainWindow_cut_PSG)
|
||||||
|
self.action_selectPath.setObjectName(u"action_selectPath")
|
||||||
|
font1 = QFont()
|
||||||
|
font1.setFamilies([u"\u9ed1\u4f53"])
|
||||||
|
font1.setPointSize(14)
|
||||||
|
self.action_selectPath.setFont(font1)
|
||||||
|
self.action = QAction(MainWindow_cut_PSG)
|
||||||
|
self.action.setObjectName(u"action")
|
||||||
|
self.action.setFont(font1)
|
||||||
|
self.centralwidget = QWidget(MainWindow_cut_PSG)
|
||||||
|
self.centralwidget.setObjectName(u"centralwidget")
|
||||||
|
self.gridLayout = QGridLayout(self.centralwidget)
|
||||||
|
self.gridLayout.setObjectName(u"gridLayout")
|
||||||
|
self.groupBox_3 = QGroupBox(self.centralwidget)
|
||||||
|
self.groupBox_3.setObjectName(u"groupBox_3")
|
||||||
|
font2 = QFont()
|
||||||
|
font2.setPointSize(10)
|
||||||
|
self.groupBox_3.setFont(font2)
|
||||||
|
self.gridLayout_2 = QGridLayout(self.groupBox_3)
|
||||||
|
self.gridLayout_2.setObjectName(u"gridLayout_2")
|
||||||
|
self.groupBox = QGroupBox(self.groupBox_3)
|
||||||
|
self.groupBox.setObjectName(u"groupBox")
|
||||||
|
self.verticalLayout_6 = QVBoxLayout(self.groupBox)
|
||||||
|
self.verticalLayout_6.setObjectName(u"verticalLayout_6")
|
||||||
|
self.textBrowser_info = QTextBrowser(self.groupBox)
|
||||||
|
self.textBrowser_info.setObjectName(u"textBrowser_info")
|
||||||
|
|
||||||
|
self.verticalLayout_6.addWidget(self.textBrowser_info)
|
||||||
|
|
||||||
|
|
||||||
|
self.gridLayout_2.addWidget(self.groupBox, 1, 0, 1, 1)
|
||||||
|
|
||||||
|
self.groupBox_2 = QGroupBox(self.groupBox_3)
|
||||||
|
self.groupBox_2.setObjectName(u"groupBox_2")
|
||||||
|
self.verticalLayout_5 = QVBoxLayout(self.groupBox_2)
|
||||||
|
self.verticalLayout_5.setObjectName(u"verticalLayout_5")
|
||||||
|
self.horizontalLayout = QHBoxLayout()
|
||||||
|
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
||||||
|
self.label_2 = QLabel(self.groupBox_2)
|
||||||
|
self.label_2.setObjectName(u"label_2")
|
||||||
|
self.label_2.setFont(font)
|
||||||
|
self.label_2.setAlignment(Qt.AlignmentFlag.AlignLeading|Qt.AlignmentFlag.AlignLeft|Qt.AlignmentFlag.AlignVCenter)
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.label_2)
|
||||||
|
|
||||||
|
self.plainTextEdit_channel = QPlainTextEdit(self.groupBox_2)
|
||||||
|
self.plainTextEdit_channel.setObjectName(u"plainTextEdit_channel")
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.plainTextEdit_channel)
|
||||||
|
|
||||||
|
self.horizontalLayout.setStretch(0, 1)
|
||||||
|
self.horizontalLayout.setStretch(1, 1)
|
||||||
|
|
||||||
|
self.verticalLayout_5.addLayout(self.horizontalLayout)
|
||||||
|
|
||||||
|
self.horizontalLayout_6 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_6.setObjectName(u"horizontalLayout_6")
|
||||||
|
self.label_6 = QLabel(self.groupBox_2)
|
||||||
|
self.label_6.setObjectName(u"label_6")
|
||||||
|
self.label_6.setFont(font)
|
||||||
|
|
||||||
|
self.horizontalLayout_6.addWidget(self.label_6)
|
||||||
|
|
||||||
|
self.plainTextEdit_label = QPlainTextEdit(self.groupBox_2)
|
||||||
|
self.plainTextEdit_label.setObjectName(u"plainTextEdit_label")
|
||||||
|
|
||||||
|
self.horizontalLayout_6.addWidget(self.plainTextEdit_label)
|
||||||
|
|
||||||
|
self.horizontalLayout_6.setStretch(0, 1)
|
||||||
|
self.horizontalLayout_6.setStretch(1, 1)
|
||||||
|
|
||||||
|
self.verticalLayout_5.addLayout(self.horizontalLayout_6)
|
||||||
|
|
||||||
|
self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
|
||||||
|
|
||||||
|
self.verticalLayout_5.addItem(self.verticalSpacer)
|
||||||
|
|
||||||
|
self.horizontalLayout_2 = QHBoxLayout()
|
||||||
|
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
|
||||||
|
self.label_show = QLabel(self.groupBox_2)
|
||||||
|
self.label_show.setObjectName(u"label_show")
|
||||||
|
self.label_show.setFont(font)
|
||||||
|
self.label_show.setAlignment(Qt.AlignmentFlag.AlignLeading|Qt.AlignmentFlag.AlignLeft|Qt.AlignmentFlag.AlignVCenter)
|
||||||
|
|
||||||
|
self.horizontalLayout_2.addWidget(self.label_show)
|
||||||
|
|
||||||
|
|
||||||
|
self.verticalLayout_5.addLayout(self.horizontalLayout_2)
|
||||||
|
|
||||||
|
self.progressBar = QProgressBar(self.groupBox_2)
|
||||||
|
self.progressBar.setObjectName(u"progressBar")
|
||||||
|
sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Preferred)
|
||||||
|
sizePolicy1.setHorizontalStretch(0)
|
||||||
|
sizePolicy1.setVerticalStretch(0)
|
||||||
|
sizePolicy1.setHeightForWidth(self.progressBar.sizePolicy().hasHeightForWidth())
|
||||||
|
self.progressBar.setSizePolicy(sizePolicy1)
|
||||||
|
self.progressBar.setStyleSheet(u"")
|
||||||
|
self.progressBar.setValue(0)
|
||||||
|
|
||||||
|
self.verticalLayout_5.addWidget(self.progressBar)
|
||||||
|
|
||||||
|
self.verticalLayout_5.setStretch(0, 2)
|
||||||
|
self.verticalLayout_5.setStretch(1, 2)
|
||||||
|
self.verticalLayout_5.setStretch(2, 2)
|
||||||
|
self.verticalLayout_5.setStretch(3, 1)
|
||||||
|
self.verticalLayout_5.setStretch(4, 1)
|
||||||
|
|
||||||
|
self.gridLayout_2.addWidget(self.groupBox_2, 0, 0, 1, 2)
|
||||||
|
|
||||||
|
self.pushButton_execute = QPushButton(self.groupBox_3)
|
||||||
|
self.pushButton_execute.setObjectName(u"pushButton_execute")
|
||||||
|
sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Preferred)
|
||||||
|
sizePolicy2.setHorizontalStretch(0)
|
||||||
|
sizePolicy2.setVerticalStretch(0)
|
||||||
|
sizePolicy2.setHeightForWidth(self.pushButton_execute.sizePolicy().hasHeightForWidth())
|
||||||
|
self.pushButton_execute.setSizePolicy(sizePolicy2)
|
||||||
|
self.pushButton_execute.setFont(font)
|
||||||
|
|
||||||
|
self.gridLayout_2.addWidget(self.pushButton_execute, 1, 1, 1, 1)
|
||||||
|
|
||||||
|
self.gridLayout_2.setRowStretch(0, 7)
|
||||||
|
self.gridLayout_2.setRowStretch(1, 3)
|
||||||
|
self.gridLayout_2.setColumnStretch(0, 4)
|
||||||
|
self.gridLayout_2.setColumnStretch(1, 1)
|
||||||
|
|
||||||
|
self.gridLayout.addWidget(self.groupBox_3, 0, 0, 1, 1)
|
||||||
|
|
||||||
|
self.gridLayout.setColumnStretch(0, 2)
|
||||||
|
MainWindow_cut_PSG.setCentralWidget(self.centralwidget)
|
||||||
|
self.statusbar = QStatusBar(MainWindow_cut_PSG)
|
||||||
|
self.statusbar.setObjectName(u"statusbar")
|
||||||
|
MainWindow_cut_PSG.setStatusBar(self.statusbar)
|
||||||
|
|
||||||
|
self.retranslateUi(MainWindow_cut_PSG)
|
||||||
|
|
||||||
|
QMetaObject.connectSlotsByName(MainWindow_cut_PSG)
|
||||||
|
# setupUi
|
||||||
|
|
||||||
|
def retranslateUi(self, MainWindow_cut_PSG):
|
||||||
|
MainWindow_cut_PSG.setWindowTitle(QCoreApplication.translate("MainWindow_cut_PSG", u"BCG\u7684J\u5cf0\u7b97\u6cd5\u5b9a\u4f4d", None))
|
||||||
|
self.action_selectPath.setText(QCoreApplication.translate("MainWindow_cut_PSG", u"\u6570\u636e\u8def\u5f84\u9009\u62e9", None))
|
||||||
|
self.action.setText(QCoreApplication.translate("MainWindow_cut_PSG", u"\u52a0\u8f7d\u5b58\u6863", None))
|
||||||
|
self.groupBox_3.setTitle(QCoreApplication.translate("MainWindow_cut_PSG", u"\u5197\u4f59\u6570\u636e\u5207\u5272\u548c\u6807\u7b7e\u6620\u5c04", None))
|
||||||
|
self.groupBox.setTitle(QCoreApplication.translate("MainWindow_cut_PSG", u"\u65e5\u5fd7", None))
|
||||||
|
self.groupBox_2.setTitle(QCoreApplication.translate("MainWindow_cut_PSG", u"\u786e\u5b9a\u6570\u636e", None))
|
||||||
|
self.label_2.setText(QCoreApplication.translate("MainWindow_cut_PSG", u"\u9700\u8981\u5207\u5272\u7684\u901a\u9053\u540d\uff1a", None))
|
||||||
|
self.label_6.setText(QCoreApplication.translate("MainWindow_cut_PSG", u"\u9700\u8981\u6620\u5c04\u7684\u6807\u7b7e\uff1a", None))
|
||||||
|
self.label_show.setText(QCoreApplication.translate("MainWindow_cut_PSG", u"\u70b9\u51fb\u6267\u884c\u4ee5\u5f00\u59cb...", None))
|
||||||
|
self.pushButton_execute.setText(QCoreApplication.translate("MainWindow_cut_PSG", u"\u6267\u884c", None))
|
||||||
|
# retranslateUi
|
||||||
|
|
||||||
202
ui/MainWindow/MainWindow_cut_PSG.ui
Normal file
202
ui/MainWindow/MainWindow_cut_PSG.ui
Normal file
@ -0,0 +1,202 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>MainWindow_cut_PSG</class>
|
||||||
|
<widget class="QMainWindow" name="MainWindow_cut_PSG">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>540</width>
|
||||||
|
<height>720</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Ignored" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>BCG的J峰算法定位</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="centralwidget">
|
||||||
|
<layout class="QGridLayout" name="gridLayout" columnstretch="2">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QGroupBox" name="groupBox_3">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="title">
|
||||||
|
<string>冗余数据切割和标签映射</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_2" rowstretch="7,3" columnstretch="4,1">
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QGroupBox" name="groupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>日志</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||||
|
<item>
|
||||||
|
<widget class="QTextBrowser" name="textBrowser_info"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0" colspan="2">
|
||||||
|
<widget class="QGroupBox" name="groupBox_2">
|
||||||
|
<property name="title">
|
||||||
|
<string>确定数据</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_5" stretch="2,2,2,1,1">
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout" stretch="1,1">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>需要切割的通道名:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPlainTextEdit" name="plainTextEdit_channel"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_6" stretch="1,1">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_6">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>需要映射的标签:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPlainTextEdit" name="plainTextEdit_label"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Orientation::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_show">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>点击执行以开始...</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QProgressBar" name="progressBar">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QPushButton" name="pushButton_execute">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>执行</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<widget class="QStatusBar" name="statusbar"/>
|
||||||
|
<action name="action_selectPath">
|
||||||
|
<property name="text">
|
||||||
|
<string>数据路径选择</string>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>黑体</family>
|
||||||
|
<pointsize>14</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="action">
|
||||||
|
<property name="text">
|
||||||
|
<string>加载存档</string>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>黑体</family>
|
||||||
|
<pointsize>14</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
||||||
@ -1,5 +1,62 @@
|
|||||||
# 文件命名规范
|
# 文件命名规范
|
||||||
|
|
||||||
|
### 当一份数据被完整走完标注流程后,数据文件夹目录结构将会是:
|
||||||
|
|
||||||
|
```
|
||||||
|
.../Label/<sampID>
|
||||||
|
|-Artifact_a.txt
|
||||||
|
|-Artifact_b.txt
|
||||||
|
|-Artifact_c.csv
|
||||||
|
|-SQ_label_10s.csv
|
||||||
|
|-SQ_label_30s.csv
|
||||||
|
|-Resp_quality_label.txt
|
||||||
|
|-Tho_peak.txt
|
||||||
|
|-SA Label_corrected.csv
|
||||||
|
|-SA Label_add.csv`
|
||||||
|
.../OrgBCG_Aligned/<sampID>
|
||||||
|
|-Align_info.txt
|
||||||
|
|-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
|
||||||
|
.../OrgBCG_Origin/<sampID>
|
||||||
|
|-...
|
||||||
|
.../PSG_Aligned/<sampID>
|
||||||
|
|-Align_info.txt
|
||||||
|
|-ECG_Sync_采样率.txt
|
||||||
|
|-Rpeak_Sync.txt
|
||||||
|
|-5_class_Sync_1.txt
|
||||||
|
|-SA Label_Sync.csv
|
||||||
|
|-Effort Abd_Sync_采样率.txt
|
||||||
|
|-Effort Tho_Sync_采样率.txt
|
||||||
|
|-Flow Patient_Sync_采样率.txt
|
||||||
|
|-Snore_Sync_采样率.txt
|
||||||
|
|-SpO2_Sync_采样率.txt
|
||||||
|
.../PSG_Text/<sampID>
|
||||||
|
|-Axxxxxxx.edf
|
||||||
|
|-ECG II_Raw_采样率.txt
|
||||||
|
|-ECG_Raw_采样率.txt
|
||||||
|
|-Rpeak_final.txt
|
||||||
|
|-Rpeak_final_corrected.txt
|
||||||
|
|-5_class_Raw_1.txt
|
||||||
|
|-SA Label_Raw.csv
|
||||||
|
|-Effort Abd_Raw_采样率.txt
|
||||||
|
|-Effort Tho_Raw_采样率.txt
|
||||||
|
|-Flow Patient_Raw_采样率.txt
|
||||||
|
|-Snore_Raw_采样率.txt
|
||||||
|
|-SpO2_Raw_采样率.txt
|
||||||
|
.../PSG_Origin/<sampID>
|
||||||
|
|-...
|
||||||
|
.../Receive_Origin
|
||||||
|
|-...
|
||||||
|
.../Report
|
||||||
|
|-...
|
||||||
|
```
|
||||||
|
|
||||||
### 1 数据粗同步
|
### 1 数据粗同步
|
||||||
|
|
||||||
输入:
|
输入:
|
||||||
@ -16,7 +73,7 @@
|
|||||||
输入:
|
输入:
|
||||||
|
|
||||||
原始orgBcg信号:`./OrgBCG_Text/<sampID>/orgBcg_Raw_采样率.txt`
|
原始orgBcg信号:`./OrgBCG_Text/<sampID>/orgBcg_Raw_采样率.txt`
|
||||||
原始ECG信号:`./PSG_Text/<sampID>/ECG I_Raw_采样率.txt`
|
原始ECG信号:`./PSG_Text/<sampID>/ECG II_Raw_采样率.txt`
|
||||||
|
|
||||||
输出:
|
输出:
|
||||||
|
|
||||||
@ -25,22 +82,6 @@
|
|||||||
|
|
||||||
### 3 数据精同步
|
### 3 数据精同步
|
||||||
|
|
||||||
输入:
|
|
||||||
|
|
||||||
带通滤波BCG信号:`./OrgBCG_Text/<sampID>/BCG_Raw_采样率.txt`
|
|
||||||
滤波后的ECG信号:`./PSG_Text/<sampID>/ECG_Raw_采样率.txt`
|
|
||||||
|
|
||||||
输出:
|
|
||||||
|
|
||||||
PSG的对齐信息:`./PSG_Aligned/<sampID>/Align_info.txt`
|
|
||||||
同步后的ECG信号:`./PSG_Aligned/<sampID>/ECG_Sync_采样率.txt`
|
|
||||||
同步后的R峰坐标:`./PSG_Aligned/<sampID>/Rpeaks_Sync.txt`
|
|
||||||
同步后的其他PSG通道信号:`./PSG_Aligned/<sampID>/通道名_Sync_采样率.txt`
|
|
||||||
BCG的对齐信息:`./OrgBCG_Aligned/<sampID>/Align_info.txt`
|
|
||||||
同步后的BCG信号:`./OrgBCG_Aligned/<sampID>/BCG_Sync_采样率.txt`
|
|
||||||
同步后的orgBcg信号:`./OrgBCG_Aligned/<sampID>/orgBcg_Sync_采样率.txt`
|
|
||||||
同步后的J峰坐标:`./OrgBCG_Aligned/<sampID>/Jpeaks_Sync.txt`
|
|
||||||
|
|
||||||
#### 3.1 算法定位
|
#### 3.1 算法定位
|
||||||
|
|
||||||
#### 3.1.1 R峰算法定位
|
#### 3.1.1 R峰算法定位
|
||||||
@ -95,6 +136,7 @@ BCG的对齐信息:`./OrgBCG_Aligned/<sampID>/Align_info.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_Raw_采样率.txt`
|
||||||
人工纠正后的J峰坐标:`./OrgBCG_Text/<sampID>/JPeak_revise_corrected.txt`
|
人工纠正后的J峰坐标:`./OrgBCG_Text/<sampID>/JPeak_revise_corrected.txt`
|
||||||
|
原始orgBcg信号:`./OrgBCG_Text/<sampID>/orgBcg_Raw_采样率.txt`
|
||||||
|
|
||||||
输出:
|
输出:
|
||||||
|
|
||||||
@ -112,10 +154,15 @@ BCG的对齐信息:`./OrgBCG_Aligned/<sampID>/Align_info.txt`
|
|||||||
|
|
||||||
PSG的对齐信息:`./PSG_Aligned/<sampID>/Align_info.txt`
|
PSG的对齐信息:`./PSG_Aligned/<sampID>/Align_info.txt`
|
||||||
BCG的对齐信息:`./OrgBCG_Aligned/<sampID>/Align_info.txt`
|
BCG的对齐信息:`./OrgBCG_Aligned/<sampID>/Align_info.txt`
|
||||||
|
原始的其他PSG通道信号:`./PSG_Text/<sampID>/通道名_Raw_采样率.txt`(通道名包括:Effort Abd, Effort Tho, Flow Patient, Snore, SpO2)
|
||||||
|
原始的睡眠分期标签:`./PSG_Text/<sampID>/5_class_Raw_1.txt`
|
||||||
|
原始的睡眠呼吸暂停事件标签:`./PSG_Text/<sampID>/SA Label_Raw.csv`
|
||||||
|
|
||||||
输出:
|
输出:
|
||||||
|
|
||||||
同步后的其他PSG通道信号:`./PSG_Aligned/<sampID>/通道名_Sync_采样率.txt`
|
同步后的其他PSG通道信号:`./PSG_Aligned/<sampID>/通道名_Sync_采样率.txt`(通道名包括:Effort Abd, Effort Tho, Flow Patient, Snore, SpO2)
|
||||||
|
同步后的睡眠分期标签:`./PSG_Aligned/<sampID>/5_class_Sync_1.txt`
|
||||||
|
同步后的睡眠呼吸暂停事件标签:`./PSG_Aligned/<sampID>/SA Label_Sync.csv`
|
||||||
|
|
||||||
### 4 体动标记
|
### 4 体动标记
|
||||||
|
|
||||||
@ -145,12 +192,7 @@ txt格式的体动标签:`./Label/<sampID>/Artifact_a.txt`
|
|||||||
|
|
||||||
输入:
|
输入:
|
||||||
|
|
||||||
同步后的ECG信号:`./PSG_Aligned/<sampID>/ECG_Sync_采样率.txt`
|
?
|
||||||
同步后的BCG信号:`./OrgBCG_Aligned/<sampID>/BCG_Sync_采样率.txt`
|
|
||||||
同步后的R峰坐标:`./PSG_Aligned/<sampID>/Rpeak_Sync.txt`
|
|
||||||
同步后的J峰坐标:`./OrgBCG_Aligned/<sampID>/Jpeak_Sync.txt`
|
|
||||||
txt格式的体动标签:`./Label/<sampID>/Artifact_a.txt`
|
|
||||||
质量标签:`./Label/<sampID>/SQ_label_10s.csv`或`./Label/<sampID>/SQ_label_30s.csv`
|
|
||||||
|
|
||||||
输出:
|
输出:
|
||||||
|
|
||||||
@ -161,7 +203,7 @@ txt格式的体动标签:`./Label/<sampID>/Artifact_a.txt`
|
|||||||
输入:
|
输入:
|
||||||
|
|
||||||
同步后的orgBcg信号:`./OrgBCG_Aligned/<sampID>/orgBcg_Sync_采样率.txt`
|
同步后的orgBcg信号:`./OrgBCG_Aligned/<sampID>/orgBcg_Sync_采样率.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`
|
||||||
|
|
||||||
输出:
|
输出:
|
||||||
@ -175,13 +217,14 @@ 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`
|
同步后的FlowT信号:`./PSG_Aligned/<sampID>/Effort Tho_Sync_采样率.txt`
|
||||||
同步后的FlowP信号:`./PSG_Aligned/<sampID>/Effort_Tho_Sync_采样率.txt`
|
同步后的FlowP信号:`./PSG_Aligned/<sampID>/Effort Tho_Sync_采样率.txt`
|
||||||
同步后的THO信号:`./PSG_Aligned/<sampID>/Effort_Tho_Sync_采样率.txt`
|
同步后的THO信号:`./PSG_Aligned/<sampID>/Effort Tho_Sync_采样率.txt`
|
||||||
同步后的ABD信号:`./PSG_Aligned/<sampID>/Effort_Abd_Sync_采样率.txt`
|
同步后的ABD信号:`./PSG_Aligned/<sampID>/Effort Abd_Sync_采样率.txt`
|
||||||
同步后的SpO2信号:`./PSG_Aligned/<sampID>/SpO2_Sync_采样率.txt`
|
同步后的SpO2信号:`./PSG_Aligned/<sampID>/SpO2_Sync_采样率.txt`
|
||||||
原始呼吸暂停标签:`./PSG_`?
|
同步后的呼吸暂停标签:`./PSG_Aligned/<sampID>/SA Label_Sync.csv`
|
||||||
|
|
||||||
输出:
|
输出:
|
||||||
|
|
||||||
?
|
修正后的呼吸暂停标签:`./Label/<sampID>/SA Label_corrected.csv`
|
||||||
|
新增的呼吸暂停标签:`./Label/<sampID>/SA Label_add.csv`
|
||||||
Reference in New Issue
Block a user