Footprint Evaluation for Volume Rendering

Slides:



Advertisements
Similar presentations
Point-based Graphics for Estimated Surfaces
Advertisements

Fast Depth-of-Field Rendering with Surface Splatting Jaroslav Křivánek CTU Prague IRISA – INRIA Rennes Jiří Žára CTU Prague Kadi Bouatouch IRISA – INRIA.
Medical Image Registration Kumar Rajamani. Registration Spatial transform that maps points from one image to corresponding points in another image.
Computer Graphics methods
Direct Volume Rendering. What is volume rendering? Accumulate information along 1 dimension line through volume.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 4 Ravi Ramamoorthi
Image Interpolation CS4670: Computer Vision Noah Snavely.
Fast Volume Rendering Using a Shear-Warp Factorization of the Viewing Transformation Philippe Larcoute & Marc Levoy Stanford University Published in SIGGRAPH.
Other DVR Algorithms and A Comparison Jian Huang, CS 594, Spring 2002.
Extended Gaussian Images
Eyes for Relighting Extracting environment maps for use in integrating and relighting scenes (Noshino and Nayar)
The Discrete Ray-casting Algorithm Qiang Xue Jiaoying Shi State Key Lab Of CAD&CG Zhejiang University.
Direct Volume Rendering (DVR): Ray-casting
Hardware-Accelerated Adaptive EWA Volume Splatting Wei Chen ZJU Liu Ren CMU Matthias Zwicker MIT Hanspeter Pfister MERL.
Splatting Jian Huang, CS 594, Spring 2002 This set of slides reference slides made by Ohio State University alumuni over the past several years.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Information Visualization.
Modeling Pixel Process with Scale Invariant Local Patterns for Background Subtraction in Complex Scenes (CVPR’10) Shengcai Liao, Guoying Zhao, Vili Kellokumpu,
Splatting Josh Anon Advanced Graphics 1/29/02. Types of Rendering Algorithms Backward mapping Image plane mapped into data Ray casting Forward mapping.
Motion Analysis (contd.) Slides are from RPI Registration Class.
CSCE 641:Computer Graphics Image Warping/Morphing Jinxiang Chai.
Introduction to Volume Visualization Mengxia Zhu Fall 2007.
Perspective Shadow Maps Marc Stamminger and George Drettakis Speaker: Alvin Date: 5/28/2003 SIGGRAPH 2002.
Lecture 9: Image alignment CS4670: Computer Vision Noah Snavely
1 Image filtering Images by Pawan SinhaPawan Sinha.
1 Image filtering
Aliasing and Anti-Aliasing Copyright Zachary Wartell, University of North Carolina at Charlotte, All Rights Reserved Revision: 10/24/2007 3:38:00 AM ©Zachary.
Paper by Alexander Keller
1 Image filtering Hybrid Images, Oliva et al.,
N u v P(0,0) P(4,1) Orthographic (parallel) projection: Finding the starting point of the ray P(0,0): origin of image plane P(4,1): image pixel at i=4,
Direct Volume Rendering w/Shading via Three- Dimensional Textures.
Volume Rendering & Shear-Warp Factorization Joe Zadeh January 22, 2002 CS395 - Advanced Graphics.
© Chun-Fa Chang Sampling Theorem & Antialiasing. © Chun-Fa Chang Motivations “ My ray traced images have a lot more pixels than the TV screen. Why do.
COMP 175: Computer Graphics March 24, 2015
Computer Graphics Panos Trahanias ΗΥ358 Spring 2009.
Optical Models Jian Huang, CS 594, Spring 2002 This set of slides are modified from slides used by Prof. Torsten Moeller, at Simon Fraser University, BC,
Lecture 3 : Direct Volume Rendering Bong-Soo Sohn School of Computer Science and Engineering Chung-Ang University Acknowledgement : Han-Wei Shen Lecture.
COMP 261 Lecture 16 3D Rendering. input: set of polygons viewing direction direction of light source(s) size of window. output: an image Actions rotate.
Image Preprocessing: Geometric Correction Image Preprocessing: Geometric Correction Jensen, 2003 John R. Jensen Department of Geography University of South.
ITUppsala universitet Advanced Computer Graphics Filip Malmberg
Mean and Standard Deviation of Grouped Data Make a frequency table Compute the midpoint (x) for each class. Count the number of entries in each class (f).
Unstructured Volume Rendering Jian Huang, CS 594, Spring 2002 This set of slides reference slides developed by Prof. Torsten Moeller, SFU, Canada.
Week 6 - Wednesday.  What did we talk about last time?  Light  Material  Sensors.
Triple Integrals in Cylindrical and Spherical Coordinates
CMSC 635 Volume Rendering. Volume data  3D Scalar Field: F(x,y,z) = ?  Implicit functions  Voxel grid  Scalar data  Density  Temperature  Wind.
Volume Rendering CMSC 491/635. Volume data  3D Scalar Field: F(x,y,z) = ?  Implicit functions  Voxel grid  Scalar data  Density  Temperature  Wind.
Image Warping and Morphing cs195g: Computational Photography James Hays, Brown, Spring 2010 © Alexey Tikhonov.
Graphics Lecture 13: Slide 1 Interactive Computer Graphics Lecture 13: Radiosity - Principles.
Course 2 Image Filtering. Image filtering is often required prior any other vision processes to remove image noise, overcome image corruption and change.
Computer Graphics II University of Illinois at Chicago Volume Rendering Presentation for Computer Graphics II Prof. Andy Johnson By Raj Vikram Singh.
3-D Data cs5984: Information Visualization Chris North.
04/23/03© 2003 University of Wisconsin Where We’ve Been Photo-realistic rendering –Accurate modeling and rendering of light transport and surface reflectance.
112/5/ :54 Graphics II Image Based Rendering Session 11.
Lynwood Dunn ( ) Visual effects pioneer Acme-Dunn optical printer.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
Single Pass Point Rendering and Transparent Shading Paper by Yanci Zhang and Renato Pajarola Presentation by Harmen de Weerd and Hedde Bosman.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
3-D Information cs5764: Information Visualization Chris North.
CS559: Computer Graphics Lecture 7: Image Warping and Panorama Li Zhang Spring 2008 Most slides borrowed from Yungyu ChuangYungyu Chuang.
CS559: Computer Graphics Lecture 7: Image Warping and Morphing Li Zhang Spring 2010 Most slides borrowed from Yungyu ChuangYungyu Chuang.
Lecture 15: Transforms and Alignment CS4670/5670: Computer Vision Kavita Bala.
Image Warping 2D Geometric Transformations
Electronic Visualization Laboratory University of Illinois at Chicago “Fast And Reliable Space Leaping For Interactive Volume Rendering” by Ming Wan, Aamir.
Normal Mapping for Surfel-Based Rendering
Volume Rendering Lecture 21.
CSCE 441: Computer Graphics Image Warping
Static Image Filtering on Commodity Graphics Processors
Orthographic (parallel) projection:
Spatial Interpolation (Discrete Point Data)
Image Processing 고려대학교 컴퓨터 그래픽스 연구실 kucg.korea.ac.kr.
Survey of Parallel Volume Rendering Algorithms
Presentation transcript:

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 Project this continuous function into image space Resample the function to get the image

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 Forward Feed forward: Splatting Splat!

Splatting (feed-forward) ?

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 Convolution: g(x,y) = S S f(i,j) h (x-i, y-j) weight Relative position i= - j= - Sample value f(i,j) The output is a weighted average of inputs g(x,y)

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

x 3D Kernel for Splatting Need to know the 3D extent of each voxel, and Then project the extent to the image plane x This is called ‘footprint’ ? Splatting

Footprint function g(x,y,z) = S S S f(i,j,k) h (x-i, y-j, z-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 - -

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) 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 - 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 Approximate the 3D kernel (h(x,y,z))extent by a sphere

Footprint Table preprocessing 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 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

View-dependent footprint (2)

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

Spatting 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

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

Results (1)

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

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