Introducing CAVASS

Download Report

Transcript Introducing CAVASS

Introducing
CAVASS
George Greveraa,b, Jayaram Udupab, Dewey Odhnerb, Ying
Zhugeb, Andre Souzab, Tad Iwanagab, and Shipra Mishrab
aDepartment
of Mathematics and Computer Science, Saint
Joseph’s University, 5600 City Avenue, Philadelphia, PA 19131
bMedical
Image Processing Group (MIPG), Department of
Radiology, University of Pennsylvania, 423 Guardian Drive, 4th
Floor Blockley Hall, Philadelphia, PA 19104-6021
What is CAVASS?
►A
CAVA Software System
► What
is CAVA?
 Computer Assisted Visualization and Analysis
► So
CAVASS is a Computer Assisted
Visualization and Analysis Software System
3D CAVA Software Systems (MIPG)
DISPLAY
DISPLAY82
3D83
3D98
3DPC
3DVIEWNIX
mini computer + frame buffer
mini computer + frame buffer
GE CT/T 8800
GE CT/T 9800
PC-based
Unix, X-Windows
1980
1982
1983
1986
1989
1993
CAVASS
platform independent, wxWidgets
2007
What is CAVASS?
►
Next generation of 3DVIEWNIX.








development started in 1987
released in 1993
development dates back to the ’70s
free
runs on Unix and subsequently Linux
60 person years of effort
distributed to 100s of sites
basis for over 15 specialized packages/apps
Why CAVASS?
Significant, more recent
developments
1.
PC platform matures.



price spirals downward
performance increases dramatically
supplant Unix as the scientific workstation of choice
Network bandwidth greatly increases.
3. Useable parallel processing standards are defined
and become freely available.
4. Toolkits such as VTK and ITK become freely
available.
5. GUI concept matures and platform independent
libraries are developed.
2.
CAVASS features
► Image
processing
 for enhancing information about and defining an object
system
► Visualization
 for viewing and comprehending an object system
► Manipulation
 for altering an object system (virtual surgery)
► Analysis
 for quantifying information about an object system
*Especially for large, multidimensional (at least 3D),
possibly multimodality, data sets.
CAVA User Groups
UG1 – CAVA basic researchers/technology developers
UG2 – CAVA application developers
UG3 – Users of CAVA methods in clinical research
CAVASS is not aimed at:
UG4 – Clinical end users in patient care
Key CAVASS features
► Built
upon our experience with 3DVIEWNIX.
► Leverages the existing 3DVIEWNIX software
base and user interface.
► Port to Windows and Mac OS with continued
support for Unix and Linux.
► Implement parallel algorithms for time
consuming operations.
► Support for stereo rendering.
► Interface to ITK.
Focus of the talk
► Overview
of CAVASS software
► Other
CAVASS related papers in Visualization
Conference:
 6509-66 Image Processing Aspects
 6509-03 in Visualization Conference
CAVASS
PortData
Import
Export
Tools
SaveScreen
DICOM
DICOM
EasyHeader
VTK
VTK
STL
Matlab
PGM
Matlab
Image
Processing
Visualize
Manipulate
Analyze
An example of the CAVASS DICOM
header explorer
DICOM Support
► Don’t
reinvent the wheel for DICOM
networking/image query and retrieve capability
► Integrate with commonly available DICOM
networking software
 SimpleDICOM receiver
► from
the University of Pittsburg Department of Radiology
► Windows platform only
 Conquest DICOM server
► Windows
and Linux with source code
 eFilm workstation package
► includes
version)
 DCMTK
► freely
a DICOM server (version 1.5.3 was the last free
available for Linux, Unix, and Windows with source code
CAVASS
PortData
Tools
Image
Processing
Interface
to ITK
Scripting
ShowScreen
Visualize
Manipulate
Analyze
CAVASS
PortData
Tools
Image
Processing
Scene
Operations
Visualize
Structure
Operations
VOI
Interpolate
Surface
Normals
Merge
Structures
Filter
To Structure
Segment
To Scene
Classify
Algebra
Registration
Manipulate
Analyze
Visualization and CAVASS
► All
of the most popular modes of
visualization are incorporated into CAVASS.






various 2D slice modes
reslicing
MIP
surface rendering
volume rendering
animation
CAVASS
PortData
Tools
Image
Processing
Visualize
Manipulate
Surface
Volume
Slice
Analyze
Montage
View
View
Cycle
Measure
Measure
Reslice
CreateMovie
CreateMovie
Overlay
An example of overlaid slice display in
CAVASS on the Windows operating
system.
Another example of overlaid slice display
in CAVASS.
3D rendering in CAVASS
► Surface
rendering
 utilizes digital shell and triangulated shell (tshell) rendering algorithms
 operates 6 to 30 times faster entirely in
software than hardware-based rendering
 implemented only in sequential and not parallel
mode (because of their existing high speed)
3D rendering in CAVASS
► Volume




rendering
based on shell rendering
implemented in parallel mode
compared to the implementation in VTK
CAVASS operates at least as fast as VTK and
often achieves superior performance by a factor
of 1.5 to 5
Examples of triangulated shell (tshell) rendering in CAVASS on the
Windows operating system.
Head mounted display employed by
CAVASS for stereo viewing.
Portable graphics user interface
► Considered
Qt, wxWidgets (formerly
wxWindows), and FLTK.
 Qt – proprietary, closed, fees
 FLTK – free but doesn’t maintain native lookand-feel
 wxWidgets
►one
C++ API for all OS’s
►maintains native look-and-feel
►free, open source, multiplatform
►portable support for threads, copy-paste, drag-anddrop, print, etc.
CAVASS
PortData
Tools
Image
Visualize Manipulate Analyze
Processing
Select
Slice
Measure
Reflect
Cut
Move
Create
Movie
CAVASS
PortData
Tools
Image
Processing
Visualize
Manipulate
Analyze
Scene
Structure
Density
Profile
ROI
Kinematics
Experimental results
Description of datasets of varying
sizes used in the comparisons.
dataset name
image size
voxel size
data size
regular
256 x 256 x 46 0.98 x 0.98 x 3.00 mm
6 MB
large
512 x 512 x 459 0.68 x 0.68 x 1.50 mm 241 MB
super 1023 x 1023 x 417 0.24 x 0.24 x 0.50 mm 873 MB
Surface rendering timing comparison for CAVASS
shell rendering (sequential implementation with and
without antialiasing) and surface rendering as
implemented in VTK.
dataset name CAVASS seq/no aa CAVASS seq/aa VTK
regular
0.03
0.06 0.29
large
0.11
0.19 0.41
super
0.16
0.26 1.38
*all times in seconds
Volume rendering timing comparison for sequential
and parallel implementations of CAVASS volume
rendering, VTK ray casting, and VTK 2D texture
mapped volume rendering.
CAVASS (software)
VTK (hardware)
dataset name sequential parallel ray casting 2D texture
regular
0.56
0.06
1.09
1.20
large
3.53
1.36
5.03
18.32
super
9.77
3.66
6.94
>240.00
*all times in seconds
Time required for interpolation from anisotropic to
isotropic data for various dataset sizes and CAVASS
and ITK implementations.
dataset name CAVASS sequential CAVASS parallel ITK sequential ITK multithreaded
regular
0.6s
1.0s
2.9s
1.7s
large
54.9s
14.9s
87.7s
62.8s
super
139.1s
49.2s failed after 315.0s
failed after 186.9s
*all times in seconds
Multithreaded ITK employed a dual processor system
and parallel CAVASS employed two single processor
systems to afford a similar comparison.
Parallelism
► Considered:
 MPI/OpenMPI
►Message
Passing Interface
 OpenMP
►Open
specifications for Multi Processing
Parallelism
► MPI






free (for both Windows, Linux, and Unix)
part of base Linux install
COW (cluster of workstations model)
leverages existing hardware/computers
optional, inexpensive network upgrade
easily expandable
► OpenMP
 requires purchase of specialized compilers
 “multi-threaded, shared memory parallelism” model
 requires purchase of expensive multiprocessor systems
Parallelism recommendation
► CAVASS
MPI.
uses
Thanks for your attention!
► Information
about CAVASS is available from
www.mipg.upenn.edu/~cavass.
► Release date: July/August 2007.
► The authors gratefully acknowledge NIH
grant number R01-EB004395-01 for support
of this work.
Other CAVASS related presentations
► In
Visualization Conference:
 6509-66 Image Processing Aspects
 6509-03 Visualization Aspects
See www.mipg.upenn.edu/~cavass