Title: CAVASS: Computer Assisted Visualization and Analysis Software System
1CAVASS Computer Assisted Visualization and
Analysis Software System Image Processing
Aspects
Jayaram K. Udupa, George J. Grevera, Dewey
Odhner, Ying Zhuge, Andre Souza, Tad
Iwanaga, Shipra Mishra
Medical Image Processing Group Department of
Radiology - University of Pennsylvania Philadelph
ia, PA Department of Mathematics and Computer
Science Saint Josephs University Philadelphia,
PA http//www.mipg.upenn.edu/cavass
2Introduction
Purpose To present the image processing aspects
of a new open-source software system called
CAVASS next incarnation of 3DVIEWNIX. (Other
aspects of CAVASS are described in 6509-03, and
6519-07.) A long-standing activity in medical
imaging that is begging for a definition, name,
and an acronym is what we call CAVA in this
presentation.
CAVA Computer-Aided Visualization and
Analysis 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.
3There is a sister activity that has come to be
known as CAD Computer-Aided Diagnosis It
deals with the science underlying computerized
methods for the diagnosis of diseases via images.
In medical imaging, CAVA is broader in scope than
CAD and predates CAD.
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. CAVASS focuses on CAVA
operations.
4CAVA Operations
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 in the
following sequence and also to a quantitative
space.
5abg body coordinate system
abc scanner coordinate system
xyz scene coordinate system
uvw structure coordinate system
rst display coordinate system
63D CAVA Software Systems brought out by MIPG
DISPLAY mini computer frame buffer
1980 DISPLAY82 mini
computer frame buffer 1982
(distributed to gt 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, wxWidget 2007 CAVA
User Groups UG1 CAVA basic
researchers/technology developers UG2 CAVA
application developers
7 UG3 Users of CAVA methods in clinical
research. UG4 Clinical end users in patient
care. Current Open Source Software
Limitations LM1 Lack of comprehensiveness of
all 4 groups of CAVA operations. LM2 Lack of
coverage for user groups UG1-UG3. LM3 Lack of
adequate speed/efficiency. LM4 Lack of adequate
interfaces.
8CAVASS is aimed at UG1-UG3 (not UG4 due to
various legal operational, fiscal reasons) and at
overcoming limitations LM1-LM4 as best as
possible.
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.
9(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. CAVASS lays a great
deal of emphasis on F3-F5.
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,
Animation
10 Manipulation Cut, Separate, Move, Reflect,
Reposition hard and fuzzy objects. Analysis Inte
nsity profile/statistics, Linear, Angular, Area,
Volume, Architecture /shape of objects,
Kinematics.
The operations are listed above generically only.
For each, several (popular) methods are
implemented. A simplified architectural diagram
of CAVASS is shown below.
GUI
Graphical Interface
Data Interface
Process Interface
This paper focuses only on the image processing
aspects indicated by the first of the four CAVA
functions in the figure.
CAVA Functions
Image Proc.
Vislz.
Manip.
Analysis
11Parallelization of CAVA 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.
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 takes the following approach to
parallelize Type-1 and Type-3 operations.
Parallelization of Type-2 operations is
described in paper 6509-03.
12Parallelizing Type-1 Operations
Input Image Ii or structure (Ex surface)
Si Output Image Io or structure So
begin Step 1 Divide Ii or Si into chunks.
Step 2 Assign the next set of chunks to be
processed to the processors, one chunk per
processor. Step 3 In each processor, carry out
the Type-1 operation on the chunk assigned to it
and send its result to the master processor.
Step 4 If there are chunks remaining to be
processed, go to Step 2. Step 5 Else assemble
results from all processors and output the
resulting Io or So. end
13Parallelizing Type-3 Operations
The effect of parallelization comes here from
Step 3. The number of times the loop from Step 2
to Step 4 is executed depends on the size of Ii
(or Si), the number of processors available, and
the RAM on each processor. In this manner, load
balancing is achieved automatically and there is
no limit on the size of Ii (or Si) that can be
handled irrespective of the number of processors
available.
Input Image Ii or structure Si Output
Image Io or structure So
Solutions to Type-3 CAVA operations can be
characterized by optimal graph traversal
algorithms. A general parallelization scheme for
Type-3 operations is outlined below. It uses a
queue Qj, a list Lj associated with each chunk
of the input image Ii. ? is a predicate whose
exact form depends on the particular Type-3
operation we are dealing with.
14 begin Step 1 Divide Ii or Si into chunks
Step 2 Initialization.
A set of elements of Ii or Si are identified for
initializing the underlying Type-3 operation.
These are placed in the queues associated with
the chunks to which they belong. Step 3 While
any of the queues Qj, j1,,N, is not empty, do
Steps 4-7. Step 4 Find a free processor Pj and
load it with and Qj and Lj. Step
5 While Qj is not empty, Pj executes Steps
6-7. Step 6 Remove an element v from Qj,
evaluate ?(v), and place v in Lj, perform
appropriate output operations. Step 7 If ?(v)
is true, place the appropriate neighbors of v in
the queues they belong to if they are not already
in their designated lists. Step 8 Combine all
outputs from all processors to output Io or So.
end
15Parallelism is achieved via Steps 4-7. It is the
task of the master processor to keep a watch on
the processors whose queues become empty and who
therefore may become idle. A processor may be
activated because there are chunks whose queues
are not empty. The entire process stops when all
queues become empty. In Steps 6-7, the exact
nature of the operations depends on the specific
Type-3 operation being implemented. Step 7 also
calls for inter-processor communication which can
be handled in several ways to keep it efficient.
The method we have implemented is to allow
(slice) overlap between neighboring chunks and in
the associated Qj and Lj.
Multiprocessing Environment
At present, there are two choices available for
parallel implementation either the
multiprocessor systems (MPS) via multi-threading
or via distributed processing in a cluster of
workstations (COWs). After extensive experiments
with several Type-1, Type-2, and Type-3
opera- tions in MPS and in a COW, we found
that, COWs offer significantly
16Results
higher speed/dollar than MPS. Therefore, we
report the results on a COW, except when results
are compared with ITK, we used a dual processor
system (3.4 GHz, 4GB RAM). Each workstation in
the COW we constructed is a 3.4 GHz Pentium PC
with 4GB RAM. The workstations are networked by a
1G-bit/sec connection.
Sequential and parallel implementations of
several Type-1 and Type-3 operations in CAVASS
and ITK are compared using three data sets
regular, large, super. Regular 256?256?46
MR brain image 6 MB Large 512?512?459
CT of thorax 241 MB Super 1023?1023?
417 CT of head 873 MB (visible
woman)
17In 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 System Regular Regular Large Large Super Super
Operation System seq parallel seq parallel seq parallel
Interpolation ITK 2.9 1.7 2 87.7 62.8 2 Failed Failed 2
Interpolation CAVASS 0.6 1 2 54.9 14.9 2 139.1 49.2 2
Anisotropic Diffusive Filtering ITK 57 2206.6
Anisotropic Diffusive Filtering CAVASS 52.7 1664.2
Gaussian Filtering ITK 1.5 65.2 Failed
Gaussian Filtering CAVASS 0.4 18.3 83
Distance Transform ITK 10.5 473.7 Failed
Distance Transform CAVASS 18.7 916.5 3382.4
18Operation System Regular Regular Large Large Super Super
Operation System seq parallel seq parallel seq parallel
Thresholding ITK 0.3 11.4 340.6
Thresholding CAVASS 0.1 2.7 20.2
Fuzzy Connected Segmentation ITK 108.4 Failed Failed
Fuzzy Connected Segmentation CAVASS 49.5 17.8 5 843.7 298.6 5 Failed 1312.6 5
Registration (rigid) ITK 57.2 Failed Failed
Registration (rigid) 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
Registration (affine - 12 parameters) CAVASS 155.3 25.1 5 3602.4 1018.6 5 13,111 3662.2 5
The times reported in the table represent the
total operational time for each listed CAVA
operation. Some of these operations include a mix
of Type-1 and Type-3 algorithms. We may note that
pure Type-1 operations (interpolation) achieve a
much higher speedup factor for parallelization
than Type-3 operations (ex fuzzy connectedness).
Among the operations
19listed, registration is the most time consuming.
In these operations, normalized mutual
information was used to register the two images.
The second image was created from the first by
applying a known (rigid or affine)
transformation. The speedup factor achieved in
this instance is excellent. With a COW of about
10 PCs, therefore, we can expect to complete a
12-parameter affine registration of extremely
large data sets in about 30 minutes. Parallelized
deformable registration is currently being
implemented in CAVASS.
Conclusions
(1) COWs are more cost/speed effective than
multi-processing systems. They are seemlessly
expandable and upgradeable without requiring
software changes.
20- 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 with
publicly available hardware and software and
standards in CAVA research labs. - (4) CAVASS can handle extremely large data sets.
It seems to be considerably faster then ITK in
many image processing operations.
Further Information
www.mipg.upenn.edu/CAVASS Release date
July/August 2007 Other papers 6509-03
Visualization
6519-07 PACS