# 文件命名规范

### 当一份数据被完整走完标注流程后，数据文件夹目录结构将会是：

    .../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
        |-Precisely_Align_Info.txt
        |-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>
        |-...
    .../PSG_Aligned/<sampID>
        |-ECG_Sync_采样率.txt
        |-Rpeak_Sync_采样率.txt
        |-5_class_Sync_采样率.txt
        |-SA Label_Sync.csv
        |-Effort Abd_Sync_采样率.txt
        |-Effort Tho_Sync_采样率.txt
        |-Flow T_Sync_采样率.txt
        |-Flow P_Sync_采样率.txt
        |-Snore_Sync_采样率.txt
        |-SpO2_Sync_采样率.txt
    .../PSG_Text/<sampID>
        |-ECG II_Raw_采样率.txt
        |-ECG_Filter_采样率.txt
        |-Rpeak_final_采样率.txt
        |-Rpeak_final_corrected_采样率.txt
        |-5_class_Raw_采样率.txt
        |-SA Label_Raw.csv
        |-Effort Abd_Raw_采样率.txt
        |-Effort Tho_Raw_采样率.txt
        |-Flow T_Raw_采样率.txt
        |-Flow P_Raw_采样率.txt
        |-Snore_Raw_采样率.txt
        |-SpO2_Raw_采样率.txt
        |-StartTime_Raw.txt
    .../PSG_Origin/<sampID>
        |-...
    .../Receive_Origin
        |-...
    .../Report
        |-...

### 1 数据粗同步

输入：

原始OrgBCG信号：`./OrgBCG_Text/<sampID>/OrgBCG_Raw_采样率.txt`

原始Tho信号：`./PSG_Text/<sampID>/Effort Tho_Raw_采样率.txt`

原始Abd信号：`./PSG_Text/<sampID>/Effort Abd_Raw_采样率.txt`

输出：

粗同步后的位置索引：`./Label/<sampID>/Approximately_Align_Info.csv`

### 2 预处理

输入：

原始OrgBCG信号：`./OrgBCG_Text/<sampID>/OrgBCG_Raw_采样率.txt`

原始ECG信号：`./PSG_Text/<sampID>/ECG II_Raw_采样率.txt`

输出：

滤波后的BCG信号：`./OrgBCG_Text/<sampID>/BCG_Filter_采样率.txt`

滤波后的ECG信号：`./PSG_Text/<sampID>/ECG_Filter_采样率.txt`

### 3 数据精同步

#### 3.1 算法定位

#### 3.1.1 R峰算法定位

输入：

滤波后的ECG信号：`./PSG_Text/<sampID>/ECG_Filter_采样率.txt`

输出：

算法定位的R峰坐标：`./PSG_Text/<sampID>/Rpeak_final_采样率.txt`

#### 3.1.2 J峰算法定位

输入：

滤波后的BCG信号：`./OrgBCG_Text/<sampID>/BCG_Filter_采样率.txt`

输出：

算法定位的J峰坐标：`./OrgBCG_Text/<sampID>/Jpeak_revise_采样率.txt`

#### 3.2 人工纠正

#### 3.2.1 R峰人工纠正

输入：

滤波后的ECG信号：`./PSG_Text/<sampID>/ECG_Filter_采样率.txt`

算法定位的R峰坐标：`./PSG_Text/<sampID>/Rpeak_final_采样率.txt`

粗同步后的位置索引：`./Label/<sampID>/Approximately_Align_Info.csv`

输出：

人工纠正后的R峰坐标：`./PSG_Text/<sampID>/Rpeak_final_corrected_采样率.txt`

#### 3.2.2 J峰人工纠正*

输入：

滤波后的BCG信号：`./OrgBCG_Text/<sampID>/BCG_Filter_采样率.txt`

算法定位的J峰坐标：`./OrgBCG_Text/<sampID>/Jpeak_revise_采样率.txt`

粗同步后的位置索引：`./Label/<sampID>/Approximately_Align_Info.csv`

输出：

人工纠正后的J峰坐标：`./OrgBCG_Text/<sampID>/Jpeak_revise_corrected_采样率.txt`

#### 3.3 数据片段起止对齐、数据采样率同步

输入：

滤波后的ECG信号：`./PSG_Text/<sampID>/ECG_Filter_采样率.txt`

人工纠正后的R峰坐标：`./PSG_Text/<sampID>/Rpeak_final_corrected_采样率.txt`

滤波后的BCG信号：`./OrgBCG_Text/<sampID>/BCG_Filter_采样率.txt`

人工纠正后的J峰坐标：`./OrgBCG_Text/<sampID>/Jpeak_revise_corrected_采样率.txt`

原始OrgBCG信号：`./OrgBCG_Text/<sampID>/OrgBCG_Raw_采样率.txt`

粗同步后的位置索引：`./Label/<sampID>/Approximately_Align_Info.csv`

输出：

精同步对齐信息：`./Label/<sampID>/Precisely_Align_Info.txt`

同步后的ECG信号：`./PSG_Aligned/<sampID>/ECG_Sync_采样率.txt`

同步后的R峰坐标：`./PSG_Aligned/<sampID>/Rpeak_Sync_采样率.txt`

同步后的BCG信号：`./OrgBCG_Aligned/<sampID>/BCG_Sync_采样率.txt`

同步后的OrgBCG信号：`./OrgBCG_Aligned/<sampID>/OrgBCG_Sync_采样率.txt`

同步后的J峰坐标：`./OrgBCG_Aligned/<sampID>/Jpeak_Sync_采样率.txt`

#### 3.4、冗余数据切割、标签映射

输入：

精同步对齐信息：`./Label/<sampID>/Precisely_Align_Info.txt`

原始的Flow T信号：`./PSG_Text/<sampID>/Flow T_Sync_采样率.txt`

原始的Flow P信号：`./PSG_Text/<sampID>/Flow P_Sync_采样率.txt`

原始的Tho信号：`./PSG_Text/<sampID>/Effort Tho_Sync_采样率.txt`

原始的Abd信号：`./PSG_Text/<sampID>/Effort Abd_Sync_采样率.txt`

原始的SpO2信号：`./PSG_Text/<sampID>/SpO2_Sync_采样率.txt`

原始的Snore信号：`./PSG_Text/<sampID>/Snore_Sync_采样率.txt`

原始的睡眠分期标签：`./PSG_Text/<sampID>/5_class_Raw_采样率.txt`

原始的睡眠呼吸暂停事件标签：`./PSG_Text/<sampID>/SA Label_Raw.csv`

输出：

同步后的Flow T信号：`./PSG_Aligned/<sampID>/Flow T_Sync_采样率.txt`

同步后的Flow P信号：`./PSG_Aligned/<sampID>/Flow P_Sync_采样率.txt`

同步后的Tho信号：`./PSG_Aligned/<sampID>/Effort Tho_Sync_采样率.txt`

同步后的Abd信号：`./PSG_Aligned/<sampID>/Effort Abd_Sync_采样率.txt`

同步后的SpO2信号：`./PSG_Aligned/<sampID>/SpO2_Sync_采样率.txt`

同步后的Snore信号：`./PSG_Aligned/<sampID>/Snore_Sync_采样率.txt`

同步后的睡眠分期标签：`./PSG_Aligned/<sampID>/5_class_Sync_采样率.txt`

同步后的睡眠呼吸暂停事件标签：`./PSG_Aligned/<sampID>/SA Label_Sync.csv`

### 4 体动标记

输入：

同步后的BCG信号：`./OrgBCG_Aligned/<sampID>/BCG_Sync_采样率.txt`

同步后的OrgBCG信号：`./OrgBCG_Aligned/<sampID>/OrgBCG_Sync_采样率.txt`

输出：

txt格式的体动标签：`./Label/<sampID>/Artifact_a_采样率.txt`

体动标签类型数量统计：`./Label/<sampID>/Artifact_b_采样率.txt`

csv格式的体动标签：`./Label/<sampID>/Artifact_c_采样率.csv`

### 5 质量评估

输入：

同步后的BCG信号：`./OrgBCG_Aligned/<sampID>/BCG_Sync_采样率.txt`

txt格式的体动标签：`./Label/<sampID>/Artifact_a_采样率.txt`

输出：

质量标签：`./Label/<sampID>/SQ_label_10s.csv`或`./Label/<sampID>/SQ_label_30s.csv`

### 6 呼吸提取

输入：

同步后的OrgBCG信号：`./OrgBCG_Aligned/<sampID>/OrgBCG_Sync_采样率.txt`

同步后的Tho信号：`./PSG_Aligned/<sampID>/Effort Tho_Sync_采样率.txt`

txt格式的体动标签：`./Label/<sampID>/Artifact_a_采样率.txt`

输出：

呼吸可用性标签：`./Label/<sampID>/Resp_quality_label.txt`

Tho信号呼吸间期标签：`./Label/<sampID>/Tho_peak_采样率.txt`

### 8 呼吸暂停事件标注

输入：

同步后的OrgBCG信号：`./OrgBCG_Aligned/<sampID>/OrgBCG_Sync_采样率.txt`

txt格式的体动标签：`./Label/<sampID>/Artifact_a_采样率.txt`

同步后的Flow T信号：`./PSG_Aligned/<sampID>/Flow T_Sync_采样率.txt`

同步后的Flow P信号：`./PSG_Aligned/<sampID>/Flow P_Sync_采样率.txt`

同步后的Tho信号：`./PSG_Aligned/<sampID>/Effort Tho_Sync_采样率.txt`

同步后的Abd信号：`./PSG_Aligned/<sampID>/Effort Abd_Sync_采样率.txt`

同步后的SpO2信号：`./PSG_Aligned/<sampID>/SpO2_Sync_采样率.txt`

同步后的睡眠呼吸暂停事件标签：`./PSG_Aligned/<sampID>/SA Label_Sync.csv`

输出：

修正后的呼吸暂停标签：`./Label/<sampID>/SA Label_corrected.csv`

新增的呼吸暂停标签：`./Label/<sampID>/SA Label_add.csv`