1 / 25

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. Reconstruct the continuous volume function Shade the continuous function

hovan
Télécharger la présentation

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. Feed Backward vs. Feed Forward • Feed Backward Method: Image space algorithm (Ray casting) • Feed Forward: Object space method (Splatting) Backward: ray casting

  4. Feed Backward vs. Feed Forward Feed forward: Splatting Splat!

  5. Splatting (feed-forward) ?

  6. 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

  7. 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)

  8. 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’

  9. ? 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

  10. ? 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

  11. 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

  12. - - 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)

  13. 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

  14. 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)

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

  16. 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

  17. 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

  18. View-dependent footprint (2)

  19. 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

  20. Spatting for Volume Rendering

  21. 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

  22. 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).

  23. Results (1)

  24. Effects of Kernel function • The choice of kernel can affect the quality of the image. • Examples of cone, gaussian, sync, and bilinear function.

  25. Conclusion • Different from “existing” algorithms (ray casting) • More efficient (sometimes) • Easy to make parallel

More Related