volume rendering & shear-warp factorization joe zadeh january 22, 2002 cs395 - advanced graphics
Post on 22-Dec-2015
222 views
TRANSCRIPT
Volume Rendering & Shear-Warp Factorization
Joe ZadehJanuary 22, 2002
CS395 - Advanced Graphics
Volume Rendering (Part II)
3D Radiology Lab, Stanford
Start with Slices (usually)
Stanford
Classification
• What does this voxel represent?• Classification via probability
• Assign (R,G,B,)• Create Isosurfaces
Marching Cubes
Lorensen and Cline
Watt, pg 385
IMAGE OBJECT
Image Order: Ray Casting
• Cast set of parallel rays• Remain Traveling• Two Issues
– Find voxels through which the ray passes
– Find a value for the voxel
NOT RAYTRACING!!!
Image Order: Casting Image
Watt, pg 386
Image Order: Compositing with Resampling
Watt, pg 387
Image Order: Resampling (Shear) then Compositing
Watt, pg 388
Object Order: Voxel Projection
• Splatting
Watt, pg 389
The Paper
• “Fast Volume Rendering Using a Shear-Warp Factorization of the Viewing Transform”
• SIGGRAPH ‘94
The Authors
• Philippe Lacroute– Computer Systems Laboratory, Stanford– PhD Dissertation with same title– SGI for 3 years
• Marc Levoy– Computer Science Dept, Stanford– 1996 SIGGRAPH Achievement Award for
Volume Rendering
History of the Stanford Bunny O’Brien, Hodgins:
“Animating Fracture”
Input Data
Input Data
Output Data
Image Order vs. Object Order
• Image Order (ray-casting) Redundant Traversals of Spatial Data Early Ray Termination
• Object Order (splatting) Traverse through complete spatial
data Only Traverse Once
The Shear-Warp Revolution
• Takes the good of both Object and Image Order Algorithms
Lacroute, Levoy
3 Steps
• “Factorization of the viewing matrix into a 3D shear parallel to the slices of volume data”
• “a projection to form a distorted intermediate image”
• “and a 2D warp to produce the final image”
In a Nutshell
• Shear (3D)• Project (3D 2D)• Unwarp (2D)
The Shear (Parallel)
Lacroute, Levoy
The Shear (Perspective)
Lacroute, Levoy
Sheared Object Space
• Intermediate Coordinate System• Simple mapping from object
oriented system• All viewing rays are parallel to the
third axis
Properties of Sheared Object Space
1. Pixel scanlines of intermediate are parallel to voxel scanlines
2. All voxels in a slice scaled by same factor.
3. (Parallel) Every voxel slice has same scale factor (voxelpixel is one-to-one)
Algorithm, again
• Transform volume to sheared object space by translation and resampling
• Project volume into 2D intermediate image in sheared object space– Composite resampled slices front-to-back
• Transform intermediate image to image space using 2D warping
Three Shear-Warp Algorithms
• Parallel Projection• Perspective Projection• Fast Classification
• (SW Parallel Projection first described by Cameron and Undrill, 1992)
Parallel Projection Rendering
• Recall: Voxel scanlines in sheared volume are aligned with Pixel scanlines in intermediate
• Both can be traversed in scanline order
• Simultaneously
Compress Voxel Scanlines
• Run-length encoding• Skip transparent voxels
RTAAAASDEEEEE = RT*4A SD*5E
• Effectiveness depends heavily on image type
Compress Intermediate Image
• Recall: Splatting doesn’t account for occlusion
• Solution: Keep run-length encoding of opacity while creating the intermediate image
• If a pixel exceeds an opacity threshold, we know we don’t have to go to deeper slices (I.e. ray termination)
Lacroute, Levoy
For the Uncompressed
• Recall: All voxels in a given slice are scaled by the same factor
• Other rendering algorithms require a different scaling weight for each voxel
• Use Bilinear Interpolation and backward projection– Two voxel scanlines single intermediate
scanline
Warping
• We now have composited intermediate image
• Warp: Affine image warper with bilinear filter
• We now have our image
Some Costs
• Run-length encoded volume– Preprocessing created– View Independent
• Three encodings (x,y,z)– Still less data than original volume
because omits transparency
Lacroute, Levoy
256x256x225 on SGI Indigo R4000 Lacroute, Levoy
Perspective Projection
• Majority of Volume Rendering Parallel (’94)
• Perspective mostly useful in radiation beam planning
• Viewing rays diverge, complicating sampling
Perspective Projection Algorithm
• Almost exactly like Parallel• In addition to translation during shear,
scale as well; then composite.• Tends to create a many-to-one mapping
from voxels to pixels• Slower in calculating: volumes and
intermediate scanlines not traversed at same rate
Fast Classification Algorithm
• Recall: Previous two algorithms require intense preprocessing classification step
• Not acceptable when experimenting with different opacities
• Solution: Classification opacity via scalar function
The Algorithm
Lacroute, Levoy
A bit more detail
• For some block of volume, find extrema of parameters to opacity function
• If function returns transparent opacity, discard scanline portion
• Subdivide scanline and repeat recursively until size of portion is smaller than a threshold
Further Analysis
• 1283: 5x speed increase over traditional ray-casting (.5 sec)
• 2563: 10x speed increase (1 sec)• General Shear-Warp: O(n)• Classification with Render: O(n2)
Pitfalls of Shear-Warp
• Two resampling steps– No noticable degradation
• Uses 2D reconstruction filter to resample the volume data – Not really applicable
Futher Research
• Algorithm is parallelizable• Real-Time Rendering on Shared
Multiprocessors (approx 10 fps) [SGI Challenge 16 Processor multiprocessor, 256x256x223 voxel]
• Volpack
Hardware Implementation