DOC PREVIEW
UTK CS 594 - Direct Volume Rendering (DVR) - Ray-casting

This preview shows page 1-2-3-4-24-25-26-50-51-52-53 out of 53 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Direct Volume Rendering (DVR): Ray-castingPapersBasic IdeaData RepresentationData Representation (2)ViewingViewing (1)Viewing (2)Viewing (3)Viewing (4)Viewing (5)Viewing (6)Early MethodsRay Tracing -> Ray CastingRay CastingExample: Using the nearest neighbor kernelBasic Idea of Ray-casting PipelineRay Traversal SchemesRay Traversal - FirstRay Traversal - AverageRay Traversal - MIPRay Traversal - AccumulateRaycastingSlide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Volume Rendering PipelineDCH DVR PipelineDCH - PipelineCommon Components of General PipelineLevoy - InterpolationLevoy - Interpolation (2)Levoy – Gradient/NormalsLevoy - CompositingLevoy - ShadingClassificationClassification/Transfer FunctionLevoy - ClassificationSlide 43Opacity function (1)Opacity function (2)Opacity function (3)Levoy - Classification ALevoy - Classification BDCH - Material Percentage V.DCH - ClassificationDCH- ClassificationLevoy - ImprovementsVolumetric Ray IntegrationDirect Volume Rendering (DVR): Ray-castingJian HuangThis set of slides references slides used by Prof. Torsten Moeller (Simon Fraser), Prof. Han-Wei Shen (Ohio State).Papers•Tuy and Tuy, 1984, IEEE CG & A (one of the earliest volume rendering techniques)•Levoy, 1988 IEEE CG&A, and later improvements•Drebin, Carpenter, Hanrahan, 1988, SIGGRAPHDirect: No conversion to surface geometryBasic IdeaBased on the idea of ray tracing• Trace from eat each pixel as a ray into object space• Compute color value along the ray• Assign the value to the pixelData Representation•3D volume data are represented by a finite number of cross sectional slices (hence a 3D raster)•On each volume element (voxel), stores a data value (if it uses only a single bit, then it is a binary data set. Normally, we see a gray value of 8 to 16 bits on each voxel.)N x 2D arraies = 3D arrayData Representation (2)What is a Voxel? – Two definitions A voxel is a cubic cell, whichhas a single value cover the entire cubic regionA voxel is a data pointat a corner of the cubic cellThe value of a point inside the cell is determined by interpolationViewing Ray Casting• Where to position the volume and image plane • What is a ‘ray’ • How to march a rayViewing (1)1. Position the volumeAssuming the volume dimensions is w x w x w We position the center of the volume at the world origin y(0,0,0) xzVolume center = [w/2,w/2,w/2](local space)Translate T(-w/2,-w/2,-w/2)(data to world matrix? world to data matrix )Viewing (2) 2. Position the image planeAssuming the distance between the image plane and the volume center is D, and initially the center of the image plane is (0,0,-D)y(0,0,0) xzImage planeViewing (3)3. Rotate the image planeA new position of the image plane can be defined in termsof three rotation angle  with respect to x,y,z axesAssuming the original view vector is [0,0,1], then the newview vector g becomes: cos 0 sin    1 0 0 cos sing = [0,0,1] 0 1 0 0 cos sin sin cos sin 0 cos sincos  Viewing (4)y(0,0,0) xzuvESE0 u0v0+S0BB = [0,0,0]S0 = [0,0,-D]u0 = [1,0,0]v0 = [0,1,0]Now,R: the rotation matrix S = B – D x g U = [1,0,0] x R V = [0,1,0] x RViewing (5)R: the rotation matrix S = B – D x g U = [1,0,0] x R V = [0,1,0] x R +SImage Plane: L x L pixelsEThenE = S – L/2 x u – L/2 x vSo Each pixel (i,j) has coordinatesP = E + i x u + j x vuvWe enumerate the pixels by changingi and j (0..L-1)Viewing (6)4. Cast raysRemember for each pixel on the image planeP = E + i x u + j x vand the view vector g = [0,0,1] x RSo the ray has the equation: Q = P + k (d x g) d: the sampling distance at each step xxdxxpQK = 0,1,2,…Early Methods•Before 1988•Did not consider transparency•did not consider sophisticated light transportation theory•were concerned with quick solutions•hence more or less applied to binary datanon-binary data - require sophisticated classification/compositing methods!Ray Tracing -> Ray Casting•“another” typical method from traditional graphics•Typically we only deal with primary rays -hence: ray-casting•a natural image-order technique•as opposed to surface graphics - how do we calculate the ray/surface intersection???•Since we have no surfaces - we need to carefully step through the volumeRay Casting•Stepping through the volume: a ray is cast into the volume, sampling the volume at certain intervals•The sampling intervals are usually equi-distant, but don’t have to be (e.g. importance sampling)•At each sampling location, a sample is interpolated / reconstructed from the grid voxels•popular filters are: nearest neighbor (box), trilinear (tent), Gaussian, cubic spline•Along the ray - what are we looking for?Example: Using the nearest neighbor kernel In tuys’ paperQ = P + K x V (v=dxg)At each step k, Q is roundedoff to the nearest voxel(like the DDA algorithm)Check if the voxel is on the boundary or not (compareagainst a threshold)If yes, perform shadingBasic Idea of Ray-casting Pipeline- Data are defined at the corners of each cell (voxel)- The data value inside the voxel is determined using interpolation (e.g. tri-linear)- Composite colors and opacities along the ray path- Can use other ray-traversal schemes as wellc1c2c3Ray Traversal SchemesDepthIntensityMaxAverageAccumulateFirstRay Traversal - FirstDepthIntensityFirst•First: extracts iso-surfaces (again!)done by Tuy&Tuy ’84Ray Traversal - AverageDepthIntensityAverage•Average: produces basically an X-ray pictureRay Traversal - MIPDepthIntensityMax•Max: Maximum Intensity Projectionused for Magnetic Resonance AngiogramRay Traversal - AccumulateDepthIntensityAccumulate•Accumulate opacity while compositing colors: make transparent layers visible!Levoy ‘88Raycasting coloropacity1.0volumetric compositingobject (color, opacity)Raycasting color opacity Interpolationkernel1.0object (color, opacity)volumetric compositingRaycasting color c = c s s(1 - ) + c opacity  =  s (1 - ) + 1.0object (color, opacity)volumetric compositingInterpolationkernelRaycasting color opacity 1.0object (color,


View Full Document

UTK CS 594 - Direct Volume Rendering (DVR) - Ray-casting

Documents in this Course
Load more
Download Direct Volume Rendering (DVR) - Ray-casting
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Direct Volume Rendering (DVR) - Ray-casting and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Direct Volume Rendering (DVR) - Ray-casting 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?