131 lines
3.7 KiB
Markdown
131 lines
3.7 KiB
Markdown
|
|
# 简化信号数据处理流程说明
|
|||
|
|
|
|||
|
|
## 功能概述
|
|||
|
|
|
|||
|
|
本系统提供了一个整合的 `complete_signal_processing_pipeline()` 函数,该函数按照您的逻辑要求,将整个信号数据处理流程整合为一个函数,避免了代码重复。
|
|||
|
|
|
|||
|
|
## 处理流程
|
|||
|
|
|
|||
|
|
### 完整流程步骤
|
|||
|
|
|
|||
|
|
1. **数据读取**: 读取原始二进制文件
|
|||
|
|
2. **数据解析**: 解析设备数据包
|
|||
|
|
3. **通道映射 (MAPPER)**: 执行通道映射处理
|
|||
|
|
4. **信号预处理**: 执行滤波等预处理操作
|
|||
|
|
5. **指标计算**: 计算各项生理指标
|
|||
|
|
6. **结果保存**: 生成多个CSV文件保存结果
|
|||
|
|
|
|||
|
|
## 使用方法
|
|||
|
|
|
|||
|
|
### 1. 运行程序
|
|||
|
|
```bash
|
|||
|
|
./your_program_name
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 选择功能
|
|||
|
|
程序启动后会显示以下选项:
|
|||
|
|
```
|
|||
|
|
请选择测试模式:
|
|||
|
|
1. 测试新解析函数 (查看解析结果)
|
|||
|
|
2. 运行原有测试流程
|
|||
|
|
3. 运行完整信号数据处理流程 (推荐)
|
|||
|
|
请输入选择 (1, 2 或 3):
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
选择选项 **3** 来运行完整的信号数据处理流程。
|
|||
|
|
|
|||
|
|
### 3. 自动执行
|
|||
|
|
选择选项3后,程序会自动执行以下步骤:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
=== 开始完整的信号数据处理流程 ===
|
|||
|
|
步骤1: 读取原始数据...
|
|||
|
|
步骤2: 解析设备数据包...
|
|||
|
|
步骤3: 执行通道映射...
|
|||
|
|
步骤4: 执行信号预处理...
|
|||
|
|
步骤5: 计算生理指标...
|
|||
|
|
步骤6: 生成指标汇总...
|
|||
|
|
=== 完整信号数据处理流程完成 ===
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 输出文件
|
|||
|
|
|
|||
|
|
程序会自动生成以下4个CSV文件:
|
|||
|
|
|
|||
|
|
1. **`channel_data_mapped_.csv`** - 通道映射后的数据
|
|||
|
|
2. **`channel_data_processed_.csv`** - 预处理后的数据
|
|||
|
|
3. **`calculated_metrics_detailed.csv`** - 详细指标数据
|
|||
|
|
4. **`metrics_summary.csv`** - 指标汇总统计
|
|||
|
|
|
|||
|
|
## 技术特点
|
|||
|
|
|
|||
|
|
### 1. 代码整合
|
|||
|
|
- 将原本分散在多个函数中的逻辑整合为一个函数
|
|||
|
|
- 避免了重复的数据读取和解析代码
|
|||
|
|
- 统一的数据流处理
|
|||
|
|
|
|||
|
|
### 2. 错误处理
|
|||
|
|
- 每个步骤都有完善的错误处理
|
|||
|
|
- 如果某个步骤失败,会给出明确的错误信息
|
|||
|
|
- 支持继续处理其他数据对象
|
|||
|
|
|
|||
|
|
### 3. 进度显示
|
|||
|
|
- 实时显示每个步骤的执行进度
|
|||
|
|
- 显示数据对象处理的详细信息
|
|||
|
|
- 最终生成完整的处理报告
|
|||
|
|
|
|||
|
|
## 支持的指标类型
|
|||
|
|
|
|||
|
|
### ECG相关指标
|
|||
|
|
- 心率 (Heart Rate)
|
|||
|
|
- T波振幅 (T Wave Amplitude)
|
|||
|
|
- QRS宽度 (QRS Width)
|
|||
|
|
- ST段偏移 (ST Offset)
|
|||
|
|
|
|||
|
|
### PPG相关指标
|
|||
|
|
- 心率 (Heart Rate)
|
|||
|
|
- 血氧饱和度 (SpO2)
|
|||
|
|
- 灌注指数 (Perfusion Index)
|
|||
|
|
- 脉搏波宽度 (Pulse Width)
|
|||
|
|
|
|||
|
|
### HRV指标
|
|||
|
|
- SDNN, RMSSD, pNN50, 三角指数
|
|||
|
|
|
|||
|
|
### 统计指标
|
|||
|
|
- 均值、标准差、最小值、最大值、峰峰值、信号质量评分
|
|||
|
|
|
|||
|
|
## 注意事项
|
|||
|
|
|
|||
|
|
1. **文件路径**: 确保原始数据文件路径正确
|
|||
|
|
2. **内存使用**: 大量数据处理时注意内存使用情况
|
|||
|
|
3. **处理时间**: 完整流程可能需要较长时间,请耐心等待
|
|||
|
|
4. **磁盘空间**: 确保有足够的磁盘空间保存输出文件
|
|||
|
|
|
|||
|
|
## 优势
|
|||
|
|
|
|||
|
|
### 相比原有代码的优势
|
|||
|
|
1. **代码简化**: 从多个重复函数整合为一个函数
|
|||
|
|
2. **流程清晰**: 按照逻辑顺序执行,步骤明确
|
|||
|
|
3. **维护性**: 修改流程只需要修改一个函数
|
|||
|
|
4. **可读性**: 代码结构更清晰,易于理解
|
|||
|
|
|
|||
|
|
### 使用建议
|
|||
|
|
- 推荐使用选项3运行完整流程
|
|||
|
|
- 如果需要单独测试某个步骤,可以使用选项1或2
|
|||
|
|
- 首次使用建议先运行完整流程了解整体效果
|
|||
|
|
|
|||
|
|
## 扩展功能
|
|||
|
|
|
|||
|
|
如需添加新的处理步骤或修改现有流程:
|
|||
|
|
1. 在 `complete_signal_processing_pipeline()` 函数中添加新步骤
|
|||
|
|
2. 更新进度显示和错误处理
|
|||
|
|
3. 添加相应的输出文件生成逻辑
|
|||
|
|
|
|||
|
|
## 技术支持
|
|||
|
|
|
|||
|
|
如遇到问题,请检查:
|
|||
|
|
1. 原始数据文件是否存在且格式正确
|
|||
|
|
2. 系统内存是否充足
|
|||
|
|
3. 磁盘空间是否足够
|
|||
|
|
4. 相关依赖库是否正确安装
|