SLIDE 1 Click to edit Master title style Skeleton computation of an image using a geometric approach
- J. Martinez, M. Vigo, N. Pla-Garcia, D. Ayala
SLIDE 2 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.
SLIDE 3 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.
SLIDE 4 Straight skeleton
shrinking process in which the edges of the polygon are moved inwards.
Voronoi Diagram with L∞ when applied to orthogonal polygons.
SLIDE 5 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).
SLIDE 6 Dynamic wavefront
- It is a y-monotone polygonal line
- btained 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.
SLIDE 7 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.
SLIDE 8
Edge-based algorithm
SLIDE 9
Edge-based algorithm
SLIDE 10 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.
SLIDE 11
Vertex-based algorithm
SLIDE 12
Vertex-based algorithm
SLIDE 13
Vertex-based algorithm
SLIDE 14
Vertex-based algorithm
SLIDE 15
Vertex-based algorithm
SLIDE 16
Vertex-based algorithm
SLIDE 17
Vertex-based algorithm
SLIDE 18
Vertex-based algorithm
SLIDE 19 Repairing collinear ambiguities
- When two edges or vertices
are collinear along the vertical
- r horizontal axis using L∞ the
induced bisector is an entire area.
- We select the central bisector
in a post-processing step.
SLIDE 20
Repairing collinear ambiguities
Ambiguous solution Unique solution
SLIDE 21
Results
Lizard
SLIDE 22
Results
Biomaterial
SLIDE 23
Results
Random
SLIDE 24
Results
Rock
SLIDE 25
Results
Newspaper
SLIDE 26
Video
SLIDE 27
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
SLIDE 28 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.
SLIDE 29
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).