用于心率变异性的python工具箱。
pyhrv的Python项目详细描述
此存储库包含在我的硕士论文范围内开发的hrv工具箱(python包)"开发用于心率变异性(hrv)的开源python工具箱")。
心率变异性-测量标准,生理解释以及临床使用指南和其他参考资料,这些都是代码本身的注释(将很快完全更新)。
下面是参数和特性的列表。主要更新将列在更改日志中。
开始
安装
可以使用pip
工具安装此软件包:
pipinstallpyhrv
当前的pyhrv主要是为python 2.7编程语言开发的。运行上面的pip命令可能会导致 尝试使用Python3安装包时出错。在这种情况下,请先尝试安装pyhrv依赖项:
pipinstallbiosppypipinstallmatplotlibpipinstallnumpypipinstallscipypipinstallnoldspipinstallspectrumpipinstallpyhrv
文档和教程
有关所有可用功能和简短快速入门教程的概述,请参见自述文件,该文件位于pyhrv
包中。
正式的pyhrv文档现已在readthedocs上提供:
hrv参数列表
可以使用此工具箱计算以下hrv参数。
(NNI:正常至正常间隔,HR:心率,SD:标准差,p sd:功率谱密度)
时域参数
- NNI系列的基本统计参数(最小值、最大值、平均值)
- NNI差异系列的基本统计参数(最小、最大、平均、最大差异)
- HR系列的基本统计参数(min、max、mean、sd)
- NNI(SDNN)的标准偏差
- 5分钟段的标准差平均值(SDNN指数)
- 5分钟段平均标准差(SDANN)
- 连续差的均方根(rmssd)
- 连续差分标准差(SDSD)
- NN50(NNI>;50ms)和PNN50(NNI>;50ms的百分比)
- nnx(nni>;xms)和pnn50(nni>;xms的百分比)
- 三角形索引
- 基于三角插值的直方图基线宽度(tinn)(tinn,n,m)
频域参数
从韦尔奇方法和lomb scargle周期图(具有默认或自定义频带)计算以下psd参数:
- 峰值频率
- 绝对功率
- 对数幂
- 相对功率
- 标准化功率(仅限低频和高频)
- 低频/高频比
非线性参数
- Poincaréplot(SD1,SD2,拟合椭圆面积,SD2/SD1比值)
- 样本熵
- 去趋势波动分析(短期和长期)
附加的hrv工具
- NNI级数的计算
- Δnni级数的计算
- HR级数的计算
- 信号分割
- 在医学级别上绘制心电图,如心电图纸布局
- 转速图绘图
- hrv报告生成(.txt和.csv格式)
- hrv结果导出和导入(.json格式)
示例图
心电图图
转速表
直方图和几何参数
频域-韦尔奇周期图
频域-lomb瘢痕周期图
频域-自回归方法
非线性-Poincaré&Detrended波动分析
依赖关系
这项工作的背景
该软件包最初是在我的硕士论文《心率变异性开源python工具箱的开发》(hrv)的范围内开发的,该论文位于德国汉堡应用科学大学(生物医学工程系生命科学系)和葡萄牙里斯本plux无线生物信号学
在本工作范围内开发的其他支持包
打开信号读卡器
要读取的python包opensignals(r)evolution文件和传感器数据自动转换,用于bitalino(r)evolution传感器数据。
开发此软件包是为了便于导入使用Bitalino(R)Evolution采集的心电传感器数据,以进行心率变异性分析。
有关详细信息,请访问存储库:
https://github.com/pgomes92/opensignalsreader
(OpenSignals(R)evolution(作者plux wireless biosignals s.a.)是Bitalino和href="http://biosignalsplux.com" rel="nofollow">biosignalsplux生物信号采集平台。)
库比奥斯
python包,用于以可读格式导出nn/rr interval series,并以.txt格式从kubios报告文件导入hrv结果。
有关详细信息,请访问存储库:
https://github.com/pgomes92/kubios
引用
如果您需要在任何工作中引用此软件包,请使用下面的引用格式:
- Gomes P,Silva H,Margaritoff P,Pyhrv-心率变异性开源Python工具箱,2018-,
https://github.com/pgomes92/hrv toolkit/[在线;访问
<;year>;-<;month>;-<;day>;
]。
@Misc{, author = {Pedro Gomes, Hugo Silva, Petra Margaritoff}, title = {{pyHRV} - Open-Source Python Toolbox for Heart Rate Variability}, year = {2018--}, url = "https://github.com/PGomes92/hrv-toolkit/", note = {[Online; accessed <today>]}}
存储库结构信息
.
├── pyhrv # HRV toolbox/package (where the magic happens)
| └──files # Sample files & HRV keys
| | ├── hrv_keys.json # HRV keys to access the parameter results stored in
| | | # biosspy.utils.ReturnTuple objects & parameter labels
| | ├── SampleExport.json # Sample export file generated with pyhrv.tools.hrv_export()
| | ├── SampleReport.txt # Sample export file generated with pyhrv.tools.hrv_report()
| | └── SampleECG.txt # BITalino (r)evolution sample ECG acquistion
| |
| ├── samples # 50 sample NNI series
| |
| ├── README.md # Package overview & quick start guide/examples
| ├── references.txt # References used in the in-code documentation
| ├── __init__.py # Package initialitation file
| ├── __version__.py # Package version file
| ├── tools.py # HRV tools (nni, segmentation, reports, ...)
| ├── hrv.py # HRV package level function
| ├── time_domain.py # Time domain parameter functions
| ├── frequency_domain.py # Frequency domain parameter functions
| └── noninear.py # Nonlinear parameter functions
|
├── SampleFigures # Sample figures of plots
| └──readmefigures # readmefigures
├── changelog.md # Changelog
├── LICENSE.txt # License information
└── README.py # <- you are here
免责声明
本程序的发布是希望它能对您有所帮助,并按"原样"提供给您,但没有任何保证,甚至没有对适销性或特定用途的适用性的暗示保证。此程序不用于医疗诊断。我方明确否认对任何直接、间接、间接、附带或特殊损害承担任何责任,包括但不限于收入损失、利润损失、业务中断或数据丢失造成的损失,无论提出赔偿责任的诉讼形式或法律理论如何,即使被告知可能发生这种损害。