footprint evaluation for volume rendering l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Footprint Evaluation for Volume Rendering PowerPoint Presentation
Download Presentation
Footprint Evaluation for Volume Rendering

Loading in 2 Seconds...

play fullscreen
1 / 25

Footprint Evaluation for Volume Rendering - PowerPoint PPT Presentation


  • 235 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

Footprint Evaluation for Volume Rendering


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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))

process 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
feed backward vs feed forward
Feed Backward vs. Feed Forward
  • Feed Backward Method: Image space algorithm (Ray casting)
  • Feed Forward: Object space method (Splatting)

Backward:

ray casting

feed backward vs feed forward4
Feed Backward vs. Feed Forward

Feed forward: Splatting

Splat!

fill the holes
Fill the holes

We need to fill the pixel values between the

volume projection samples

That is, to fit a continuous

function through the discrete

Samples

We can use convolution

to do this

convolution

i= -

j= -

Convolution

Convolution:

g(x,y) = S Sf(i,j) h (x-i, y-j)

weight

Relative

position

Sample value

f(i,j)

The output is a weighted

average of inputs

g(x,y)

convolution 2
Convolution (2)

Another way of thinking

convolution is to deposit

each function value to

its neighbor pixels

f(i,j)

the weighting

function for the

deposit

this weighting

function is

called ‘Kernel’

volume rendering and convolution

?

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

3d kernel for splatting

?

3D Kernel for Splatting

Need to know the 3D extent of each voxel, and

Then project the extent to the image plane

This is called ‘footprint’

x

Splatting

footprint function

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

i j k

(i,j,k ranges from - to )

-

-

Footprint function
  • 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
footprint function 2

-

-

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)

(x,y)

(0,0)

This footprint function defines how much voxel (i,j,k) will deposit its

value to pixel (i+x, j+y) -> f(I,j,k) x footprint(x,y)

footprint function 3
Footprint Function (3)

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

value deposits

(i,j,)

The final value of pixel (i+x,j+y) will be a total sum

of the contributions from its surrouding voxel projections

footprint function 4

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

-

Footprint Function (4)
  • 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)
footprint extent
Footprint Extent

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

a sphere

footprint table
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 Gaussian

function on 2D image space after voxel projection

Generic footprint

table

preprocessing

view dependent footprint
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
footprint value lookup
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
visibility
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
effects of no of entries of the table
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).
effects of kernel function
Effects of Kernel function
  • The choice of kernel can affect the quality of the image.
  • Examples of cone, gaussian, sync, and bilinear function.
conclusion
Conclusion
  • Different from “existing” algorithms (ray casting)
  • More efficient (sometimes)
  • Easy to make parallel