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
- SynthSeg, SynthSpline, and Cornucopia, for the inspiration and methodological foundation.
- Much of the computation resources required for this research was performed on computational hardware generously provided by the Massachusetts Life Sciences Center.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7a22774d41faf2f0c266ded8fc8590606c6cddcaed7f5e90176d716f686798a |
|
MD5 | 7c696e0a1cee56893aae49e3ab77f10f |
|
BLAKE2b-256 | 7ceb0b7f29624bdc4a81273a77ecadc10423939817af36ff8edcef64d19b085a |
File details
Details for the file oct_vesselseg-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: oct_vesselseg-0.0.1-py3-none-any.whl
- Upload date:
- Size: 39.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4f065d1f01f38bc0390bd8eb28c476ed01bf180f94fdbede329e93ee85870e3 |
|
MD5 | 4f6a794b4dda076c2c95bde50d43709f |
|
BLAKE2b-256 | dfa2733bae1326fe6e737bb8f98b0cbcf0fbfcd8f98dcd21d08346cd62ea03a1 |