3D Visualization of Radiation Treatment Plans - PowerPoint PPT Presentation

1 / 37
About This Presentation
Title:

3D Visualization of Radiation Treatment Plans

Description:

PRISM - a radiation treatment planning system for designing plans for treating cancer patients. ... Coronal, Sagittal, and Transverse pre-set buttons. Scaling ... – PowerPoint PPT presentation

Number of Views:188
Avg rating:3.0/5.0
Slides: 38
Provided by: jennifer306
Category:

less

Transcript and Presenter's Notes

Title: 3D Visualization of Radiation Treatment Plans


1
3D Visualization of Radiation Treatment Plans
  • Jenny Sager
  • Friday, October 23, 2009
  • 348 AM

2
Organization
  • Spent the summer learning
  • LISP
  • SLIK (a button package for LISP)
  • CLX
  • OpenGL
  • PRISM
  • Parallel Contour Reconstruction

3
Organization
  • PRISM overview
  • The Tiling Problem
  • Terminology
  • Basic approaches
  • Implementation in PRISM
  • Limitations and future improvements

4
PRISM
  • PRISM - a radiation treatment planning system
    for designing plans for treating cancer patients.
  • An satisfactory plan delivers enough radiation
    to a tumor without unacceptable damage to the
    surrounding tissues

5
PRISM Contour Editor
6
PRISM Typical Session
7
PRISM
  • It is difficult for a person to visualize complex
    2D data as 3D objects
  • Currently PRISM has the following visualizations
  • Parallel xy plane contours
  • Beams eye view (from the radiation beams point
    of view)
  • 2D planes
  • Coronal (xz plane) from the top
  • Saggital (yz plane) from the side
  • Transverse (xy plane) from the front
  • But PRISM does not have a 3D room view!

8
Meyers Terminology
  • Reconstruction of parallel contours can be broken
    into 4 sub-problems
  • Correspondence problem
  • Tiling problem
  • Branching problem
  • Surface-fitting problem
  • (Meyers, Skinner, and Sloan Surfaces from
    Contours 1992)

9
Correspondence Problem
  • Which contours should be connected together by
    the surface?
  • The question arises whenever there are multiple
    contours in a section
  • Solution arrange contours into groups organized
    by which objects they represent
  • Difficult to make automatic without making
    assumptions because of the ambiguities
  • In PRISM this task is done by a human in the
    contour editor

10
Tiling Problem
  • How should the contours be connected?
  • More about this topic later

11
Branching Problem
  • What do we do when there are branches in the
    surface?
  • One solution is user intervention
  • In PRISM, contours do not branch or intersect by
    system definition

12
Surface-fitting Problem
  • Once a triangulated mesh is found, how should a
    smooth surface be made that approximates or
    interpolates the vertices of the mesh and
    maintains the same topology?

13
Basic Approaches - Volume (Grid) Based Approach
  • Volume (Grid) Based - assumes that data is
    available as a 3D grid or lattice
  • Voxel Technique (spatial equivalent of a pixel)
  • Marching Cubes (Lorensen and Cline 1987)
  • Surface Normals (Hoehne and Bernstein 1986 Levoy
    1988)
  • Geometrically Deformed Models
  • Miller et al. 1991

14
Basic Approaches - Surface Based Approach
  • Surface Based assumes that the data define a
    set of closed contours and attempts to
    reconstruct a sequence of surfaces, one between
    each pair of adjacent contours
  • Growing Cylinder
  • Soroka 1981 Generalized cylinder/elliptical
    cylinder (Correspondence problem)
  • MST/Min Path
  • Keppel 1975 (Tiling Problem)
  • Fuchs, Kedem, Uselton 1977 (Tiling Problem)
  • Meyers 1992, 1993 (Tiling Problem)

15
Basic Approaches - Volume (Contour) Based
  • Volume (Contour) Based assumes that data is a
    set of closed contours (same form as surface
    based) but attempts to construct the volume from
    the contours instead
  • Delaunay triangulation
  • Boissonnat (1986) and Geiger (1993) (Branching
    Problem)
  • Capable of handling some branching structures
    without user intervention

16
Fuchs, Kedem, and Uselton Algorithm, 1977
  • Choose to implement the algorithm of Fuchs et al.
    in PRISM because
  • PRISM contours do not branch or intersect
  • Fuchs requires on 1-to-1 relationship between
    contours (no branching, or complicated shape
    variations
  • Fuchs Algorithm is fairly simple and efficient
  • O (n2 log n), where n is total number of vertices
    on the contours bounding the triangles
  • Meyers describes several additional improvements
    in efficiency that can be made

17
Fuchs, Kedem, and Uselton Algorithm, 1977
  • Construct a graph shaped as a torus so that
  • Points on Contour A are the Rows
  • Points on Contour B are the Columns
  • The intersection of a row and a column on the
    toriod graph will be called a node

Node
18
Fuchs, Kedem, and Uselton Algorithm, 1977
  • Thus a Torus node (i, j) represents the line
    connecting (Pt i of Contour A) to (Pt j of
    Contour B) , called a span

Node (i, j)
Span
19
Fuchs, Kedem, and Uselton Algorithm, 1977
  • A Single Triangle
  • Toroidal Graph 2 nodes and an arc
  • Contours 2 spans and 1 contour segment

Span
Contour Segment
20
Fuchs, Kedem, and Uselton Algorithm, 1977
  • Horizontal Triangle Fan

21
Fuchs, Kedem, and Uselton Algorithm, 1977
  • Vertical Triangle Fan

22
Fuchs, Kedem, and Uselton Algorithm, 1977
  • Triangle Strip

23
Fuchs, Kedem, and Uselton Algorithm, 1977
  • Find the minimum cost Eulerian Trail (a closed
    path in which every arc of the graph occurs
    exactly once) by
  • Find each Eulerian Trail that starts at node (i,
    0) for i 0 to ( of vertices in Contour A 1)
  • The minimum of these paths is the graphs
    minimum path

24
Fuchs, Kedem, and Uselton Algorithm, 1977
  • Found a min path using Dijkstras algorithm
  • Divide and Conquer
  • Use the previously found cycles to limit the
    nodes to search for next
  • A cycle starting at node (i, 0) is upper bounded
    by the cycle starting at (i - m) and lower
    bounded by the cycle at (i n) where m, n are
    positive integers
  • (sharing nodes with boundary cycles is ok)

25
A Few Metric Functions
  • How should the edges be weighed?
  • Volume (Keppel)
  • Difficult to calculate the contribution of a
    single tile to total volume
  • Minimum Surface Area (Fuchs et. al) -
  • Easy to compute (Area of Triangle ½ bh)
  • Match direction
  • Matching the directions of points from their
    respective contours center of mass
  • Problematic for concave objects

26
Implementation in PRISM
27
Implementation in PRISM
28
Implementation in PRISM
29
Implementation in PRISM
  • Orthographic/perspective option
  • Wireframe/Translucent/Opaque option
  • Navigational buttons translate, rotate
  • Coronal, Sagittal, and Transverse pre-set buttons
  • Scaling
  • Ruler (imported from its implementation in other
    views in PRISM)
  • Cut Plane that cuts off where z lt user-input
  • Lighting (partially implemented)

30
Limitations of Fuchs et al.
  • Tiling Problem
  • The minimal area constraint will result in a
    surface being constructed containing two cones,
    joined at a line, rather than a cylinder
  • Calculations are slow

31
Future Improvements
  • Solution to skewed cylinder problem (Sloan et
    al.)
  • Normalize the two cross-sections so that their
    centers lie on an axis perpendicular to the plane
    of section
  • Solve the tiling problem to find lines joining
    points on the contours
  • Then use this correspondence to construct a
    surface from the original contours

32
Future Improvements
  • Improvement in Speed (Meyers)
  • Claims to have modification to Fuchs et al. that
    appears to require O (n) space and O ( n log n)
    time
  • The original Fuchs et al. algorithm had O (n2)
    space and O ( n2 log n) time

33
Future Improvements
  • Things to add to PRISM
  • Option to show a specific coronal CT scan cutting
    though at the users chosen cut plane
  • Cut plane is implemented
  • Texture mapping of the CT scan is NOT implemented
    yet
  • Ability to render/draw beams
  • Smooth surface (surface-fitting problem)
  • Support for color index mode

34
Additional Problems
  • Gitlin, ORourke, and Subramanian proved that
    (1993)
  • It is not always possible to find an
    interpolating polyhedron between two polygons
    that lie in parallel planes
  • If the shape of of the contours differs
    sufficiently, no simple polyhedron can be
    constructed
  • However, in practice adjacent contours are
    usually fairly similar in shape
  • Exceptions exist

35
Additional Problems
  • A Collection of triangles intersect properly if
    any given pair of triangles are either
  • Disjoint
  • Have one vertex in common
  • Have two vertices and consequently, the entire
    edge joining them
  • In this definition, adding extra vertices is not
    allowed
  • (def. From Giblin)

36
Additional Problems
  • Example of Improper Triangles

It is necessary to add vertices to make the
triangles not share interior points
These triangles share interior points
37
Conclusion
  • Questions? Comments?
Write a Comment
User Comments (0)
About PowerShow.com