Skip to content

Latest commit

 

History

History
136 lines (123 loc) · 8.32 KB

tasks.md

File metadata and controls

136 lines (123 loc) · 8.32 KB

Analysis of Electrocardiograms via Artificial Neural Networks For a Reliable Assessment of a Possible Myocardial Infarction

Tools

Organization

Building new dataset

  • note: working with dataset will require approx. 3-4 GBs of RAM
    • change code to only load part of DS
  • datasets
  • reading in data from PTB-XL
    • check out "example_physionet.py"
  • collect ECG templates to superimpose graphs on
  • superimpose ECG lines on ECG template
    • start with single template, then expand
    • initial calibration mark: check "Calibration" under https://thoracickey.com/ecg-interpretation/
    • take care of paper speed
    • take care to map leads correctly to parts of ECG paper
    • there are different types of ECG (different number of leads)
      • standard and maximum is 12-lead (also lead type of PTB-XL); you can extract individual leads from that
  • stochastic data augmentation for images
  • physical ECG imitations
    • printing ECGs
      • only do after verified that all else taken care of
      • determine amount of ECGs to print
    • taking photos of ECGs
      • use some variety of cameras/phones
    • can take image of same ECG imitation from different angles, using different cameras/illumination conditions/backgrounds, etc.
      • again, need to label photos according to ECG imitation used to avoid data leakage from training into test set

Classification

  • preprocessing before feeding into neural network
    • downsizing
      • adaptive resizing, determined from "red cell" size on ECG paper?
    • increasing contrast
    • rectification
      • are there libraries for this?
      • alternatively, can add markers on paper for easier rectification (or even use red cells from ECG paper)
  • neural networks for classification
    • we need to be able to deal with thin lines; possible networks:
      • U-Net (add more skip connections?), U-Net++
      • DenseNet
      • GL-Dense-U-Net
    • split dataset into train/test/validation set & perform hyperparameter tuning
    • perform evaluation
    • compare networks
    • train different networks for 1-lead ECGs, etc.?
  • if time left/image-based neural networks have poor performance
    • try image to time series transcription algorithm
    • possible networks to use for time series:
      • RNN
      • LSTM
      • GRU
    • again: train different networks for 1-lead ECGs, etc.?
    • can compare performance to image-based neural networks
    • maybe try different classes/networks, report how well which classes work

Presentation

  • determine structure, e.g.
    • explain MI problematic & our idea
    • explain our approaches
    • explain challenges we faced
    • evaluation
    • web tool demo?
    • future work
  • evaluation: add diagrams/tables from evaluation of neural networks
  • web tool demo: add screenshots, maybe even short video
  • future work: create app for even quicker scans, ...

Web tool

  • for backend, reuse pipeline from https://algvrithm.com/face-generator/
  • add questionnaire form for symptoms to tackle NSTEMI issue/obtain more reliable diagnosis?
    • different symptoms for men and women; do research
  • add different translations?
    • build in a way that allows for easy translation
  • need to ask user the layout of the ECG/number of leads in the web tool to be sure
  • add some info about MIs on web tool page
  • add disclaimers

Questions and answers from the consultation hour for the project

  • From covid project: beware of parameters? most probably, beware of model overfitting with the neural network and how we label the dataset. Justify our understanding of the model's behaviours and interpretation of results.
  • For our project: Justify conceptual system by meta-analysis studies. ECGs legal implications, how to ensure privacy concerns in the webtool apps. For the disclaimer: check ETH spinoffs for the ones checking medical data. Check legal ecosystem via the spinoffs but not important at the moment. Ask Vaiva for asking the legal board of ETH. Recheck error types (false positives and negatives), compare with false positives/negatives in medicine. Maybe some image features provoke errors of a certain type. Model error propagation and (importantly) characterize different error types across models. Check how other health tools treat the asymmetry between type I error and type II error. Idea: visualize attention layer, then cross-check with expert (e.g. cardiologist) whether highlighted features are indeed indicative of an MI / a normal ECG. Important: Create ROC curve. Make different types of errors intuitively understandable for users on the website. Compare image (CNN)-based and time series-based ECG classification
  • From Cyber-sec: Make easy-to-understand problem formulation. Why this problem, and what insights are obtained.
  • From Weather-Traffic: Check how bias/variance can affect the model's prediction