Skip to main content

A PyTorch based package for data synthesis and machine learning of vessel extraction in volumetric OCT images (mus).

Project description

oct_vesselseg

This repository contains an implementation of computational geometry and domain randomization for synthesizing vascular structures and Optical Coherence Tomography (OCT) data. The project is inspired by the concepts and methodologies described in the SynthSeg project, adapted to the domain of vascular imaging.

Table of Contents

Introduction

This project focuses on generating synthetic datasets for training a 3D U-Net for the task of vasculature segmentation in OCT data. Using a cubic spline synthesis pipeline first established in SynthSpline, and many data augmentation techniques from Cornucopia this project employs domain-randomized synthesis to create structured labels, textures, and artifacts, enhancing the training of neural networks for vascular segmentation.

Getting Started

Requirements

  • Python x.x.x
  • PyTorch x.x.x
  • Cornucopia x.x.x
  • SynthSpline x.x.x
  • NumPy x.x.x
  • SciPy x.x.x
  • nibabel x.x.x
  • scikit-image x.x.x

Installation

Clone the repository and install the required dependencies:

git clone https://github.com/EtienenChollet/oct_vesselseg.git
cd oct_vesselseg
mamba install requirements.txt 

Usage

Vessel Synthesis

Synthesize the vascular labels for training.

python3 vesselsynth.py --vessel_labels path/to/vessel_labels

OCT Image Synthesis

Synthesize some examples of synthetic OCT images.

python3 imagesynth.py --vessel_labels path/to/vessel_labels

Training

Train the model on the vessel labels and on-the-fly OCT image synthesis. You may want to train multiple models, which are denoted by the --version flag.

python3 train.py --vessel_labels path/to/vessel_labels --version 1 --epochs 100 --batch-size 1

Inference

Run inference on compatable NIfTI data.

python3 inference.py --version 1 --in_fname path/to/raw_data --out_fname path/to/segmentation

Results

Here we provide some examples of synthetic vasculature generated by this method:

License

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

Acknowledgements

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oct_vesselseg-0.0.1.tar.gz (36.2 kB view hashes)

Uploaded Source

Built Distribution

oct_vesselseg-0.0.1-py3-none-any.whl (39.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page