Lecture 4 : Isosurface Extraction (Advanced Topics)

Post on 25-Dec-2015

224 views 2 download

Tags:

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