StrataQuest Home StrataQuest Glossary Skeleton & spur operations
Image Processing & Correction

Skeleton & spur operations

Reduce a region to its centerline, then prune what doesn't belong

Definition
A skeleton is a 1-pixel-wide representation of a binary maskLoading..., with each foreground region thinned to its medial axis — the set of pixels roughly equidistant from the region's two nearest boundaries. Producing the skeleton is the Skeleton engine; the result is a maskLoading... that's structurally a graph, with three pixel types: end points (skeleton pixels with one neighbor), branch points (skeleton pixels with three or more neighbors), and edge pixels (the lines connecting them). The remaining seven engines manipulate this graph: branch points and end points extract just those pixel sets; remove spurs, remove spurs (by angle), shorten spurs, and extend spurs prune or grow the dangling branches; split breaks the graph at branch points into separate components. All eight share the same data structure: a thin mask interpreted as a graph.
Supporting
Measurements Mask - Cellular
Video · Supporting
Three kinds of pixel in a skeleton
End point, branch point, edge
A spur is a short branch ending at an end point
Sometimes structural, sometimes incidental
Split converts a skeleton into separate components
Cut at every branch point
Skeleton character reflects mask character
Smooth in, smooth out

Picking the right skeleton engine

The path is determined by which graph property you're after:

Need the skeleton itself: Skeleton.

Need just the pixels where lines meet: Skeleton — branch points.

Need just the pixels where lines terminate: Skeleton — end points.

Want to remove short noise branches: Skeleton — remove spurs (length threshold).

Want to remove branches that go in a specific direction: Skeleton — remove spurs (by angle).

Want to trim spurs without removing them entirely: Skeleton — shorten spurs.

Want to extend short branches that almost-but-not-quite reach an intersection: Skeleton — extend spurs.

Want each branch as its own measurable object: Skeleton — split.

Most workflows chain several of these: skeleton, then remove short spurs, then split for per-segment measurement.

What the skeleton is good for

The skeleton is the right representation when shape topology matters more than shape geometry. For neuronal processes, the relevant questions are total length, branching density, end-point count — all topological. The skeleton answers these directly. The original mask answers them through measurements that have to disentangle line-thickness from line-length, which is harder.

For blob-like objects (cells, nuclei) the skeleton usually doesn't help — the topology is just "this is a blob," and the labeled maskLoading... is the better representation. The skeleton earns its place specifically for line-shaped, branched, or fiber-shaped structures where the centerline carries more information than the area.

Share This Term
Term Connections