1
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 GroupDepartment of Radiology - University of Pennsylvania
Philadelphia, PA
*Department of Mathematics and Computer ScienceSaint Joseph’s University
Philadelphia, PA
2
Introduction
CAVA: Computer-Aided Visualization and AnalysisCAVASS: CAVA Software System
CAVA deals with the science underlying computerized methods of image processing, analysis, and visualization to facilitate new therapeutic strategies, basic clinical research, education, and training.
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.
3
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.
4
Previous software 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 3DPC PC-based 1989 3DVIEWNIX Unix, X-Windows 1993 (distributed with source to 100s of sites.)
CAVASS platform independent, wxWidgets 2008
5
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.
6
MethodsKey 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.
7
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)
8
Parallelization of CAVA Operations in CAVASS
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.
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.
9
ResultsTest 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 MBSuper: 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.
10
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.
Operation SystemRegular Large Super
seq parallel seq parallel seq parallel
Interpolation
ITK 2.9 1.7 [2] 87.7 62.8 [2] Failed Failed [2]
CAVASS 0.6 1 [2] 54.9 14.9 [2] 139.1 49.2 [2]
AnisotropicDiffusive Filtering
ITK 41.7 1553.1
CAVASS 13.5 526.2
Gaussian 3D
Filtering
ITK 1.3 38.7 Failed
CAVASS 0.2 9.2 36.5
Median 3D
FilteringITK 5.8 165.5 466.9
CAVASS 2.8 109.1 323.9
11
Operation System
Regular Large Super
seq parallel Seq parallel seq parallel
Binary erode
ITK 2.0 63.5 210.8
CAVASS 0.1 2.3 8.0
Binary dilateITK 3.2 137.1 538.2
CAVASS 0.1 2.3 8.0
Gray erodeITK 3.3 100.3 380.6
CAVASS 0.1 5.1 17.2
Gray dilate
ITK 3.3 99.0 352.4
CAVASS 0.1 5.2 16.9
ThresholdingITK 0.08 3.8 7.4
CAVASS 0.03 1.1 3.9
Fuzzy ConnectedSegmentation
ITK 108.4 Failed Failed
CAVASS 49.5 17.8 [5] 843.7 298.6 [5] Failed 1312.6 [5]
12
Operation SystemRegular Large Super
seq parallel seq parallel seq parallel
Registration
(rigid)
ITK 57.2 Failed Failed
CAVASS 56.1 8.6 [5] 1860.6 301.6 [5] 3863.4 1089.1 [5]
Registration (affine - 12 parameters)
ITK 208.3 Failed Failed
CAVASS 155.3 25.1 [5] 3602.4 1018.6 [5] 13,111 3662.2 [5]
Surface
Rendering
VTK* 0.29 0.41 1.38
CAVASS 0.06 0.19 0.26
Volume Rendering
VTK* 1.09 5.03 6.94
CAVASS 0.56 0.06 3.53 1.36 9.77 3.66
*VTK rendering is assisted by a graphics processor. CAVASS rendering is entirely in software.
13
Conclusions(1) COWs are more cost/speed effective than multi-processing
systems. They are seemlessly expandable and upgradeable without requiring software changes.
(2) 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.
Top Related