Skip to content

Official source code of "Preprocessing Method for Performance Enhancement in CNN-based STEMI Detection from 12-lead ECG"

License

Notifications You must be signed in to change notification settings

YeongHyeon/Preprocessing-Method-for-STEMI-Detection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Preprocessing Method for Performance Enhancement in CNN-based STEMI Detection from 12-lead ECG

This repository provides the source code of the paper "Preprocessing Method for Performance Enhancement in CNN-based STEMI Detection from 12-lead ECG" [pdf].

STEMI: ST-elevation myocardial infarction

The complete occlusion of the coronary artery is called STEMI and it is characterized by a sudden shut-down of blood flow caused by thrombus or embolism. In the ECG of STEMI, the ST-segment is more elevated than the normal.

The ECG of normal (upper) and STEMI (lower)

Requirements

  • Python 3.5.2
  • Tensorflow 1.4.0
  • Numpy 1.13.3
  • Scipy 1.2.0
  • WFDB 2.2.1
  • Matplotlib 3.0.2

Usage

Preparing the dataset

First, Organize the dataset and keep as below. Keep the channel (or lead) information in axis 0, and time information in axis 1. For example, 12 lead data with 5500-time length (500Hz x 11 seconds) should be saved as (12, 5500) form.

Raw_ECG
├── Normal
│   ├── data_1
│   ├── data_2
│   ├── data_3
│   │     ...
│   └── data_n
└── STEMI

Then, run the python script as following.

$ python preprocessing.py
$ python preprocessing.py --help // for confirming the option

In the process of executing the above source code, pulse segmentation is performed by voting and choosing the location of the QRS complex as shown below.

The top of the figure shows location voting result for finding the QRS complex. Lower two figure shows most voted time location as QRS complex at lead-I and lead-aVR respectively.

Training and Test

$ cd CNN
$ python run_resnet.py

Using run_vggnet.py instead of run_resnet.py is available for training VGGNet.

1D-VGGNet-16

1D-ResNet-34

Pre-Trained CNN

If you want to use pre-trained model it is available at Google Drive. Saved parameters are provided for 1D-VGGNet-16 and 1D-ResNet-34 respectively.

Available since Mar.31.2019

BibTeX

@Article{8771175,
  author={Park, YeongHyeon and Yun, Il Dong and Kang, Si-Hyuck},
  journal={IEEE Access},
  title={Preprocessing Method for Performance Enhancement in CNN-Based STEMI Detection From 12-Lead ECG},
  year={2019},
  volume={7},
  pages={99964-99977},
  ISSN={2169-3536},
}