This repository hosts the code for Prediction of Blood Pressure from ECG and PPG signals using two methods.
-
Feature Extraction and Regression using Machine Learning Methods. Paper
-
Deep learning based regression.
- Clone this repo:
git clone https://github.com/jeya-maria-jose/Cuff_less_BP_Prediction
cd Cuff_less_BP_Prediction
Dataset : Link
This database consist of a cell array of matrices, each cell is one record part.
In each matrix each row corresponds to one signal channel:
1: PPG signal, FS=125Hz; photoplethysmograph from fingertip
2: ABP signal, FS=125Hz; invasive arterial blood pressure (mmHg)
3: ECG signal, FS=125Hz; electrocardiogram from channel II
- MATLAB
- Python 3
- Scikit-learn
The features taken are explained here
seven_features.m
- Code to extract the features : (WN,PIR,PTT,HR,IH,IL,Meu)
ppg_features.m
- Code to extract the PPG features
PTT_final.m
- Code to extract the PTT
The extracted features are saved in a CSV file from MATLAB.
The CSV file : Link The columns denote the features and BP GT in the same order as extracted.
cd models_ML
python rf.py
- Linux
- Python 3
- Pytorch
cd models_DL/cnn_lstm_concat
python cnn_multitask.py
cd models_DL/cnn_lstm_concat
python cnn_test.py
The code is not completely clean as the data directories are initialized manually. Please make sure the directories are changed according to the remote server where the code is run.
If you use this , please cite our paper Investigation on the effect of Womersley number, ECG and PPG features for cuff less blood pressure estimation using machine learning:
@article{thambiraj2020investigation,
title={Investigation on the effect of Womersley number, ECG and PPG features for cuff less blood pressure estimation using machine learning},
author={Thambiraj, Geerthy and Gandhi, Uma and Mangalanathan, Umapathy and Jose, V Jeya Maria and Anand, M},
journal={Biomedical Signal Processing and Control},
volume={60},
pages={101942},
year={2020},
publisher={Elsevier}
}
}
This work was done while at National Institute of Technology, Tiruchirapalli; India