+ All Categories
Home > Documents > Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

Date post: 31-Dec-2015
Category:
Upload: sopoline-vance
View: 35 times
Download: 0 times
Share this document with a friend
Description:
Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering. Ken Brodlie [email protected]. Volume Rendering. This is a quite different mapping technique for visualization of 3D scalar data (compared with isosurfacing) - PowerPoint PPT Presentation
30
ENV 2006 14.1 Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering Ken Brodlie [email protected]
Transcript
Page 1: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.1

Envisioning Information

Lecture 14 – Scientific Visualization

Scalar 3D Data – Volume Rendering

Ken [email protected]

Page 2: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.2

• This is a quite different mapping technique for visualization of 3D scalar data (compared with isosurfacing)

• Aims to relate volume to a partially opaque gel material - colour and opacity at a point depending on the scalar value

• By controlling the opacity, we can:– EITHER show surfaces through setting opacity to 0 or 1

– OR see both exterior and interior regions by grading the opacity from 0 to 1

[Note: opacity = 1 - transparency]

Volume Rendering

Page 3: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.3

Example - Forest Fire

From Numerical Model of Forest Fire, NCAR, USA

Page 4: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.4

• Major application area is medical imaging

• Different scanning techniques include:– CT (Computed Tomography)

– MRI (Magnetic Resonance Imaging)

– SPECT (Single Photon Emission Computed Tomography)

• Three-dimensional images constructed from multiple 2D slices

Scanners give averagevalue for a region - ratherthan value at a point

Interslice gap

Slice

Slice

Medical Imaging

Page 5: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.5

Examples of Brain Scans

ComputerizedTomography

MagneticResonanceImaging

SPECT

Page 6: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.6

Example - Medical Imaging

Renderedby VolPacksoftware

CT scan data256x256x226

Page 7: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.7

Data Classification – Assigning Opacity to CT data

• CT will identify fat, soft tissue and bone– Each will have known absorption levels, say ffat, fsoft_tissue, fbone

CT value

Opacity

fsoft_tissue

0

1This transfer function will highlight soft tissue

Page 8: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.8

Data Classificatiion – Assigning Opacity to CT Data

• To show all types of tissue, we assign opacities to each type and linearly interpolate between them

CT value

Opacity

fsoft_tissue

0

1

ffat fbone

Page 9: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.9

CT number

opacity

0.0

1.0This is knownas opacitytransfer function

In practice, the boundaries between materialsare of key importance - hence a two-stage algorithmused:(i) Calculate as above(ii) Scale by gradient of function to highlight boundaries

* = |grad f | grad f = [df/dx,df/dy,df/dz]

(f)

? So what is opacity in homogeneous areas ?

Data Classification – Constructing the Gel – CT Data

Page 10: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.10

• Colour classification is done similarly

white

red

yellow

Air Fat SoftTissue

Bone

CT number

Known as colour transfer function

Data Classification – Constructing the Gel – CT Data

Page 11: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.11

• Volume rendering is also useful for other data - eg CFD temperature

• Opacity transfer function: possibly increase with temperature• Colour transfer function:

blue(0,0,1)

red(1,0,0)

temperature

Data Classification – Constructing the Gel – Temperature Data

Page 12: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.12

Data Classification in IRIS Explorer

• The GenerateColormap tool in IRIS Explorer can be used to assign colour and transparency to data

• Make sure you know how to save colourmaps from one session to another

Page 13: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.13

Example

Storm clouddata renderedby IRIS Explorer –Isosurface & volumerendering

Page 14: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.14

Rendering the Volume

• There are two major techniques:– Ray casting

– Texture mapping

Page 15: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.15

Ray Casting to Render the Volume

1 Assign colour and opacity to data values– Classification process assigns gel colour to the original data

2 Apply light to volume– Lighting model will give the light reflected to the viewer at any

point in volume - if we know the normal

– Imagine an isosurface shell through each data point - surface normal is provided by gradient vector (remember from isosurfacing!)

– Thus we get colour reflected at each data point

Page 16: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.16

eyepoint

data volume

imageplane

ray

entrypoint

exit point

sample pointsone unit apart(colour andopacity byinterpolation)

3. For each pixel in image

a) cast ray from eye through pixel into volume, taking samples at regular unit intervals

b) measure colour reflected at each sample in direction of ray

c) composite colour from all samples along ray, taking into account the opacity of gel it passes through - en route to the eye

Casting the Rays and Taking Samples

Page 17: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.17

opaque background,emitting I0

eyepoint

I0I*

Intensity - I1

Opacity -

I* = I0 (1 - ) + I1

Imagine block of gel, one unit wide around sample point

Compositing the Samples Along the Ray – First Sample

Page 18: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.18

opaque background

eyepoint

I0I*

Intensity - I1

Opacity -

I* = I0 (1 - ) + I1... from previous slide

Intensity - I2

Opacity - 2

I**

I** = I* (1 - ) + I2

= I0 (1 - )(1 - ) + I1 - ) + I2

Compositing the Samples along the Ray – Two Samples

Page 19: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.19

• The process continues for all samples, yielding a final intensity, or colour, for the ray - and this is assigned to the pixel– try it for a third sample, then you should be able to deduce a

general formula

I = ni=0 Iii n

j=i+1(1 - j)

Note that if one compositing step is done for each ray in turn, then the next step, and so on, the image will be created in a sweep from back to front, showing all the data (even behind opaque parts)

Compositing the Samples along a Ray

Page 20: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.20

Compositing can also work front-to-back:

Intensity In

Opacity n

eyepoint

I*I* = n In

Intensity In

Opacity n

eyepoint

I**I** = I* + (1 - *)n-1In-1

Intensity In-1

Opacity n-1

* = n- cumulative opacity

** = * + (1-*)n-1

Front to Back Compositing

Page 21: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.21

• The advantage of front-to-back compositing is that we can stop the process if the accumulated opacity reaches 1.0 - no point in going further

• Again, you should be able to deduce the general formula if you look at three samples – can you show that front-to-back and back-to-front compositing give the

same answer?

Front-to-Back Compositing – Early Termination

Page 22: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.22

Maximum Intensity Projection

• When performance rather than accuracy is the goal, we can avoid compositing altogether and approximate I by maximum intensity along ray

• MIP : Maximum Intensity Projection

• Often used in angiography...

Page 23: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.23

Texture-based Volume Rendering

• Volume rendering by ray casting is time-consuming– one ray per pixel

– each ray involves tracking through volume calculating samples, and then compositing

– different for each viewpoint

• Alternative approach - using texture maps - can exploit graphics hardware

Page 24: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.24

Texture Mapping

• Modern graphics hardware includes facility to draw a textured polygon

• The texture is an image with red, green, blue and alpha components…

• … this is used in computer graphics to avoid constructing complex geometric models

… and we can exploit this in volume rendering

Page 25: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.25

Texture-based Volume Rendering

• Draw from back-to-front a set of rectangles

– first rectangle drawn as an area of coloured pixels, with associated opacity, as determined by transfer function and interpolation - and merged with background in a compositing operation (supported by hardware)

– successive rectangles drawn on top

Page 26: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.26

3D Texture-based Volume Rendering

• For a given viewing direction, we would need to select slices perpendicular to this direction

• This requires interpolation to get the values on the slices

• Until recently this has only been possible with expensive graphics boards

imageplane

volume

3D texture mapping

Page 27: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.27

Comparison of Ray Casting and Texture Approaches

Ray casting Ray castingTexture-based Texture-based

http://www.cora.nwra.com/Ogle/ http://vg.swan.ac.uk/vlibhttp://www.amiravis.com

Page 28: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.28

Close Up

Ogle: texture-based Vlib: ray casting

Page 29: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.29

Splatting

• Another commonly used method is splatting

• Fuzzy balls around each voxel projected on to image plane

• Composited in the image plane

• VolumeToGeom in IRIS Explorer

Page 30: Envisioning Information Lecture 14 – Scientific Visualization Scalar 3D Data – Volume Rendering

ENV 2006 14.30

References

• Classic paper:

• M. Levoy. Efficient ray tracing of volume data. ACM Trans Graphics, Vol 9, 3, pp245-261, 1990

• Recent work:

• Ray casting:– S. Grimm, S. Bruckner, A.

Kanitsar, E. Groller.Memory efficient acceleration structures and techniques for CPU-based volume raycasting of large data. In Proceedings of the IEEE Symposium on Volume Visualization and Graphics 2004 (Oct. 2004), pp. 1-8.

• Texture-based:– K. Engel et al, Real-time

volume graphics. Tutorial 28 in SIGGRAPH2004, See <http://www.vrvis.at/via/resources/course-volgraphics-2004/>


Recommended