All Projects → YeongHyeon → Preprocessing-Method-for-STEMI-Detection

YeongHyeon / Preprocessing-Method-for-STEMI-Detection

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

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Preprocessing-Method-for-STEMI-Detection

BrainPrep
Preprocessing pipeline on Brain MR Images through FSL and ANTs, including registration, skull-stripping, bias field correction, enhancement and segmentation.
Stars: ✭ 107 (+791.67%)
Mutual labels:  preprocessing, enhancement
DeepECG
Using deep learning to detect Atrial fibrillation
Stars: ✭ 25 (+108.33%)
Mutual labels:  ecg, electrocardiogram
vocdoni-node
A set of libraries and tools for the Vocdoni decentralized backend infrastructure, the main ground of our universally verifiable, privacy-centric and scalable digital voting protocol
Stars: ✭ 58 (+383.33%)
Mutual labels:  voting
lead-terraform
Terraform modules and scripts to manage LEAD environments
Stars: ✭ 18 (+50%)
Mutual labels:  lead
sentiment-analysis-of-tweets-in-russian
Sentiment analysis of tweets in Russian using Convolutional Neural Networks (CNN) with Word2Vec embeddings.
Stars: ✭ 51 (+325%)
Mutual labels:  convolutional-neural-network
automatic-ecg-diagnosis
Scripts and modules for training and testing neural network for ECG automatic classification. Companion code to the paper "Automatic diagnosis of the 12-lead ECG using a deep neural network".
Stars: ✭ 156 (+1200%)
Mutual labels:  ecg
MobilECG-II
Open source ECG holter
Stars: ✭ 375 (+3025%)
Mutual labels:  ecg
e-voting-with-django
The Voting System web application using Django is a project that serves as the automated voting system of an organization or school. This system works like the common manual system of election voting system whereas this system must be populated by the list of the positions, candidates, and voters. This system can help a certain organization or s…
Stars: ✭ 54 (+350%)
Mutual labels:  voting
praxis
Social networking platform built with Next.js, Apollo GraphQL, and Prisma
Stars: ✭ 37 (+208.33%)
Mutual labels:  voting
FreeCodeCamp-Projects
This repo is for coders who are looking to contribute & participate in Hacktoberfest. Please do star the repo if y'all liked it!
Stars: ✭ 30 (+150%)
Mutual labels:  enhancement
TextDatasetCleaner
🔬 Очистка датасетов от мусора (нормализация, препроцессинг)
Stars: ✭ 27 (+125%)
Mutual labels:  preprocessing
fast-relay-pagination
Improve relay pagination performance with find and limit
Stars: ✭ 18 (+50%)
Mutual labels:  improvement
sparklanes
A lightweight data processing framework for Apache Spark
Stars: ✭ 17 (+41.67%)
Mutual labels:  preprocessing
Hefei ECG TOP1
“合肥高新杯”心电人机智能大赛 —— 心电异常事件预测 TOP1 Solution
Stars: ✭ 109 (+808.33%)
Mutual labels:  ecg
oxygenjs
This a JavaScript Library for the Numerical Javascript and Machine Learning
Stars: ✭ 13 (+8.33%)
Mutual labels:  preprocessing
BioAmp-v1.5
Upside Down Lab's Biopotential Amplifier v1.5 - Buy on Tindie at https://bit.ly/BioAmp-v1_5
Stars: ✭ 27 (+125%)
Mutual labels:  ecg
bPlayer
A great replacement for audio elements
Stars: ✭ 68 (+466.67%)
Mutual labels:  enhancement
MLLabelUtils.jl
Utility package for working with classification targets and label-encodings
Stars: ✭ 30 (+150%)
Mutual labels:  preprocessing
iirj
An efficient IIR filter library written in JAVA
Stars: ✭ 95 (+691.67%)
Mutual labels:  highpass-filter
DSMSCN
[MultiTemp 2019] Official Tensorflow implementation for Change Detection in Multi-temporal VHR Images Based on Deep Siamese Multi-scale Convolutional Neural Networks.
Stars: ✭ 63 (+425%)
Mutual labels:  convolutional-neural-network

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},
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].