用途:NeuroKit2 是处理与分析生理信号(生物信号)的 Python 工具包,用于心血管、神经、自主神经、呼吸与肌肉信号的科研与临床分析。
主要能力:
- 心电/脉搏(ECG/PPG):清洗、R 峰检测、波形划分、质量评估,以及 ECG 派生呼吸。
- 心率变异性(HRV):时域、频域、非线性域指标,含 RSA、RQA。
- 脑电(EEG):频带功率、通道质量、源定位、微状态分割与动态。
- 皮电(EDA/GSR):张性与相位成分分解、SCR 检测、交感神经指标。
- 呼吸(RSP):呼吸率与变异性、幅度对称性、每时间呼吸量(RVT)。
- 肌电(EMG):幅度与激活检测。
- 眼电(EOG):眨眼检测与特征提取。
- 通用信号处理:滤波、分解(EMD/SSA/小波)、峰值检测、PSD、重采样。
- 复杂度与熵:香农/近似/样本/排列熵,分形维数,Lyapunov、Lempel-Ziv、DFA 等。
- 事件相关分析:事件查找、epoch 创建、平均与基线校正。
- 多信号整合:bio_process / bio_analyze 统一处理。
使用方式:安装 uv pip install neurokit2(当前 0.2.13,需 Python >= 3.10;可固定版本)。EEG 辅助函数与默认 EOG 眨眼检测需 MNE-Python:uv pip install mne。典型流程为 ecg_process → hrv → ecg_plot;多模态用 bio_process。分析模式按数据时长自动选择:<10 秒为事件相关,≥10 秒为区间相关。
适用场景:心理生理学实验、HRV 研究、脑电微状态、自主神经评估、呼吸与肌肉活动分析、多模态生理信号整合。
限制:部分函数参数有特定要求(如 hrv_rsa 需处理后的 DataFrame 与 rpeaks,eda_sympathetic 需 >64 秒信号,rsp_rvt 需一维向量,complexity 不接受 sampling_rate);EEG 与默认 EOG 依赖 MNE。具体参考文档见官方站点与 GitHub 仓库。