Package: thinr 0.2.0

Bill Denney

thinr: Binary Image Thinning Algorithms

Thinning (skeletonization) algorithms for binary raster images. Provides seven algorithms behind a single dispatching function: Zhang-Suen (Zhang and Suen 1984) <doi:10.1145/357994.358023>, Guo-Hall (Guo and Hall 1989) <doi:10.1145/62065.62074>, a 2-D adaptation of Lee (Lee, Kashyap, and Chu 1994) <doi:10.1006/cgip.1994.1042>, K3M (Saeed, Tabedzki, Rybnik, and Adamski 2010) <doi:10.2478/v10006-010-0024-4>, the parallel form commonly attributed to Hilditch (1969, in 'Machine Intelligence 4'), OPTA / SPTA (Naccache and Shinghal 1984), and Holt and colleagues (1987) <doi:10.1145/12527.12531>. Also provides the medial axis transform (Blum 1967) and a distance transform implementation following Felzenszwalb and Huttenlocher (2012) <doi:10.4086/toc.2012.v008a019>. The thin() API selects the algorithm by name, defaulting to Zhang-Suen. Complements the morphology in the 'EBImage' package, which does not provide a thinning operator.

Authors:Bill Denney [aut, cre]

thinr_0.2.0.tar.gz
thinr_0.2.0.zip(r-4.7)thinr_0.2.0.zip(r-4.6)thinr_0.2.0.zip(r-4.5)
thinr_0.2.0.tgz(r-4.6-x86_64)thinr_0.2.0.tgz(r-4.6-arm64)thinr_0.2.0.tgz(r-4.5-x86_64)thinr_0.2.0.tgz(r-4.5-arm64)
thinr_0.2.0.tar.gz(r-4.7-arm64)thinr_0.2.0.tar.gz(r-4.7-x86_64)thinr_0.2.0.tar.gz(r-4.6-arm64)thinr_0.2.0.tar.gz(r-4.6-x86_64)
thinr_0.2.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
thinr/json (API)

# Install 'thinr' in R:
install.packages('thinr', repos = c('https://humanpred.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/humanpred/thinr/issues

Pkgdown/docs site:https://humanpred.github.io

Uses libs:
  • c++– GNU Standard C++ Library v3

On CRAN:

Conda:

cpp

4.60 score 443 downloads 3 exports 1 dependencies

Last updated from:551e54a488. Checks:13 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64OK151
linux-devel-x86_64OK147
source / vignettesOK221
linux-release-arm64OK159
linux-release-x86_64OK151
macos-release-arm64OK119
macos-release-x86_64OK222
macos-oldrel-arm64OK143
macos-oldrel-x86_64OK246
windows-develOK146
windows-releaseOK152
windows-oldrelOK136
wasm-releaseOK162

Exports:distance_transformmedial_axisthin

Dependencies:Rcpp

Choosing a thinning method
What's implemented | A quick visual comparison | When to use which | Small isolated blobs | Medial axis transform | Distance transform | Inputs and outputs | Performance | References | Thinning | Survey | Medial axis and distance transform

Last update: 2026-07-04
Started: 2026-05-16

Correctness properties: edge handling, connectivity, and boundary cases
Scope | 1. Edge handling: shapes that touch the frame | 2. Connectivity: thin strokes must not fragment | 3. Distance transform with no background pixel | 4. Invalid input fails loudly | Summary | References

Last update: 2026-07-04
Started: 2026-07-04