170 likes | 345 Views
The architecture and performance of CAVASS (Computer Assisted Visualization and Analysis Software System). George J. Grevera *+ , Jayaram K. Udupa + , Dewey Odhner + , Ying Zhuge + , and Andre Souza +. + Medical Image Processing Group Department of Radiology - University of Pennsylvania
E N D
The architecture and performance of CAVASS (Computer Assisted Visualization and Analysis Software System) George J. Grevera*+,Jayaram K. Udupa+, Dewey Odhner+, Ying Zhuge+, and Andre Souza+ +Medical Image Processing Group Department of Radiology - University of Pennsylvania Philadelphia, PA *Department of Mathematics and Computer Science Saint Joseph’s University Philadelphia, PA
Introduction Purpose: To present the architecture and performance of a new cluster-based open-source software system called CAVASS (next incarnation of 3DVIEWNIX). Goal of CAVASS:To achieve practical processing (image analysis and visualization) time on even very large data sets. CAVA: Computer-Aided Visualization and Analysis CAVASS: CAVA Software System CAVA deals withthe science underlying computerized methods of image processing, analysis, and visualization to facilitate new therapeutic strategies, basic clinical research, education, and training.
CAVA Operations in CAVASS Image processing: for enhancing information about and defining object system in images. Visualization:for viewing and comprehending object system in its full form, shape, and dynamics. Manipulation:for altering object system (virtual surgery). Analysis:for quantifying information about object system. CAVA operations take object system information from one space to another typically, and eventually also to a quantitative space.
Previoussoftware systems brought out by our group: DISPLAY mini computer + frame buffer 1980 DISPLAY82 mini computer + frame buffer 1982 (distributed to > 150 sites with source.) 3D83 GE CT/T 8800 1983 3D98 GE CT/T 9800 1986 3DPCPC-based 1989 3DVIEWNIX Unix, X-Windows 1993 (distributed with source to 100s of sites.) CAVASS platform independent, wxWidgets 2008
CAVASS Target User Groups UG1 – CAVA basic researchers/technology developers UG2 – CAVA application developers UG3 – Users of CAVA methods in clinical research. Current Open Source Software Limitations that CAVASS Attempts to Address LM1 – Lack of comprehensiveness of CAVA operations. LM2 – Lack of coverage for user groups UG1-UG3. LM3 – Lack of adequate speed/efficiency. LM4 – Lack of adequate interfaces.
Methods Key Features of CAVASS (F1) Open-source, C/C++, wxWidgets. (F2) Inherits most CAVA functions of 3DVIEWNIX. (F3) Incorporates most commonly used CAVA operations, but does not go overboard on generality and inclusiveness. (F4) Optimized implementations for efficiency. (F5) Time intensive operations parallelized and implemented using Open MPI on a cluster of workstations (COWs). (F6) Interfaces to popular toolkits (ITK, VTK), CAD/CAM formats, DICOM support, other popular formats. (F7) Stereo interface for visualization.
Architecture • Portable, standardized user interface (C++, wxWidgets) • Parallelization (MPI) • Software engineering practices (doxygen, CMake, CVS) • Interface to ITK • Support for a wide variety of data formats (DICOM, GIF, JPEG, PNM, STL, TIFF, VTK)
Parallelization of CAVA Operations in CAVASS Divide the input image into chunks and assign each chunk to a processor. A chunk represents data contained in a contiguous set of slices, either image or object structure data. CAVA operations can be divided into the following three groups. Type 1: Operation chunk-by-chunk, each chunk accessed only once. Ex: slice interpolation. Type 2: As in Type 1, but significant further operation needed to combine results. Ex: 3D rendering. Type 3: Operation chunk-by-chunk, but each chunk may have to be accessed more than once. Ex: graph traversal. CAVASS parallelizes all three groups of operations.
Results Test Data Sets Sequential and parallel implementations of several Type 1 and Type 3 operations in CAVASS and ITK/VTK are compared using three data sets: Regular:25625646 MR brain image 6 MB Large:512512459 CT of thorax 241 MB Super:10231023417 CT of head 873 MB (visible woman) Platforms Multiprocessor system: 3.4 GHz, dual processor, 4GB RAM. COW: 3.4 GHz single processor systems, 1GB/sec connection.
In the following tables, the number of processors used is shown in square brackets under “parallel”. The times reported are in seconds. No entries indicate that the operation was either not tested or not available.
*VTK rendering is assisted by a graphics processor. CAVASS rendering is entirely in software.
Conclusions • COWs are more cost/speed effective than multi-processing systems. They are seemlessly expandable and upgradeable without requiring software changes. • Most CAVA operations can be accomplished in reasonable time even for extremely large data sets on COWs in portable software. • (3) COWs can be built quite inexpensively in CAVA research labs with publicly available hardware and software and standards. • (4) CAVASS can handle extremely large data sets. It seems to be considerably faster than ITK in many image processing operations. Further Information:www.mipg.upenn.edu/~cavass CAVASS release date: June 2008.