Giter Club home page Giter Club logo

automorph's Introduction

AutoMorph 2022 ๐Ÿ‘€

--Code for AutoMorph: Automated Retinal Vascular Morphology Quantification via a Deep Learning Pipeline.

Please contact [email protected] or [email protected] if you have questions.

badge-logo badge-logo

Project website: https://rmaphoh.github.io/projects/automorph.html

Talks on NIHR Moorfields BRC: https://moorfieldsbrc.nihr.ac.uk/case-study/research-report/

News ๐Ÿ‘€

2024-06-27 update: pytorch 2.3 & python 3.11 supported; Mac M2 GPU supported; CPU supported (thanks to staskh)

2023-08-24 update: Added feature measurement for disc-centred images; removed unused files. ย 

Pixel resolution

The units for vessel average width, disc/cup height and width, and calibre metrics are defined as microns. For it, we need to organise a resolution_information.csv which includes the pixel resolution information, which can be queried in FDA or Dicom files. Alternatively, approximate value can be used, e.g., 0.008 for Topcon 3D-OCT.

If you don't use these features or care their units, you can put all images in the folder ./images and run

python generate_resolution.py

ย 

Running AutoMorph

Running with Colab

Use the Google Colab and a free Tesla T4 gpu Colab link click.

Running on local/virtual machine

Install and use on your own machines LOCAL.md.

Running with Docker

Zero experience in Docker? No worries DOCKER.md.

ย 

Common questions

Environment variables

A few optional environment variables are available for all pipelines:

  • AUTOMORPH_DATA : the directory where the Results are stored. If not defined, the "Results" subdirectory is created in the current directory. If AUTOMORPH_DATA defined outside of source directory (for example, /tmp/AutoMorh ) source directory can be made read-only - for deployment inside of AWS Lambda.
  • NUM_WORKERS : defines a number of workers for the dataloader. The default is 8. If NUM_WORKERS is set to 0, the dataloader will be single-threaded.

Memory/ram error

We use Tesla T4 (16Gb) and 32vCPUs (120Gb). When you meet memory/ram issue in running, try to decrease batch size:

  • ./M1_Retinal_Image_quality_EyePACS/test_outside.sh -b=64 to smaller, e.g., 32 or 16.
  • ./M2_Artery_vein/test_outside.sh --batch-size=8 to smaller
  • ./M2_lwnet_disc_cup/test_outside.sh --batchsize=8 to smaller

Invalid results

In csv files, invalid values (e.g., optic disc segmentation failure) are indicated with -1.

Components

  1. Vessel segmentation BF-Net

  2. Image pre-processing EyeQ

  3. Optic disc segmentation lwnet

  4. Feature measurement retipy

ย 

Citation

@article{zhou2022automorph,
  title={AutoMorph: Automated Retinal Vascular Morphology Quantification Via a Deep Learning Pipeline},
  author={Zhou, Yukun and Wagner, Siegfried K and Chia, Mark A and Zhao, An and Xu, Moucheng and Struyven, Robbert and Alexander, Daniel C and Keane, Pearse A and others},
  journal={Translational vision science \& technology},
  volume={11},
  number={7},
  pages={12--12},
  year={2022},
  publisher={The Association for Research in Vision and Ophthalmology}
}

automorph's People

Contributors

rmaphoh avatar staskh avatar sambutlersoftwire avatar liutiming 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.