Direct Volume Rendering. What is volume rendering? Accumulate information along 1 dimension line through volume.

Slides:



Advertisements
Similar presentations
Data Visualization Lecture 8 3D Scalar Visualization
Advertisements

7.1 Vis_04 Data Visualization Lecture 7 3D Scalar Visualization Part 2 : Volume Rendering- Introduction.
VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger)
Graphics Pipeline.
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
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.
Ray-casting in VolumePro™ 1000
CLASS 9 ADVANCE RENDERING RAY TRACING RADIOSITY LIGHT FIELD CS770/870.
Computer Graphics Visible Surface Determination. Goal of Visible Surface Determination To draw only the surfaces (triangles) that are visible, given a.
Hank Childs, University of Oregon November 15 th, 2013 Volume Rendering, Part 2.
Volume Rendering Volume Modeling Volume Rendering Volume Modeling Volume Rendering 20 Apr
Direct Volume Rendering (DVR): Ray-casting
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Information Visualization.
Splatting Josh Anon Advanced Graphics 1/29/02. Types of Rendering Algorithms Backward mapping Image plane mapped into data Ray casting Forward mapping.
Introduction to Volume Rendering Presented by Zvi Devir.
(conventional Cartesian reference system)
Direct Volume Rendering Joe Michael Kniss Scientific Computing and Imaging Institute University of Utah.
Introduction to Volume Visualization Mengxia Zhu Fall 2007.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
Coordinate Systems X Y Z (conventional Cartesian reference system) X Y Z.
Direct Volume Rendering w/Shading via Three- Dimensional Textures.
Volume Rendering & Shear-Warp Factorization Joe Zadeh January 22, 2002 CS395 - Advanced Graphics.
ITUppsala universitet Data representation and fundamental algorithms Filip Malmberg
Basic Ray Tracing CMSC 435/634. Visibility Problem Rendering: converting a model to an image Visibility: deciding which objects (or parts) will appear.
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
Volumetric and Blobby Objects Lecture 8 (Modelling)
19/18/ :34 Graphics II Volume Rendering Session 10.
Lecture 3 : Direct Volume Rendering Bong-Soo Sohn School of Computer Science and Engineering Chung-Ang University Acknowledgement : Han-Wei Shen Lecture.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Texture Mapping 고려대학교 컴퓨터 그래픽스 연구실.
Scientific Visualization Module 6 Volumetric Algorithms (adapted by S.V. Moore – slides deleted, modified, and added) prof. dr. Alexandru (Alex) Telea.
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
C O M P U T E R G R A P H I C S Guoying Zhao 1 / 14 C O M P U T E R G R A P H I C S Guoying Zhao 1 / 14 Going-through.
ITUppsala universitet Advanced Computer Graphics Filip Malmberg
Direct Volume Rendering (DVR): Ray-casting Jian Huang This set of slides references slides used by Prof. Torsten Moeller (Simon Fraser), Prof. Han-Wei.
Unstructured Volume Rendering Jian Huang, CS 594, Spring 2002 This set of slides reference slides developed by Prof. Torsten Moeller, SFU, Canada.
Basic Ray Tracing CMSC 435/634. Visibility Problem Rendering: converting a model to an image Visibility: deciding which objects (or parts) will appear.
Computer Graphics The Rendering Pipeline - Review CO2409 Computer Graphics Week 15.
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.
An Enhanced Splatting Method Graphics and Visualization Group Department of Computer Science The University of Auckland Peter Kulka & Richard Lobb.
3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.
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.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
CHAPTER 10 VOLUME VISUALIZATION. OUTLINE 3D (volumetric) scalar fields Slice plane and isosurfaces techniques are limited in showing only a subset of.
Hank Childs, University of Oregon Volume Rendering, Part 3.
Hank Childs, University of Oregon Volume Rendering, pt 1.
Volume Visualization with Ray Casting
Direct Volume Rendering
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
3-D Information cs5764: Information Visualization Chris North.
Unstructured Volume Rendering. Grid Types uniformrectilinearregularcurvilinear Structured Grids: regularirregularhybridcurved Unstructured Grids:
Render methods. Contents Levels of rendering Wireframe Plain shadow Gouraud Phong Comparison Gouraud-Phong.
09/23/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Reflections Shadows Part 1 Stage 1 is in.
Visible-Surface Detection Methods. To identify those parts of a scene that are visible from a chosen viewing position. Surfaces which are obscured by.
Presented by 翁丞世  View Interpolation  Layered Depth Images  Light Fields and Lumigraphs  Environment Mattes  Video-Based.
Texture Mapping cgvr.korea.ac.kr.
Volume Rendering Lecture 21.
Real-Time Volume Graphics [06] Local Volume Illumination
Volume Rendering (2).
Hank Childs, University of Oregon
Graphics and Multimedia
Volume Rendering Lecture 21.
Volume Rendering.
Lecture 3 : Isosurface Extraction
Volume Graphics (lecture 4 : Isosurface Extraction)
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Presentation transcript:

Direct Volume Rendering

What is volume rendering? Accumulate information along 1 dimension line through volume

Volume rendering vs. isosurfaces No intermediate geometry No thresholding needed View dependent Uses all data instead of just some Fuzzy vs sharp appearance

Two General Methods Two general methods: –Image order: ray casting –Object order: splatting

Other methods (handwaving only!) Texture slabs –Volume loaded into texture map memory of graphics card –“slab” between each pair of volume rendering slices –Pre-integration of volume rendering integral possible

Other methods, cont’d Fourier volume rendering –Many 1D projections from unique angles –1D Fourier transform interpolated to 2D array F(w x,w y ) –Invert Fourier to recover original density function f(x,y)

The Volume Integral B = ∫I D (cos  ) e -  ∫D ds dt  : angle between I & E at each voxel on ray B: cumulative attenuated info along ray  : decay constant D ds: accumulated densities between voxel & light source I E Attenuate: to lessen the amount, force, magnitude, or value of

Image Order, color C, opacity  Ray Casting 3D density data (e.g., CAT scan) –3D color C(x,y,z) –3D opacity  (x,y,z) C(x,y,z) determined by gradient (“surface” normal) & lighting (independent of other volume voxels between the point & the light)  (x,y,z) determined by mapping density values to different types of tissue DVR

Raycast! Raycast: combine c &  into C(R), color seen by ray R. K K C(R) = ∑ C(R,k)  (R,k)  (1 -  (R,j)) k=0 j=k+1 (R,k) : k th voxel along ray C(R,0): color of background (back to front!)  (R,0) = 1 (opaque background) For each pixel, shoot ray, calculate C(R)

Raycasting Variations/Issues 1.MIP- maximum intensity projection good for noisy data but lose differentiation of in front/behind - where does max lay? Single Ray Scalar value Distance along ray Max intensity Mean Intensity A C B C(R) = A or C(R) = B or C(R) = C, (distance to reach accumulated value)

More Variations/Issues 2. Sampling Regular sampling –What is correct step size? Computation cost vs smoothness, may miss details Cell intersection –What if ray enters near 90 degrees? –Bresenham method –Other issues covered in VTK text

More Variations/Issues Parallel (easy for hardware!) vs. perspective projection( will image warp?) Starting point for sampling Initial point of ray 1st intersection

More Variations/Issues Data vs color –Calculate color at each vertex, then trilinear interpolate to sample –Use data at each vertex, trilinear interpolate to sample. THEN convert to color based on interpolated values Early termination based on accumulated opacity

Object Order For each voxel –Project (throw) voxel to projection screen –Apply filtering to ‘splat’, e.g. gaussian, proportional to distance from plane –Alpha blending –Splatting may be done Front to back Back to front

Object Order Discrete process which produces holes on the periphery or when perspective projection gets extreme.! Countered by distributing the energy across multiple pixels via a footprint table. All splats make a footprint and, using the table, adjustments can be made before rendering. Note: Footprint is the same for each voxel when using parallel projection

Coherent Projection Scanline algorithm Much faster than splatting for parallel projection Scan converts the depth information behind each projected polygon. (Recall scan conversion: line-by-line, fill polygons) Interpolated data and color samples used in raycasting can be accounted for by integrating the values at each scan converting step.