Special Topics in Visualization

Similar documents
Marching Squares Algorithm. Can you summarize the marching squares algorithm based on what we just discussed?

Scalar Field Visualization. Some slices used by Prof. Mike Bailey

Introduction to Computer Graphics. Modeling (3) April 27, 2017 Kenshi Takayama

Scalar Algorithms: Contouring

Volume Illumination, Contouring

Efficient Representation and Extraction of 2-Manifold Isosurfaces Using kd-trees

Scientific Visualization Example exam questions with commented answers

Multi-View Matching & Mesh Generation. Qixing Huang Feb. 13 th 2017

CSC Computer Graphics

03 - Reconstruction. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Spring 17 - Daniele Panozzo

A Developer s Survey of Polygonal Simplification algorithms. CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005

Data Representation in Visualisation

Topology Preserving Tetrahedral Decomposition of Trilinear Cell

Scientific Visualization. CSC 7443: Scientific Information Visualization

MULTI-RESOLUTION DUAL CONTOURING FROM VOLUMETRIC DATA

Direct Extraction of Normal Mapped Meshes from Volume Data

Visualization. Images are used to aid in understanding of data. Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26]

Visualization Computer Graphics I Lecture 20

Solid Modeling. Michael Kazhdan ( /657) HB , FvDFH 12.1, 12.2, 12.6, 12.7 Marching Cubes, Lorensen et al.

Efficient Representation and Extraction of 2-Manifold Isosurfaces Using kd-trees

Computer Graphics Ray Casting. Matthias Teschner

Scalar Field Visualization I

Brain Surface Conformal Spherical Mapping

arxiv: v1 [math.na] 2 Aug 2013

Scalar Visualization

Marching Cubes Robert Hunt CS 525. Introduction

Direct Extraction of Normal Mapped Meshes from Volume Data

SURFACE CONSTRUCTION USING TRICOLOR MARCHING CUBES

Scalar Visualization

Watertight Planar Surface Reconstruction of Voxel Data

Digital Geometry Processing

Scanning Real World Objects without Worries 3D Reconstruction

Visualization Computer Graphics I Lecture 20

Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University

11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes

Visualization. CSCI 420 Computer Graphics Lecture 26

Subdivision Surfaces

Feature-Sensitive Subdivision and Isosurface Reconstruction

CSE 554 Lecture 6: Fairing and Simplification

Polygonization of Implicit Surfaces

Level Set Extraction from Gridded 2D and 3D Data

Extracting surfaces from volume data

Physically-Based Modeling and Animation. University of Missouri at Columbia

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011

Geometric Representations. Stelian Coros

Discretized Marching Cubes

Subdivision Surfaces

Contours & Implicit Modelling 1

Fundamental Algorithms and Advanced Data Representations

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

Marching Squares. Rodrigo Morante

Marching Cubes without Skinny Triangles

coding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight

Fast Interactive Region of Interest Selection for Volume Visualization

LBIE Tutorial. Yongjie (Jessica) Zhang Shun-Chuan Albert Chen

2.5D Dual Contouring: A Robust Approach to Creating Building Models from Aerial LiDAR Point Clouds

L10 Layered Depth Normal Images. Introduction Related Work Structured Point Representation Boolean Operations Conclusion

Discrete representations of geometric objects: Features, data structures and adequacy for dynamic simulation. Part I : Solid geometry

Subdivision Surfaces

LAPLACIAN MESH SMOOTHING FOR TETRAHEDRA BASED VOLUME VISUALIZATION 1. INTRODUCTION

ROBUST AND ACCURATE BOOLEAN OPERATIONS ON POLYGONAL MODELS

Contours & Implicit Modelling 4

USING RAY INTERSECTION FOR DUAL ISOSURFACING

Surface Reconstruction. Gianpaolo Palma

Unconstrained Isosurface Extraction on Arbitrary Octrees

Parameterization. Michael S. Floater. November 10, 2011

Introduction to volume rendering. Paul Bourke

Alex Li 11/20/2009. Chris Wojtan, Nils Thurey, Markus Gross, Greg Turk

Texture Mapping using Surface Flattening via Multi-Dimensional Scaling

Cubical Marching Squares: Adaptive Feature Preserving Surface Extraction from Volume Data

Dual-Primal Mesh Optimization for Polygonized Implicit Surfaces with Sharp Features

ON SAMPLING AND RECONSTRUCTION OF DISTANCE FIELDS

Iso-surface cell search. Iso-surface Cells. Efficient Searching. Efficient search methods. Efficient iso-surface cell search. Problem statement:

Automatic 3D Mesh Generation for A Domain with Multiple Materials

Outline of the presentation

CIS 4930/ SCIENTIFICVISUALIZATION

MARCHING CUBES AND VARIANTS

Parameterization of triangular meshes

Using Semi-Regular 4 8 Meshes for Subdivision Surfaces

COMPARING TECHNIQUES FOR TETRAHEDRAL MESH GENERATION

PSP: Progressive Subdivision Paradigm for Large Scale Visualization

3D Reconstruction with Tango. Ivan Dryanovski, Google Inc.

Piecewise Tri-linear Contouring for Multi-Material Volumes

Decimation of 2D Scalar Data with Error Control

Lecture overview. Visualisatie BMT. Fundamental algorithms. Visualization pipeline. Structural classification - 1. Structural classification - 2

Volume Illumination and Segmentation

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662

Scalar Field Visualization I

Processing 3D Surface Data

Freeform Shape Representations for Efficient Geometry Processing

Surface Reconstruction from Unorganized Points

Processing 3D Surface Data

Calculating the Distance Map for Binary Sampled Data

Surface Construction Analysis using Marching Cubes

DIRECT EXTRACTION OF NORMAL MAPS FROM VOLUME DATA. A Thesis. Presented to. the Faculty of California Polytechnic State University.

Ship in a Bottle. 1 Modeling and Rendering the Water. Saket Patkar and Bo Zhu

The Ball-Pivoting Algorithm for Surface Reconstruction

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday

Contouring and Isosurfaces. Ronald Peikert SciVis Contouring 2-1

Def De orma f tion orma Disney/Pixar

Transcription:

Special Topics in Visualization Final Project Report Dual contouring of Hermite Data Submitted By S M Shahed Nejhum 8589-1199 May 19, 2008

Introduction Iso-surface extraction from 3D volumetric data is an interesting and important problem in computer visualization which has many application different fields ranging from medical image analysis to game programming. Over the years, many algorithms have been proposed for isosurface extraction. Marching Cube is one of the well known contouring methods. In contouring method, a uniform 2D or 3D grid with scalar values is given and the task is to find an iso-contour or iso-surface with certain iso-value. Contouring methods scan the entire grid and construct the surface. Surface is generally a represented as a triangular mesh or quad mesh. In general, there are two different types of contouring algorithms. One type is known as direct contouring methods (Example, Marching Cube) and the other category is dual methods. Direct contouring methods places the vertices of the surface mesh on the edge of grids and hence they can not render any sharp feature which falls inside the grid cell. But, dual methods places the mesh vertices inside the grid cell, which allow them to handle to problem of rendering sharp corner which falls inside the grid cell (Fig 1) A: good approximation B: Bad Approximation Fig1. Bad approximation of sharp feature In this project I have studied and implemented a dual contouring method for iso-surface extraction and contouring. Rendered examples demonstrate that dual methods can approximate the sharp corners of the surface quite well than direct contouring methods.

Dual Contouring algorithm In dual contouring, input is a sign valued grid. Also edges of the grid with opposite signs must have exact intersection point and associated normal of the iso-surface. This type of data is known as Hermite data. In some cases if the sign values grid does not contain this intersection points and normals, one can determine the intersection point using linear interpolation along the edge and finite differencing method can be used to determine the associated normal. Fig 2. Shows a grid tagged with hermite data. Fig 2. A sign valued grid with Hermite data Dual Contouring method is composed of two main steps. For each non-uniform grid cell compute an iso-vertex and connect the adjacent vertices to generate the surface. To determine the location of isoverex we need to use the intersection points p i and normals n i. Position x of the isovertex can be obtained at the minima of the following quadratic error function (QEF). E[x] = i ( n i. (x - p i ) ) 2 This function E[x] can be expressed as the inner product (Ax-b) T (Ax-b) where A is a matrix whose rows are the normals n i and b is a vector whose entries are n i. p i. Typically, the quadratic function E[x] is expanded into the form E[x] = x T A T Ax 2x T A T b + b T b

Because of the normal direction there is a chance that the matrix can be rank deficient and hence we need to use svd to solve for x. Also, in case we have multiple solution for E[x], we add one more constraints that isovertex x, will also minimize the distance from the centroid c of intersection. Thus the objective function becomes F[x] = E[x] + (x - c) 2 In order to solve for the minima of F[x], we augment A by adding one more rows of ones and augment b by appending sum of the components of centroid c. We solve the above optimization for each non-uniform grid cell [grid cube or grid square] and obtain an isovertex. Then we connect adjacent iso-vertices which gives us the approximation of the iso-surface in the form of quad mesh. Experimental Result The dual contouring method has been implemented in MATLAB. Implementing the algorithm in MATLAB helped to solve the minimization of x using in built library function. The implantation has been tested by extracting iso-contour of four implicit functions in 2D and 3D and 3D MRI scan of brain. For brain model, we also report some comparison. Implicit functions for 2D are circle and square. Figure 3 and 4 shows isocontour of these two implicit functions. Fig 3: isocontour of the circle. Normal direction and point of intersection is also drawn.

Fig 4: isocontour of the rectangle. Normal direction and point of intersection is also drawn. We also implement marching cube algorithm to compare with the dual contouring method. We compare three 3D models. Following table shows number of vertex and triangles obtained using marching cube algorithm. Marching Cube Model Input size Number of Vertices Number of Triangles Sphere 25 X 25 X 25 414 824 Cube 25 X 25 X 25 216 428 MRI Head 128 X 128 X 27 18604 37072 Following table shows number of vertices and quads we get using dual contouring method. Dual Contouring Model Input size Number of Vertices Number of Quads Sphere 25 X 25 X 25 416 414 Cube 25 X 25 X 25 218 416 MRI Head 128 X 128 X 27 19216 19717 From the following table it seems that number of vertices obtained using both the models are roughly same since we did not apply any mesh simplification techniques.

We also give some visual comparison of these 3d models. First consider the sphere model (Fig 5). Dual Contouring Marching cube Fig 5. Rendering of sphere in dual contouring and marching cube algorithm Since sphere is a very simple models we don t find any visual difference between the two surfaces. Then we show the result for 3D cubed surface rendering. Fig 6 shows the comparison. Dual Contouring Marching cube Fig 6. Rendering of cube in dual contouring and marching cube algorithm From this rendering we find the necessity of using dual contouring algorithm as dual contouring method correctly reconstructs the corners and edges of the surface correctly. On the other hand marching cube algorithm could not recovered the sharp features from sampled data.

Now we present the result of surface reconstruction of MRI head dataset in Figure 7. Dual Contouring Marching Cube Fig 7. Surface reconstruction of MRI Head dataset

From the result of MRI head dataset it showed that quality of surface obtained using marching cube algorithm is better than dual contouring method. This can be due to the fact that because of the data normal calculation may not be accurate. Normal vector were calculated using the sampled values on the grid only. More precise normal may give us better result. Discussion If we look at the extracted contours in the experimental result section, we will see the dual contour method has successfully extracted the iso-contour of the functions. Moreover, it has recovered the corner of cubes and rectangles from Hermite data which is the main motivation of using dual contouring methods. Although in this project the positions of the iso-vertices are computed independent of each other, one can make a linear system to solve for all the isovertices and thereby can make the implementation faster. Conclusion By doing this project I became familiar with dual contouring methods and its potential advantage over direct contouring methods and it was a good learning experience for me. References [1] Ju, T. et al, Dual Contouring of Hermite Data, ACM Transactions on Computer Graphics (SIGGRAPH 2002 Proceedings), pp 339-346, 2002 [2] Schaefer S. and Warren J. Dual Contouring: The Secret Sauce [3] Contouring Implicit Surfaces Principles and Practice -- Ronen Tzur http://www.sandboxie.com/misc/isosurf/isosurfaces.htm