# Introduction to Volume Rendering

## Presentation on theme: "Introduction to Volume Rendering"— Presentation transcript:

Introduction to Volume Rendering
Jon Johansson Academic Information and Communication Technologies November 30, 2005

Volume Data Volumes of data can be measured or generated
measured: CT, MRI, Ultrasound modeled: atmospheric models, air flow over wing The big question: If your data is represented as a solid volume of points, how do you see the internal structure?

Volume Data we have looked at some techniques to extract geometric objects within a volume of data these techniques fall under the heading “Volume Visualization” many data sets for volume rendering are composed of a Cartesian grid with data values at each node

Volume Data AVS/Express sample data set hydrogen.fld
three-dimensional, uniform volume with byte data (integers Î [0, 255]) grid dimensions: 64x64x64 ® 262,122 points 633 voxels (volume elements) transparent isosurfaces can show how the field behaves quite nicely

Volume Data the data values are separated by constant spacing on a Cartesian grid the connections are regular, forming hexahedrons (cubes in this case actually) the smallest connected volumes are called Voxels (volume elements)

Volume Data

Volume Data a voxel typically has data values associated with the corner points to find a data value at an arbitrary location in the voxel we need to interpolate commonly use tri-linear interpolation some data sets will have a single data value for the volume (referred to as cell data)

Volume Data we are now going to look at rendering volumetric data directly instead of constructing geometric primitives treat the volume as being composed of semitransparent material transmits and absorbs light light is scattered by the particles

Volume Data we can see into the volume depending on how transparent the material is: transparency → fraction of light that passes through a surface or an object; a = 1 Þ all light passes opacity → fraction of light that is absorbed at a surface or an object; opacity = 1 Þ no light passes opacity = 1 – transparency transparency commonly refers to visible light it can actually refer to any type of radiation: e.g.. flesh is transparent to X-rays, while bone is not, allowing the use of medical X-ray machines

Volume Data

Volume Rendering techniques for volume rendering ray casting splatting
J. T. Kajiya, B. P. V. Herzen, "Ray Tracing Volume Densities," Computer Graphics, 1984, Vol. 18, No. 3, pp splatting Westover, L., “Splatting: A Parallel, Feed-Forward Volume Rendering Algorithm”. PhD Dissertation, July 1991 hardware texture memory Brian Cabral , Nancy Cam , Jim Foran, “Accelerated volume rendering and tomographic reconstruction using texture mapping hardware”, Proceedings of the 1994 symposium on Volume visualization, p.91-98, October 17-18, 1994, Tysons Corner, Virginia, United States shear-warp factorization Philippe Lacroute and Marc Levoy, “Fast Volume Rendering Using a Shear-Warp Factorization of the Viewing Transformation”, Proc. SIGGRAPH '94, Orlando, Florida, July, 1994, pp

Ray Casting a widely used ray casting technique is based on the model of Blinn and Kajiya in order to find the color of a pixel in the image: send a ray R through the volume the material has a density D(x,y,z) = D(t) varying in space parameterize movement along the ray by t e [t1, t2] at each point there is an illumination I(x,y,z) = I(t) from any light sources determining the illumination function is difficult since it depends on how light is attenuated by the material in the volume in many calculations I(x,y,z) = I(t) = constant

Ray Casting

Ray Casting the attenuation of radiation due to the density along the ray can be calculated as the intensity of light arriving at the eye along the ray due to all points between t1 and t2 is then

Ray Casting to take away from this, in this ray casting calculation we want to find the intensity of light for a pixel in our image calculate the attenuation of light along the ray: integrate along the ray through the volume calculate the intensity of light reaching the image location – integrate along the ray again to include lighting effects we need to calculate the amount of light from the sources reaching each point along the ray – more integration multiple scattering effects – lots more integrations

Ray Casting in order to do the integrations along the rays we need to find values of the scalar field at arbitrary positions in a voxel use Trilinear Interpolation 4 1-D interps in x 2 1-D interps in y 1 1-D interps in z

Volume Rendering – Hardware
volume rendering seems like it might benefit from hardware acceleration VolumePro by TeraRecon PCI card for PCs real-time 3D volume rendering of volumes up to 512x512x512 there are other solutions as well of course

Volume Rendering – Software
many visualization packages have volume rendering capability AVS/Express – Advanced Visual Systems VTK (Visualization Toolkit) – Kitware VolView – based on VTK from Kitware commercial system which focuses on volume rendering has support for the VolumePro card

Volume Rendering the entire body of 3D data must be processed each time an image is drawn or displayed imaginary "rays" are cast through the data, picking up color and opacity as they traverse it the rays are then projected onto a computer screen or display surface to make the image move or to manipulate it interactively, the data is re-processed in rapid succession, fast enough for interactive frame rates – this needs fast hardware.

Volume Rendering in order to render a 3D volume into a 2D image we need to: cast the rays through the volume assign color and opacity values to the sample points calculate gradients and assign lighting to the image sum up all the color and opacity values to create the image

Computed Tomography (CT)
Computed Tomography (CT) or Computed Axial Tomography (CAT) uses a combination of X-rays and computer technology to produce cross-sectional images of the body an x-ray tube rotates in a circle around the patient, making many pictures as it rotates final slice images are generated utilizing the basic principle that the internal structure of the body can be reconstructed from multiple X-ray projections physicians can then examine “slices” through different organs and show detailed images of any part of the body

Computed Tomography (CT)
General Electric Volume CT scanner X-ray head moves in a circle in the gantry while the bed moves the patient through the hole data is taken in a helix around the body slices through the body are then constructed

Computed Tomography (CT)
image sizes are at most 1024x1024 pixels or less – actual physical resolution depends on a sample size scanners can now provide 0.5 mm slice widths for small samples (more usually use 1-10 mm) can distinguish a tissue density difference of 1 percent CT densities (grey levels) in the range [-1024, 3071] Hounsfield Units (HU) Air: HU (black) Fat: -50 Water: 0 HU muscle: +40 Bone: – 3000 HU (white) rescale to [0, 4095] to use unsigned ints

Computed Tomography (CT)
A very nice description of CT: The Hounsfield scale of CT numbers

Computed Tomography (CT)
the human eye can’t actually distinguish between 4000 different shades of grey “Window Width” (contrast) covers the HU of all the tissues of interest “Window Level” (brightness) represents the central HU of all the numbers within the window width a visually useful grey scale is achieved by setting the WW and WL to suitable values tissues with CT numbers outside the range are displayed as either black or white

Computed Tomography (CT)
in a CT chest exam: to highlight the soft tissue, set: WW = 350 WL = +40 to highlight the lung fields (mostly air) WW = 1500 WL = -600 Source:

Other Volume Data Sources
lots of bio-medical measurement sources Magnetic Resonance Imaging (MRI) Positron Emission Tomography (PET) Single Photon Emission Computed Tomography (SPECT, ECT) Ultrasound Imaging 2-D and 3-D Microscopy Imaging (Light, Electron, Confocal, Atomic Force) Notes on MRI at:

Other Volume Data Sources
measurements seismic data atmospheric data scientific modeling plasma physics atmospheric modeling geophysical earth models plenty of others

Medical Data - DICOM Digital Imaging and Communications in Medicine (DICOM) main objective of this standard is to create a vendor independent platform for the communication of medical images and related data

Medical Data - DICOM a set of rules that allow medical images to be exchanged between instruments, computers, and hospitals a DICOM file contains: a header stores information about the patient's name, the type of scan, image dimensions, etc. all of the image data which can contain information in three dimensions

Example – CT scan VolView from Kitware
based on the Visualization Toolkit look at sample data from the University of North Carolina Description: CT study of a cadaver head Dimensions: 113 slices of 256 x 256 pixels, voxel grid is rectangular, and X:Y:Z aspect ratio of each voxel is 1:1:2 Files: 113 binary files, one file per slice File format: 16-bit integers (Mac byte ordering), file contains no header Data source: acquired on a General Electric CT Scanner and provided courtesy of North Carolina Memorial Hospital

Example – CT scan there is information about the data set available from the Information panel: View→Information summarizes the information that had to be provided to import to VolView

Example – CT scan if only the volume display appears, select the 1 over 3 option in the Window menu get 3 slices through the data in addition to the volume the slices give detail about local structure

Example – CT scan select Y-Z image from the upper left corner for the Volume window the Y-Z slice then occupies the large window sliders along the bottom of each window allow a view of a slice at any depth

Example – CT scan get the Image Display page from: View→Image Display
the Probe Information panel reports the pointer position and the value of the scalar at that point

Example – CT scan isolate bone in a view, set:
Level = 2000 Window = 1900 isolate soft tissue, set: Level = 1100 Window = 260

Example – CT scan choose Volume under the Window menu to get rid of the slice windows choose Appearance under the View menu the Appearance page controls how the rendering will look lots of power here to give us what we want

Example – CT scan Scalar Color Mapping
the scalar data is mapped to colors blue: scalar > 30 (air) → Hue = 0.67 green: scalar > → Hue = 0.33 red: scalar > 1433 (bone) → Hue = 0 saturation and value are constant and the Hue is linearly interpolated between control points

Example – CT scan Scalar Opacity Mapping
scalar values are given an opacity scalar = 0 → opacity = 0 scalar > 1406 → opacity = 0.2

Example – CT scan we are seeing the red (less transparent) bone through greenish (more transparent) soft tissue

Example – CT scan Gradient Opacity Mapping
at each point in the volume a gradient is calculated the gradient magnitude is mapped to the opacity ramp opacity=1 opacity=0

Example – CT scan places of rapid change in the scalar field are opaque areas of constant field are transparent we see the boundaries air → tissue tissue → bone a way to get “surfaces”

Example – CT scan now adjust color settings
select the folder icon in the Scalar Color Mapping area select the White option to set the color to solid white all the scalar data is now mapped to white

Example – CT scan add a node to the center of the editing area by left clicking there click on the left node to select it and make the color brown (~H=0.05, S=0.76, V=0.92) click close to the left node to add another brown node and move it to a scalar value S=725 move the middle white node to S=810

Example – CT scan Modify the Scalar Opacity Mappings to look like this (points numbered from left to right): 1 → S = 0, O = 0 2 → S = 561, O = 0 3 → S = 620, O = 0.357 4 → S = 930, O = 0.357 5 → S = 1194, O = 0.5

Example – CT scan

Example – CT scan the Appearance panel in VolView 2.0 is the most complex interface it defines the core parameters that affect the volume rendered image this is where the control is for effectively visualizing data!

Conclusion Volume rendering is a powerful tool for visualization and can assist in understanding volumetric data sets useful to add to the toolkit to compliment the geometric techniques that we’ve seen earlier.