-
Notifications
You must be signed in to change notification settings - Fork 25
A Pictorial Guide to TEASAR Skeletonization
Below is an illustrated guide for the basic outline of how Kimimaro skeletonizes a label in a 3D image. For clarity, this guide does not necessarily present the steps in the same order as the code does. There are some deviations from base TEASAR which will be noted. We also do not cover the important effects of e.g. fix_branches
or fix_borders
, nor do we cover the Preamble or handling of multiple labels. The idea is to give you a basic intuition for the algorithm so that the more detailed descriptions become more intelligible.
If this guide is helpful for people, I might expand it.
![](https://user-images.githubusercontent.com/2517065/62669795-02b5a080-b95f-11e9-9196-61901f08c28a.jpeg)
1. TEASAR Skeletonization 2D Examples. You have a shape. A shape with a Y-fork in it is depicted.
![](https://user-images.githubusercontent.com/2517065/62669796-02b5a080-b95f-11e9-9906-99c5bd3702ce.jpeg)
2. Raster scan to find a foreground voxel. This finds an arbitrary foreground voxel.
![](https://user-images.githubusercontent.com/2517065/62669797-02b5a080-b95f-11e9-98a0-188e20a2bf10.jpeg)
3. Find the furthest point from this starting voxel. This is the root.
![](https://user-images.githubusercontent.com/2517065/62669798-02b5a080-b95f-11e9-8a5e-eac27489a4fb.jpeg)
4. Create a penalty field to guide skeletons through the center of the shape. D(x,y,z) is the euclidean distance of each pixel from the boundary. (L2 norm)