# 概括
心率变异性（HRV）是研究领域中一个不断增长的兴趣领域，近几十年来，越来越多的新测量方法被引入，随后是互补的软件工具。但是，大多数可用的封闭源HRV工具可用，许可证成本高昂，并且会阻止开发人员访问源代码，从而限制了自定义应用程序开发的可能性。另一方面，开源解决方案面临不同的局限性，例如功能减少，结果未经验证或对主流编程语言的完全支持。HBVigor是一个开源的Python工具箱，它计算来自心电图(ECG)、SpO2、血容量脉搏(BVP)或其他带有心率指示器的信号的最先进的心率变率(HRV)参数。

通过HBVigor，我们的目标是为HRV专门的教育、研究和应用开发提供一个用户友好和通用的Python工具箱。

它提供了易于理解的源代码，以帮助初学者理解基本的HRV参数计算，同时提供了最重要的HRV分析功能的开发人员和公布质量的结果为研究人员的图。


# 入门指南
### 安装
这个工具箱可以使用pip工具安装(适用于python3):
```python
pip install HBVigor
```
依赖工具包: [astropy](https://https://www.astropy.org/) | [numpy](http://www.numpy.org) | [scipy](http://scipy.org) | [matplotlib](https://matplotlib.org) |
### 导入
```python
from HBVigor import HBVigor
```
### API参考
* HBVigor.GetHRV(RRI, Domain = None)

    通过RR间期的时间序列数据来计算心率变异性（HRV）的各领域分析。
    
    参数：
    
    - RRI：心动间期，单位为毫秒(ms)， 建议采集时长为5分钟或24小时。
    - Domain：分析领域，可选：TimeDomain，FreqDomain， Poincare， Nonlinear。
    
    返回：
    
    - 字典类型，包括各领域的HRV分析结果。
### 科学背景

HRV算法是根据[心率变异性测量标准、生理解释和临床使用指南](https://www.ahajournals.org/doi/full/10.1161/01.CIR.93.5.1043)算法开发和实现的。


# HBVigor核心特性和HRV参数列表


### 时域参数
* MAX：最大值
* MIN：最小值
* MEAN：平均值
* SDNN：所有正常相邻RR间期的标准差
* RMSSD：正常相邻RR间期差值的均方根
* SDSD：正常相邻RR间期差值的标准差
* NN50：相邻RR间期差值大于50ms的个数
* PNN50：相邻RR间期差值大于50ms的个数除以总的RR间期个数，再乘以100
### 频域参数
- Welch
- Lomb-Scargle
### Poincare散点分析
* SD1：散点图短半轴的长度
* SD2：散点图长半轴的长度
### 非线性参数
- IE：信息熵
- BE：基本尺度熵
- SE：样本熵
# 免责说明
本程序发布的目的是希望它将是有用的，并“按原样”提供给您，但没有任何保证，甚至没有隐含的适销性或适用于特定目的的保证。本程序不适用于医学诊断。我们明确否认任何责任对于任何直接、间接、间接、附带的或特殊的损害,包括但不限于收入损失、利润损失、业务中断或数据丢失带来的损失,无论形式的行动或法律理论下的责任可能断言,即使建议等损失的可能性。
