• Stars
    star
    146
  • Rank 252,769 (Top 5 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 6 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Prediction of Blood Pressure from ECG and PPG signals using regression methods.

Cuff less Blood Pressure Prediction

This repository hosts the code for Prediction of Blood Pressure from ECG and PPG signals using two methods.

  1. Feature Extraction and Regression using Machine Learning Methods. Paper

  2. Deep learning based regression.

Getting Started:

  • Clone this repo:
git clone https://github.com/jeya-maria-jose/Cuff_less_BP_Prediction
cd Cuff_less_BP_Prediction

Dataset:

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

Processed version of the data from UCI repository used for our experiments: Link

  1. Cleaned folder contains BP records after thresholding them according to Kauchee et al. 2017

  2. GT contains the ground truth SBP, DBP, MAP and class number (depending on the threshold). Ignore the class column as it has not been used for any experiments reported in the papers.

  3. data folder is the whole data as taken from UCI repository.

Feature Extraction and Machine Learning based method:

Prerequisites:

  • MATLAB
  • Python 3
  • Scikit-learn

Feature Extraction

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.

Machine Learning models

cd models_ML
python rf.py

Using the DL Code:

Prerequisites:

  • Linux
  • Python 3
  • Pytorch

Training

cd models_DL/cnn_lstm_concat
python cnn_multitask.py

Testing

cd models_DL/cnn_lstm_concat
python cnn_test.py

Disclaimer

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.

Citation

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:

ML Experiments and Womersley number Paper -

@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}
}
}

Results for DL Experiments - Coming Soon

This work was done while at National Institute of Technology, Tiruchirapalli; India

More Repositories

1

Medical-Transformer

Official Pytorch Code for "Medical Transformer: Gated Axial-Attention for Medical Image Segmentation" - MICCAI 2021
Python
797
star
2

UNeXt-pytorch

Official Pytorch Code base for "UNeXt: MLP-based Rapid Medical Image Segmentation Network", MICCAI 2022
Python
462
star
3

KiU-Net-pytorch

Official Pytorch Code of KiU-Net for Image/3D Segmentation - MICCAI 2020 (Oral), IEEE TMI
Python
356
star
4

TransWeather

Pytorch Code for the paper TransWeather - CVPR 2022
Python
160
star
5

Interactive-Portrait-Harmonization

Code Base for the work "Interactive Portrait Harmonization"
28
star
6

On-The-Fly-Adaptation

Code base for "On-the-Fly Test-time Adaptation for Medical Image Segmentation"
Python
26
star
7

Derain_OUCD_Net

Official Pytorch Code for "Exploring Overcomplete Representations for Single Image Deraining using CNNs" - IEEE Journal of STSP
Python
14
star
8

Overcomplete-Deep-Subspace-Clustering

Official Tensorflow Code for the paper "Overcomplete Deep Subspace Clustering Networks" - WACV 2021
Python
13
star
9

Image-Recovery-Using-Conditional-Adversarial-Networks

Analyzing Conditional Adversarial Networks to solve image recovery problems like shadow recovery, denoising and deblurring - CVIP 2019
Python
10
star
10

Unet_DWT

Unet based on Wavelet coefficients for segmentation
Python
8
star
11

essential_codes

Just a collection of essential set of codes that can be plugged in at needed places
Python
3
star
12

rebotnet-web

Website for Rebotnet
JavaScript
3
star
13

sparseSGD

Tweaking SGD by imposing sparsity to improve opimization for deep learning tasks.
Python
3
star
14

transweather-web

Website for TransWeather paper: https://jeya-maria-jose.github.io/transweather-web/
HTML
2
star
15

Vision-Based-Texting

Approach towards texting using eye gestures taken from a camera.
Python
1
star
16

Wind_LandArea_Aerial_Seg

Supporting Code for the paper "A novel application of deep learning to determine the actual land transformed by wind power"
Python
1
star
17

IPH-web

Website for "Interactive Portrait Harmonization"
JavaScript
1
star
18

quad-pid-control-

Python
1
star
19

Performance_Metrics

Python
1
star
20

rebot-net

Network architecture for ReBotNet, WACV 2025
Python
1
star