/ppg2ecg-cardiogan

CardioGAN - AAAI 2021

Primary LanguagePythonOtherNOASSERTION

CardioGAN: Attentive Generative Adversarial Network with Dual Discriminators for Synthesis of ECG from PPG


Datasets

Prerequisites

  • Tensorflow v2.2
  • Numpy
  • Scikit-learn
  • OpenCV
  • Scipy
  • Tqdm
  • Pandas
  • h5py

Test

We provide the weights for CardioGAN, trained on the four public datasets mentioned above. The sample code can be used to convert PPG signals to ECG. link to download weights

test_cardiogan.py

Application

To develop a realtime application using our proposed method, we utilize an Empatica E4 to collect and transfer PPG to a computer. Our model then converts 4-second segments of input PPG to synthetic ECG.

cardiogan_realtime.py

Please see a live demonstration using this link. Watch the video

Additional Materials

Media Coverage/Articles

Citation

Please cite our paper below when using or referring to our work.

@misc{sarkar2020cardiogan,
      title={CardioGAN: Attentive Generative Adversarial Network with Dual Discriminators for Synthesis of ECG from PPG}, 
      author={Pritam Sarkar and Ali Etemad},
      year={2020},
      eprint={2010.00104},
      archivePrefix={arXiv},
      primaryClass={cs.LG}
}

Acknowledgments

Some parts of our code has been borrowed from CycleGAN TF v2.

Question

If you have any questions or would like to discuss our work, please contact me at pritam.sarkar@queensu.ca or connect with me on LinkedIN.