Download - George J. Grevera *+ , Jayaram K. Udupa + , Dewey Odhner + , Ying Zhuge + , and Andre Souza +
![Page 1: George J. Grevera *+ , Jayaram K. Udupa + , Dewey Odhner + , Ying Zhuge + , and Andre Souza +](https://reader036.vdocument.in/reader036/viewer/2022062719/5681315b550346895d97d100/html5/thumbnails/1.jpg)
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
![Page 2: George J. Grevera *+ , Jayaram K. Udupa + , Dewey Odhner + , Ying Zhuge + , and Andre Souza +](https://reader036.vdocument.in/reader036/viewer/2022062719/5681315b550346895d97d100/html5/thumbnails/2.jpg)
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.
![Page 3: George J. Grevera *+ , Jayaram K. Udupa + , Dewey Odhner + , Ying Zhuge + , and Andre Souza +](https://reader036.vdocument.in/reader036/viewer/2022062719/5681315b550346895d97d100/html5/thumbnails/3.jpg)
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.
![Page 4: George J. Grevera *+ , Jayaram K. Udupa + , Dewey Odhner + , Ying Zhuge + , and Andre Souza +](https://reader036.vdocument.in/reader036/viewer/2022062719/5681315b550346895d97d100/html5/thumbnails/4.jpg)
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
![Page 5: George J. Grevera *+ , Jayaram K. Udupa + , Dewey Odhner + , Ying Zhuge + , and Andre Souza +](https://reader036.vdocument.in/reader036/viewer/2022062719/5681315b550346895d97d100/html5/thumbnails/5.jpg)
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.
![Page 6: George J. Grevera *+ , Jayaram K. Udupa + , Dewey Odhner + , Ying Zhuge + , and Andre Souza +](https://reader036.vdocument.in/reader036/viewer/2022062719/5681315b550346895d97d100/html5/thumbnails/6.jpg)
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.
![Page 7: George J. Grevera *+ , Jayaram K. Udupa + , Dewey Odhner + , Ying Zhuge + , and Andre Souza +](https://reader036.vdocument.in/reader036/viewer/2022062719/5681315b550346895d97d100/html5/thumbnails/7.jpg)
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)
![Page 8: George J. Grevera *+ , Jayaram K. Udupa + , Dewey Odhner + , Ying Zhuge + , and Andre Souza +](https://reader036.vdocument.in/reader036/viewer/2022062719/5681315b550346895d97d100/html5/thumbnails/8.jpg)
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.
![Page 9: George J. Grevera *+ , Jayaram K. Udupa + , Dewey Odhner + , Ying Zhuge + , and Andre Souza +](https://reader036.vdocument.in/reader036/viewer/2022062719/5681315b550346895d97d100/html5/thumbnails/9.jpg)
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.
![Page 10: George J. Grevera *+ , Jayaram K. Udupa + , Dewey Odhner + , Ying Zhuge + , and Andre Souza +](https://reader036.vdocument.in/reader036/viewer/2022062719/5681315b550346895d97d100/html5/thumbnails/10.jpg)
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
![Page 11: George J. Grevera *+ , Jayaram K. Udupa + , Dewey Odhner + , Ying Zhuge + , and Andre Souza +](https://reader036.vdocument.in/reader036/viewer/2022062719/5681315b550346895d97d100/html5/thumbnails/11.jpg)
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]
![Page 12: George J. Grevera *+ , Jayaram K. Udupa + , Dewey Odhner + , Ying Zhuge + , and Andre Souza +](https://reader036.vdocument.in/reader036/viewer/2022062719/5681315b550346895d97d100/html5/thumbnails/12.jpg)
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.
![Page 13: George J. Grevera *+ , Jayaram K. Udupa + , Dewey Odhner + , Ying Zhuge + , and Andre Souza +](https://reader036.vdocument.in/reader036/viewer/2022062719/5681315b550346895d97d100/html5/thumbnails/13.jpg)
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.
![Page 14: George J. Grevera *+ , Jayaram K. Udupa + , Dewey Odhner + , Ying Zhuge + , and Andre Souza +](https://reader036.vdocument.in/reader036/viewer/2022062719/5681315b550346895d97d100/html5/thumbnails/14.jpg)
14
CAVASS example module
![Page 15: George J. Grevera *+ , Jayaram K. Udupa + , Dewey Odhner + , Ying Zhuge + , and Andre Souza +](https://reader036.vdocument.in/reader036/viewer/2022062719/5681315b550346895d97d100/html5/thumbnails/15.jpg)
15
CAVASS DICOM explorer
![Page 16: George J. Grevera *+ , Jayaram K. Udupa + , Dewey Odhner + , Ying Zhuge + , and Andre Souza +](https://reader036.vdocument.in/reader036/viewer/2022062719/5681315b550346895d97d100/html5/thumbnails/16.jpg)
16
Example of CAVASS integration with ITK
![Page 17: George J. Grevera *+ , Jayaram K. Udupa + , Dewey Odhner + , Ying Zhuge + , and Andre Souza +](https://reader036.vdocument.in/reader036/viewer/2022062719/5681315b550346895d97d100/html5/thumbnails/17.jpg)
17
T-shell surface rendering in CAVASS