Begin Algorithm: compute-curve-skeleton |
Input: the original object volume O |
Output: curve skeleton S |
Initialize a root voxel o as the current skeleton S and the current marked object volume Omarked |
While new branches are found |
Detect disconnected sub-trees T1, T2, T3, ··· in the unmarked object volume O − Omarked |
For each sub-tree Ti |
Find the CMB voxel vi ∈ Ti that is farthest from Omarked |
If the potential branch from vi to Omarked is significant |
Add a new skeletal branch Bi joining vi to the current skeleton S using a minimum cost path |
Augment S = S ∪ Bi |
Compute local scale-adaptive dilatation Di along Bi |
Augment Omarked = Omarked ∪ Di |
End Algorithm: compute-curve-skeleton |