Package: tiramisu-brulee
tiramisù-brûléeA 2D and 3D PyTorch implementation of the Tiramisu CNNThis package is primarily used for multiple sclerosis (MS) lesion segmentation; specifically, T2 lesions in the brain.Free software: Apache Software License 2.0Documentation:https://tiramisu-brulee.readthedocs.io.InstallThe easiest way to install the package is with:pip install tiramisu-bruleeAlternatively, you can download the source and run:python setup.py installIf you want a CLI to train a lesion segmentation model
(or work with anything in theexperimentsubpackage), install with:pip install "tiramisu-brulee[lesionseg]"Basic UsageImport the 2D or 3D Tiramisu version with:fromtiramisu_brulee.modelimportTiramisu2d,Tiramisu3dIf 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--helpoption 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.History0.2.2 (2022-01-19)Remove transpose convolution option in when using interpolate upsampling0.2.1 (2022-01-19)Cleanup MakefileAdd interpolation resize test0.2.0 (2022-01-11)Add option to upsample with interpolation instead of transpose conv.Remove separate padding layer and use conv. built-in paddingImprovements to ONNX converter0.1.37 (2021-12-16)Improve type annotations0.1.36 (2021-12-01)Fix validation logging in MLFlow0.1.35 (2021-11-30)Add support for deterministic validation patches0.1.34 (2021-11-19)Add support for banditFix warning filter for dataloader0.1.33 (2021-11-18)Add support for a dataset that can prevent a known PyTorch/Python memory leak issue0.1.32 (2021-11-16)Fix bug in prediction where data not transferred to GPU0.1.31 (2021-11-16)Updates to support pytorch-lightning~=1.5.10.1.30 (2021-11-15)Add option to change label sampling probabilitiesBump pip version in requirements_dev.txt for security0.1.29 (2021-11-02)Support dicom images in lesion-predictChange logger.warnings to warnings.warnRemove deprecation warning for floor divide in torch in patch-based prediction0.1.28 (2021-11-01)Add commit hash logger function to tag MLFlow runsSave configuration files to MLFlowAdd option to save top K checkpoints0.1.27 (2021-10-12)Add union and voting aggregation to prediction and other minor bug fixes0.1.26 (2021-08-09)Reformat with newer version of black (v21.7b0)Change toevery_n_epochsinModelCheckpointsinceevery_n_val_epochswill be deprecated0.1.25 (2021-08-06)Detect and use tensorboard directory (/opt/ml/output/tensorboard) for logging on SageMaker0.1.24 (2021-08-06)Add experiment and trial name as options to explicitly specify artifact locations0.1.23 (2021-08-04)Change AWS option to just MLFlowCompliant with mypyOther minor bug fixes and fix docs0.1.22 (2021-07-30)Add AWS extras (MLFlow andtrainandserveconsole scripts)Add option to resample images within a subject for consistent orientationAdd optional check of DICOM images to determine if they are uniformly sampledMake package compatible with Python 3.6 and 3.9Split CLI functions into a subpackage for better organization0.1.21 (2021-07-27)Add MLFlow logging optionAdd support for reading DICOM images and writing DICOM (Segmentation Objects)Fix some type hints and make pos_weight a vector of length 10.1.20 (2021-07-25)Make reorientation to canonical optionalAdd option to track best network on validation Dice, PPV, loss, or ISBI15 scoreUnify and simplify the positive weight in focal/bce component of combo lossChange flip in spatial augmentation to only do lateral flipsFix predict_probability flag in CLI0.1.19 (2021-07-22)Fix Dice score component of almost_isbi15_score metric0.1.18 (2021-06-30)Fix reorientation to original orientation from canonical in prediction.0.1.17 (2021-06-11)Migrate to Github actions for testing and deployment.0.1.16 (2021-06-11)Add support for training with all orientations. Convert all inputs to canonical
orientation before input to network in training and prediction (and convert back
to original orientation in prediction before saving).0.1.15 (2021-06-05)Add multi-class segmentation support, headers to predictions, and other bug fixes.0.1.14 (2021-06-03)Bug fixes for training multiple models, remove unintended restriction on column names0.1.13 (2021-05-31)Fix a bug when using pseudo3d_dim == 0.0.1.12 (2021-05-31)Fix bug with patch-based prediction and add support for training/predicting with networks
with differing pseudo3d dimensions.0.1.11 (2021-05-30)Add better prediction support for pseudo3d networks.0.1.10 (2021-05-29)Add CLI usage documentation and fix some minor bugs/typos.0.1.9 (2021-05-28)Add pseudo3d (2.5D) support and patch-based prediction0.1.8 (2021-05-27)Fix ISBI 15 score metric0.1.7 (2021-05-25)Add precision to arguments for prediction0.1.6 (2021-05-25)Improve documentation0.1.5 (2021-05-25)Add docs and split out CLIs from seg module0.1.4 (2021-05-13)Add lesion segmentation CLI.0.1.3 (2021-05-13)Fix deployment by fixing repo name in travis.0.1.2 (2021-05-13)Fix supported versions and docs.0.1.1 (2021-05-13)Fix tests and deployment.0.1.0 (2021-05-13)First release on PyPI.