Surface Skeletons Detected on the D6 Distance Transform

We present an algorithm for extracting the surface skeleton of a 3D object from its D6 distance transform. The skeletal voxels are directly detected and marked on the distance transform within a small number of inspections, independent of object thickness. This makes the algorithm preferable with respect to algorithms based on iterative application of topology preserving removal operations, when working with thick objects. The set of skeletal voxels is centred within the object, symmetric, and topologically correct. It is at most 2-voxel wide (except for some cases of surface intersections) and includes all centres of maximal D6 balls, which makes skeletonization reversible. Reduction to a unit wide surface skeleton can be obtained by suitable post-processing.