medical_SDK/log/SIMPLIFIED_PIPELINE_README.md

131 lines
3.7 KiB
Markdown
Raw Normal View History

2025-08-25 10:53:22 +08:00
# 简化信号数据处理流程说明
## 功能概述
本系统提供了一个整合的 `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. 相关依赖库是否正确安装