ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie

Slides:



Advertisements
Similar presentations
Numbers Treasure Hunt Following each question, click on the answer. If correct, the next page will load with a graphic first – these can be used to check.
Advertisements

Angstrom Care 培苗社 Quadratic Equation II
1
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 6 Author: Julia Richards and R. Scott Hawley.
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.
Contents In today’s lecture we’ll have a look at:
Properties of Real Numbers CommutativeAssociativeDistributive Identity + × Inverse + ×
Polygon Scan Conversion – 11b
Lecture 5 3D Scalar Visualization Part One: Isosurfacing
1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 9 Adding Realism Through Texture.
ENV Envisioning Information Lecture 12 – Scientific Visualization Scalar 2D Data Ken Brodlie
1GR2-00 GR2 Advanced Computer Graphics AGR Ken Brodlie Lecture 1 - Overview.
Data Visualization Lecture 8 3D Scalar Visualization
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
Envisioning Information Lecture 14 – Scientific Visualization
Visualization Techniques -
GR2 Advanced Computer Graphics AGR
15.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 15 – Visible Surfaces and Shadows.
GR2 Advanced Computer Graphics AGR
SI23 Introduction to Computer Graphics
SI23 Introduction to Computer Graphics
GR2 Advanced Computer Graphics AGR
1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 16 Radiosity - continued.
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.
1.1 SI31_2001 SI31 Advanced Computer Graphics AGR Ken Brodlie Lecture 1 - Overview.
5.1 si31_2001 SI31 Advanced Computer Graphics AGR Lecture 5 A Simple Reflection Model.
9.1si31_2001 SI31 Advanced Computer Graphics AGR Lecture 9 Adding Realism Through Texture.
SI31 Advanced Computer Graphics AGR
8.1si31_2001 SI31 Advanced Computer Graphics AGR Lecture 8 Polygon Rendering.
13.1 si31_2001 SI31 Advanced Computer Graphics AGR Lecture 13 An Introduction to Ray Tracing.
1 Click here to End Presentation Software: Installation and Updates Internet Download CD release NACIS Updates.
PP Test Review Sections 6-1 to 6-6
Bright Futures Guidelines Priorities and Screening Tables
Reconstruction from Voxels (GATE-540)
Slide 6-1 COMPLEX NUMBERS AND POLAR COORDINATES 8.1 Complex Numbers 8.2 Trigonometric Form for Complex Numbers Chapter 8.
CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.
LIAL HORNSBY SCHNEIDER
Bellwork Do the following problem on a ½ sheet of paper and turn in.
CS 6143 COMPUTER ARCHITECTURE II SPRING 2014 ACM Principles and Practice of Parallel Programming, PPoPP, 2006 Panel Presentations Parallel Processing is.
Exarte Bezoek aan de Mediacampus Bachelor in de grafische en digitale media April 2014.
Copyright © 2013, 2009, 2006 Pearson Education, Inc. 1 Section 5.5 Dividing Polynomials Copyright © 2013, 2009, 2006 Pearson Education, Inc. 1.
Copyright © 2012, Elsevier Inc. All rights Reserved. 1 Chapter 7 Modeling Structure with Blocks.
1 RA III - Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Buenos Aires, Argentina, 25 – 27 October 2006 Status of observing programmes in RA.
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
1..
Computer Graphics An Introduction. What’s this course all about? 05/10/2014 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data.
1 05/10/2014 Computer Graphics Lecture 10 Global Illumination 1: Ray Tracing and Radiosity Taku Komura.
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.
6.4 Best Approximation; Least Squares
A Novel Hemispherical Basis for Accurate and Efficient Rendering P. Gautron J. Křivánek S. Pattanaik K. Bouatouch Eurographics Symposium on Rendering 2004.
Essential Cell Biology
Exponents and Radicals
PSSA Preparation.
Essential Cell Biology
Immunobiology: The Immune System in Health & Disease Sixth Edition
Physics for Scientists & Engineers, 3rd Edition
Energy Generation in Mitochondria and Chlorplasts
Copyright © Cengage Learning. All rights reserved.
6.1 Vis_04 Data Visualization Lecture 6 - A Rough Guide to Rendering.
Marching Cubes: A High Resolution 3D Surface Construction Algorithm William E. Lorenson Harvey E. Cline General Electric Company Corporate Research and.
CS 325 Introduction to Computer Graphics 03 / 29 / 2010 Instructor: Michael Eckmann.
Local Illumination and Shading
Lecture 3 : Isosurface Extraction
Volume Graphics (lecture 4 : Isosurface Extraction)
Presentation transcript:

ENV Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie

ENV This is often called: Volume Visualization because data is defined in a volume. Major applications include: –Medical imaging –Environmental science –Engineering – computational fluid dynamics Main approaches are: –Slicing and Surface extraction (this morning) –Volume rendering (this afternoon) Scalar 3D Visualization

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

ENV Isosurface Examples

ENV Interpolation for Scalar 3D Visualization

ENV f 000 f 001 f 100 f 101 f 111 Volume of data voxel vertex Each voxel transformed to unit cube f 011 f 110 f 010 Notation

ENV f 000 f 001 f 100 f 101 f 111 f 011 f 110 f 010 Value at any interior point taken as value at nearest vertex Fast Discontinuous Data Enrichment – Nearest Neighbour Interpolation

ENV The value at is found by: (i) 4 1D interpolations in x (ii) 2 1D interpolations in y (iii) 1 1D interpolation in z f 101 f 000 f 001 f 100 f 111 f 011 f 110 f 010 Data Enricment – Trilinear Interpolation

ENV Isosurfacing

ENV Lobster – Increasing the Threshold Level From University of Bonn

ENV Accurate Isosurface of Trilinear Interpolant True isosurface of a trilinear interpolant is a curved surface cf contouring where contours are hyperbola Because the surface is so complex we approximate by the triangles shown

ENV 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 2 8 = 256 different cases! Isosurface Construction

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

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

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

ENV Isosurface Construction - Positive Vertices at Opposite Corners

ENV 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 Isosurface Construction

ENV 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

ENV 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 The classic algorithm is called Marching Cubes – find isosurface in one cube, then next and so on, marching from cube to cube

ENV 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? Isosurfacing by Marching Cubes Algorithm

ENV 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

ENV As in contouring, another solution is to divide into simpler shapes - here they are tetrahedra 24 tetrahedra in all Value at centre = average of vertex values Marching Tetrahedra As in 2D case, this removes ambiguities… Cost is greater number of triangles which increases rendering time

ENV A Rough Guide to Rendering

ENV Surface views for 2D scalar visualization, and isosurfaces for 3D scalar visualization both generate a triangular mesh surface Techniques for rendering these meshes rely on : –an understanding of how light is reflected from surfaces - to define the colour of points within each triangle –generating a 2D image representation of the 3D scene Just a simplified view here... Rendering of Triangles

ENV Reflection Model There are two major components to consider in modelling reflection of light from a surface –diffuse reflection: this gives a dull effect; light is scattered evenly and gives the colour of the surface –specular reflection: this gives shininess of surface; light is reflected at angle of perfect reflection and has colour of incoming light –total effect is sum of both (plus ambient light)

ENV * intensity of reflected light depends on angle of light to surface light source N L I* = Intensity of light source N = Surface normal L = Direction of light source K d = Diffuse-reflection coefficient (gives colour) I = Reflected intensity surface I = K d (cos ) I* * equal reflection in all directions I, I*, K d have R, G, B components Reflection Model – Diffuse Reflection

ENV I* = Intensity of light source V = View direction R = Direction of perfect reflected light K s = Specular-reflection coefficient I = Reflected intensity I = K s ( cos ) n I* n varies with material large n : shiny small n : dull Intensity depends on angle between eye and reflected light ray - and type of material V light source N L R eye surface Reflection Model – Specular Reflection

ENV Effect of Diffuse Reflection Slide from Alan Watt, University of Sheffield

ENV Effect of Diffuse plus Specular Reflection Slide from Alan Watt, University of Sheffield

ENV To render a scene composed of a number of surfaces (here triangles)…..project the surfaces on to a viewing plane, determining which are visible to the eye, and assigning the colour as given by the lighting model Rendering

ENV view plane eye point Perspective Projection

ENV view plane direction of projection Parallel Projection

ENV Thus, by projecting the triangle vertices, we get position of triangle in image - how can we get the colour of pixels within the triangle? There are two techniques of increasing complexity - and increasing realism: –Flat shading –Gouraud shading Triangle Rendering

ENV Each point in a triangle given the same intensity N1 N2 N3 N4 Fast and simple - but intensity discontinuities at edges Calculate intensity for each triangle from reflection model equations Flat Shading of Triangular Mesh

ENV Aim is to shade mesh as though it were curved surface Step 1: Approximate normal at each vertex in some way - one possibility is to average the normals of surrounding triangles Gouraud Shading of Triangular Mesh

ENV Step 2: Calculate the intensity at each vertex using the lighting model I1I1 I2I2 I3I3 I1I1 I2I2 I3I3 Step 3: Calculate the intensity at any interior point by linear interpolation in triangle Gouraud Shading of Triangular Mesh

ENV Flat shading: –fast and simple, 1 lighting calcn done per triangle, all pixels given same intensity –discontinuity in intensity across edges Gouraud shading –relatively fast, 1 lighting calcn per vertex, intensity linearly interpolated from vertex intensities - giving smooth appearance – now industry standard Comparison of Techniques

ENV Constant or Flat Shading - Each Polygon has Constant Shade

ENV Gouraud Shading

ENV Flat and Gouraud Shading Slides from Alan Watt, University of Sheffield

ENV Isosurface algorithms generate triangular meshes which can be rendered as just described Key is the estimation of vertex normals for Gouraud shading One possibility is to construct the entire surface, then assign vertex normals as average of normals of surrounding triangles Rendering of Isosurfaces

ENV An alternative - generally preferred - is based on fact that surface normal is equal to the gradient vector of f At (x i,y j,z k ), df/dx = 0.5*(f i+1,j,k - f i-1,j,k ) df/dy = 0.5*(f i,j+1,k - f i,j-1,k ) df/dz = 0.5*(f i,j,k+1 - f i,j,k-1 ) This gives us normals at all grid points, and then trilinear interpolation will give normals at the triangle vertices Rendering of Isosurfaces

ENV Example – brain visualization illumination of isosurface

ENV Example – mechanical engineering Isosurfacing can be applied to rendering of objects… here an engine Computer Science, UC Davis

ENV Example – medical application Vertebrae….. Also from UC Davis

ENV References Classic paper: W.E. Lorensen and H.E. Cline, Marching Cubes : A High Resolution 3D Surface Reconstruction Algorithm. Computer Graphics, vol21, 4, pp163169, 1987 Recent paper: A. Lopes and K. Brodlie, Improving the Robustness and Accuracy of the Marching Cubes Algorithm for Isosurfacing, IEEE Transactions on Visualization and Computer Graphics, Volume 9, Number 1, pp 16-29, 2003