Isocontour/surface Extractions 2D Isocontour 3D Isosurface.

Slides:



Advertisements
Similar presentations
Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S
Advertisements

Lecture 5 3D Scalar Visualization Part One: Isosurfacing
Reconstruction from Voxels (GATE-540)
Advanced Iso-Surfacing Algorithms Jian Huang, CS594, Spring 2002 This set of slides are developed and used by Prof. Han-Wei Shen at Ohio State University.
Yingcai Xiao Chapter 6 Fundamental Algorithms. Types of Visualization Transformation Types 1.Data (Attribute Transformation) 2.Topology (Topological Transformation)
Chapter 12 and Chapter 3 Geometry Terms.
3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.
Electron denisty, isosurfaces and contour trees Jack Snoeyink GCMB’07.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2013.
Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.
CDS 301 Fall, 2009 Scalar Visualization Chap. 5 September 24, 2009 Jie Zhang Copyright ©
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Information Visualization.
Asst. Prof. Yusuf Sahillioğlu
lecture 4 : Isosurface Extraction
Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes.
Octree-Based Decimation of Marching Cubes Surface (1996) Raj Shekhar Elias Fayyad Roni Yagel J. Fredrick Cornhill.
Advanced Iso- Surfacing Algorithms Mengxia Zhu, Fall 2007.
Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.
Accelerating Marching Cubes with Graphics Hardware Gunnar Johansson, Linköping University Hamish Carr, University College Dublin.
Seminar 1 Surface Rendering, Decimation Presented By Sonali Barua Date:10/31/2005.
Fluid Surface Rendering in CUDA Andrei Monteiro Marcelo Gattass Assignment 4 June 2010.
ITUppsala universitet Data representation and fundamental algorithms Filip Malmberg
Marching Cubes A High Resolution 3D Surface Construction Algorithm.
Contour Trees CSE Han-Wei Shen. Level Sets Level set: Level sets is also called Isolines for n=2, isosurface for n=3, or isocontours in general.
Isosurface Extractions 2D Isocontour 3D Isosurface.
Marching Cubes: A High Resolution 3D Surface Construction Algorithm
Volumetric and Blobby Objects Lecture 8 (Modelling)
Lecture 4 : Isosurface Extraction (Advanced Topics)
Scalar Visualization Chap. 5 September 23, 2008 Jie Zhang Copyright ©
Surface Modeling Visualization using BrainVISA Bill Rogers UTHSCSA – Research Imaging Center.
Marching Cubes: A High Resolution 3D Surface Construction Algorithm William E. Lorenson Harvey E. Cline General Electric Company Corporate Research and.
Segmentation & Modeling ImagesSegmented Images Models.
CMSC 635 Volume Rendering. Volume data  3D Scalar Field: F(x,y,z) = ?  Implicit functions  Voxel grid  Scalar data  Density  Temperature  Wind.
INVERSE FUNCTIONS. Set X Set Y Remember we talked about functions--- taking a set X and mapping into a Set Y An inverse function.
3D Object Representations
3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2015.
Daniele D’Agostino CNR - IMATI - Sezione di Genova
Hank Childs, University of Oregon Lecture #10 CIS 410/510: Isosurfacing.
Hank Childs, University of Oregon Isosurfacing (Part 3)
Interactive Graphics Lecture 10: Slide 1 Interactive Computer Graphics Lecture 10 Introduction to Surface Construction.
CHAPTER 5 CONTOURING. 5.3 CONTOURING Fig 5.7. Relationship between color banding and contouring Contour line (isoline): the same scalar value, or isovalue.
Lecture 3 : Isosurface Extraction. Isosurface Definition  Isosurface (i.e. Level Set ) :  Constant density surface from a 3D array of data  C(w) =
CSE554Contouring IISlide 1 CSE 554 Lecture 5: Contouring (faster) Fall 2015.
CSE554Contouring IISlide 1 CSE 554 Lecture 3: Contouring II Fall 2011.
CSE554Contouring IISlide 1 CSE 554 Lecture 5: Contouring (faster) Fall 2013.
INVERSE FUNCTIONS. Set X Set Y Remember we talked about functions--- taking a set X and mapping into a Set Y An inverse function.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Solid Modeling Dr. Scott Schaefer.
Reducing Artifacts in Surface Meshes Extracted from Binary Volumes R. Bade, O. Konrad and B. Preim efficient smoothing of iso-surface meshes Plzen - WSCG.
Slide 1Lecture Fall ‘00 Surface Modeling Types: Polygon surfaces Curved surfaces Volumes Generating models: Interactive Procedural.
Bigyan Ankur Mukherjee University of Utah. Given a set of Points P sampled from a surface Σ,  Find a Surface Σ * that “approximates” Σ  Σ * is generally.
1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Marching Squares Ed Angel Professor Emeritus of Computer Science University.
Visualization Fundamentals
The Inverse of a Square Matrix
Isosurface Extractions (II)
CIS 410/510: Isosurfacing (pt 2)
Contour Propagation Basic Idea:
CSc4730/6730 Scientific Visualization
INVERSE Functions and their GRAPHS
INVERSE FUNCTIONS.
Iso-Contouring and Level-Sets
Hank Childs, University of Oregon
Lecture 3 : Isosurface Extraction
Volume Graphics (lecture 4 : Isosurface Extraction)
Many of the figures from this book may be reproduced free of charge in scholarly articles, proceedings, and presentations, provided only that the following.
INVERSE FUNCTIONS.
Section 1.8 INVERSE FUNCTIONS.
Warm-Up For the following, make a T-Chart and sketch a graph for x ={-2, -1, 0, 1, 2}
Marching Squares Ed Angel
Presentation transcript:

Isocontour/surface Extractions 2D Isocontour 3D Isosurface

Isocontour (0) Remember bi-linear interpolation p2 p3 p0 p1 P =? p4 p5 To know the value of P, we can first compute p4 and P5 and then linearly interpolate P

Isocontour (1) Consider a simple case: one cell data set The problem of extracting an isocontour is an inverse of value interpolation. That is: p2 p3 p0 p1 Gieven f(p0)=v0, f(p1)=v1, f(p2)=v2, f(p3)=v3 Find the point(s) P within the cell that have values F(p) = C

Isocontour (2) p2 p3 p0 p1 We can solve the problem based on linear interpolation (1) Identify edges that contain points P that have value f(P) = C (2) Calculate the positions of P (3) Connect the points with lines

Isocontouring – Step 1 (1) Identify edges that contain points P that have value f(P) = C v1v2 If v1 < C < v2 then the edge contains such a point

Isocontouring – Step 2 (2) Calculate the position of P Use linear interpolation: P = P1 + (C-v1)/(v2-v1) * (P2 – P1) v1v2 Pp1 p2 C

Isocontouring – Step 3 p2 p3 p0 p1 Connect the points with line(s) Based on the principle of linear variation, all the points on the line have values equal C

Isocontour cases How many cases can an isocontour intersect a cell? p2 p3 p0 p1 When comparing the value of Pi with the isovalue C, there can be two cases: Vi > = C or Vi < C So there can be 2 * 2 * 2 * 2 = 16 cases!

How many cases again? In fact, there are only 4 unique topological cases (1) Complete outside(inside) (2) One inside(outside), 3 outside(inside) (3) Two inside(outside), two outside(inside) (4) Two contours pass through

Inside or Outside? Just a naming convention 1.If a value is smaller than the isovalue, we call it “Inside” 2.If a value is greater than the isovalue, we call it “Outise” p2 p3 p0 p1 - + outside cell p2 p3 p0 p1 - inside cell

Put it all together Divide-and-conquer algorithm 1.Look at one cell at a time 2.Compare the values at 4 vertices with the isovalue C 3.Linear interpolate along the edges 4.Connects the interpolated points together

3D Isocontour (Isosurface)

Extend the same divide-and-conquer algorithm to three dimension 3D cells Look at one cell at a time Let’s only focus on voxel Isosurface Extraction

Divide-and-Conquer _ _ _ _ _ _ _ _ (2 triangles)

How many cases? Now we have 8 vertices So it is: 2 = How many unique topological cases?

Case Reduction (1) Value Symmetry + + __ _ _ _ _ + + _ _

Case Reduction (2) Rotation Symmetry + + __ _ _ _ _ _ _ + + _ _ _ _ By inspection, we can reduce

Isosurface Cases Total number of cases: 14

Marching Cubes Algorithm A Divide-and-Conquer Algorithm v1 v2 v3v4 v5 v6 v7v8 Vi is ‘1’ or ‘0’ (one bit) 1: > C; 0: <C (C= sovalue) Each cell has an index mapped to a value ranged [0,255] Index = v8 v7 v6 v5 v4 v3 v2 v1

Marching Cubes (2) Given the index for each cell, a table lookup is performed to identify the edges that has intersections with the isosurface e1, e3, e5 … Index intersection edges e1 e2 e3 e4 e5 e6 e7 e8 e9e10 e11 e12

Marching Cubes (3) _ _ _ _ Perform linear interpolations at the edges to calculate the intersection points Connect the points

Why is it called marching cubes? Linear search through cells Row by row, layer by layer Reuse the interpolated points for adjacent cells