Skip to contents

Thinning (also called skeletonization) reduces a binary image of a shape to a one-pixel-wide centerline that preserves the shape's topology. thinr provides multiple thinning algorithms behind a single dispatching function.

Algorithms

  • zhang_suen — Zhang & Suen (1984). Fast, well-known, matches the algorithm in EBImage::thinImage. Default.

  • guo_hall — Guo & Hall (1989). Often better corner preservation than Zhang-Suen on diagonal features.

  • lee — Lee, Kashyap & Chu (1994), 2-D adaptation. Four directional sub-iterations with crossing-number Euler-invariance.

  • k3m — Saeed et al. (2010). Six-phase lookup-table thinning; strong corner preservation.

Drop-in compatibility

thinImage() matches the signature of EBImage::thinImage(). Code that uses EBImage::thinImage can switch to thinr::thinImage with no other changes.

Choosing an algorithm

See vignette("choosing-a-method", package = "thinr") for guidance on which algorithm to pick for which kind of image.

Author

Maintainer: Bill Denney wdenney@humanpredictions.com (affiliation: Human Predictions, LLC)

Authors: