George J. Grevera *+ , Jayaram K. Udupa + , Dewey Odhner + , Ying Zhuge + , and Andre Souza +

17
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 Group Department of Radiology - University of Pennsylvania Philadelphia, PA * Department of Mathematics and Computer Science Saint Joseph’s University

description

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 - PowerPoint PPT Presentation

Transcript of George J. Grevera *+ , Jayaram K. Udupa + , Dewey Odhner + , Ying Zhuge + , and Andre Souza +

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.

14

CAVASS example module

15

CAVASS DICOM explorer

16

Example of CAVASS integration with ITK

17

T-shell surface rendering in CAVASS