1 cavass: computer assisted visualization and analysis software system jayaram k. udupa, george j....
TRANSCRIPT
1
CAVASS: Computer Assisted Visualization and Analysis Software System
Jayaram K. Udupa, George J. Grevera* Dewey Odhner, Ying Zhuge, Andre Souza, Tad Iwanaga, Shipra Mishra
Medical Image Processing GroupDepartment of Radiology - University of Pennsylvania
Philadelphia, PA
*Department of Mathematics and Computer ScienceSaint Joseph’s University
Philadelphia, PA
http://www.mipg.upenn.edu/~cavass
2
CAVA
CAVA: Computer-Aided Visualization and Analysis
The science underlying computerized methods of image processing, analysis, and visualization to facilitate new therapeutic strategies, basic clinical research, education, and training.
3
CAD vs CAVA
CAD: Computer-Aided Diagnosis
The science underlying computerized methods of image processing, visualization, and analysis for the diagnosis of diseases via images
4
Purpose of CAVA
In: Multiple multimodality multidimensional images of an object system.
Out: Qualitative/quantitative information about objects in the object system.
Object system – a collection of rigid, deformable, static, or dynamic, physical or conceptual objects.
5
CAVA Operations
Image processing: for enhancing information about and defining object system.
Visualization: for viewing and comprehending object system.
Manipulation: for altering object system (virtual surgery).
Analysis: for quantifying information about object system.
6
3D CAVA Software Systems (MIPG)
DISPLAY mini computer + frame buffer 1980
DISPLAY82 mini computer + frame buffer 1982 3D83 GE CT/T 8800 1983 3D98 GE CT/T 9800 1986 3DPC PC-based 1989 3DVIEWNIX Unix, X-Windows 1993 CAVASS platform independent, wxWidgets 2007
7
CAVA User Groups
UG1 – CAVA basic researchers/technology developers
UG2 – CAVA application developers
UG3 – Users of CAVA methods in clinical research
UG4 – Clinical end users in patient care
CAVASS is aimed at UG1-UG3.
8
Key Features of CAVASS
• Open source, C/C++, wxWidgets
• Inherits most CAVA functions of 3DVIEWNIX
• Incorporates most commonly used CAVA operations
• Optimized implementations for efficiency
• Time intensive operations parallelized and implemented using Open MPI on a cluster of workstations (COWs)
• Interfaces to popular toolkits (ITK, VTK), CAD/CAM formats, DICOM support, other popular formats
• Stereo interface for visualization
9
CAVA Operations in CAVASS
Image Processing: VOI, Filtering, Interpolation, Segmentation, Registration, Morphological, Algebraic
Visualization: Slice, Montage, Reslice, Roam through, Color overlay, MIP, GMIP, Surface rendering, Volume rendering
Manipulation: Cut, Separate, Move, Reflect, Reposition,hard and fuzzy objects
Analysis: Intensity profile/statistics, Linear, Angular, Area,Volume, Architecture /shape of objects, Kinematics
10
Parallelization of CAVA Operations
Approach: Chunking
Chunk – data contained in a contiguous set of slices
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
11
Results
Regular: 25625646, MR brain image (6 MB)
Large: 512512459, CT of thorax (241 MB)
Super: 10231023417, CT of head (873 MB)
(visible woman)
Sequential and parallel implementations of several Type-1,
Type-2, Type-3 operations in CAVASS, ITK, VTK compared.
12
Results
Operation SystemRegular Large Super
seq parallel seq parallel seq parallel
InterpolationITK 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 57 2206.6
CAVASS 52.7 1664.2
Gaussian
Filtering
ITK 1.5 65.2 Failed
CAVASS 0.4 18.3 83
Distance
Transform
ITK 10.5 473.7 Failed
CAVASS 18.7 916.5 3382.4
13
Results
Operation SystemRegular Large Super
seq parallel seq parallel seq parallel
ThresholdingITK 0.3 11.4 340.6
CAVASS 0.1 2.7 20.2
Fuzzy ConnectedSegmentation
ITK 108.4 Failed Failed
CAVASS 49.5 17.8 [5] 843.7 298.6 [5] Failed 1312.6 [5]
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]
14
Results
Surface Rendering:
Data Set CAVASS seq
/no aaCAVASS seq/aa
VTK
Regular 0.03 0.06 0.29
Large 0.11 0.19 0.41
Super 0.16 0.26 1.38
15
Results
Volume Rendering:
Data Set CAVASS VTK
sequential parallel Ray Casting 2D Texture
Regular 0.56 0.06 [6] 1.09 1.20
Large 3.53 1.36 [6] 5.03 18.32
Super 9.77 3.66 [6] 6.94 > 240.00
16
Conclusions
(1) COWs are more cost/speed effective than multi-processing systems and are expandable.
(2) Most CAVA operations can be accomplished in reasonable time on COWs in portable software.
(3) COWs can be built quite inexpensively with publicly available hardware / software and standards.
(4) CAVASS can handle very large data sets; considerably faster than ITK.
17
Further Information
www.mipg.upenn.edu/~cavass
Release date: July/August 2007
Other papers: 6509-03 – Visualization
6509-66 – Visualization
6519-07 – PACS
18
Issues
(1) How to evaluate open source systems.
(2) Quality assurance in open source software (correctness, accuracy, efficiency,….).