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.
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.
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.
Author: Ryan Cabeen, [email protected]
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.