Multilabel image segmentation (color/gray/multichannel) based on the Potts model (aka piecewise constant Mumford-Shah model)
Matlab Java Mathematica
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Auxiliary
Data
Demos
Docs
Java
Plugins
Potts
Potts2D
Sparsity
Tikhonov
License.txt
README.md
installPottslab.m

README.md

Pottslab

Pottslab is a Matlab/Java toolbox for the reconstruction of jump-sparse signals and images using the Potts model (also known as "piecewise constant Mumford-Shah model" or "l0 gradient model"). Applications include denoising of piecewise constant signals, step detection and segmentation of multichannel image.

-- See also the Pick of the Week by Mathworks --

Application examples

Segmentation of vector-valued images

  • Supports segmentation of vector-valued images (e.g. multispectral images, feature images)
  • Linear complexity in number of color channels
  • Label-free: No label discretization required

Vector-valued segmentation

Left: A natural image; Right: Result using Potts model

Vector-valued segmentation

Texture segmentation using highdimensional curvelet-based feature vectors

Used as segmentation method in

Joint image reconstruction and segmentation

  • Applicable to many imaging operators, e.g. convolution, Radon transform, MRI, PET, MPI: only implementation of proximal mapping reuqired - Supports vector-valued data - Label-free: Labels need NOT be chosen a-priori

Phantom Phantom Phantom

Left: Shepp-Logan phantom; Center: Filtered backprojection from 7 angular projections; Right: Joint reconstruction and segmentation using the Potts model from 7 angular projections

Denoising of jump-sparse/piecewise-constant signals, or step detection/changepoint detection

  • L1 Potts model is robust to noise and to moderately blurred data
  • Fast and exact solver for L1 Potts model
  • Approximative strategies for severely blurred data

Phantom

Top: Noisy signal; Bottom: Minimizer of Potts functional (ground truth in red)

Used as step detection algorithm in

Installation

Quickstart:

  • Run the script "installPottslab.m", it should set all necessary paths
  • For best performance, increase Java heap space in the Matlab preferences (MATLAB - General - Java heap memory)
  • Run a demo from the Demos folder

Troubleshooting:

Plugins for Image Analysis GUIs

Parts of Pottslab can be used without Matlab as pure Java plugins

  • Icy plugin - an interactive image segmentation plugin based on Pottslab (written by Vasileios Angelopoulos)
  • ImageJ plugin - an ImageJ frontend for Pottslab (written by Michael Kaul)

References

  • M. Storath, A. Weinmann, J. Frikel, M. Unser. "Joint image reconstruction and segmentation using the Potts model" Inverse Problems, 2015
  • A. Weinmann, M. Storath. "Iterative Potts and Blake-Zisserman minimization for the recovery of functions with discontinuities from indirect measurements." Proceedings of The Royal Society A, 471(2176), 2015
  • A. Weinmann, M. Storath, L. Demaret. "The L1-Potts functional for robust jump-sparse reconstruction" SIAM Journal on Numerical Analysis, 2015
  • M. Storath, A. Weinmann. "Fast partitioning of vector-valued images" SIAM Journal on Imaging Sciences, 2014
  • M. Storath, A. Weinmann, L. Demaret. "Jump-sparse and sparse recovery using Potts functionals" IEEE Transactions on Signal Processing, 2014