A 2D and 3D PyTorch implementation of the Tiramisu CNN
This package is primarily used for multiple sclerosis (MS) lesion segmentation; specifically, T2 lesions in the brain.
- Free software: Apache Software License 2.0
- Documentation: https://tiramisu-brulee.readthedocs.io.
The easiest way to install the package is with:
pip install tiramisu-brulee
Alternatively, you can download the source and run:
python setup.py install
If you want a CLI to train a lesion segmentation model
(or work with anything in the experiment
subpackage), install with:
pip install "tiramisu-brulee[lesionseg]"
Import the 2D or 3D Tiramisu version with:
from tiramisu_brulee.model import Tiramisu2d, Tiramisu3d
If you install tiramisu-brulee with [lesionseg]
extras, then you
can train a lesion segmentation Tiramisu CNN and predict with:
lesion-train ... lesion-predict ... lesion-predict-image ...
Use the --help
option to see the arguments. See the documentation for a
tutorial on how to use the CLIs.
[1] Jégou, Simon, et al. "The one hundred layers tiramisu: Fully convolutional densenets for semantic segmentation." CVPR. 2017.
[2] Zhang, Huahong, et al. "Multiple sclerosis lesion segmentation with Tiramisu and 2.5D stacked slices." International Conference on Medical Image Computing and Computer-Assisted Intervention. Springer, Cham, 2019.
Why is the name tiramisù-brûlée? Well, tiramisù is named after the neural network [1] whose name is inspired by the dessert; however, tiramisu—by itself—was already taken as a package on PyPI. I added brûlée to get around the existence of that package and because this package is written in PyTorch (torch -> burnt). Plus brûlée in English is often associated with the dessert crème brûlée. Why combine an Italian word (tiramisù) with a French word (brûlée)? Because I didn't think about it until after I already deployed the package to PyPI.