2D skeletonization?

Are there any algorithms for medial surface implemented in ITK? The Thickness3D module only does 1D skeletonization, useful for vessels, airways, or maybe limbs.

There is a CLI module in Slicer called ExtractSkeleton, last time meaningfully refactored by @lassoan in 2021, which can do both 1D and 2D skeletonization of a 3D mask. If there is no existing ITK implementation of 2D skeletonization, it would make sense to refactor this CLI into an ITK remote module. Are there any opinions about this? @jhlegarreta @T4mmi @hjmjohnson @blowekamp @Niels_Dekker @matt.mccormick @jcfr

Since VMTK’s Voronoi surface extractor exists, we don’t use ExtractSkeleton module anymore. The Voronoi surface is a 2D surface represented as a mesh, which can store a medial surface in a much more robust and compact manner. VMTK can also find optimal path in the Voronoi surface, providing centerline (in case you need 1D tree extraction).

So, I would rather recommend to use VMTK for 2D skeletonization (i.e., medial surface extraction). You can also have a look at various tools in SlicerSALT and underlying libraries that can extract medial surface.

1 Like

Sorry @dzenanz, do not know enough about the possibilities to tell whether one possibility is better than the other. I am fine with whatever others say is most appropriate to dwell in a remote module. I would have a look at the remote module as time permits once it is in place.

@richard.beare Contributed a large number of morphological filters to ITK. He may have any an existing implementation someplace.

I’m afraid I don’t have anything addressing this problem.

1 Like