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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file oct_vesselseg-0.0.1.tar.gz.

File metadata

  • Download URL: oct_vesselseg-0.0.1.tar.gz
  • Upload date:
  • Size: 36.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.12

File hashes

Hashes for oct_vesselseg-0.0.1.tar.gz
Algorithm Hash digest
SHA256 d7a22774d41faf2f0c266ded8fc8590606c6cddcaed7f5e90176d716f686798a
MD5 7c696e0a1cee56893aae49e3ab77f10f
BLAKE2b-256 7ceb0b7f29624bdc4a81273a77ecadc10423939817af36ff8edcef64d19b085a

See more details on using hashes here.

File details

Details for the file oct_vesselseg-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for oct_vesselseg-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c4f065d1f01f38bc0390bd8eb28c476ed01bf180f94fdbede329e93ee85870e3
MD5 4f6a794b4dda076c2c95bde50d43709f
BLAKE2b-256 dfa2733bae1326fe6e737bb8f98b0cbcf0fbfcd8f98dcd21d08346cd62ea03a1

See more details on using hashes here.

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