diff --git a/Main_Quality_Relabel.py b/Main_Quality_Relabel.py
index 2ca6c30..6017c93 100644
--- a/Main_Quality_Relabel.py
+++ b/Main_Quality_Relabel.py
@@ -7,6 +7,7 @@
@email:2021022362@m.scnu.edu.cn
@time:2022/03/28
"""
+from pathlib import Path
from utils.Quality_Relabel import Quality_Relabel
# start-----一般不用修改------
@@ -14,6 +15,11 @@ from utils.Quality_Relabel import Quality_Relabel
frequency = 100
# 心晓数据采样率
bcg_frequency = 1000
+PSG_Data_Path = Path("Data/PSG/")
+PSG_Label_Path = Path("Data/PSG_label/")
+BCG_Data_Path = Path("Data/BCG/")
+BCG_Label_Path = Path("Data/BCG_label/")
+all_path = [PSG_Data_Path, PSG_Label_Path, BCG_Data_Path, BCG_Label_Path]
# end-----一般不用修改------
# 要遍历的事件
@@ -32,7 +38,7 @@ start_bcg_index = 0
shifting = 0
if __name__ == '__main__':
- qualityRelabel = Quality_Relabel(sampNo=sampNo, frequency=frequency, bcg_frequency=bcg_frequency,
+ qualityRelabel = Quality_Relabel(all_path=all_path, sampNo=sampNo, frequency=frequency, bcg_frequency=bcg_frequency,
focus_event_list=focus_event_list)
qualityRelabel.show_all_event(start_bcg_index=start_bcg_index,
diff --git a/README.md b/README.md
index bf6b875..a167534 100644
--- a/README.md
+++ b/README.md
@@ -24,11 +24,32 @@ Quality_Relabel 主目录
+## 上色规则
+
+| 事件代码 | 事件 | 颜色 |
+| :------: | :------------: | :--: |
+| 0 | 背景 | 蓝色 |
+| 1 | 低通气 | 粉色 |
+| 2 | 中枢性呼吸暂停 | 橙色 |
+| 3 | 阻塞型呼吸暂停 | 红色 |
+| 4 | 混合型呼吸暂停 | 灰色 |
+| 5 | 血氧饱和度下降 | 绿色 |
+
+
+
## 注意事项
-
+
+
+
+
+## 偏移量计算
+
+当心晓有一段事件不可用时,需要手动填入偏移量
+
+
## 程序流程框图
diff --git a/graph/calc.png b/graph/calc.png
new file mode 100644
index 0000000..fa7fa0d
Binary files /dev/null and b/graph/calc.png differ
diff --git a/utils/Quality_Relabel.py b/utils/Quality_Relabel.py
index f70b80b..06b4be5 100644
--- a/utils/Quality_Relabel.py
+++ b/utils/Quality_Relabel.py
@@ -66,7 +66,7 @@ class Quality_Relabel:
color_cycle = ["blue", "pink", "orange", "red", "grey", "green"]
assert len(color_cycle) == len(base_event) + 1, "¼ɫһ"
- def __init__(self, sampNo: int, frequency: int = 100, bcg_frequency: int = 1000,
+ def __init__(self, all_path: List, sampNo: int, frequency: int = 100, bcg_frequency: int = 1000,
channel_list: List[str] = ['Effort Tho', 'Effort Abd', 'SpO2', 'Flow Patient', 'Flow Patient'],
focus_event_list: List[str] = ["Obstructive apnea"]):
"""
@@ -77,6 +77,7 @@ class Quality_Relabel:
:param channel_list: ʾͨ
:param focus_event_list: עͣ¼
"""
+ self.PSG_Data_Path, self.PSG_Label_Path, self.BCG_Data_Path, self.BCG_Label_Path = all_path
self.sampNo = sampNo
self.channel_list = channel_list
self.focus_event_list = focus_event_list
@@ -112,8 +113,8 @@ class Quality_Relabel:
print(f"ͨ{self.channel_list}")
def read_data(self, frequency: int = 100, bcg_frequency: int = 1000):
- bcg_path = Path(f"Data/BCG/{self.sampNo}samp.npy")
- ecg_path = Path(f"Data/ECG/A{str(self.sampNo).rjust(7, '0')}.edf")
+ bcg_path = self.BCG_Data_Path / f"{self.sampNo}samp.npy"
+ ecg_path = self.PSG_Data_Path / f"A{str(self.sampNo).rjust(7, '0')}.edf"
if not bcg_path.exists():
logging.error(f"{bcg_path} ڣ")
@@ -178,8 +179,8 @@ class Quality_Relabel:
self.signal_select['xin_xiao_respire'] = signal2
def read_event(self):
- bcg_label_path = Path(f"Data/BCG_label/{self.sampNo}_label_all.csv")
- ecg_label_path = Path(f"Data/ECG_label/export{self.sampNo}.csv")
+ bcg_label_path = self.BCG_Label_Path / f"{self.sampNo}_label_all.csv"
+ ecg_label_path = self.PSG_Label_Path / f"export{self.sampNo}.csv"
if not bcg_label_path.exists():
logging.error(f"{bcg_label_path} ڣ")
@@ -391,5 +392,10 @@ class Quality_Relabel:
if __name__ == '__main__':
- prepareData = Quality_Relabel(670)
+ PSG_Data_Path = "../Data/PSG/"
+ PSG_Label_Path = "../Data/PSG_label/"
+ BCG_Data_Path = "../Data/BCG/"
+ BCG_Label_Path = "../Data/BCG_label/"
+ all_path = [PSG_Data_Path, PSG_Label_Path, BCG_Data_Path, BCG_Label_Path]
+ prepareData = Quality_Relabel(all_path, 670)
prepareData.show_all_event()