1 The architecture and performance of CAVASS (Computer Assisted Visualization and Analysis Software System) George J. Grevera *+, Jayaram K. Udupa +, Dewey.

Slides:



Advertisements
Similar presentations
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Advertisements

NA-MIC National Alliance for Medical Image Computing National Alliance for Medical Image Computing: NAMIC Ron Kikinis, M.D.
LIBRA: Lightweight Data Skew Mitigation in MapReduce
Xiaofen Zheng, Jayaram Udupa, Xinjian Chen Medical Image Processing Group Department of Radiology University of Pennsylvania Feb 10, 2008 (4:30 – 4:50pm)
Computer-Aided Design Chapter 7. Computer-Aided Design (CAD) Use of computer systems to assist in the creation, modification, analysis, and optimization.
1 CAVASS: Computer Assisted Visualization and Analysis Software System Jayaram K. Udupa, George J. Grevera * Dewey Odhner, Ying Zhuge, Andre Souza, Tad.
A DICOM Import Module for XIP Alex Shnayder Lafayette College Easton, PA Supervisor: Dr. Dave Channin We gratefully acknowledge the support of: Pat Mongkolwat,
(a Computer Assisted Visualization and Analysis Software System) Using CAVASS as the Basis for Imaging Applications George Grevera ab, Jayaram Udupa b,
Outline Introduction Image Registration High Performance Computing Desired Testing Methodology Reviewed Registration Methods Preliminary Results Future.
CAVASS - Visualization Aspects George Grevera a,b, Jayaram Udupa b, Dewey Odhner b, Ying Zhuge b, Andre Souza b, Tad Iwanaga b, and Shipra Mishra b a Department.
1 An Introduction and Demonstration of a New Computer Assisted Visualization and Analysis Software System (CAVASS) Jayaram K. Udupa +, George J. Grevera.
Page 1 CS Department Parallel Design of JPEG2000 Image Compression Xiuzhen Huang CS Department UC Santa Barbara April 30th, 2003.
1 CAVASS: Computer Assisted Visualization and Analysis Software System – Image Processing Aspects Jayaram K. Udupa +, George J. Grevera *+, Dewey Odhner.
1 Efficient Multithreading Implementation of H.264 Encoder on Intel Hyper- Threading Architectures Steven Ge, Xinmin Tian, and Yen-Kuang Chen IEEE Pacific-Rim.
Multiple Processor Systems 8.1 Multiprocessors 8.2 Multicomputers 8.3 Distributed systems.
CAVASS (a Computer Assisted Visualization and Analysis Software System) Features and Developments George J. Grevera, Ph.D.
Introducing CAVASS George Grevera a,b, Jayaram Udupa b, Dewey Odhner b, Ying Zhuge b, Andre Souza b, Tad Iwanaga b, and Shipra Mishra b a Department of.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
Dr. Engr. Sami ur Rahman Assistant Professor Department of Computer Science University of Malakand Medical Imaging Lecture: Medical Image Formats.
1b.1 Types of Parallel Computers Two principal approaches: Shared memory multiprocessor Distributed memory multicomputer ITCS 4/5145 Parallel Programming,
Copyright © 2012 Cleversafe, Inc. All rights reserved. 1 Combining the Power of Hadoop with Object-Based Dispersed Storage.
Software Process for Distributed Teams KITWARE, Inc.
What is Concurrent Programming? Maram Bani Younes.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering End-user Platform Steve Pieper Isomics, Inc.
William Lorensen GE Research Niskayuna, NY February 12, 2001 Insight Segmentation and Registration Toolkit.
October 26, 2006 Parallel Image Processing Programming and Architecture IST PhD Lunch Seminar Wouter Caarls Quantitative Imaging Group.
Getting Started with ITK in Python Language
Multigenerational Analysis And Visualization of Large 3D Vascular Images Shu-Yen Wan Department of Information Management, Chang Gung University, Taiwan,
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
XIP™ – the eXtensible Imaging Platform A rapid application development and deployment platform Lawrence Tarbox, Ph.D. September, 2010.
FotoGazmic Software (From left to right: Chad Zbinden, Josey Baker, Rob Mills, Myra Bergman, Tinate Dejtiranukul)
High Performance Computing Processors Felix Noble Mirayma V. Rodriguez Agnes Velez Electric and Computer Engineer Department August 25, 2004.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
CMAQ Runtime Performance as Affected by Number of Processors and NFS Writes Patricia A. Bresnahan, a * Ahmed Ibrahim b, Jesse Bash a and David Miller a.
Evaluation of Agent Teamwork High Performance Distributed Computing Middleware. Solomon Lane Agent Teamwork Research Assistant October 2006 – March 2007.
April 26, CSE8380 Parallel and Distributed Processing Presentation Hong Yue Department of Computer Science & Engineering Southern Methodist University.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
William Schroeder, Ph.D. §, Andy Cedilnik §, Sebastien Barré, Ph.D. §, William Lorensen ‡, James Miller, Ph.D. ‡, Daniel Blezek, Ph.D. ‡ § Kitware Inc.,
Multi-level Raid Multi-level Raid 2 Agenda Background -Definitions -What is it? -Why would anyone want it? Design Issues -Configuration and.
Lawrence Tarbox, Ph.D. Washington University in St. Louis School of Medicine Mallinckrodt Institute of Radiology, Electronic Radiology Lab.
NA-MIC National Alliance for Medical Image Computing Non-rigid MR-CT Image Registration Atsushi Yamada, Dominik S. Meier and Nobuhiko.
NA-MIC National Alliance for Medical Image Computing National Alliance for Medical Image Computing: NAMIC Ron Kikinis, M.D.
PRINCIPLES AND APPROACHES 3D Medical Imaging. Introduction (I) – Purpose and Sources of Medical Imaging Purpose  Given a set of multidimensional images,
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
NA-MIC National Alliance for Medical Image Computing Process-, Work-Flow in Medical Image Processing Guido Gerig
10th of June 2005 Chair for Computer Aided Medical Procedures & Augmented Reality Department of Computer Science | Technische Universität München Chair.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Computational Platform Jim Miller GE Research.
Scientific Computing Goals Past progress Future. Goals Numerical algorithms & computational strategies Solve specific set of problems associated with.
Memory management The main purpose of a computer system is to execute programs. These programs, together with the data they access, must be in main memory.
 Computers are classified according to  Purpose  Data hiding  Functionality  Size.
Constructing a system with multiple computers or processors 1 ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson. Jan 13, 2016.
Virtual Memory. Cache memory enhances performance by providing faster memory access speed. Virtual memory enhances performance by providing greater memory.
C. P. Loizou1, C. Papacharalambous1, G. Samaras1, E. Kyriakou2, T
Memory Management.
Dynamic management of segmented structures in 3D Slicer
MATLAB Distributed, and Other Toolboxes
6. Structure of Computers
CNRS applications in medical imaging
Models and Architectures
Document Visualization at UMBC
Chapter 2: The Linux System Part 1
Computer Architecture
Multiple Processor Systems
Constructing a system with multiple computers or processors
CSE8380 Parallel and Distributed Processing Presentation
AN INTRODUCTION TO COMPUTER GRAPHICS Subject: Computer Graphics Lecture No: 01 Batch: 16BS(Information Technology)
Constructing a system with multiple computers or processors
What is Concurrent Programming?
Multiple Processor and Distributed Systems
TOPIC: Computer-Aided Design
Presentation transcript:

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 Philadelphia, PA

2 Introduction CAVA: Computer-Aided Visualization and Analysis CAVASS: 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 D98 GE CT/T DPC PC-based DVIEWNIX 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 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. (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 Results Test 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: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) 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. OperationSystem Regular Large Super seqparallelseqparallelseqparallel Interpolation ITK [2] [2]FailedFailed [2] CAVASS 0.61 [2] [2] [2] Anisotropic Diffusive Filtering ITK CAVASS Gaussian 3D Filtering ITK Failed CAVASS Median 3D Filtering ITK CAVASS

11 Operation System RegularLargeSuper seqparallelSeqparallelseqparallel Binary erode ITK CAVASS Binary dilate ITK CAVASS Gray erode ITK CAVASS Gray dilate ITK CAVASS Thresholding ITK CAVASS Fuzzy Connected Segmentation ITK 108.4Failed CAVASS [5] [5]Failed [5]

12 OperationSystem RegularLargeSuper seqparallelseqparallelseqparallel Registration (rigid) ITK 57.2Failed CAVASS [5] [5] [5] Registration (affine - 12 parameters) ITK 208.3Failed CAVASS [5] [5]13, [5] Surface Rendering VTK * CAVASS Volume Rendering VTK * CAVASS * 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: 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