/heysaw

Retinal Disease (CNV, DME, DRUSEN, NORMAL) Diagnosis Tool

Primary LanguageJupyter NotebookMIT LicenseMIT

heysaw Build Status DOI License: MIT

Retinal Diseases (CNV, DME, DRUSEN, NORMAL) Diagnoses Tool

Introduction

Why do we use OCT Images?

Optical Coherence Tomography (OCT) provides ophthalmologists with a great convenience in the diagnosis and follow-up of macular diseases. The OCT uses light waves to display the retinal section in detail while shooting. During this process, X-rays and radiation of sufficient magnitude that may have a negative effect on patients are not emitted. OCT is also preferred in the field of ophthalmology since it provides real-time and non-invasive imaging.

What is the importance of CNV, DME, DRUSEN diseases?

Age-Related Macular Degeneration (AMD) occurs as a result of the inactivation and degeneration of photoreceptor cells in the macula. AMD; It is a disease that affects “central sharp vision” in reading, sewing and driving, and is one of the leading causes of irreversible vision loss. DRUSEN is a characteristic finding that plays a key role in the transition to the advanced stages of AMD. Therefore, slowing or stopping AMD can be achieved by early detection of DRUSEN disease. In most AMD cases, visual loss occurs due to choroidal neovascularization (CNV) in the subfoveal region. According to a study of young patients, 62% of people with myopia have CNV disease at the same time. Since CNV is usually subfoveal, CNV needs to be treated to maintain central vision. Another major cause of visual impairment is Diabetic Macular Edema (DME). DME is a disease caused by the destruction of the internal blood-retinal barrier.

General Aim of heysaw Project

Equally to all people in the world; providing fast, high accurate, easy-to-use and free medical software.

"Goodness Is All You Need"

Demo

demo-gif

Install Dependecies

Create Conda environment and activate it

conda create -n heysaw python=3.8
conda activate heysaw


Download codes

git clone https://github.com/Goodsea/heysaw
cd heysaw


Install dependecies for CPU

pip install -r requirements.txt

Install dependecies for Nvidia-GPU (required CUDA-11 and CUDNN-8.0.4)

pip install -r requirements_gpu.txt


Run the best pretrained model on localhost.

python app.py

Argument Options

 |  --width    |  INT   |  Target Image Width.        |  Default is 256                        |
 |  --height   |  INT   |  Target Image Height.       |  Default is 256                        |
 |  --channel  |  INT   |  Target Image Channel.      |  Default is 1                          |
 |  --path     |  STR   |  Best Model Location Path.  |  Default is `models/heysaw_fold_1.h5`  |
 |  --save     |  BOOL  |  Save Uploaded Image.       |  Default is False                      |
 |  --port     |  INT   |  WSGIServer Port Number.    |  Default is 5000                       |
Important points
  • Target Image Shape must compatible with model.
  • To reduce storage usage, Default {args.save} is False.
  • Make sure there is no port conflict.

Dataset

"Labeled Optical Coherence Tomography (OCT) and Chest X-Ray Images for Classification" (Version 2) (OCT2017.tar.gz) Dataset was used in this project.

Citation: http://dx.doi.org/10.17632/rscbjbr9sj.2
Kermany, Daniel; Zhang, Kang; Goldbaum, Michael (2018), “Labeled Optical Coherence Tomography (OCT) and Chest X-Ray Images for Classification”, Mendeley Data, v2

Performance

Training - Validation Losses

Model Accuracy Graph - 0. Fold.png Model Accuracy Graph - 1. Fold.png Model Accuracy Graph - 2. Fold.png
Model Loss Graph - 0. Fold.png Model Loss Graph - 1. Fold.png Model Loss Graph - 2. Fold.png

Basic CPU-GPU Speed Comparison

hardware_speed_comparison_table.PNG

Confusion Matrix

confusion_matrix.png

License

This project is licensed under MIT License - see the LICENSE file for details.

Acknowledgements

Contact

E-mail: kutsal_baran@hotmail.com