Lecture 5 3D Scalar Visualization Part One: Isosurfacing

Slides:



Advertisements
Similar presentations
Angstrom Care 培苗社 Quadratic Equation II
Advertisements

Feichter_DPG-SYKL03_Bild-01. Feichter_DPG-SYKL03_Bild-02.
© 2008 Pearson Addison Wesley. All rights reserved Chapter Seven Costs.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Chapter 1 The Study of Body Function Image PowerPoint
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 6 Author: Julia Richards and R. Scott Hawley.
Author: Julia Richards and R. Scott Hawley
1 Copyright © 2013 Elsevier Inc. All rights reserved. Appendix 01.
Properties Use, share, or modify this drill on mathematic properties. There is too much material for a single class, so you’ll have to select for your.
UNITED NATIONS Shipment Details Report – January 2006.
Properties of Real Numbers CommutativeAssociativeDistributive Identity + × Inverse + ×
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
Polygon Scan Conversion – 11b
10.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 10 – Introduction to 3D Graphics.
13.1 Vis_2003 Data Visualization Lecture 13 Visualization of Very Large Datasets.
1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 2 Basic Modelling.
ENV Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie
ENV Envisioning Information Lecture 12 – Scientific Visualization Scalar 2D Data Ken Brodlie
7.1 Vis_04 Data Visualization Lecture 7 3D Scalar Visualization Part 2 : Volume Rendering- Introduction.
Data Visualization Lecture 4 Two Dimensional Scalar Visualization
GR2 Advanced Computer Graphics AGR
Visualization Techniques -
SI23 Introduction to Computer Graphics
16.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 16 – Some Special Rendering Effects.
7.1 si31_2001 SI31 Advanced Computer Graphics AGR Lecture 7 Polygon Shading Techniques.
Solve Multi-step Equations
REVIEW: Arthropod ID. 1. Name the subphylum. 2. Name the subphylum. 3. Name the order.
7 Applications of Integration
CME12, – Rzeszów, Poland Gergely Wintsche Generalization through problem solving Gergely Wintsche Mathematics Teaching and Didactic Center.
EU market situation for eggs and poultry Management Committee 20 October 2011.
Reconstruction from Voxels (GATE-540)
CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.
MAT 205 F08 Chapter 12 Complex Numbers.
14 Vectors in Three-dimensional Space Case Study
Constant, Linear and Non-Linear Constant, Linear and Non-Linear
P Preparation for Calculus.
Factor P 16 8(8-5ab) 4(d² + 4) 3rs(2r – s) 15cd(1 + 2cd) 8(4a² + 3b²)
Functions, Graphs, and Limits
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
1..
© 2012 National Heart Foundation of Australia. Slide 2.
Using AVS/Express in an Introductory Computer Graphics Course.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Synthetic.
1 Motion and Manipulation Configuration Space. Outline Motion Planning Configuration Space and Free Space Free Space Structure and Complexity.
Splines I – Curves and Properties
6.4 Best Approximation; Least Squares
1 On c-Vertex Ranking of Graphs Yung-Ling Lai & Yi-Ming Chen National Chiayi University Taiwan.
Model and Relationships 6 M 1 M M M M M M M M M M M M M M M M
1 Using one or more of your senses to gather information.
Analyzing Genes and Genomes
Datorteknik IntegerAddSub bild 1 Integer arithmetic Depends what you mean by "integer" Assume at 3-bit string. –Then we define zero = 000 one = 001 Use.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Essential Cell Biology
Intracellular Compartments and Transport
PSSA Preparation.
Essential Cell Biology
Energy Generation in Mitochondria and Chlorplasts
1 Functions and Applications
Instructor: Shengyu Zhang 1. Content Two problems  Minimum Spanning Tree  Huffman encoding One approach: greedy algorithms 2.
Copyright © Cengage Learning. All rights reserved.
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.
Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes.
Advanced Iso- Surfacing Algorithms Mengxia Zhu, Fall 2007.
Marching Cubes A High Resolution 3D Surface Construction Algorithm.
Marching Cubes: A High Resolution 3D Surface Construction Algorithm William E. Lorenson Harvey E. Cline General Electric Company Corporate Research and.
Lecture 3 : Isosurface Extraction
Volume Graphics (lecture 4 : Isosurface Extraction)
Presentation transcript:

Lecture 5 3D Scalar Visualization Part One: Isosurfacing Data Visualization Lecture 5 3D Scalar Visualization Part One: Isosurfacing

Three Dimensional Scalar Visualization This is often called: Volume Visualization because data is defined in a volume. Major applications are: medical imaging computational fluid dynamics Main approaches are: Surface extraction (this lecture) Volume rendering (next lecture)

Surface Extraction Surface Extraction SLICING - Take a slice through the 3D volume (often orthogonal to one of the axes), reducing it to a 2D problem ISOSURFACING - Extract a surface of constant value through the volume Note analogous techniques in 2D visualization: 1D cross-sections, and contours (=isolines)

Isosurface Examples

Notation vertex f111 f011 f001 f101 Volume of data voxel f010 f110 Each voxel transformed to unit cube f000 f100

Data Enrichment - Nearest Neighbour Interpolation Value at any interior point taken as value at nearest vertex f111 f011 f001 Fast Discontinuous f101 f010 f110 f000 f100

Data Enrichment - Trilinear Interpolation Trilinear interpolant is: f(x,y,z) = f000(1-x)(1-y)(1-z) + f100x(1-y)(1-z) + f010(1-x)y(1-z) + f001(1-x)(1-y)z + f110xy(1-z) + f101x(1-y)z + f011(1-x)yz + f111xyz f111 f011 f001 f101 f010 f110 f000 f100

Data Enrichment - Trilinear Interpolation The value at f101 f000 f001 f100 f111 f011 f110 f010 is found by: (i) 4 1D interpolations in x (ii) 2 1D interpolations in y (iii) 1 1D interpolation in z

Isosurfacing

Lobster – Increasing the Threshold Level From University of Bonn

Isosurface Construction For simplicity, we shall work with zero level isosurface, and denote positive vertices as There are EIGHT vertices, each can be positive or negative - so there are 28 = 256 different cases!

These two are easy! There is no portion of the isosurface inside the cube!

Isosurface Construction - One Positive Vertex - 1 Intersections with edges found by inverse linear interpolation (as in contouring)

Note on Inverse Linear Interpolation The linear interpolation formula gives value of f at specified point t: f(x*) = f1 + t ( f2 - f1 ) Inverse linear interpolation gives value of t at which f takes a specified value f* t = (f* - f1)/(f2 –f1) f1 f2 x1 x2 t f* f1 f2 x1 x2 t f*

Isosurface Construction - One Positive Vertex - 2 Joining edge intersections across faces forms a triangle as part of the isosurface

Isosurface Construction -Positive Vertices at Opposite Corners

Isosurface Construction One can work through all 256 cases in this way - although it quickly becomes apparent that many cases are similar. For example: 2 cases where all are positive, or all negative, give no isosurface 16 cases where one vertex has opposite sign from all the rest In fact, there are only 15 topologically distinct configurations

Canonical Cases for Isosurfacing The 256 possible configurations can be grouped into these 15 canonical cases on the basis of complementarity (swapping positive and negative) and rotational symmetry The advantage of doing this is for ease of implementation - we just need to code 15 cases not 256

Isosurface Construction In some configurations, just one triangle forms the isosurface In other configurations ... ...there can be several triangles …or a polygon with 4, 5 or 6 points which can be triangulated A software implementation will have separate code for each configuration

Marching Cubes Algorithm Step 1: Classify the eight vertices relative to the isosurface value V8 V7 8-bit index ; 1+ve;0 -ve V5 V6 1 1 1 V4 V3 V1 V2 V3 V4 V5 V6 V7 V8 V1 V2 Code identifies edges intersected: V1V4; V1V5; V2V3; V2V6; V5V8; V7V8; V4V8

Marching Cubes Algorithm Step 2: Look up table which identifies the canonical configuration For example: 00000000 Configuration 0 10000000 Configuration 1 01000000 Configuration 1 … 11000001 Configuration 6 ... 11111111 Configuration 0 256 entries in table

Marching Cubes Algorithm Step 3: Inverse linear interpolation along the identified edges will locate the intersection points Step 4: The canonical configuration will determine how the pieces of the isosurface are created (0, 1, 2, 3 or 4 triangles) Step 5: Pass triangles to renderer for display Algorithm marches from cube to cube between slices, and then from slice to slice to produce a smoothly triangulated surface

Homework Case 12 has three positive vertices on the bottom plane; and one positive vertex on the top plane, directly above the single negative on the bottom plane. Without looking at the answer…. Try to work out the isosurface!

Isosurfacing by Marching Cubes Algorithm Advantages isosurfaces good for extracting boundary layers surface defined as triangles in 3D - well-known rendering techniques available for lighting, shading and viewing ... with hardware support Disadvantages shows only a slice of data ambiguities?

Ambiguities Marching cubes suffers from exactly the same problems that we saw in contouring Case 3: Triangles are chosen to slice off the positive vertices - but could they have been drawn another way?

Ambiguities on Faces On the front face, we have exactly the same ambiguity problem we had with contouring We can determine which pair of intersections to connect by looking at value at saddle point

Ambiguities on Faces Trouble occurs because: trilinear interpolant is only linear along the edges on a face, it becomes a bilinear function ... and for correct topology we must join the correct pair of intersections Case 3 has two triangle pieces cutting off corners! .. but here is another interpretation! 6 configurations include ambiguous faces

Holes in Isosurfaces Because of the ambiguity, early implementations which did not allow for this could leave holes where cells join Cases 12 and 3 in adjoining cells can cause holes

Resolving the Face Ambiguities Using the saddle point method to determine the correct behaviour on a face generates sub-cases for each of the 6 ambiguous configurations which sub-case is chosen depends on the value of the saddle-point on the face note that some configurations have several ambiguous faces so many subcases arise - eg see config 13! if we do not extend the 15 cases there is chance of holes appearing in surface

Trilinear Interpolant The trilinear function: f(x,y,z) = f000(1-x)(1-y)(1-z) +f100x(1-y)(1-z) +f010(1-x)y(1-z) + f001(1-x)(1-y)z +f110xy(1-z) +f101x(1-y)z +f011(1-x)yz +f111xyz is deceptively complex For example, the isosurface of f(x,y,z) = 0 is a cubic surface

Accurate Isosurface of Trilinear Interpolant True isosurface of a trilinear interpolant is a curved surface cf contouring where contours are hyperbola We are approximating by the triangles shown

Interior Ambiguities In some cases there can also be ambiguities in the interior Consider case where opposite corners are positive Two possibilities: separated or tunnel

Resolving the Interior Ambiguity Decided by value at body saddle point (fx = fy = fz = 0) Negative: two separate shells Positive: tunnel

Marching Cubes 33 Revised marching cubes with correct topology: 15 basic canonical configurations Ambiguous faces divide 6 into 18 subcases - totalling 27 cases Ambiguous interiors (tunnel or no tunnel) divide 6 into 12 cases - totalling 33 cases Marching Cubes 33

Marching Tetrahedra As in contouring, another solution is to divide into simpler shapes - here they are tetrahedra Fit linear function in each tetrahedron: f(x,y,z) = a + bx + cy + dz Isosurface of linear function is triangle 24 tetrahedra in all Value at centre = average of vertex values

Marching Tetrahedra A disadvantage of the ‘24’ marching tetrahedra is the large number of triangles which are created - slowing down the rendering time There are versions that just use 5 tetrahedra

Credits and References Original marching cubes algorithm Lorensen and Cline (1987) Face ambiguities Nielson and Hamann (1992) Interior ambiguities Chernyaev (1995) Accurate marching cubes Lopes and Brodlie (2003) For references see the ‘Resources’ web page