medical_SDK/log/SIMPLIFIED_PIPELINE_README.md

131 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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