Metadata-Version: 2.4
Name: biotechpy
Version: 0.2.2
Summary: Library for biosignal processing.
License-Expression: MIT
Keywords: ECG,QRS detection
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: matplotlib
Dynamic: license-file

# BioTechPy
A library that provides functions for ECG processing.

## Installation
```python
pip install biotechpy
```

## Requirements
NumPy, SciPy, Matplotlib.

## License
MIT.

## Functions
### 1. Implementation of the Pan–Tompkins QRS detection algorithm (qrs_detection_pantompkins1985)
*Description:*  
The function is an exact implementation of the QRS detection algorithm described in the article and its corrections:  
> Pan J., Tompkins W.J. A real-time QRS detection algorithm. IEEE Transactions on Biomedical Engineering. 1985. Vol. 32, iss. 3. Pp. 230–236. DOI: 10.1109/TBME.1985.325532.

> Errata (http://www.engr.wisc.edu/bme/faculty/tompkins_willis/Errata_Pan-Tompkins.pdf).

*Citation:*  
If you use this function in your work, please cite:  
> Seleznev K.K. Open-Source Implementation of the Pan-Tompkins QRS Detection Algorithm. System Informatics. 2026. Iss. 32. Pp 1-16.

*Usage:*
```python
import biotechpy
qrs_coords = biotechpy.qrs_detection_pantompkins1985(signal=ecg_lead, fs=fs, visualisation=True)
```

### 2. Heart rhythm analysis
#### 2.1. Calculation of heart rate trend (hr_trend_calculate)
*Description:*  
Function for calculating arrays to plot the heart rate trend (horizontal axis in samples).  
*Usage:*
```python
import biotechpy
import matplotlib.pyplot as plt
hr_trend_x, hr_trend_y = biotechpy.hr_trend_calculate(r_coord, fs)
plt.plot(hr_trend_x, hr_trend_y)
```
#### 2.2. Calculation of RR interval trend (rr_trend_calculate)
*Description:*  
Function for calculating arrays to plot the RR interval trend (horizontal axis in samples).  
*Usage:*
```python
import biotechpy
import matplotlib.pyplot as plt
rr_trend_x, rr_trend_y = biotechpy.rr_trend_calculate(r_coord, fs)
plt.plot(rr_trend_x, rr_trend_y)
```
#### 2.3. Calculation of heart rate parameters (hr_parameters_calculate)
*Description:*  
Function for calculating mean HR, standard deviation of HR, maximum HR, time index of maximum HR (in samples), minimum HR, and time index of minimum HR (in samples).  
*Usage:*
```python
import biotechpy
hr_mean, hr_std, hr_max, hr_max_x, hr_min, hr_min_x = biotechpy.hr_parameters_calculate(hr_trend_x, hr_trend_y)
```
#### 2.4. Calculation of RR interval parameters (rr_parameters_calculate)
*Description:*  
Function for calculating mean RR interval, standard deviation of RR interval, maximum RR interval, time index of maximum RR interval (in samples), minimum RR interval, and time index of minimum RR interval (in samples).  
*Usage:*
```python
import biotechpy
rr_mean, rr_std, rr_max, rr_max_x, rr_min, rr_min_x = biotechpy.rr_parameters_calculate(rr_trend_x, rr_trend_y)
```
