/SegWithDistMap

How distance transform maps can assist medical image segmentation?

Primary LanguagePythonApache License 2.0Apache-2.0

3D Medical Image Segmentation With Distance Transform Maps

How distance transform maps can assist 3D medical image segmentation?

Motivation

Incorporating the distance Transform maps of image segmentation labels into CNNs-based segmentation tasks has received significant attention in 2019. These methods can be classified into two main classes in terms of the main usage of distance transform maps.

  • Designing new loss functions
  • Adding an auxiliary task, e.g. distance map regression

However, with these new methods on the one hand and the diversity of the specific implementations and dataset-related challenges on the other, it's hard to figure out which design can generalize well beyond the experiments in the original papers. Up to now, there is still no comprehensive comparison among these methods.

In this repository, we want to re-implement these methods (published in 2019) and evaluate them on the same 3D segmentation tasks (heart and liver tumor segmentation), so as to figure out the useful designs.

Related Work in 2019

New loss functions

Date First author Title Official Code Publication
2019 Yuan Xue Shape-Aware Organ Segmentation by Predicting Signed Distance Maps (arxiv) None AAAI 2020
2019 Hoel Kervadec Boundary loss for highly unbalanced segmentation pytorch MIDL 2019
2019 Davood Karimi Reducing the Hausdorff Distance in Medical Image Segmentation with Convolutional Neural Networks (arxiv) None TMI 2019

Auxiliary tasks

Date First author Title Official Code Publication
2019 Yan Wang Deep Distance Transform for Tubular Structure Segmentation in CT Scans None arxiv
2019 Shusil Dangi A Distance Map Regularized CNN for Cardiac Cine MR Image Segmentation (arxiv) None Medical Physics
2019 Fernando Navarro Shape-Aware Complementary-Task Learning for Multi-organ Segmentation (arxiv) None MICCAI MLMI 2019

The code of this repo is adapted from the following great repos.

The most powerful U-Net implementation.

The code is very friendly for pytorch beginners.