Code Monkey home page Code Monkey logo

disease-classification-using-spline-representation-vcg's Introduction

Disease-classification-Using-Spline-Representation-VCG

Myocardial infarction (MI)-induced changes in the morphological and temporal wave features are extracted from the derived VCG using spline approximation.

After the feature extraction, a classifier based on multilayer perceptron network (MLP) is used for MI classification.

Experiments on PTB diagnostic database demonstrate that the proposed system achieved satisfactory performance to differentiating MI patients from healthy subjects and to localizing the infarcted area.

Details of this study please refer to ๐Ÿ‘‰ https://doi.org/10.3390/s20247246

System structure

This project implement only the latter part of the proposed system. (The other part will be added soon) image

Dataset

To automatically download the records from PTD database, please refer to ๐Ÿ‘‰ https://github.com/yuhung1206/Auto_download_PTB
image

Execution

  1. Spline-based feature extraction spline

    • Main program: SplineFeatureExtract.m

    • Sub programs: SplineFit_1lead_ECG.m, SplineFit_2lead_ECG.m, SplineFit_3lead_ECG.m, pan_tompkin.m

      image

      Code function
      SplineFit_klead_ECG.m extract feature from k leads & generate label for learning
      pan_tompkin.m [1][2] R-peak detection
      plotATM.m Load .mat and .info files
    • Get function "plotATM.m" from physionet website
      ๐Ÿ‘‰ https://archive.physionet.org/physiotools/matlab/plotATM.m

    • Get function "pan_tompkin.m"
      ๐Ÿ‘‰ https://www.mathworks.com/matlabcentral/fileexchange/45840-complete-pan-tompkins-implementation-ecg-qrs-detector

    • Set the lead_Num as [13,14,15] to extract features from VCG (Vx, Vy, Vz)
      image

    • Set Output Name & directory to store features
      image

    • Input filename make sure that input filename is correct
      image

    • Choose how many leads to extract:
      SplineFit_1lead_ECG.m -> 1 lead features(18 dimension)
      SplineFit_2lead_ECG.m -> 2 lead features(35 dimension)
      SplineFit_3lead_ECG.m -> 3 lead features(52 dimension)

      image

      • The setting to extract features from Vx+Vy leads is shown below: image
        and select the function SplineFit_2lead_ECG.m
        image
    • Start extraction

  2. Multi-Layer-Perceptron MLP
    Note: input are features rather than signals

    • Main program: Classification_SMOTE.m

    • Sub programs: mySMOTE.m

      Code function
      Classification_SMOTE.m FNN for classification
      mySMOTE.m deal with the imbalanced database
    • Get mySMOTE.m from [3] ๐Ÿ‘‰ https://www.mathworks.com/matlabcentral/fileexchange/70315-smote-over-sampling

      image

    • make sure InputName is correct:
      image

    • the classification performance will be stored in total variable:
      Because it is 12-type classification, the size of total is [12x12].

    • start training

      image

Reference

[1] Sedghamiz. H, "Matlab Implementation of Pan Tompkins ECG QRS detector.", March 2014. https://www.researchgate.net/publication/313673153_Matlab_Implementation_of_Pan_Tompkins_ECG_QRS_detect
[2] PAN.J, TOMPKINS. W.J,"A Real-Time QRS Detection Algorithm" IEEE TRANSACTIONS ON BIOMEDICAL ENGINEERING, VOL. BME-32, NO. 3, MARCH 1985.
[3] Abhishek Gupta (2021). SMOTE-over-Sampling (https://github.com/earthat/SMOTE-over-Sampling), GitHub. Retrieved September 11, 2021.

disease-classification-using-spline-representation-vcg's People

Contributors

yuhung1206 avatar

Stargazers

 avatar  avatar

Watchers

 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.