tiramisù-brûlée

https://img.shields.io/pypi/v/tiramisu_brulee.svg Documentation Status https://img.shields.io/badge/code%20style-black-000000.svg

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.

Install

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]"

Basic Usage

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.

References

[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 the name?

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.