footprint evaluation for volume rendering

25
Footprint Evaluation for Volume Rendering A Feed-forward Approach - a.k.a. Splatting (We ‘used’ to be called Ohio Splatting University (OSU)

Upload: hovan

Post on 05-Feb-2016

37 views

Category:

Documents


0 download

DESCRIPTION

Footprint Evaluation for Volume Rendering. A Feed-forward Approach - a.k.a. Splatting. (We ‘used’ to be called Ohio Splatting University (OSU)). Process for volume rendering. Reconstruct the continuous volume function Shade the continuous function - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Footprint Evaluation for     Volume Rendering

Footprint Evaluation for Volume Rendering

A Feed-forward Approach - a.k.a. Splatting

(We ‘used’ to be called Ohio Splatting University (OSU))

Page 2: Footprint Evaluation for     Volume Rendering

Process for volume rendering

Reconstruct the continuous volume function

Shade the continuous function Project this continuous function into

image space Resample the function to get the image

Page 3: Footprint Evaluation for     Volume Rendering

Feed Backward vs. Feed Forward

Feed Backward Method: Image space algorithm (Ray casting)

Feed Forward: Object space method (Splatting)

Backward: ray casting

Page 4: Footprint Evaluation for     Volume Rendering

Feed Backward vs. Feed Forward

Feed forward: Splatting

Splat!

Page 5: Footprint Evaluation for     Volume Rendering

Splatting (feed-forward)

?

Page 6: Footprint Evaluation for     Volume Rendering

Fill the holes

We need to fill the pixel values between the volume projection samples

That is, to fit a continuous function through the discreteSamples

We can use convolution to do this

Page 7: Footprint Evaluation for     Volume Rendering

Convolution

Convolution:

g(x,y) = f(i,j) h (x-i, y-j) i= - j= -

g(x,y)

f(i,j)

The output is a weighted average of inputs

Sample value

weightRelative position

Page 8: Footprint Evaluation for     Volume Rendering

Convolution (2)

f(i,j)

Another way of thinking convolution is to depositeach function value to its neighbor pixels

the weightingfunction for thedeposit

this weightingfunction is called ‘Kernel’

Page 9: Footprint Evaluation for     Volume Rendering

Volume Rendering and Convolution

Feed Backward (ray casting) views convolution as generating outputs as a weighted average of inputs.

Feed Forward (splatting) views convolution as generating outputs as inputs distributing energy to outputs.

Ray casting

?

Splatting

Page 10: Footprint Evaluation for     Volume Rendering

3D Kernel for Splatting

?

Splatting

Need to know the 3D extent of each voxel, and Then project the extent to the image plane

xThis is called ‘footprint’

Page 11: Footprint Evaluation for     Volume Rendering

Footprint function

g(x,y,z) = f(i,j,k) h (x-i, y-j, z-k) i j k

(i,j,k ranges from - to )

- Effect [(i,j,k)->(x,y,z)] = f(i,j,k) x h (x-i, y-j, z-k)

- Effect [(i,j,k)->(x,y)] = f(i,j,k) x h (x-i, y-j, z-k) dz = f(i,j,k) h (x-i, y-j, z-k) dz

-

-

Page 12: Footprint Evaluation for     Volume Rendering

Footprint Function (2)

Effect [(i,j,k)->(x,y)] = f(i,j,k) h (x-i, y-j, z-k) dz-

If we place f(i,j,k) at the origin

Then function weight [(i,j,k)->(x,y)] is

h (x, y, z) dz = footprint(x,y)-

(0,0)

(x,y)

This footprint function defines how much voxel (i,j,k) will deposit itsvalue to pixel (i+x, j+y) -> f(I,j,k) x footprint(x,y)

Page 13: Footprint Evaluation for     Volume Rendering

Footprint Function (3)

(i,j,)

Pixel (i+x,j+y) receives f(i,j,k) x footprint(x,y) value deposits

The final value of pixel (i+x,j+y) will be a total sum of the contributions from its surrouding voxel projections

Page 14: Footprint Evaluation for     Volume Rendering

Footprint Function (4)

footprint (x,y) = h (x, y, z) dz-

• Evaluating footprint(x,y) on the fly is too time Consuming - involves integration of the the kernel function h(x,y,z)

• We can build the footprint table at preprocessing time

• The kernel function can be any (depends on the renderer)

Page 15: Footprint Evaluation for     Volume Rendering

Footprint Extent

Approximate the 3D kernel (h(x,y,z))extent by a sphere

Page 16: Footprint Evaluation for     Volume Rendering

Footprint Table

A popular kernel is a three-dimensional Gaussian

As 1D integration of 3D Gaussian is still a 2D Gaussian – we can just skip the Z integration and evaluate the Gaussianfunction on 2D image space after voxel projection

Generic footprinttable

preprocessing

Page 17: Footprint Evaluation for     Volume Rendering

View-dependent footprint

It is possible to transform a sphere kernel into A ellipsoid

• The projection of an ellipsoid is an ellipse

• We need to transform the generic footprint table to the ellipse

Page 18: Footprint Evaluation for     Volume Rendering

View-dependent footprint (2)

Page 19: Footprint Evaluation for     Volume Rendering

Footprint Value Lookup

For rectilinear meshes, the footprint of each sample is identical except for an image-space offset.

The renderer only needs to calculate footprint function once for each view.

Weight is calculated by table lookup at the footprint function value at each pixel that lies within the footprint’s extend

Page 20: Footprint Evaluation for     Volume Rendering

Spatting for Volume Rendering

Page 21: Footprint Evaluation for     Volume Rendering

Visibility Splatting uses the compositing

operator to perform visibility Either front to back or back to front

compositing (different formula) The problem for simply composite

sample’s footprint onto the accumulation buffer sample by sample

Page 22: Footprint Evaluation for     Volume Rendering

Effects of No. of entries of the table Time versus space tradeoff If a lot of entries, nearest neighbor

works fine If coarse, interpolate from nearest

samples. For smaller table size, interpolation

gives much better results. Images (figure 2 in the paper).

Page 23: Footprint Evaluation for     Volume Rendering

Results (1)

Page 24: Footprint Evaluation for     Volume Rendering

Effects of Kernel function

The choice of kernel can affect the quality of the image.

Examples of cone, gaussian, sync, and bilinear function.

Page 25: Footprint Evaluation for     Volume Rendering

Conclusion

Different from “existing” algorithms (ray casting)

More efficient (sometimes) Easy to make parallel