All Projects → truongnmt → DeepECG

truongnmt / DeepECG

Licence: MIT license
Using deep learning to detect Atrial fibrillation

Programming Languages

Jupyter Notebook
11667 projects
PHP
23972 projects - #3 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to DeepECG

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 (+524%)
Mutual labels:  ecg, atrial-fibrillation
Preprocessing-Method-for-STEMI-Detection
Official source code of "Preprocessing Method for Performance Enhancement in CNN-based STEMI Detection from 12-lead ECG"
Stars: ✭ 12 (-52%)
Mutual labels:  ecg, electrocardiogram
ECG analysis
No description or website provided.
Stars: ✭ 32 (+28%)
Mutual labels:  ecg, ecg-qrs-detection
invoices-cli
Generates html and pdf invoices using html template files, CSV databases for products, clients, and transactions
Stars: ✭ 34 (+36%)
Mutual labels:  csv
antropy
AntroPy: entropy and complexity of (EEG) time-series in Python
Stars: ✭ 111 (+344%)
Mutual labels:  signal
csv2latex
🔧 Simple script in python to convert CSV files to LaTeX table
Stars: ✭ 54 (+116%)
Mutual labels:  csv
amanuensis
The Amanuensis is an automated songwriting and recording system aimed at ridding the process of anything left-brained, so one need never leave a creative, spontaneous and improvisational state of mind, from the inception of the song until its final master. See the README for instructions and feel free to message me at soundcloud.com/to_the_sun.
Stars: ✭ 30 (+20%)
Mutual labels:  rhythm
clap-detection
Simple clap rhythm detection on Raspberry Pi using Csound and Python. Toy example.
Stars: ✭ 29 (+16%)
Mutual labels:  rhythm
osx-callhistory-decryptor
macOS (incl big sur) call history decryptor/converter to CSV format.
Stars: ✭ 19 (-24%)
Mutual labels:  csv
signalstickers-client
⚙️🐍 A Python client for the Signal stickers API
Stars: ✭ 48 (+92%)
Mutual labels:  signal
pypi-tools
Command-line Python scripts to do things with PyPI
Stars: ✭ 18 (-28%)
Mutual labels:  csv
Rhythm-CB-Scripts
Collection of scripts for use with Carbon Black Cb Response API
Stars: ✭ 14 (-44%)
Mutual labels:  csv
yt-videos-list
Create and **automatically** update a list of all videos on a YouTube channel (in txt/csv/md form) via YouTube bot with end-to-end web scraping - no API tokens required. Multi-threaded support for YouTube videos list updates.
Stars: ✭ 64 (+156%)
Mutual labels:  csv
ECG-Heartbeat-Classification-seq2seq-model
Inter- and intra- patient ECG heartbeat classification for arrhythmia detection: a sequence to sequence deep learning approach
Stars: ✭ 125 (+400%)
Mutual labels:  ecg
starling2freeagent
Convert Starling Bank CSV format to be imported by FreeAgent
Stars: ✭ 25 (+0%)
Mutual labels:  csv
stock-market-scraper
Scraps historical stock market data from Yahoo Finance (https://finance.yahoo.com/)
Stars: ✭ 110 (+340%)
Mutual labels:  csv
Hefei ECG TOP1
“合肥高新杯”心电人机智能大赛 —— 心电异常事件预测 TOP1 Solution
Stars: ✭ 109 (+336%)
Mutual labels:  ecg
BioAmp-v1.5
Upside Down Lab's Biopotential Amplifier v1.5 - Buy on Tindie at https://bit.ly/BioAmp-v1_5
Stars: ✭ 27 (+8%)
Mutual labels:  ecg
csv-nix-tools
List system information as CSV, manipulate it, pretty print, or export.
Stars: ✭ 22 (-12%)
Mutual labels:  csv
rdf-parser-csvw
CSV on the Web parser
Stars: ✭ 15 (-40%)
Mutual labels:  csv

DeepECG

Basic Overview

Atrial Fibrillation detection with a deep probabilistic model. Backend for Diagnose Report app. Use PhysioNet dataset for model training and testing.

Dependencies

The following dependencies are required.

Demo

Demo from the frontend: Diagnose Report app.

Sign Up Dashboard Report detail Create report

Usage

I have already ran training for you. You can use the saved model in dirichlet_model folder to predict right away. But make sure to change the path in direchlet_model/checkpoint according to your path.

If you want to train again by yourself, run this following notebook file: dirichlet_model_training.ipynb, download the dataset and start training. Notice that on 1000 epochs, the training will take some time. Mine took about 8-9 hours on Tesla K80.

For the project I'm working on, I create some shell file and python files to convert and predict stuffs.

  • To predict whether an image is AF (Atrial Fibrillation) or not:
predict <image file path>

It will return something like this

[{'target_pred': {'A': 0.021675685, 'NO': 0.9783243},
  'uncertainty': 0.0073926448822021484}]

Which A is – Atrial fibrillation N – Normal rhythm, O – Other rhythm, so NO is no problem.

See more in test.ipynb for more test case and example.

  • To generate image from csv:
gnuplot -e "fileIn='csv/04015.csv'; fileOut='uploads/04015.png'" csv2img.gnuplot
  • To convert single file to csv and image:
./raw2img <filename without extension>
  • To convert image to csv:
python img2csv.py '<full path to file>'
  • To convert MAT to csv:
python mat2csv.py "raw/A00001.mat"
  • To convert csv to signal, with Gain equal 1000, Frequency 300Hz. Notice that you can specify -f mean from which line (remove if from beginning of file) and also -t mean to which line.
wrsamp -i raw/A00001.csv -o raw/A00001-converted -G 1000 -F 300 -z
  • To convert signal back to MAT:
wfdb2mat -r raw/A00001-converted

License

This project is licensed under the terms of the MIT license.

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].