Giter VIP home page Giter VIP logo

oct_preprocess's Introduction

OCT preprocessing: Fully Convolutional Boundary Regression for Retina OCT Segmentation

Introduction

The code provides image reading from raw Spectralis(.vol) and Cirrus(.img) and Matlab files (.mat). It supports retina flatten, cropping, reconstruction and visualization e.t.c

We provide Matlab preprocessing steps and results in the papers:

Fully Convolutional Boundary Regression for Retina OCT Segmentation (MICCAI2019)

Deep learning based topology guaranteed surface and MME segmentation of multiple sclerosis subjects from retinal OCT (BOE2019)

The paper's source code is patented and licensed thus will not be publicly available at current stage.

Getting Started

Prepare dataset

Diabetic macular edema dataset (download)

Healthy and Multiple Sclerosis dataset (download)

Flattening retina and save images

Healthy and MS subjects

  • Change ./hc/filename.txt and ./hc/segname.txt to contain your downloaded data volumes and delineations

  • Run ./Scripts/generate_hc_train('./hc/filename.txt','./hc/segname.txt')

DME

  • Change filenames in ./Scripts/generate_dme_train.m to contain your downloaded data and run

Each Bscans will be saved into 2D images (.png) and its manual labels are in Json format (.txt).

# The python code for reading manual labels
# self.labellist = sorted(list(Path('Your label path').glob('*.txt')))
with open(str(self.labellist[idx]),'r') as f:
    dicts = json.loads(f.read())
bds = np.array(dicts['bds'], dtype=np.float) - 1 
mask = np.array(dicts['lesion'])

MICCAI2019 results

  • Download the results and unzip it under the folder Evaluation

  • Healthy and MS evaluation: Run hc_eval.m

    Training: hc09-hc14 and ms13-ms21 (6 healthy and 9 MS, hc09, ms13, ms14 can be used for validation) Testing: hc01-hc08 and ms01-ms12 (8 healthy and 12 MS)

  • DME evaluation: Run dme_eval.m

    Standard 50%-50% split are used as in the literature with a fixed training epoch.

Citation

If you are using the healthy and MS dataset, please cite:

@article{he2019retinal,
  title={Retinal layer parcellation of optical coherence tomography images: Data resource for multiple sclerosis and healthy controls},
  author={He, Yufan and Carass, Aaron and Solomon, Sharon D and Saidha, Shiv and Calabresi, Peter A and Prince, Jerry L},
  journal={Data in brief},
  volume={22},
  pages={601--604},
  year={2019},
  publisher={Elsevier}
}

@inproceedings{he2019fully,
  title={Fully Convolutional Boundary Regression for Retina OCT Segmentation},
  author={He, Yufan and Carass, Aaron and Liu, Yihao and Jedynak, Bruno M and Solomon, Sharon D and Saidha, Shiv and Calabresi, Peter A and Prince, Jerry L},
  booktitle={International Conference on Medical Image Computing and Computer-Assisted Intervention},
  pages={120--128},
  year={2019},
  organization={Springer}
}

@article{he2020structured,
  title={Structured layer surface segmentation for retina OCT using fully convolutional regression networks},
  author={He, Yufan and Carass, Aaron and Liu, Yihao and Jedynak, Bruno M and Solomon, Sharon D and Saidha, Shiv and Calabresi, Peter A and Prince, Jerry L},
  journal={Medical Image Analysis},
  pages={101856},
  year={2020},
  publisher={Elsevier}
}

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.