According to Dr. Ira Kalet, Professor Emeritus, Radiation Oncology, joint with Medical Education and Biomedical Informatics, there are billions of possible treatments one might consider in a patient's treatment plan. "The goal," says Kalet, "is to define among all of those possibilities, what is the good one for the patient. The clinician needs to be able to manipulate the beams in an interactive simulation," continues Kalet, "before actually treating the patient." In a typical complex radiation treatment, the patient receives radiation from approximately six to twenty different directions using the same machine turned on and off as the patient and the machine turns. Prism shows all of the radiation beams and their directions at once. Prism provides tools for easy and dynamic user-visualization-and-manipulation in a very complex design task.
In the Prism system, "the patient, the treatment equipment, and all the parts are represented as objects in the Common Lisp Object System," says Kalet. "The patient case is the overall `container' object... the other objects are parts or components of the patient case and some RTP object classes have been modeled as subclasses. For example, there is a class, pstruct, that defines a general three-dimensional anatomic object, and there are subclasses for organs, tumors, and targets."
Prism's user interface makes available as many operations as possible to the user at all times. This goal is accomplished, according to Kalet, by "associating a type of control panel or object editor with each type of object that the user can create or modify." The user interface contains a screen window that includes controls such as dials for angles, sliders for adjustable numbers, text input boxes, for targeted text, etc. When the control panel for an object displays, the user can modify any of the attributes of that object on-the-fly. A patient administrative information panel, as well as individual panels for treatment plans and radiation beams, complete the amount of user-accessible information available at time of treatment. Additionally, "view windows display graphical renditions of patient anatomy and beam portals," says Kalet, "and a graphic editing panel provides for the delineation and modification of patient anatomy, tumors, and targets. Prism allows the user to bring up simultaneously any number of these or other component-specific panels during the session."
"We needed a dynamic development environment," says Kalet, "It would be hard to do a simulation project like this in any other language." The main emphasis of Prism is a flexible and direct user-interface design. "We're constantly having to reassess how to redesign the program in light of changing treatment needs, and therefore we needed a development environment where the program and the user interface were extensible. We decided to use Lisp," continues Kalet. "because of its high level of expressive power, the existence of a direct interface to the X window system for network based graphic display, its standardization and its wide availability."
The clinic also required an application that could be rapidly developed, easy to maintain, and that provided for ease in finding and fixing bugs, adding and extending features, and adding new classes of objects and control panels. "The usual choice of most designers these days is C++," says Kalet, "but it does not provide as good an object-oriented programming environment as Common Lisp nor does it provide a very high level of abstraction." In developing Prism, Kalet cites the following features of CLOS that were critical:
The clinic has chosen Allegro CL since 1990 as its core development environment. "We settled on Allegro CL," says Kalet, "because of all the Lisp programs we tried, it was the most solidly supported and error-free. We like CLOS because it's a wonderfully abstract and expressive language that doesn't get in the way. It's a lot of work to put together a simulation project like this. We needed something we would enjoy and stick with. Lisp is powerful. Lisp is practical. Lisp is fun."
For more information about Prism, please visit the Radiation Oncology Department's Web site at: http://faculty.washington.edu/ikalet/prism/.
|Copyright © 2019 Franz Inc., All Rights Reserved | Privacy Statement|