心率分析工具包
项目描述
HeartPy - Python 心率分析工具包
喜欢 HeartPy?别忘了留下一颗星星!
结构更新
HeartPy V1.2 已登陆!包的结构已经过重新设计,现在可以放在单独的模块中,以准备下一次重大更新,该更新将具有许多分析扩展和向 HeartPy 的 GUI 迈出的第一步。HeartPy 一直在稳步增长,并且已经到了将其保存在一个文件中变得混乱和笨拙的地步。API 保持不变。
已将“示例”文件夹添加到将很快扩展的存储库中。现在有两个笔记本解释如何分析来自智能手表和智能戒指的ppg信号。
已添加色盲支持,请参阅示例文件夹中的此笔记本
安装
python setup.py install
或者,我们也在 PIP 上:
python -m pip install heartpy
而已!请注意,Github 始终具有最新版本。
文档
官方文档上线!你可以在这里找到官方文档
蟒蛇 2.7
该模块在 Python 2.7 上编译并运行良好,但某些单元测试失败。
教程笔记本现在在示例/中可用
这些展示了如何使用 HeartPy 处理各种分析任务,包括智能手表数据、智能戒指数据、常规 PPG 和常规(非常嘈杂)心电图。笔记本有时不通过 github 引擎呈现,因此要么在本地打开它们,要么使用像nbviewer这样的在线查看器。
我们建议您按顺序阅读笔记本:
- 1. Analyzing a PPG signal,一个使用内置示例开始使用 HeartPy 的笔记本。
- 2. 分析心电图信号,用于处理 HeartPy 和典型心电图数据的笔记本。
- 3. Analyzing smartwatch data,分析智能手表低分辨率PPG数据的笔记本。
- 4. Analyzing smart ring data,一个分析智能环PPG数据的笔记本。
- 5. Analyzing noise ECG data ,一个使用来自 MIT-BIH 噪声压力测试数据集的数据处理非常嘈杂的 ECG 数据的高级笔记本。
- 6. 色盲模式 - 操作方法和样式
更多信息
HeartPy,Python 心率分析工具包是 Python 中用于心率分析的模块。它最初是纯 Python 实现,用于分析自然驾驶和自行车实验中获取的生理数据。
该模块采用离散心率信号并输出科学文献中常见的时域和频域测量值:
时域:
- 每分钟心跳次数,BPM
- 节拍间期,IBI
- 标准差,如果相邻节拍之间的间隔,SDNN
- 相邻 RR 间期连续差的标准差,SDSD
- 相邻 RR 间隔之间连续差的均方根,RMSSD
- RR间期大于20ms、50ms、pNN20、pNN50的差异比例
- 中值绝对偏差,MAD
- 庞加莱分析(SD1、SD2、S、SD1/SD2)
- 庞加莱图
频域(Shaffer 和 Ginsberg 的范围:https ://doi.org/10.3389/fpubh.2017.00258 )
- 极低频分量(0.0033-0.04-Hz),VLF
- 低频分量(0.04-0.15-Hz),LF
- 高频分量(0.15-0.4-Hz),HF
- 低频/高频比,低频/高频
在您的研究中使用该软件包时,请引用:
van Gent, P.、Farah, H.、van Nes, N. 和 van Arem, B. (2019)。使用现成的传感器实时分析嘈杂的驾驶员生理学:采用快车道项目的心率分析软件。开放研究软件杂志,7(1),32。DOI:http ://doi.org/10.5334/jors.241
van Gent, P.、Farah, H.、van Nes, N. 和 van Arem, B. (2019)。HeartPy:一种用于分析噪声信号的新型心率算法。交通研究 F 部分:交通心理学和行为,66, 368–378。https://doi.org/10.1016/j.trf.2019.09.015
文档
该模块在我的教程系列中也在一定程度上有所描述:
- 使用 Python 分析离散心率信号 - 第 1 部分
- 使用 Python 分析离散心率信号 - 第 2 部分
- 使用 Python 分析离散心率信号 - 第 3 部分
- 使用 Python 分析离散心率信号 - 第 4 部分:开发中
执照
该模块在GNU 通用公共许可证版本 3、GPL-v3下获得许可
验证
验证的初步结果已在 [1, 2] 中报告。
[1]van Gent, P.、Farah, H.、van Nes, N. 和 van Arem, B. (2018)。人为因素的心率分析:开发和验证用于嘈杂自然心率数据的开源工具包。在第六届人文主义会议论文集(第 173-178 页)。
[2] van Gent, P.、Farah, H.、van Nes, N. 和 van Arem, B. (2019)。HeartPy:一种用于分析噪声信号的新型心率算法。交通研究 F 部分:交通心理学和行为,66, 368–378。https://doi.org/10.1016/j.trf.2019.09.015
去做
该模块仍在积极开发中。有关过去的更改,请参阅更改日志。未来几个月的任务是:
V1.3之前要做的事
- 相同,但对于 PPG - 形态变化太大,方法不稳定
- 添加“严格性参数”以影响 HeartPy 如何评估接受/拒绝的峰值
- 在 process() 方法期间自动缩放数据
- 扩展 enhance_peaks 以仅包括高于阈值的那些
- 添加自动处理 NaN 数据的方法
- clean_rr 方法现在删除不正确的值,更新以允许用周围数据点的中值替换
- 报告 repo 的验证性能(已发表的论文 + 发表后的关键点文档)
- 更改后端结构以适应 GUI 开发
- 为 HeartPy 开发 GUI
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。