Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 4 : Isosurface Extraction (Advanced Topics)

Similar presentations


Presentation on theme: "Lecture 4 : Isosurface Extraction (Advanced Topics)"— Presentation transcript:

1 Lecture 4 : Isosurface Extraction (Advanced Topics)

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

3 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

4 What is Problem? : Topology Preserving Tetrahedral Decomposition Data Reconstruction (3D) Rectilinear GridTetrahedral GridSamples 0.0 1.0 0.6 (bad) (good) (bilinear interpolation) interpolationDecomposition

5 What is Problem? : Topology Preserving Tetrahedral Decomposition Data Reconstruction (3D) Rectilinear GridTetrahedral GridSamples 0.0 1.0 0.6 (bad) (good) (bilinear interpolation) interpolationDecomposition

6 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 ]

7 Related Work : Contour Connectivity Marching Cubes [Lorensen, Cline 87] Marching Tetrahedra [Nielson, Sung 97] : Simple Tetrahedral meshing of Interval volume between Two boundary isosurfaces

8 Isosurface of Trilinear Function Trilinear Function Bilinear Function F 001 F 011 F 111 F 101 F 000 F 100 F 010 F 110

9 Level Set Topology in Trilinear Function [ Lopes, Brodlie 03 ] 1 23.13.24.1.14.1.2 6.1.26.2 7.1 7.2 7.3 7.4.1 7.4.2 8 910.1.1 10.1.2 10.21112.1.112.1.212.2 13.1 13.213.313.413.5.113.5.2 5 6.1.1

10 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 = 0 Saddle point S = ( -b/c, -a/c ) First derivatives = 0 : Body Saddle Point Resolving Face Ambiguity Topology Decision Ambiguity ss Resolving Internal Ambiguity 4.1.14.1.2 Topology Decision

11 Topology Preserving Triangular Decomposition (2D Case) No face saddle Face Saddle pos vtx# = 1 pos vtx# = 2

12 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

13 Topology Preserving Tetrahedral Decompostion (iv) (v)

14 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

15 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

16 Topic 2 : Accelerated Isosurface Extraction [Bajaj, Schikore, Pascucci 1996] Fast Isocontouring for Improved Interactivity, IEEE VolVis 1996 - Seed Set + Interval Tree + Contour Propagation

17 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?

18 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

19 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

20 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.

21 Seed Set Generation (k seeds from n cells) 238 seed cells 0.01 seconds Domain Sweep 177 seed cells 0.05 seconds Responsibility Propagation 59 seed cells 1.02 seconds O(n) O(n log n) O(k) O(n) Time Space ? ?2 k min k = Test Range Sweep Optimal Single-Resolution Isocontouring

22 Seed Set Computation using Contour Tree Contour Tree generates Minimal seed set generation

23 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

24 Dual Contouring Primal Contouring vs Dual Contouring Primal contour Dual Contour

25 Dual Contouring Multiresolution –with topology preservation –Sharp feature preservation Produce polygons with better aspect ratio

26 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

27 Adaptive Dual Contouring Sharp Feature preservation Normal adaptive isocontouring

28 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

29 4D Isosurface Time-Varying Volume Data – F(x,y,z,t) = w

30 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

31 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)

32 Example

33 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

34 Overview Preprocessing –Noise Removal : Anisotropic Diffusion & Bilateral Filtering –Significant Isovalue Selection : Contour Spectrum Interval Volume Meshing Quality Improvement –Edge Contraction

35 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

36 Uniform Volume Meshing (1) (2)(3)

37 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.

38 Adaptive Volume Meshing Case Table – Interior Cell

39 Adaptive Volume Meshing Adaptive Triangulation 2D Example

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

41 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

42 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

43 Results Heart Modeling

44 Results Molecular Modeling

45 Results (# of Tets) 2763886332514204 143912 76218 40913 10696 70768 94586 9333072366


Download ppt "Lecture 4 : Isosurface Extraction (Advanced Topics)"

Similar presentations


Ads by Google