Git Product home page Git Product logo

cardio24's Introduction

cardio24

An Integrated Platform For Cardiac Health Diagnostics

Team: Instructors: Kuldeep Singh Rajput, Rohan Puri, Maulik Majmudar, M.D., Dr.Ramesh Raskar

Students: Harsha Vardhan Pokkalla, Aranya Goswami

Software required: MATLAB

Cardio24 Matlab scripts:

  1. afib_check : Function that takes ECG signal as input and outputs the observed morphologies which would help to identify abnormal parts of the input ECG signal.
  2. afib_input : Function that takes ECG signal as a file (txt file) and Sample Frequency as inputs, passes this data to 'afib_check' function and stores the outputs in a file (csv/json file)

Description of 'afib_check' Function:

This code is designed based on parameters of ECG signal (Fs, gain) given for MIT-BIH Database, PhysioNet. Adjust output parameters of this function based on need.

Inputs:

1. Input_ECG : Row/Column vector of the ECG signal (flag can be adjusted in the code)
2. Fs : Sampling Frequency of the ECG signal

Outputs:

1. x1 : Preprocessed ECG signal (DC subtracted, gain-reduced)
2. N : Length of the ECG signal
3. Morphs : 
    size: 1x12 vector 
    data: 12 Morphological values
          i.Max HR
          ii. Avg HR
          iii. Min HR
          iv. Total Number of QRS Complexes
          v. Number of Irregular Beats
          vi. Percentage of Irregular Beats
          vii.Number of Episodes with Consec Irregular Beats
          viii. Average PR Interval
          ix. Average QRS Interval
          x. Average QTc Interval
          xi.Number of P wave absences
          xii.Number of Episodes that has >4 consec P wave absences
4. Morphs_c :
    size: 1x12 vector 
    data: Normal/Abnormal condition based on above morphologies respectively
          Morphs_c(1,i) = 'Normal' or 'Abnormal'
5. time_markRint : 
    size: 1xN vector
    data: marks locations of Irregular Beats with HIGH/LOW. Here: 0.9/0
        time_markRint(1,i) = HIGH if Beat at 'i'th sample point is Irregular;Otherwise, LOW.
6. time_RR :
   size: 1xN vector
   data: Array of Beat to Beat Intervals 
        time_RR(1,i) = Interval from Beat at 'i'th sample point to Beat at 'i+1'th sample point.
7. P_abs : 
    size: 1xN vector
    data: marks locations of P wave absences with HIGH/LOW. Here: 0.3/0
8. time_RR2:
    size: 1xN vector
    data: marks the episodes of consecutive irregular beats with value of R_peak. 
9. R_loc:
    size: 1xnQRS vector  (nQRS is number of observed QRS complexes )
    data: locations of R peaks
10. R_value:
    size: 1xnQRS vector  (nQRS is number of observed QRS complexes )
    data: values of R peaks
11. S_loc:
    size: 1xnQRS vector  (nQRS is number of observed QRS complexes )
    data: locations of S peaks
12. S_value:
    size: 1xnQRS vector  (nQRS is number of observed QRS complexes )
    data: values of S peaks
13. Q_loc:
    size: 1xnQRS vector  (nQRS is number of observed QRS complexes )
    data: locations of Q peaks
14. Q_value,
    size: 1xnQRS vector  (nQRS is number of observed QRS complexes )
    data: values of Q peaks
15. T_loc:
    size: 1x(nQRS-1) vector  (nQRS is number of observed QRS complexes )
    data: locations of T peaks
16. T_value:
    size: 1x(nQRS-1) vector  (nQRS is number of observed QRS complexes )
    data: values of T peaks
17. P_loc:
    size: 1x(nQRS-1) vector  (nQRS is number of observed QRS complexes )
    data: locations of P peaks
18. P_value:
    size: 1x(nQRS-1) vector  (nQRS is number of observed QRS complexes )
    data: values of P peaks

FLOWCHARTS:

QRS Detection :

alt text

Rhythm Detection:

alt text

RESOURCES:

  1. ECG Data

    i) Physionet ATM Toolkit : https://physionet.org/cgi-bin/atm/ATM. This code is tested on 1 hour ECG signals from MIT-BIH Arrhythmia Database and QT Database

RESULTS:

On QT Database, Physionet: (Overall Accuracy)

          QRS Complex :  98.9%
          P Wave      :  96.5%
          Q Wave      :  94.3%

PQRST Detection:

alt text

Irregular Episode Detection on AFIB ECG Signal

alt text

cardio24's People

Contributors

harshavardhanp avatar mkumar118 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.