Lecture 4 : Isosurface Extraction (Advanced Topics)
-
Upload
quentin-mathews -
Category
Documents
-
view
227 -
download
2
Transcript of Lecture 4 : Isosurface Extraction (Advanced Topics)
Lecture 4 : Isosurface Extraction(Advanced Topics)
Advanced Topics
1. Trilinear Isosurface Topology
2. Accelerated Isosurface Extraction - Seed Set and Mesh Propagation
3. Multi-resolution Isosurface Extraction- Dual Contouring
4. High-Dimensional (4D) Isosurface Extraction
5. Interval Volume Extraction (Mesh Generation)
Topic 1 :Trilinear Isosurface Topology
• [Lopes,Brodlie 2003]
“Improving the Robustness and Accuracy of the Marching Cubes Algorithm for Isosurfacing”, IEEE Transactions on Visualization and Computer Graphics
• Topology Preserving Tetrahedral Decomposition
[Sohn 2009] KSII TIIS
What is Problem? : Topology PreservingTetrahedral Decomposition Data Reconstruction (3D)
• Rectilinear Grid • Tetrahedral Grid• Samples
0.0
0.0
1.0
0.6
(bad) (bad) (good)(bilinear interpolation)
interpolation Decomposition
What is Problem? : Topology PreservingTetrahedral Decomposition Data Reconstruction (3D)
• Rectilinear Grid • Tetrahedral Grid• Samples
0.0
0.0
1.0
0.6
(bad) (bad) (good)(bilinear interpolation)
interpolation Decomposition
Motivation• Some of visualization techniques require data
to be defined on tetrahedral grids due to its simplicity– Contour Tree, Contour Spectrum, Interval Volume
Tetrahedrization, Path Seeds for Contour Segmentation– Tetrahedral Decomposition is necessary– No Topological Distortion
• Topology Preserving Meshing
[ Wrong Topology ] [ Correct Topology ]
Related Work : Contour Connectivity
• Marching Cubes [Lorensen, Cline 87]
<wrong surface>
• Marching Tetrahedra [Nielson, Sung 97] : Simple
Tetrahedral meshing ofInterval volume between Two boundary isosurfaces
Isosurface of Trilinear Function• Trilinear Function
• Bilinear Function
F001
F011F111
F101
F000 F100
F010F110
Level Set Topology in Trilinear Function[ Lopes , Brodlie 03 ]
1 2 3.1 3.2 4.1.1 4.1.2
6.1.2 6.2 7.1 7.2 7.3 7.4.1 7.4.2 8
9 10.1.1 10.1.2 10.2 11 12.1.1 12.1.2 12.2
13.1 13.2 13.3 13.4 13.5.1 13.5.2
5 6.1.1
Contour Topology Decision[ Nielson, Hamann 91] [Natarajan 94]
• Saddle points play important roles in determining contour connectivity
• Face Saddle Point
F(x,y) = ax + by + cxy + d (bilinear interpolant) First derivatives = 0: Fx = a + cy = 0 , Fy = b + cx = 0Saddle point S = ( -b/c , -a/c )
First derivatives = 0 :
•Body Saddle Point
• Resolving Face Ambiguity
TopologyDecision
Ambiguity
s s
• Resolving Internal Ambiguity
4.1.1 4.1.2
TopologyDecision
Topology Preserving Triangular Decomposition (2D Case)
• No face saddle
• Face Saddle
< Connectivity Disambiguation >
< Triangular Decomposition preserves contour topology >
pos vtx# = 1
pos vtx# = 2
Topology Preserving Tetrahedral Decompostion
• 3D case ( and = # of body and face saddles )– (i)
• conventional decomposition ( 6 tet )
– (ii)• Decompose a face with a face saddle into 4 tris• Decompose a face without a face saddle into 2 tris• Choose one face saddle (second) and connect it to
each face to form 5 pyramids. Each pyramid
decomposed into four or two tets
– (iii)• Connect a body saddle to each face
to form 6 pyramids• Each pyramid decomposed into four or two tets
f bsb
sb=0;1ô sf ô 4
sb=0;sf =0
sb=1;0ô sf ô 4
Topology Preserving Tetrahedral Decompostion
• (iv)
• (v)
sb=0;sf =6
1ô sbô 2;sf =6
Exception
• Case 15 – the most complicated case
in geometry and topology– involve
Face saddles for each face and two body saddles
13 (a) 13.1 13.2 13.3 13.4 13.5.1 13(b) 13.5.2
Proof• Piecewise Linear(PL) contour topology on each
face is correct• Component-Vertices : pos or neg group
– component-vertex group # = contour component #
• If ideal isosurface has no tunnel : – PL component# along face = actual component#
– Each PL component is simple sheet with no tunnel
• If ideal isosurface has a tunnel :– PL component # along face = actual component# = 1
– Diagonal component-vertices are connected through a body saddle making tunnel
• [Exception] Case 13.5.1, 13.5.2 : taking out tet that contribute the small isosurface component
Topic 2 : Accelerated Isosurface Extraction
• [Bajaj, Schikore, Pascucci 1996]
Fast Isocontouring for Improved Interactivity,
IEEE VolVis 1996
- Seed Set + Interval Tree + Contour Propagation
Interval Volume for Isocontouring
• Interval Tree– An ordered data structure that holds intervals– Allows us to efficiently find all intervals that overlap with any
given point (value) or interval– Time Complexity : O (m + n log n)
• n : total # of intervals• m : # of intervals that overlap (output)• Output-sensitive
• How can we apply interval tree to efficient isocontouring?
Contour Propagation
• Given an initial cell which contains the surface of interest• The remainder of the surface can be efficiently traced
performing a breadth-first search in the graph of cell adjacencies
< Contour Propagation >
Seed Set for Isocontouring
• Main Idea– Visit the only cells that intersect with isocontour– Interval tree for entire data can be too large– Use the idea of contour propagation
• Seed Set– A set of cells intersecting every connected component of every
isocontour
• Seed Set Generation : refer to Bajaj96 paper
Seed Set Isocontouring Algorithm
• Algorithm– Preprocessing
• Generate a seed set S from volume data• Construct interval tree of seed set S
– Online processing• Given a query isovalue w,• Search for all seed cells that intersect with isocontour with
isovalue w by traversing interval tree• Perform contour propagation from the seed cells that were
found from interval tree.
Seed Set Generation (k seeds from n cells)
• 238 seed cells• 0.01 seconds
Domain Sweep
177 seed cells0.05 seconds
Responsibility Propagation
59 seed cells1.02 seconds
O(n) O(n) O(n log n)O(k) O(k) O(n)
Time
Space
? ? 2 kmink =
Test
Range Sweep
Optimal Single-Resolution Isocontouring
Seed Set Computation using Contour Tree
Contour Tree generates Minimal seed set generation
Topic 3 :Multiresolution Isosurface Extraction
• The size of Isosurface is usually large.• Often too large• Hence, often necessary to control its size-
accuracy tradeoff thru multiresolution techniques
• [Ju,Lossaso,Schaefer,Warren]
“Dual Contouring of Hermite Data”
SIGGRAPH 2002
Dual Contouring
• Primal Contouring vs Dual Contouring
Primal contour Dual Contour
Dual Contouring
• Multiresolution – with topology preservation– Sharp feature preservation
• Produce polygons with better aspect ratio
CCV, University of Texas at Austin
• QEF(Quadric Error Function)– quadric error metric : ( p : intersection point , n : normal )
– Vertex on dual contour : x minimizing E(x)
• QEF based Simplification– QEF of internal node = QEF of every leaves in the subtree
– Adaptive Dual Contouring• Connecting minimizing vertices• No restrictions on level difference
Dual Contouring
Adaptive Dual Contouring
• Sharp Feature preservation
Normal adaptive isocontouring
Topic 4 :High Dimensional (4D) Isosurface Extraction
• [Weigle, Banks]
“Complex-Valued Contour Meshing”,
VolVis 1996
• [Wenger et al]
“Isosurfacing in Higher Dimension”,
IEEE Vis 2000
4D Isosurface
• Time-Varying Volume Data– F(x,y,z,t) = w
Topic 5 : Interval Volume Extraction
• Isosurface– I (w) = {(x, y, z) | F(x, y, z) = w}
• Interval Volume– V (α ,β ) = {(x, y, z) |α ≤ F(x, y, z) ≤ β }
• Tetrahedral Mesh Generation
Interval Volume Extraction
• [Nielson,Sung]
“Interval Volume Tetrahedrization”,
IEEE VIS 1997
• Algorithm– Decompose each cube into tetrahedra
in the volumetric data– For each tetrahedra , perform
Marching Tetrahedra (MT)
Example
Additional Topic : Quality Meshing
• Adaptive• Feature Preservation• Well Shaped Element
• Reference • Y. Zhang, C. Bajaj, B.-S. Sohn, Adaptive and Quality 3D Meshing from Imaging
Data, Proceedings of ACM Symposium on Solid Modeling and Applications, 2003
Overview• Preprocessing
– Noise Removal : Anisotropic Diffusion & Bilateral Filtering
– Significant Isovalue Selection : Contour Spectrum
• Interval Volume Meshing
• Quality Improvement – Edge Contraction
Uniform Volume Meshing
* Uniform Tetrahedral Extraction
Definition 1: Sign Change Edge - A sign change edge is an edge whose one vertex lies inside the interval volume (we call it the interior vertex), while the other vertex lies outside.
Definition 2: Interior Edge in Boundary Cell - In a boundary cell, those edges with both vertices lying inside the interval volume are called interior edges.
Definition 3: Interior Cell - different from the boundary cell, all the eight vertices of an interior cell lie interior to the interval volume.
* Uniform 2D Triangulation (figures to next slide)
Sign change edge – blue triangles Interior edge in boundary cell – yellow
triangles Interior cell – pink triangles
Uniform Volume Meshing
(1)
(2) (3)
Adaptive Volume Meshing
* Adaptive 2D Triangulation Sign change edge – blue triangles Interior edge in boundary cell – yellow triangles Interior cell – pink triangles, a table in next slide lists
all the cases of how to decompose the interior cell into triangles.
* Adaptive 3D Triangulation Sign change edge – same. Interior edge in boundary cell – same. Interior face in boundary cell – same. The difference is
to decompose it into triangles , each triangle and the minimizer construct a tetra.
Interior cell – decompose each face into triangles, then construct tetras.
Adaptive Volume Meshing
Case Table – Interior Cell
Adaptive Volume Meshing
Adaptive Triangulation
• 2D Example
Hexahedral Extraction
Each grid point is shared by eight cells. Analyze each interior grid point, and find eight minimzers to construct a hexa
Feature Sensitive Error Metric
Upper row – sharp features; Bottom row – facial features, left: QEF (2952 tris), right: EDerror (2734 tris).
• Trilinear Function Interpolation
• Error Metric
• Octree Refinement for interval volume meshing
– Requires error metric
Quality Improvement• Edge Contraction
– Remove badly shaped tets which do not satisfy the quality threshold
• ABAQUS quality metrics– Tetra Quality Measure : Vol(tet)/Vol(equilateral tet with same circumsphere r)
– Min/Max Angles : min angle>10 , max angle<160
– Right-hand-side principle
Results
• Heart Modeling
Results
• Molecular Modeling
Results (# of Tets)
276388 63325 14204
143912 76218 40913 10696
70768 94586 93330 72366