Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm...

22
Volume Visualization with Ray Casting http://web.cs.wpi.edu/~matt/courses/cs563/talks/powwie/ p1/ray-cast.htm www.cs.technion.ac.il/~zdevir/ volume / Volume .ppt

Transcript of Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm...

Page 1: Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm zdevir/volume/Volume.ppt.

Volume Visualization with

Ray Castinghttp://web.cs.wpi.edu/~matt/courses/cs563/talks/powwie/p1/ray-cast.htm

www.cs.technion.ac.il/~zdevir/volume/Volume.ppt

Page 2: Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm zdevir/volume/Volume.ppt.

Volume Rendering

•render an image a volume

✦ CT, X-ray, PET, MRI scans

✦ Clouds

✦ Compressible fluids

•volume represented by 3D cell grid

Page 3: Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm zdevir/volume/Volume.ppt.

Volume Rendering

Typical sizes128x128x128256x256x256

Display approachesExtract surfaces

Ray trace

Page 4: Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm zdevir/volume/Volume.ppt.

Ray Casting

•Generate image directly from density data

•Cast ray through density volume

•Accumulate colors as ray passes through semi-transparent cells

Page 5: Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm zdevir/volume/Volume.ppt.

Accumulate illuminated densities

Density: D(t) = D(x(t), y(t), z(t))

illumination: I(x,y,z)

L

R

I(t)D(t)P(Cos)

Phase function: P

t1

t2

Page 6: Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm zdevir/volume/Volume.ppt.

I(t)

Radiation from light sourceAttenuated, shadowed by volume

Only needed where internal shadows are importante.g., clouds, fire, smoke

Page 7: Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm zdevir/volume/Volume.ppt.

Attenuation along a ray

2

1

)(t

tdssD

e

dtPtDtIeB

t

tdssDt

t

))(cos)()()( 12

1

)(

converts density to attenuation

R

t1

t2

Page 8: Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm zdevir/volume/Volume.ppt.

Outgoing light• light reflected in view direction from light

source

• incoming light filtered by the voxel

• light emitted by the voxel

Page 9: Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm zdevir/volume/Volume.ppt.

Ray casting algorithm

For every pixel in output image

• shoot ray into volume

• at evenly spaced ray locations, obtain color and opacity by interpolation

• merge color and opacities

- front to back

- back to front

Page 10: Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm zdevir/volume/Volume.ppt.

Visualization pipeline

•Shade volume data

•compute local gradient -> voxel normal

•produce RGB intensity for every voxel

•determine opacity of each voxel

- application dependent

- e.g. X-ray absorption coefficient

•Ray cast volume

Page 11: Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm zdevir/volume/Volume.ppt.

Voxel values•C(X) - shade

•a(X) - opacity

•Cout = Cin(1-a(Xi))+c(Xi)a(Xi)

Often parallel projection is used to simplify calcs

Page 12: Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm zdevir/volume/Volume.ppt.

Packages

•AVS: Application Visualization System

•IBM Data Explorer (DX)

•Data Visualizer

Page 13: Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm zdevir/volume/Volume.ppt.

Display issues

How to represent:

•Temporal information

•Non-spatial information

•Multi-dimensional information

Page 14: Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm zdevir/volume/Volume.ppt.

Examples

Page 15: Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm zdevir/volume/Volume.ppt.

Examples

Page 16: Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm zdevir/volume/Volume.ppt.

Examples

Page 17: Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm zdevir/volume/Volume.ppt.

Examples

Page 18: Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm zdevir/volume/Volume.ppt.

Speed-ups

•Hierarchical spatial enumeration

•adaptive termination

Page 19: Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm zdevir/volume/Volume.ppt.

Hierarchical Spatial Enumeration

Page 20: Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm zdevir/volume/Volume.ppt.

Traversing Volume

Page 21: Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm zdevir/volume/Volume.ppt.

Examples

Page 22: Volume Visualization with Ray Casting matt/courses/cs563/talks/powwie/p1/ray-cast.htm zdevir/volume/Volume.ppt.

Examples