[ PROMPT_NODE_26864 ]
bio_module
[ SKILL_DOCUMENTATION ]
# 多信号集成 (Bio 模块)
## 概述
Bio 模块提供了用于同时处理和分析多种生理信号的统一函数。它作为一个包装器,协调特定信号的处理函数并实现集成的多模态分析。
## 多信号处理
### bio_process()
通过单次函数调用同时处理多种生理信号。
python
bio_signals, bio_info = nk.bio_process(ecg=None, rsp=None, eda=None, emg=None,
ppg=None, eog=None, sampling_rate=1000)
**参数:**
- `ecg`: ECG 信号数组(可选)
- `rsp`: 呼吸信号数组(可选)
- `eda`: EDA 信号数组(可选)
- `emg`: EMG 信号数组(可选)
- `ppg`: PPG 信号数组(可选)
- `eog`: EOG 信号数组(可选)
- `sampling_rate`: 采样率(Hz,必须在各信号间保持一致或为每个信号指定)
**返回值:**
- `bio_signals`: 包含所有已处理信号的统一 DataFrame,列包括:
- 信号特定特征(例如 `ECG_Clean`, `ECG_Rate`, `EDA_Phasic`, `RSP_Rate`)
- 所有检测到的事件/峰值
- 派生指标
- `bio_info`: 包含信号特定信息(峰值位置、参数)的字典
**示例:**
python
# 同时处理 ECG、呼吸和 EDA
bio_signals, bio_info = nk.bio_process(
ecg=ecg_signal,
rsp=rsp_signal,
eda=eda_signal,
sampling_rate=1000
)
# 访问已处理信号
ecg_clean = bio_signals['ECG_Clean']
rsp_rate = bio_signals['RSP_Rate']
eda_phasic = bio_signals['EDA_Phasic']
# 访问检测到的峰值
ecg_peaks = bio_info['ECG']['ECG_R_Peaks']
rsp_peaks = bio_info['RSP']['RSP_Peaks']
**内部工作流:**
1. 每个信号由其专门的处理函数处理:
- `ecg_process()` 用于 ECG
- `rsp_process()` 用于呼吸
- `eda_process()` 用于 EDA
- `emg_process()` 用于 EMG
- `ppg_process()` 用于 PPG
- `eog_process()` 用于 EOG
2. 结果合并为统一的 DataFrame
3. 计算跨信号特征(例如,如果同时存在 ECG 和 RSP,则计算 RSA)
**优势:**
- 简化多模态记录的 API
- 所有信号的统一时间基准
- 自动计算跨信号特征
- 一致的输出格式
## 多信号分析
### bio_analyze()
对已处理的多模态信号进行全面分析。
python
bio_results = nk.bio_analyze(bio_signals, sampling_rate=1000)
**参数:**
- `bio_signals`: DataFr