Lecture 4 : Isosurface Extraction (Advanced Topics)

45
Lecture 4 : Isosurface Extraction (Advanced Topics)

Transcript of Lecture 4 : Isosurface Extraction (Advanced Topics)

Page 1: Lecture 4 : Isosurface Extraction (Advanced Topics)

Lecture 4 : Isosurface Extraction(Advanced Topics)

Page 2: 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)

Page 3: Lecture 4 : Isosurface Extraction (Advanced Topics)

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

Page 4: Lecture 4 : Isosurface Extraction (Advanced Topics)

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

Page 5: Lecture 4 : Isosurface Extraction (Advanced Topics)

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

Page 6: Lecture 4 : Isosurface Extraction (Advanced Topics)

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 ]

Page 7: Lecture 4 : Isosurface Extraction (Advanced Topics)

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

Page 8: Lecture 4 : Isosurface Extraction (Advanced Topics)

Isosurface of Trilinear Function• Trilinear Function

• Bilinear Function

F001

F011F111

F101

F000 F100

F010F110

Page 9: Lecture 4 : Isosurface Extraction (Advanced Topics)

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

Page 10: Lecture 4 : Isosurface Extraction (Advanced Topics)

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

Page 11: Lecture 4 : Isosurface Extraction (Advanced Topics)

Topology Preserving Triangular Decomposition (2D Case)

• No face saddle

• Face Saddle

< Connectivity Disambiguation >

< Triangular Decomposition preserves contour topology >

pos vtx# = 1

pos vtx# = 2

Page 12: Lecture 4 : Isosurface Extraction (Advanced Topics)

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

Page 13: Lecture 4 : Isosurface Extraction (Advanced Topics)

Topology Preserving Tetrahedral Decompostion

• (iv)

• (v)

sb=0;sf =6

1ô sbô 2;sf =6

Page 14: Lecture 4 : Isosurface Extraction (Advanced Topics)

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

Page 15: Lecture 4 : Isosurface Extraction (Advanced Topics)

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

Page 16: Lecture 4 : Isosurface Extraction (Advanced Topics)

Topic 2 : Accelerated Isosurface Extraction

• [Bajaj, Schikore, Pascucci 1996]

Fast Isocontouring for Improved Interactivity,

IEEE VolVis 1996

- Seed Set + Interval Tree + Contour Propagation

Page 17: Lecture 4 : Isosurface Extraction (Advanced Topics)

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?

Page 18: Lecture 4 : Isosurface Extraction (Advanced Topics)

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 >

Page 19: Lecture 4 : Isosurface Extraction (Advanced Topics)

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

Page 20: Lecture 4 : Isosurface Extraction (Advanced Topics)

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.

Page 21: Lecture 4 : Isosurface Extraction (Advanced Topics)

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

Page 22: Lecture 4 : Isosurface Extraction (Advanced Topics)

Seed Set Computation using Contour Tree

Contour Tree generates Minimal seed set generation

Page 23: Lecture 4 : Isosurface Extraction (Advanced Topics)

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

Page 24: Lecture 4 : Isosurface Extraction (Advanced Topics)

Dual Contouring

• Primal Contouring vs Dual Contouring

Primal contour Dual Contour

Page 25: Lecture 4 : Isosurface Extraction (Advanced Topics)

Dual Contouring

• Multiresolution – with topology preservation– Sharp feature preservation

• Produce polygons with better aspect ratio

Page 26: Lecture 4 : Isosurface Extraction (Advanced Topics)

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

Page 27: Lecture 4 : Isosurface Extraction (Advanced Topics)

Adaptive Dual Contouring

• Sharp Feature preservation

Normal adaptive isocontouring

Page 28: Lecture 4 : Isosurface Extraction (Advanced Topics)

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

Page 29: Lecture 4 : Isosurface Extraction (Advanced Topics)

4D Isosurface

• Time-Varying Volume Data– F(x,y,z,t) = w

Page 30: Lecture 4 : Isosurface Extraction (Advanced Topics)

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

Page 31: Lecture 4 : Isosurface Extraction (Advanced Topics)

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)

Page 32: Lecture 4 : Isosurface Extraction (Advanced Topics)

Example

Page 33: Lecture 4 : Isosurface Extraction (Advanced Topics)

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

Page 34: Lecture 4 : Isosurface Extraction (Advanced Topics)

Overview• Preprocessing

– Noise Removal : Anisotropic Diffusion & Bilateral Filtering

– Significant Isovalue Selection : Contour Spectrum

• Interval Volume Meshing

• Quality Improvement – Edge Contraction

Page 35: Lecture 4 : Isosurface Extraction (Advanced Topics)

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

Page 36: Lecture 4 : Isosurface Extraction (Advanced Topics)

Uniform Volume Meshing

(1)

(2) (3)

Page 37: Lecture 4 : Isosurface Extraction (Advanced Topics)

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.

Page 38: Lecture 4 : Isosurface Extraction (Advanced Topics)

Adaptive Volume Meshing

Case Table – Interior Cell

Page 39: Lecture 4 : Isosurface Extraction (Advanced Topics)

Adaptive Volume Meshing

Adaptive Triangulation

• 2D Example

Page 40: Lecture 4 : Isosurface Extraction (Advanced Topics)

Hexahedral Extraction

Each grid point is shared by eight cells. Analyze each interior grid point, and find eight minimzers to construct a hexa

Page 41: Lecture 4 : Isosurface Extraction (Advanced Topics)

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

Page 42: Lecture 4 : Isosurface Extraction (Advanced Topics)

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

Page 43: Lecture 4 : Isosurface Extraction (Advanced Topics)

Results

• Heart Modeling

Page 44: Lecture 4 : Isosurface Extraction (Advanced Topics)

Results

• Molecular Modeling

Page 45: Lecture 4 : Isosurface Extraction (Advanced Topics)

Results (# of Tets)

276388 63325 14204

143912 76218 40913 10696

70768 94586 93330 72366