Seminar 1 Surface Rendering, Decimation Presented By Sonali Barua Date:10/31/2005.

Slides:



Advertisements
Similar presentations
Reconstruction from Voxels (GATE-540)
Advertisements

Computer Graphics- SCC 342
 Over-all: Very good idea to use more than one source. Good motivation (use of graphics). Good use of simplified, loosely defined -- but intuitive --
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Texture Synthesis on [Arbitrary Manifold] Surfaces Presented by: Sam Z. Glassenberg* * Several slides borrowed from Wei/Levoy presentation.
Developer’s Survey of Polygonal Simplification Algorithms Based on David Luebke’s IEEE CG&A survey paper.
Informationsteknologi Wednesday, November 7, 2007Computer Graphics - Class 51 Today’s class Geometric objects and transformations.
Discrete Geometry Tutorial 2 1
Visualization and graphics research group CIPIC Decimation of Triangle Meshes William J. Schroeder, Jonathan A. Zarge, William E. Lorensen Presented by.
Atomic Volumes for Mesh Completion Joshua Podolak Szymon Rusinkiewicz Princeton University.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2013.
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
Computing 3D Geometry Directly From Range Images Sarah F. Frisken and Ronald N. Perry Mitsubishi Electric Research Laboratories.
Shape from Contours and Multiple Stereo A Hierarchical, Mesh-Based Approach Hendrik Kück, Wolfgang Heidrich, Christian Vogelgsang.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Information Visualization.
Mesh Simplification Global and Local Methods:
lecture 4 : Isosurface Extraction
Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes.
Introduction to Volume Rendering Presented by Zvi Devir.
2003 by Jim X. Chen: Introduction to Modeling Jim X. Chen George Mason University.
Introduction to Volume Visualization 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.
Polygonal Meshes 3D Object Representation -Tyler Abrams.
reconstruction process, RANSAC, primitive shapes, alpha-shapes
Complex Model Construction Mortenson Chapter 11 Geometric Modeling
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Surface Simplification Using Quadric Error Metrics.
Adaptive Marching Cubes Renben Shu Chen Zhou Mohan S. Kankanhalli.
ITUppsala universitet Data representation and fundamental algorithms Filip Malmberg
Marching Cubes: A High Resolution 3D Surface Construction Algorithm
Volumetric and Blobby Objects Lecture 8 (Modelling)
CS 450: Computer Graphics REVIEW: OVERVIEW OF POLYGONS
COMP 175: Computer Graphics March 24, 2015
Graphics Graphics Korea University cgvr.korea.ac.kr Creating Virtual World I 김 창 헌 Department of Computer Science Korea University
Dobrina Boltcheva, Mariette Yvinec, Jean-Daniel Boissonnat INRIA – Sophia Antipolis, France 1. Initialization Use the.
Part 6: Graphics Output Primitives (4) 1.  Another useful construct,besides points, straight line segments, and curves for describing components of a.
Scientific Visualization Module 6 Volumetric Algorithms (adapted by S.V. Moore – slides deleted, modified, and added) prof. dr. Alexandru (Alex) Telea.
Geometric Modeling using Polygonal Meshes Lecture 1: Introduction Hamid Laga Office: South.
University of Coimbra Reconstruction of Voxels from Sensor Data Ricardo Martins Coimbra, 19 th January 2010 Doctoral Programme in Electrical Engineering.
Marching Cubes: A High Resolution 3D Surface Construction Algorithm William E. Lorenson Harvey E. Cline General Electric Company Corporate Research and.
DPL10/16/2015 CS 551/651: Simplification Continued David Luebke
Mesh Data Structure. Meshes Boundary edge: adjacent to 1 face Regular edge: adjacent to 2 faces Singular edge: adjacent to >2 faces Mesh: straight-line.
Unstructured Volume Rendering Jian Huang, CS 594, Spring 2002 This set of slides reference slides developed by Prof. Torsten Moeller, SFU, Canada.
1 Compressing Triangle Meshes Leila De Floriani, Paola Magillo University of Genova Genova (Italy) Enrico Puppo National Research Council Genova (Italy)
Paradigms for Graph Drawing Graph Drawing: Algorithms for the Visualization of Graphs - Chapter 2 Presented by Liana Diesendruck.
3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.
1 by: Ilya Melamed Supervised by: Eyal Sarfati High Speed Digital Systems Lab.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2015.
CS 325 Introduction to Computer Graphics 03 / 29 / 2010 Instructor: Michael Eckmann.
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.
Volume and Solid Modeling
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
Mesh Resampling Wolfgang Knoll, Reinhard Russ, Cornelia Hasil 1 Institute of Computer Graphics and Algorithms Vienna University of Technology.
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
DPL3/10/2016 CS 551/651: Simplification Continued David Luebke
Solid Modeling Dr. Scott Schaefer.
Visible-Surface Detection Methods. To identify those parts of a scene that are visible from a chosen viewing position. Surfaces which are obscured by.
Bigyan Ankur Mukherjee University of Utah. Given a set of Points P sampled from a surface Σ,  Find a Surface Σ * that “approximates” Σ  Σ * is generally.
Decimation of Triangle Meshes Paper by W.J.Schroeder et.al Presented by Guangfeng Ji.
POLYGON MESH Advance Computer Graphics
Decimation Of Triangle Meshes
CS Computer Graphics II
CSc4730/6730 Scientific Visualization
Controlled Topology Simplification (Voxel Based Object Simplification)
Domain-Modeling Techniques
Lecture 3 : Isosurface Extraction
Volume Graphics (lecture 4 : Isosurface Extraction)
Lecture 13 Clipping & Scan Conversion
Delaunay Triangulation & Application
Chap 10. Geometric Level of Detail
Presentation transcript:

Seminar 1 Surface Rendering, Decimation Presented By Sonali Barua Date:10/31/2005

Marching Cubes Algorithm to create Triangle Models of 3D Medical Data

Information Flow for most 3D Medical Data

Former Algorithms and Drawbacks Surface Contours, Cuberilles (voxels), Octree, ray casting, shadow graph of density volume Didn’t work as they threw away useful information in the original Data such as inter slice connectivity and some algorithms relied on Motion to give a 3D effect

Marching Cubes Retains the Original 3D Data Can be Displayed using standard rendering Algorithms. Uses Divide and Conquer Techniques to calculate the surface in a logical cube created from 8 pixels, four each from adjacent slices.

Approach Assign 1 to Vertex if data value>=value of the surface being constructed hence inside the cube. Assign 0 to Vertex < value of surface hence outside the surface. 8 vertices =2 8 =256 ways a surface intersects cube. Creating table of 256 cases tedious and error prone

Alternate way Using two symmetrical Properties : Reversing or Complimentary cases and Rotational symmetry. 14 unique patterns. Permutations of these unique patterns using complementary and rotational symmetry produces the 256 cases.

Indexes To recreate the 256 cases an 8 bit index is used, each bit representing a vertex. The index serves as a pointer into an edge table that gives all edge intersections for a given cube configuration With the help of the knowledge of the edges which the surface intersects, the surface is interpolated along the edge. Usually linear interpolation is enough as it forms sufficient number of triangles per cube.

Steps in Marching Cubes Four Slices of Data are read into Memory Scan two slices Create a cube using four neighbors from each of the slices. An index of the Cube is Calculated by Comparing density values with user specified surface constants. Using the Index, list of edges is looked up from the table. Linear interpolation is used to calculate the surface edge intersection using the densities of the vertices. Unit Normal at each vertex of the cube is calculated. The Normal is interpolated to each triangle vertex. The triangle vertices and the vertex Normal are the outputs which is consequently used for Gourand shading.

Calculating the Gradient Normal of each triangle vertex Estimate the Gradient Vectors at the cube vertices using central differences and linearly interpolate the gradient at the point of intersection. Gradient/length=unit Normal Unit Normal is interpolated linearly with the point of intersection. Reason why 4 slices are kept in Memory.

Enhancements Efficiency. By getting 9 edges from previous slices and calculating only 3 edges. Save only previous line and pixel intersections. Reduction of Slice resolution using averaging, though it causes loss of data.

Functional Enhancements Use of Boolean Operations for cutting and Capping of Solid Models using concepts of inside, outside and on the surface using the index values of the cube. Truth Table is drawn. When both surfaces are there then the clipping algorithm by Sutherland- Hodgman is used. Truth table allows for multiple surface extraction.

Implementation C language Sun workstations using UNIX, VAX under VMS and IBM 3081 under IX/370

Results CT

MRI

SPECT

Questions ?????

Decimation of Triangle Meshes Algorithm to reduce the number of triangles rendered.

Reason for the Algorithm Rendering speeds and memory requirements are proportional to the number of polygons. Surface construction Algorithms such as Marching cubes creates large number of triangles to render.

Decimation Goal: Reduce the total number of Triangles while still retaining most of the important features Applies to Discrete Modeling. Approaches can be either Adaptive or Filter based for synthesizing objects Adaptive: Produces more primitives in selected Areas. Filter based: Starts with large number of samples and replaces samples to reduce model size.

Reduced Mesh Requirements Must preserve original topology of mesh including non-manifold forms. Good Geometric Approximation to the original Mesh. Hence, New vertices should not be created.

The Simple Algorithm For each pass and each vertex Characterize the local vertex geometry and topology Evaluate the decimation criteria Triangulate the resulting hole Multiple passes are made over all vertices with adjustments in the decimation criteria until a termination criteria is met.

Characterizing Local Geometry/topology Each vertex is classified into one of the 5 types If vertex is Complex, it is not a candidate for deletion. Rest of the vertex type are. If an angle is greater than the specified feature angle than a feature edge exists.

Decimation Criteria Two Decimation Criteria used: Vertex distance to plane d=| n. (v-x)| Vertex distance to edge Simple vertices used the first Criteria. Boundary and interior edge use the Second Criteria. To get rid of undesirable feature edges or small triangles caused due to “noise” in the original mesh, corner and interior edge vertices may use the first criteria to determine the edges.

Triangulation Deletion of vertex causes one or two loops. In each loop a triangulation must be created such that they are non-intersecting and non- degenerate. Two Important Characteristics are used: If loop cannot be triangulated, vertex is not deleted. Due to the star shaped nature of each loop, recursive splitting will be effective. Upon completion of triangulation, original vertex and it’s triangles are deleted.

Implementation It is used as a filter in LYMB/VISAGE visualization environment. Algorithm repeated till a specified decimation threshold is met. Decimation is controlled by slowly adjusting the distance and feature angle criterion Sometimes Number of iteration is limited Triangulation aspect ratio is also modified.

Data Structures Uses a vertex –triangle ring hierarchy structure Contains hierarchical pointers from vertex up to triangles using the vertex and pointers from triangles down to vertices. three lists: List of Vertex Coordinates. List of Triangle definition. List of lists using the each vertex.

Triangulation Recursive loop splitting Algorithm Each loop divided into 2 halves along a Split line. Split line = a line defined by 2 non-neighboring vertices in loop Each new loop is divided till there is only 3 vertices remaining A loop of 3 vertices forms a triangle that is added to the Mesh.

Continued….. Since loops are non-planar and star shaped a split plane is used Split Plane= a Plane orthogonal to the average plane that contains the split line. Split plane helps determine the non-overlapping of loops. If split plane isn’t able to make two non-overlapping loops then the vertex and it’s associated triangles are kept in the mesh.

Aspect Ratio Each loop can be split more than one way, so best splitting plane is used. To get this a criteria of aspect ratio is used Aspect ratio= (min distance of the loop vertices to the split plane)/length of the split line. Best Split plane=max (aspect ratio). Can be made to be greater than some specified aspect ratio.

Special Cases Closed tetrahedron, Tunnels. Remove a vertex to resolve the issue.

Volume Modeling

Terrain Modeling

Questions??? Thank you