- Volume rendering
A typical 3D data set is a group of 2D slice images acquired by a
CT or MRI scanner.Usually these are acquired in a regular pattern (e.g., one slice every millimeter) andusually have a regular number of image
pixels in a regular pattern. This is an exampleof a regular volumetric grid, with each volume element, or voxelrepresented bya single value that is obtained by sampling the immediate area surrounding the voxel.
To render a 2D projection of the 3D data set, one first needs to define a camera in spacerelative to the volume. Also, one needs to define the opacity and color of every voxel.This is usually defined using an RGBA (for red, green, blue, alpha) transfer functionthat defines the RGBA value for every possible voxel value.
A volume may be viewed by extracting surfaces of equal values from the volume and rendering them as polygonal meshes or by rendering the volume directly as a block of data. The Marching Cubes algorithm is a common technique for extracting a surface from volume data. Direct volume rendering is a computationally intensive task that may be performed in several ways.
Direct Volume Rendering
A direct volume rendererref|l88ref|dch88 requires every sample value to be mapped to opacity and a color. This is done with a “transfer function” which can be a simple ramp, a piecewise linear function or an arbitrary table. Once converted to an RGBA (for red, green, blue, alpha) value, the composed RGBA result is projected on correspondent pixel of the frame buffer. The way this is done depends on the rendering technique.
A combination of these techniques is possible. For instance, a shear warp implementation could use texturing hardware to draw the aligned slices in the off-screen buffer.
Volume Ray Casting
Volume ray casting."The technique of volume ray casting can be derived directly from the rendering equation. It provides results of very high quality, usually it is considered to provide the best image quality. Volume ray casting is classified as image based volume rendering technique, as the computation emanates from the output image, not the input volume data as is the case with object based techniques. In this technique, a ray is generated for each desired image pixel. Using a simple camera model, the ray starts at the center of the projection of the camera (usually the eye point) and passes through the image pixel on the imaginary image plane floating in between the camera and the volume to be rendered. The ray is clipped by the boundaries of the volume in order to save time. Then the ray is sampled at regular or adaptive intervals throughout the volume. The data is interpolated at each sample point, the transfer function applied to form an RGBA sample, the sample is composited onto the accumulated RGBA of the ray, and the process repeated until the ray exits the volume. The RGBA color is converted to an RGB color and deposited in the corresponding image pixel. The process is repeated for every pixel on the screen to form the completed image.
This is a technique which trades quality for speed. Here, every volume element is splatted, as Lee Westover said, like a snow ball, on to the viewing surface in back to front order. These splats are rendered as disks whose properties (color and transparency) vary diametrically in normal (Gaussian) manner. Flat disks and those with other kinds of property distribution are also used depending on the application.
A new approach to volume rendering was developed by Cameron and Undrill, popularized by Philippe Lacroute and
Marc Levoy.ref|FVR In this technique, the viewing transformation is transformed such that the nearest face of the volume becomes axis aligned with an off-screen image buffer with a fixed scale of voxels to pixels. The volume is then renderered into this buffer using the far more favourable memory alignment and fixed scaling and blending factors. Once all slices of the volume have been rendered, the buffer is then warped into the desired orientation and scale in the displayed image.
This technique is relatively fast in software at the cost of less accurate sampling and potentially worse image quality compared to ray casting. There is memory overhead for storing multiple copies of the volume, for the ability to have near axis aligned volumes. This overhead can be mitigated using run length encoding.
Many 3D graphics systems use texture mapping to apply images, or textures, to geometric objects. Commodity PC graphics cards are fast at texturing and can efficiently render slices of a 3D volume, with realtime interaction capabilities. Workstation GPUs are even faster, and are the basis for much of the production volume visualization used in medical imaging, oil and gas, and other markets (2007). In earlier years, dedicated 3D texture mapping systems were used on graphics systems such as Silicon Graphics
InfiniteReality, HP Visualize FX, and others.
These slices can either be aligned with the volume and rendered at an angle to the viewer, or aligned with the viewing plane and sampled from unaligned slices through the volume. Graphics hardware support for 3D textures is needed for the second technique.
Volume aligned texturing produces images of reasonable quality, though there is often a noticeable transition when the volume is rotated.
Hardware-Accelerated Volume Rendering
A recently exploited technique to accelerate traditional volume rendering algorithms such as ray-casting, is the use of modern graphics cards. Starting with the programmable
pixel shaders, people recognized the power of parallel operations on multiple pixels and began to perform general purpose computations on the graphics chip ( GPGPU). The pixel shadersare able to read and write randomly from video memory and perform some basic mathematical and logical calculations. These SIMDprocessors were used to perform general calculations such as rendering polygons and signal processing. In recent GPUgenerations, the pixel shaders now are able to function as MIMDprocessors (now able to independently branch) utilizing up to 1GB of texture memory with floating point formats. With such power, virtually any algorithm with steps that can be performed in parallel, such as volume ray castingor tomographic reconstruction, can be performed with tremendous acceleration. The programmable pixel shaderscan be used to simulate variations in the characteristics of lighting, shadow, reflection, emissive colour and so forth. Such simulations can be written using high level shading languages.
Empty Space Skipping
Often, a volume rendering system will have a system for identifying regions of the volume containing no visible material. This information can be used to avoid rendering these transparent regionsref|shn03.
Early Ray Termination
This is a technique used when the volume is rendered in front to back order. For a ray through a pixel, once sufficient dense material has been encountered, further samples will make no significant contribution to the pixel and so may be ignored.
Octree and BSP space subdivision
The use of hierarchical structures such as
octreeand BSP-tree could be very helpful for both compression of volume data and speed optimization of volumetric ray casting process.
By sectioning out large portions of the volume that one considers uninteresting before rendering, the amount of calculations that have to be made by ray casting or texture blending can be significantly reduced. This reduction can be as much as from O(n) to O(log n) for n sequentially indexed voxels. Volume segmentation also has significant performance benefits for other ray tracing algorithms.
Multiple and Adaptive Resolution Representation
By representing less interesting regions of the volume in a coarser resolution, the data input overhead can be reduced. On closer observation, the data in these regions can be populated either by reading from memory or disk, or by
Pre-integrated volume rendering
Pre-integrated volume renderingref|mhc90ref|smb94 is a method that can reduce sampling artifacts by pre-computing much of the required data. It is especially useful in hardware-accelerated applicationsref|eke01ref|lwm04 because it improves quality without a large performance impact.
*Marc Levoy, “Display of Surfaces from Volume Data”, IEEE CG&A, May 1988. [http://graphics.stanford.edu/papers/volume-cga88/ Archive of Paper]
*Drebin, R.A., Carpenter, L., Hanrahan, P., “Volume Rendering”, Computer Graphics, SIGGRAPH88. [http://portal.acm.org/citation.cfm?doid=378456.378484 DOI citation link]
* Barthold Lichtenbelt, Randy Crane, Shaz Naqvi, "Introduction to Volume Rendering" (Hewlett-Packard Professional Books) , Hewlett-Packard Company 1998.
*Engel K., Kraus M., Ertl T.: "High-quality pre-integrated volume rendering using hardware-accelerated pixel shading." In Proceedings of Eurographics/SIGGRAPH Workshop on Graphics Hardware (2001), pp. 9–16.
*Lum E., Wilson B., Ma K.: "High-Quality Lighting and Efficient Pre-Integration for Volume Rendering." In Eurographics/IEEE Symposium on Visualization 2004.
*Max N., Hanrahan P., Crawfis R.: "Area and volume coherence for efficient visualization of 3D scalar functions." In Computer Graphics (San Diego Workshop on Volume Visualization) (1990) vol. 24, pp. 27–33.
*Sherbondy A., Houston M., Napel S.: "Fast volume segmentation with simultaneous visualization using programmable graphics hardware." In Proceedings of IEEE Visualization (2003), pp. 171–176.
* Stein C., Backer B., Max N.: "Sorting and hardware assisted rendering for volume visualization." In Symposium on Volume Visualization (1994), pp. 83–90.
* [http://graphics.stanford.edu/papers/shear/ "Fast Volume Rendering Using a Shear-Warp Factorization of the Viewing Transformation"]
* [http://www.vis.uni-stuttgart.de/vis03_tutorial/ Tutorial: Interactive Visualization of Volumetric Data on Consumer PC Hardware]
Wikimedia Foundation. 2010.
Look at other dictionaries:
Volume rendering — En visualización científica y gráficos por computador, la «renderización de volúmenes» o Volume rendering en inglés es un conjunto de técnicas usadas para mostrar una proyección 2D de un conjunto de datos discretamente muestreados. Típicamente un … Wikipedia Español
Texture-Based Volume Rendering — ist ein Verfahren zur räumlichen Darstellung von Schnittbildern wie sie bei CT, oder MRT Aufnahmen entstehen. Bei diesem Verfahren werden Texturen des darzustellenden Volumens geometrisch als parallele Schichten/Ebenen aneinander gelegt (Slicing) … Deutsch Wikipedia
Volume ray casting — Volume ray casting, sometimes called volumetric ray casting, is an image based volume rendering technique. It computes 2D images from 3D volumetric data sets. Volume ray casting, which processes volume data, must not be mistaken with ray casting … Wikipedia
Rendering (computer graphics) — Not to be confused with 3D rendering. A variety of rendering techniques applied to a single 3D scene … Wikipedia
Image and object order rendering — In computer graphics, image order algorithms iterate over the pixels in the image to be produced, rather than the elements in the scene to be rendered. Object order algorithms are those that iterate over the elements in the scene to be rendered,… … Wikipedia
Color Rendering Capacity — How many colors on earth is a given light source capable of vividly rendering? Under what type of light source can a scene be made the most colorful? Such questions highlight a particular aspect of the color rendering quality of light sources, … Wikipedia
Shadow volume — Example of Carmack s stencil shadowing in Doom 3. Shadow volume is a technique used in 3D computer graphics to add shadows to a rendered scene. They were first proposed by Frank Crow in 1977 as the geometry describing the 3D shape of the… … Wikipedia
Reyes rendering — is a computer software architecture used in 3D computer graphics to render photo realistic images. It was developed in the mid 1980s by Lucasfilm s Computer Graphics Research Group, which is now Pixar. It was first used in 1982 to render images… … Wikipedia
Bounding volume — A three dimensional model with its bounding box drawn in dashed lines. For building code compliance, see Bounding. In computer graphics and computational geometry, a bounding volume for a set of objects is a closed volume that completely contains … Wikipedia
Image-based modeling and rendering — In computer graphics and computer vision, image based modeling and rendering (IBMR) methods rely on a set of two dimensional images of a scene to generate a three dimensional model and then render some novel views of this scene.The traditional… … Wikipedia