Click to edit Master title style Skeleton computation of an image using a geometric approach J. Martinez, M. Vigo, N. Pla-Garcia, D. Ayala
Introduction ● One of the challenges of BioCAD field is to understand the morphology of the pore space of materials. ● As real datasets tend to be large computing their skeleton is very time-consuming. ● We developed two algorithms based on a geometric processing.
Skeleton extraction methods 1) Thinning . Iteratively remove points from the object boundary. 2) Distance field . Extraction of the skeleton from the distance field. 3) Geometric . Applied to polygons and polyhedra. Based on the Voronoi diagram.
Straight skeleton ● Defined by a continuous shrinking process in which the edges of the polygon are moved inwards. ● Coincides with the Voronoi Diagram with L ∞ when applied to orthogonal polygons.
Algorithm for general polygons ● Sweep algorithm to compute the Voronoi Diagram of a polygon with L ∞ . [PL01] ● At any instant the portion of the skeleton that lies on the left of the sweep-line is computed. ● It maintains a dynamic wavefront induced by the vertex bisectors (boundary of the Voronoi cells).
Dynamic wavefront ● It is a y-monotone polygonal line obtained by connecting the consecutive waves. ● A wave is sliding along two bisector endpoints. ● It changes with the occurrence of a point or vertical edge or the intersection of two bisectors.
Edge-based algorithm ● We take advantage of the lower topological complexity of orthogonal polygons to create a simplified algorithm. ● If and edge is oriented in the sweepline direction may generate a new Voronoi vertex (spike event). ● Otherwise we retrieve the intersected portion of the wavefront.
Edge-based algorithm
Edge-based algorithm
Vertex-based algorithm ● A vertex-based approach will be easier to extend to 3D. ● There are only eight vertex bisector configurations that we classify. ● We have different interaction with the wavefront depending on the configuration.
Vertex-based algorithm
Vertex-based algorithm
Vertex-based algorithm
Vertex-based algorithm
Vertex-based algorithm
Vertex-based algorithm
Vertex-based algorithm
Vertex-based algorithm
Repairing collinear ambiguities ● When two edges or vertices are collinear along the vertical or horizontal axis using L ∞ the induced bisector is an entire area. ● We select the central bisector in a post-processing step.
Repairing collinear ambiguities Ambiguous solution Unique solution
Results Lizard
Results Biomaterial
Results Random
Results Rock
Results Newspaper
Video
Results Model Pixels # Vertices Thinning Geometric * Lizard 430x466 1536 7.8 s 0.07 s Biomaterial 357x356 11588 14.5 s 0.45s Random 100x100 7754 3.22 s 0.24 s Rock 474x811 18330 45.4 s 0.81 s Newspaper 1615x2251 244528 155 s 10.29 s * Collinear repairing and rasterization time also included
Contributions ● Two algorithms to efficiently compute the straight skeleton of an orthogonal polygon. ● The worst case complexity of both is O(nlog(n)) in time and O(n) in space. ● Support of 2D non-manifold topology. ● Repair of ambiguities induced by colinear vertices.
Thank you for yor attention Any question? This work has been partially supported by the project TIN2008-02903 of the Spanish government and by the IBEC (Bioengineering Institute of Catalonia).
Recommend
More recommend