GithubHelp home page GithubHelp logo

amine-mih-dev / multitask-vision-ecg Goto Github PK

View Code? Open in Web Editor NEW

This project forked from biodatlab/multitask-vision-ecg

1.0 0.0 0.0 4.56 MB

Application for 12-lead ECG prediction and questionnaire. Demo website ↓

Home Page: https://hatai-ai.pages.dev/

JavaScript 0.17% Python 6.94% TypeScript 7.60% CSS 0.12% Jupyter Notebook 85.17%

multitask-vision-ecg's Introduction

Computer vision-based myocardial scar and left ventricular ejection fraction classification for 12-lead electrocardiography scans using a multi-task deep neural network

  • Background: Myocardial scar (MS) and left ventricular ejection fraction (LVEF) are important cardiovascular parameters. Cardiac magnetic resonance (CMR) can accurately access MS and LVEF, but it is costly and often unavailable in limited-resource settings. Electrocardiogram (ECG) is a widely used alternative due to its affordability and availability. The most commonly used ECG devices produce a printed image that is manually read. Alternatively, computer-based ECG interpretation could yield broad and far-reaching benefits.
  • Methods: Our study describes the development of a computer vision-based multi-task deep learning prediction model to read ECG scan images to distinguish MS and LVEF. Multiple deep learning models were developed on retrospective dataset of 14,052 ECGs with corresponding ground truth labels from CMR, which were separated into training, development, and test datasets. We also added clinical features to the model to compare the prediction performance. Our models were evaluated on the test dataset, prevalence-specific dataset, and against cardiologists.
  • Findings: Our best model, the multi-task with clinical features, which yielded an area under the receiver operating curve of 0·848 (95%CI: 0·822 - 0·871) and 0·939 (95%CI: 0·921 - 0·954) for MS and LVEF classification, respectively, outperformed cardiologists. The AUC for MS classification of the multi-task both formats models was 0·835 (95%CI: 0·828 - 0·843) in the prevalence-specific test dataset. Interpretation: Our results demonstrate the potential of computer-based MS and LVEF classification from ECG scan images in clinical screening. Our results demonstrate the potential of computer-based MS and LVEF classification from ECG scan images in clinical screening.

Repository structure

  • mtecg: core library for multi-task MS and LVEF classification
  • notebooks: Jupyter notebooks for experiments
  • app: frontend and backend code for the screening application

Multi-task ECG Classification

mtecg contains a core library for multi-task MS and LVEF classification. This include the preprocessing pipeline, model architecture, and evaluation scripts.

Experiment notebooks

notebooks contains Jupyter notebooks for experiments including:

  • Multi-task MS and LVEF classification
  • Transferred Multi-task MS and LVEF classification
  • Single-task MS and LVEF classification
  • Multi-task MS and LVEF classification with clinical data

Screening application

app folder contains the frontend and backend code for the screening application (in Thai). We design a UI for the application using NEXT.js and implement the backend using FastAPI.

multitask-vision-ecg's People

Contributors

bluenex avatar nameatirut avatar titipata avatar wins1502 avatar noppawat-tantisiriwat avatar

Stargazers

amine mihoubi 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.