cabeen / neu-net

A flexible and practical software package for applying U-net models to biomedical 3D image segmentation tasks.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

neU-net

This package provides tools for U-net segmentation of biomedical imaging data. This is a typical implementation of the U-net architecture in PyTorch with additional functionality for running experiments and deploying models to run in imaging studies. The name is an abbreviation of "neural U-net" since it was developed for a variety of neuroimaging tasks.

Design

The general approach taken by the package can be outlined as follows:

  • Train a the model with a first batch of data for some number of epoches
  • Validate the resulting models with second batch of data to determine the optimal model
  • Test the optimal model with a third batch to estimate the accuracy in practical usage

There are additional features to know about:

  • Creating mosaic plots for quickly viewing 3D volumes
  • Handling multi-channel data
  • Data augmentation by shifting, flipping, etc.
  • Multi-slice learning of 2D images

You can learn more about the architecture by checking out the original MICCAI paper or this nice lecture. This work was inspired by the approach in this paper and repo.

Requirements

This package is implemented in Python, and you can find the required packages in the reqs.txt file. I recommend you create a virtual environment, using either Anaconda or Python venv.

Acknowledgements

Author: Ryan Cabeen, cabeen@gmail.com

This work is supported by the CZI Imaging Scientist Award Program, under grant number 2020-225670 from the Chan Zuckerberg Initiative DAF, an advised fund of Silicon Valley Community Foundation.

About

A flexible and practical software package for applying U-net models to biomedical 3D image segmentation tasks.

License:MIT License


Languages

Language:Python 87.4%Language:Shell 12.6%