Deep Learning-Based Prediction of Atrial Fibrillation from Polar Transformed Time-Frequency Electrocardiogram
This project provides a novel visualization of single-lead electrocardiograms (ECG) in the time-frequency domain.
- Module Installation
- ECG Data Reading
- Preprocessing ECG Data: PT Algorithm (Optional)
- ECG Visualization
- Saving Polar Images
- GUI
The code is executed with the following versions on Python 3.11.3:
- wfdb: 4.1.2
- matplotlib: 3.7.3
- pandas: 2.1.0
- numpy: 1.25.2
- scipy: 1.11.1
This project utilizes the PhysioNet/Computing in Cardiology Challenge 2017 dataset, which contains ECG recordings labeled as Normal, Atrial Fibrillation (AF), Other Rhythm, or Too Noisy. The goal is to develop an algorithm that accurately classifies these recordings.
- Over 10,000 short, single-lead ECG recordings.
- Four labels: Normal, AF, Other Rhythm, Too Noisy.
More details can be found on the PhysioNet Challenge 2017 page.
-
This project utilizes code from Pramod07Ch. Their contributions have been invaluable. You can find the original repository here.
-
cartesian_to_polar.py is contributed by Dongwoo Lee from Yonsei University (hepsdata@yonsei.ac.kr). This project uses his code for image saving.
-
We used the image files generated from this script to perform classification tasks using the CNN model from WingMaster22. Their contributions have been invaluable. You can find the original repository here.
- Prepare the CiCC 2017 dataset in the same directory as Polar Spectrogram Project.ipynb.
- Follow the steps in Polar Spectrogram Project.ipynb.
If you have any questions about this project, please email me at kanghb777@yonsei.ac.kr.