Direct Volume Rendering. Overview

Similar documents
Overview. Direct Volume Rendering. Volume Rendering Integral. Volume Rendering Integral Approximation

Volume Rendering. Lecture 21

Particle-Based Volume Rendering of Unstructured Volume Data

Direct Volume Rendering

Scalar Data. Alark Joshi

Direct Volume Rendering

Volume Rendering. Computer Animation and Visualisation Lecture 9. Taku Komura. Institute for Perception, Action & Behaviour School of Informatics

Splatting (feed-forward) Fill the holes. Process for volume rendering. Footprint Evaluation for Volume Rendering. Feed Backward vs.

Direct Volume Rendering

Shear-Warp Volume Rendering. Volume Rendering Overview

Data Visualization (DSC 530/CIS )

Raycasting. Ronald Peikert SciVis Raycasting 3-1

CIS 467/602-01: Data Visualization

Computer Graphics. - Volume Rendering - Philipp Slusallek

Data Visualization (CIS/DSC 468)

CS 5630/6630 Scientific Visualization. Volume Rendering I: Overview

Volume visualization. Volume visualization. Volume visualization methods. Sources of volume visualization. Sources of volume visualization

Data Visualization (DSC 530/CIS )

Volume Graphics Introduction

Volume Visualization

Volume Visualization. Part 1 (out of 3) Volume Data. Where do the data come from? 3D Data Space How are volume data organized?

Scalar Data. Visualization Torsten Möller. Weiskopf/Machiraju/Möller

Computational Strategies

Previously... contour or image rendering in 2D

Volume Illumination. Visualisation Lecture 11. Taku Komura. Institute for Perception, Action & Behaviour School of Informatics

Scalar Data. CMPT 467/767 Visualization Torsten Möller. Weiskopf/Machiraju/Möller

5. Volume Visualization

Rendering Smoke & Clouds

Optical Models of Direct Volume Rendering by Nelson Max

Volume Illumination & Vector Field Visualisation

Visualization Computer Graphics I Lecture 20

1 Ray Casting. Forward methods The picture shows the basic idea of forward methods. A voxel influences several pixels in the resulting image.

Lecture overview. Visualisatie BMT. Transparency. Transparency. Transparency. Transparency. Transparency Volume rendering Assignment

Data Visualization (CIS/DSC 468)

11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes

Visualization. CSCI 420 Computer Graphics Lecture 26

Egemen Tanin, Tahsin M. Kurc, Cevdet Aykanat, Bulent Ozguc. Abstract. Direct Volume Rendering (DVR) is a powerful technique for

High-Quality Splatting on Rectilinear Grids with Efficient Culling of Occluded Voxels

Point-Based Rendering

Visualization Computer Graphics I Lecture 20

Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University

First Steps in Hardware Two-Level Volume Rendering

Volume Rendering - Introduction. Markus Hadwiger Visual Computing Center King Abdullah University of Science and Technology

lecture 21 volume rendering - blending N layers - OpenGL fog (not on final exam) - transfer functions - rendering level surfaces

Today. Participating media. Participating media. Rendering Algorithms: Participating Media and. Subsurface scattering

- Volume Rendering -

Post-Convolved Splatting

3/29/2016. Applications: Geology. Appliations: Medicine. Applications: Archeology. Applications: Klaus Engel Markus Hadwiger Christof Rezk Salama

- Volume Rendering -

CSL 859: Advanced Computer Graphics. Dept of Computer Sc. & Engg. IIT Delhi

High-Quality Pre-Integrated Volume Rendering Using Hardware-Accelerated Pixel Shading

Medical Visualization - Volume Rendering. J.-Prof. Dr. Kai Lawonn

Sampling, Aliasing, & Mipmaps

Fast Volume Rendering Using a Shear-Warp Factorization of the Viewing Transformation

Computer Graphics. Texture Filtering & Sampling Theory. Hendrik Lensch. Computer Graphics WS07/08 Texturing

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized

A SURVEY ON 3D RENDERING METHODS FOR MRI IMAGES

Hardware Accelerated Volume Visualization. Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences

Hardware-Assisted Visibility Ordering for Point-Based and Volume Rendering

Computer Graphics 10 - Shadows

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural

Volume Ray Casting Neslisah Torosdagli

Introduction to Scientific Visualization

Interactive Methods in Scientific Visualization

Sampling, Aliasing, & Mipmaps

New Method for Opacity Correction in Oversampled Volume Ray Casting

Buffers, Textures, Compositing, and Blending. Overview. Buffers. David Carr Virtual Environments, Fundamentals Spring 2005 Based on Slides by E.

Visualization. Images are used to aid in understanding of data. Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26]

Texture-Mapping Tricks. How Bad Does it Look? We've Seen this Sort of Thing Before. Sampling Texture Maps

Introduction to Visualization and Computer Graphics

Volume Rendering with libmini Stefan Roettger, April 2007

Vector Visualization

THE SAMPLING TAB. Pixel Samples. Ray Variance Antialiasing. H16 Mantra User Guide

Computer Graphics. Shadows

GPU-Accelerated Deep Shadow Maps for Direct Volume Rendering

Soft shadows. Steve Marschner Cornell University CS 569 Spring 2008, 21 February

CIS 467/602-01: Data Visualization

GigaVoxels Effects In Video Games

Sampling, Aliasing, & Mipmaps

Interactive Volume Rendering on a Multicomputer

A New Object-Order Ray-Casting Algorithm

Real-Time Voxelization for Global Illumination

Motivation. Freeform Shape Representations for Efficient Geometry Processing. Operations on Geometric Objects. Functional Representations

A Survey of Volumetric Visualization Techniques for Medical Images

The VesselGlyph: Focus & Context Visualization in CT-Angiography

Illumination Under Trees. Nelson Max University of Tokyo, and University of California, Davis

Identifying those parts of a scene that are visible from a chosen viewing position, and only process (scan convert) those parts

Order Independent, Attenuation-Leakage Free Splatting using FreeVoxels

Marc Levoy Computer Science Department Stanford University. Philippe Lacroute Computer Systems Laboratory Stanford University

CSE 167: Lecture #17: Volume Rendering. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

Image Acquisition Systems

High Quality Adaptive Soft Shadow Mapping

Anti-aliasing and Monte Carlo Path Tracing. Brian Curless CSE 457 Autumn 2017

COMP 175 COMPUTER GRAPHICS. Lecture 11: Recursive Ray Tracer. COMP 175: Computer Graphics April 9, Erik Anderson 11 Recursive Ray Tracer

Computer Graphics Ray Casting. Matthias Teschner

Free-form deformation (FFD)

Accelerated Raytracing

GPU-based Volume Rendering. Michal Červeňanský

Lighting and Shading

Transcription:

Direct Volume Rendering Department of Computer Science University of New Hampshire Durham, NH 03824 Based on: Brodlie and Wood, Recent Advances in Visualization of Volumetric Data, Eurographics 2000 State of the Art Report. Drebin et al., Volume Rendering, Siggraph 88. Sabella, A Rendering Algorithm for Visualizing 3D Scalar Fields, Siggraph 88. Levoy, Westover, et al., Introduction to Volume Rendering, Siggraph 90 Course Notes 05/03/17 1 Overview Model data as a translucent gas or gel need to assign material properties to data values Classification assign color / opacity to data val Opacity transfer function maps data value and other parameters (such as gradient to opacity value Color transfer function same for color Segmentation applic-dependent labeling of data values, typically a priori. gradient often used as ad hoc effort to segment 2

Volume Rendering Integral Treat volume as particles with density µ. Send ray through each pixel in image plane; for each wavelength λ, the light reaching pixel is L Iλ = Cλ ( s µ ( s e 0 where L is ray length, C λ (s is light reflected at s in ray direction. µ(s is a weight based on density larger density means more reflected light. Integral accumulates intensity, but attenuates it (the exponential as it passes through material. µ defines rate at which light is occluded per unit length due to scattering or extinction s 0 µ ( t dt ds 3 Volume Rendering Integral Approximation Using Riemann sum approximation and using n as # samples I λ = i=0..n C λ (iδs µ(iδs ΔsΠ j=0..i-1 exp(-µ(jδs Δs Now replace exponential term with 2 terms of Taylor expans. exp(-µ(jδs Δs = 1- µ(jδs Δs and define transparency t(jδs as t(jδs = exp(-µ(jδs Δs and opacity, α(jδs = 1 - t(jδs = µ(jδs Δs and: I λ = i=0..n C λ (iδs α(iδs Π j=0..i-1 (1- α(jδs for Δs=1, we get: I λ = i=0..n C λ (i α(i Π j=0..i-1 (1- α(j Do this for R,G,B: summing intensities of individual samples, each of which is attenuated by the product of transparencies accumulated as light passes from sample to pixel. 4

Recursive Approximation Dropping λ, and expanding we get C = C 0 α 0 + C 1 α 1 (1-α 0 + C 2 α 2 (1-α 1 (1-α 0 + Can compute recursively using C out = C in +(1-α in α i C i C 0 C 1 C 2 C 3 C 4 C 5 C 6 C 7 α out = α in +(1-α in α i α 0 α 1 α 2 α 3 α 4 α 5 α 6 α 7 This is front-to-back image composition (Duff s over operator. back-to-front ordering only needs to recursively compute color component C out = α i C i + C in (1-α i Note: compositing is associative, but not commutative: order matters C 0 C 1 C 2 C 3 C 4 C 5 C 6 C 7 α 0 α 1 α 2 α 3 α 4 α 5 α 6 α 7 5 DVR Approaches Image order approach: process from the image plane to the object also called backward rendering ray casting is classic image order algorithm Object order approach: process from the object to the image plane also called forward rendering splatting is the classic object order algorithm 6

Image Order Issues Volume rendering equation approximation improve accuracy and/or speed Interpolation calculating data values between grid points is vital Curvilinear and unstructured grids basic approaches map nicely to rectilinear grids, others are more difficult to handle Faster ray traversal Hardware designed for volume rendering 7 Volume Rendering Eqn. 2 Has been much work to make integration faster and more accurate Alternative is to dramatically simplify the approximation at the cost of accuracy: Maximum Intensity Projection (MIP: simply find the maximum data value along the ray and project its color. works well for angiography (highlight blood vessels 8

Drebin et al., Siggraph 88 CT data Basic segmentation based on probabilities from segmentation, produced density, color and opacity Estimated gradient by simple forward differencing Used gradient to infer surfaces for reflections 9 Segmentation Segmentation is often ad hoc, but shouldn t make binary decisions for CT, X-ray absorption of materials is known a priori as a probability distribution function (pdf prob. air fat soft tissue bone CT value 10

Segmentation 2 Given a voxel has the value I, probability of getting I, P(I = i p i P i (I where p i is the probability of getting material i and P i (I is probability that material i has value I Using Bayesian estimation, p i (I = P i (I/( j P j (I which can be implemented as lookup Only 2 materials overlap: get simple relationship: 100% air fat soft tissue bone 0%. CT value 11 Density, color, opacity density, D, computed as D(I = i ρ i p i (I where ρ i is density of material i color and opacity (rgbα C(I = i p i (I α i (R i,g i,b i For each x,y,z, estimate by forward differences gradient: N(x,y,z = (D x+1 -D x, D y+1 -D y, D z+1 -D z normalized gradient: n(x,y,z = N(x,y,z/ N(x,y,z strength: N(x,y,z n(x,y,z is used in lighting model for reflected light from a light source. 12

Ray Tracing Volume Data ( Notes from Levoy in Introduction to Volume Rendering, Siggraph 91 tutorial. Data assumed to be samples of a continuous scalar function (voxel as point not volume Sampling lattice is rectilinear and uniformly spaced Pixel spacing < voxel spacing Other typical simplifications one ray per pixel (no supersampling parallel projection 13 View Specification Need view specification, image plane, volume location Parallel projection along major axis» integral mapping of voxel address space to pixel address space: 1-1 is easiest; usually have projection of a voxel map to k x k pixels» arbitrary mapping requires interpolation Arbitrary parallel projection» need view direction and size of image space» usually voxel address space as world coordinates 14

Coordinate Systems Object space coordinate axes correspond to volume array indices typically NxNxN Image space Pixel u,v with color PxP pixels in image PxPxW sample points Voxel i,j,k with value, color, opacity Sample u,v,w with color and opacity 15 Resampling Calculating color/opacity inside a voxel is resampling the functions Sample at even spacing along ray Sampling rate (for typical CT and MR data less than voxel spacing introduces artifacts more than twice per voxel doesn t help much Use trilinear interpolation 16

Trilinear Interpolation From Graphics Gems V, p. 521 Linear interpolation between 2 sample values: v x =(1-f x v 0 v 1 where 0 f x 1, also written as v x = v 0 (v 1 - v 0 In 2-dimensions, interpolate from 4 points v xy =(1-f x (1-f y v 00 + (1-f x f y v 01 (1-f y v 10 f y v 11 But, more efficient (3 mults to do 2 linear steps: v x0 = v 00 (v 10 - v 00 v x1 = v 01 (v 11 - v 01 v xy = v x0 + f y (v x1 - v x0 17 Trilinear Interpolation 2 And in 3D, interpolate from 8 points Use 3 linear steps (7 mults v x00 = v 000 (v 100 - v 000 v x01 = v 001 (v 101 - v 001 v xy1 v x10 v x11 v xyz v x10 = v 010 (v 110 - v 010 v x11 = v 011 (v 111 - v 011 v xy0 = v x00 + f y (v x10 - v x00 v xy1 = v x01 + f y (v x11 - v x01 v xyz = v xy0 + f z (v xy1 - v xy0 v x00 v xy0 v x01 18

Splatting Westover, VolVis Symposium 89 and Siggraph 90 Each voxel drawn on image plane as a cloud of points (footprint, covering many pixels Voxel treated as a single value thrown at the screen Example of feed forward convolution as opposed to a feed backward convolution 19 Feed Backward Convolution Output (pixel value is weighted average of input data Center a convolution kernel at the output (pixel location and gather data points that project onto kernel Touch each output sample once Touch each input data point many times Data points Pixel sample points 20 Filter kernel

Feed Forward Convolution Input energy spread to many outputs (pixels Center kernel at data point and distribute to output pixels (really a 3D convolution Touch each input data point once Touch each output often Data points Pixel sample points 21 Filter kernel Splatting: Ideal Feed forward and incremental reconstruction Ideal splatting center kernel at D evaluate kernel multiply by input value at D contribution D (x,y,z = h(x-x D, y-y D,z-z D ρ(d where h evaluates the convolution function of course, this is terribly expensive 22

Splatting: Dimension Reduction Want 2D image from 3D data given pixel at (x,y, want the contribution for each point, D center kernel at D project weighted kernel onto (x,y plane (assumes parallel projection along the z-axis contribution(x,y = ρ(d h(x-x D, y-y D,wdw Note integral is independent of the density (ρ; it depends only on (x,y projected location; leads to footprint function: footprint(x,y = h(x, y,wdw where (x,y is the displacement from projected sample point 23 Footprint Function Tables Can integrate the kernel function into a generic footprint table for each voxel transform to screen space for each pixel in the extent of the footprint map back to precomputed table composite the weighted contribution 24