Welcome to the research paper implementation repository for "Analysis of ECG Signals by Dynamic Mode Decomposition". This repository contains the code and resources to replicate the implementation of this research paper.
The goal of this project is to diagonis Heart-related diseases using ML models and investigate its overall performance. The approach utilized in the paper evaluate whether the stability of decomposed ECG subsystems can be analyzed in order to effectively investigate the overall performance of ECG signals1. The repository is organized as follows:
- src
- Beat_Frame_FeatureExtraction_Base
- ML Training
- Pan_Tompkins_Class
- Signal_Analysis_Class
- ECG_Preprocessing
- Feature_Extraction
- Beats
- Frames
To run the code, please make sure you have the necessary dependencies installed, which are listed here
Here is the file dicription for further future use it.
- You can find the codes implemented under "src" directory, "Miscellaneous" directory under it can be ignored.
- Beat_Frames_FeaturesExtraction_Base - It contains the code implementation of the methodology given in the paper. You can use this code to extract features from ECG dataset.
- ML Training - It contains code of the ML model to train and test its performance.
- Pan_Tompkins_Class & Signal_Anlaysis_Class - Algorithm need for preprocessing is implemented as a class. It needs to be imported for its use.
- ECG_Preprocessing - To understand the preprocessing, A code guide is added.
- Extracted Features is also availablein the repository, you can find it under "Feature_Extraction"
- As given in the paper, Beat-wise and Frame-wish is approach is explained. We can find both the features under "BEAT" and "FRAME" folder.
NOTE: Frame-wise Features need to be excuted again. Frame-wise Features in the file is not promising
- Statistical test.
- Analysis for Significant Feature
To run the code smooth, make sure to install these packages
- Python waveform-database (WFDB) package
- PyWavelets package
- Python package that uses Dynamic Mode Decomposition
- Numpy
- Scipy
- matplotlib
- os
- warnings
- Signal_Analysis_Class
If you use any of resources from the paper in your own research, please cite the paper using the following citation:
PLAIN TEXT
H. Niyigena Ingabire et al., "Analysis of ECG Signals by Dynamic Mode Decomposition," in IEEE Journal of Biomedical and Health Informatics, vol. 26, no. 5, pp. 2124-2135, May 2022, doi: 10.1109/JBHI.2021.3130275.
Bib TeX
@ARTICLE{9626454,
author={Niyigena Ingabire, Honorine and Wu, Kangjia and Amos, Joan Toluwani and He, Sixuan and Peng, Xiaohang and Wang, Wenan and Li, Min and Chen, Jinying and Feng, Yukun and Rao, Nini and Ren, Peng},
journal={IEEE Journal of Biomedical and Health Informatics},
title={Analysis of ECG Signals by Dynamic Mode Decomposition},
year={2022},
volume={26},
number={5},
pages={2124-2135},
doi={10.1109/JBHI.2021.3130275}}
If you use any of the code or resources from this repository in your own research, please also cite the GitHub repository.
If you have any questions or encounter any issues, please feel free to open an issue on this repository or contact the repository authors. We hope that this implementation will be useful for other researchers in the field.
Footnotes
-
Analysis of ECG Signals by Dynamic Mode Decomposition, IEEE Journal of Biomedical and Health Informatics, vol. 26, no. 5, pp. 2124-2135, May 2022, doi: 10.1109/JBHI.2021.3130275. ↩