Introduction to Volume Rendering - PowerPoint PPT Presentation

1 / 48
About This Presentation
Title:

Introduction to Volume Rendering

Description:

... fraction of light that passes through a surface or an object; a = 1 all light passes ... PhD Dissertation, July 1991. hardware texture memory ... – PowerPoint PPT presentation

Number of Views:98
Avg rating:3.0/5.0
Slides: 49
Provided by: ualb
Category:

less

Transcript and Presenter's Notes

Title: Introduction to Volume Rendering


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

2
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?

3
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

4
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

5
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)

6
Volume Data
7
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)

8
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

9
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

10
Volume Data
11
Volume Rendering
  • techniques for volume rendering
  • ray casting
  • J. T. Kajiya, B. P. V. Herzen, "Ray Tracing
    Volume Densities," Computer Graphics, 1984, Vol.
    18, No. 3, pp. 165-174
  • 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. 451-458

12
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

13
Ray Casting
14
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

15
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

16
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

17
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

18
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

19
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.

20
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

21
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

22
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

23
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 -1000 HU (black)
  • Fat -50
  • Water 0 HU
  • muscle 40
  • Bone 1000 3000 HU (white)
  • rescale to 0, 4095 to use unsigned ints

24
Computed Tomography (CT)
  • The Hounsfield scale of CT numbers

25
Computed Tomography (CT)
  • the human eye cant 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

26
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

27
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)

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

29
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
  • http//medical.nema.org/dicom/

30
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

31
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
  • XYZ aspect ratio of each voxel is 112
  • 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

32
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

33
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

34
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

35
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

36
Example CT scan
  • isolate bone in a view, set
  • Level 2000
  • Window 1900
  • isolate soft tissue, set
  • Level 1100
  • Window 260

37
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

38
Example CT scan
  • Scalar Color Mapping
  • the scalar data is mapped to colors
  • blue scalar gt 30 (air) ? Hue 0.67
  • green scalar gt 1059 ? Hue 0.33
  • red scalar gt 1433 (bone) ? Hue 0
  • saturation and value are constant and the Hue is
    linearly interpolated between control points

39
Example CT scan
  • Scalar Opacity Mapping
  • scalar values are given an opacity
  • scalar 0 ? opacity 0
  • scalar gt 1406 ? opacity 0.2

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

41
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

opacity1
opacity0
42
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

43
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

44
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 (H0.05, S0.76, V0.92)
  • click close to the left node to add another brown
    node and move it to a scalar value S725
  • move the middle white node to S810

45
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

46
Example CT scan
47
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!

48
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 weve seen earlier.
Write a Comment
User Comments (0)
About PowerShow.com