46
ENV 2006 13.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie [email protected]

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

Embed Size (px)

Citation preview

Page 1: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.1

Envisioning Information

Lecture 13 – Scientific Visualization

Scalar 3D Data: Isosurfacing

Ken [email protected]

Page 2: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.2

• 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

Page 3: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.3

• 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

Page 4: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.4

Isosurface Examples

Page 5: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.5

Interpolation for Scalar 3D Visualization

Page 6: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.6

f000

f001

f100

f101

f111

Volume of data

voxel

vertex

Each voxel transformedto unit cube

f011

f110f010

Notation

Page 7: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.7

f000

f001

f100

f101

f111f011

f110f010

Value at any interior pointtaken as value at nearestvertex

FastDiscontinuous

Data Enrichment – Nearest Neighbour Interpolation

Page 8: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.8

The value at

is found by:(i) 4 1D interpolationsin x

(ii) 2 1D interpolationsin y

(iii) 1 1D interpolationin z

f101

f000

f001

f100

f111f011

f110f010

Data Enricment – Trilinear Interpolation

Page 9: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.9

Isosurfacing

Page 10: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.10

Lobster – Increasing the Threshold Level

From University of Bonn

Page 11: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.11

Accurate Isosurface of Trilinear Interpolant

True isosurface of atrilinear interpolantis a curved surface

cf contouringwhere contours are hyperbola

Because the surface is socomplex we approximateby the triangles shown

Page 12: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.12

• 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!

Isosurface Construction

Page 13: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.13

There is no portion of the isosurface inside the cube!

These two are easy…

Page 14: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.14

Intersections with edges found by inverse linear interpolation

(as in contouring)

Isosurface Construction – One Positive Vertex

Page 15: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.15

Joining edge intersections across faces forms a triangleas part of the isosurface

Isosurface Construction – One Positive Vertex

Page 16: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.16

Isosurface Construction - Positive Vertices at Opposite Corners

Page 17: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.17

• 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

Page 18: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.18

Canonical Cases for Isosurfacing

The 256 possible configurationscan be grouped into these 15 canonical cases onthe basis of complementarity (swapping positive and negative)and rotational symmetry

The advantage of doing this isfor ease of implementation - wejust need to code 15 cases not256

Page 19: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.19

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

Page 20: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.20

• 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

Page 21: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.21

• Marching cubes suffers from exactly the same problems that we saw in contouring

Case 3: Triangles are chosen toslice off the positive vertices - but couldthey have been drawn another way?

Ambiguities

Page 22: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.22

• As in contouring, another solution is to divide into simpler shapes - here they are tetrahedra

24 tetrahedra in all

Value at centre =average of vertexvalues

Marching Tetrahedra

As in 2D case, thisremoves ambiguities…

Cost is greater numberof triangles whichincreases renderingtime

Page 23: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.23

A Rough Guide to Rendering

Page 24: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.24

• 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

Page 25: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.25

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)

Page 26: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.26

* intensity of reflected lightdepends on angle of light to surface

lightsourceN

L

I* = Intensity of light sourceN = Surface normalL = Direction of light sourceKd = Diffuse-reflectioncoefficient (gives colour)I = Reflected intensity

surface

I = Kd (cos ) I*

* equal reflection in all directions

I, I*, Kd have R, G, B components

Reflection Model – Diffuse Reflection

Page 27: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.27

I* = Intensity of light sourceV = View directionR = Direction of perfect

reflected lightKs = Specular-reflection

coefficientI = Reflected intensity

I = Ks( cos )n I*

n varies with materiallarge n : shinysmall n : dull

Intensity depends on angle between eye and reflected light ray - and type of material

V

lightsourceN

LR

eye

surface

Reflection Model – Specular Reflection

Page 28: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.28

Effect of Diffuse ReflectionSlide from Alan Watt, University of Sheffield

Page 29: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.29

Effect of Diffuse plus Specular ReflectionSlide from Alan Watt, University of Sheffield

Page 30: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.30

• 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

Page 31: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.31

view plane

eye point

Perspective Projection

Page 32: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.32

view plane

direction ofprojection

Parallel Projection

Page 33: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.33

• 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

Page 34: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.34

• Each point in a triangle given the same intensity

N1N2

N3

N4

Fast and simple- but intensitydiscontinuities at edges

Calculate intensityfor each trianglefrom reflection modelequations

Flat Shading of Triangular Mesh

Page 35: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.35

• 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

Page 36: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.36

Step 2: Calculate the intensityat each vertex using the lightingmodel

I1

I2

I3

I1

I2

I3

Step 3: Calculate the intensityat any interior point by linearinterpolation in triangle

Gouraud Shading of Triangular Mesh

Page 37: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.37

• Flat shading:– fast and simple, 1 lighting calc’n done per triangle, all pixels given

same intensity

– discontinuity in intensity across edges

• Gouraud shading– relatively fast, 1 lighting calc’n per vertex, intensity linearly

interpolated from vertex intensities - giving smooth appearance – now industry standard

Comparison of Techniques

Page 38: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.38

Constant or Flat Shading -Each Polygon has Constant Shade

Page 39: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.39

Gouraud Shading

Page 40: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.40

Flat and Gouraud ShadingSlides from Alan Watt, University of Sheffield

Page 41: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.41

• 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

Page 42: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.42

• An alternative - generally preferred - is based on fact that surface normal is equal to the gradient vector of f

At (xi,yj,zk), 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 givenormals at the triangle vertices

Rendering of Isosurfaces

Page 43: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.43

Example – brain visualization

http://www.csit.fsu.edu/~futch/iso/Note illumination of isosurface

Page 44: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.44

Example – mechanical engineering

• Isosurfacing can be applied to rendering of objects… here an engine

Computer Science, UC Davis

Page 45: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.45

Example – medical application

• Vertebrae…

• .. Also from UC Davis

Page 46: ENV 200613.1 Envisioning Information Lecture 13 – Scientific Visualization Scalar 3D Data: Isosurfacing Ken Brodlie kwb@comp.leeds.ac.uk

ENV 2006 13.46

References

• Classic paper:

• W.E. Lorensen and H.E. Cline, Marching Cubes : A High Resolution 3D Surface Reconstruction Algorithm. Computer Graphics, vol21, 4, pp163—169, 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