uiig library contributors: abraham campbell, jungfen gao, hans j. johnson, ryan long, igor okulist,...

15
UIIG Library Contributors: Abraham Campbell, Jungfen Gao, Hans J. Johnson, Ryan Long, Igor Okulist, Christopher Piker, Joseph Reinhardt

Upload: august-farmer

Post on 05-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UIIG Library Contributors: Abraham Campbell, Jungfen Gao, Hans J. Johnson, Ryan Long, Igor Okulist, Christopher Piker, Joseph Reinhardt

UIIG Library

Contributors:

Abraham Campbell, Jungfen Gao, Hans J. Johnson, Ryan Long, Igor Okulist, Christopher Piker, Joseph

Reinhardt

Page 2: UIIG Library Contributors: Abraham Campbell, Jungfen Gao, Hans J. Johnson, Ryan Long, Igor Okulist, Christopher Piker, Joseph Reinhardt

Goals

Create a common image processing platform that is: Cross Platform Extensible and Robust Easy to convert existing c or c++ code Useable at multiple complexity levels Well documented Inherently 4-D with ability to scale to higher

dimensionality

Page 3: UIIG Library Contributors: Abraham Campbell, Jungfen Gao, Hans J. Johnson, Ryan Long, Igor Okulist, Christopher Piker, Joseph Reinhardt

Potential Benefits

Lessen the learning curve

Promote code reuse

Promote code sharingReuse of common algorithmsEasy integration of complex algorithms

Increase the stability of the code

Page 4: UIIG Library Contributors: Abraham Campbell, Jungfen Gao, Hans J. Johnson, Ryan Long, Igor Okulist, Christopher Piker, Joseph Reinhardt

Common Tools

CEIG coding standard (suggestions)

CVS server

On-line documentationhttp://www.engineering.uiowa.edu/~ceig

Developers are in house

Page 5: UIIG Library Contributors: Abraham Campbell, Jungfen Gao, Hans J. Johnson, Ryan Long, Igor Okulist, Christopher Piker, Joseph Reinhardt

Architecture

Language – C++Python binding possiblePerl bindings in progress

Used Software Design TechniquesObject OrientedObject Reuse –via inheritance hierarchyMinimized coupling of objects

Page 6: UIIG Library Contributors: Abraham Campbell, Jungfen Gao, Hans J. Johnson, Ryan Long, Igor Okulist, Christopher Piker, Joseph Reinhardt

Overall Design

Page 7: UIIG Library Contributors: Abraham Campbell, Jungfen Gao, Hans J. Johnson, Ryan Long, Igor Okulist, Christopher Piker, Joseph Reinhardt

CImageBase

AbstractContains elements that define all imagesSize of the imagePixel spacingData pointerData typeMemory Model

Page 8: UIIG Library Contributors: Abraham Campbell, Jungfen Gao, Hans J. Johnson, Ryan Long, Igor Okulist, Christopher Piker, Joseph Reinhardt

Memory Model

A memory model describes how the pixel information is stored in memory

Currently two types of memory models, design allows for any type of memory modelFlat – Standard trivial memory layoutStrided – Memory layout with padding

needed for FFT’s

Page 9: UIIG Library Contributors: Abraham Campbell, Jungfen Gao, Hans J. Johnson, Ryan Long, Igor Okulist, Christopher Piker, Joseph Reinhardt

CImage

Abstract

Second level in the inheritance hierarchy

Purpose of the class is to create generic algorithms

There is a speed penalty for using this level of abstraction

Page 10: UIIG Library Contributors: Abraham Campbell, Jungfen Gao, Hans J. Johnson, Ryan Long, Igor Okulist, Christopher Piker, Joseph Reinhardt

CImageFlat / Strided

Concrete - i.e. can be created by a programmer

Both classes have the same functionality but use different memory models

Contain the methods for pixel access and are the owners of the image data

Page 11: UIIG Library Contributors: Abraham Campbell, Jungfen Gao, Hans J. Johnson, Ryan Long, Igor Okulist, Christopher Piker, Joseph Reinhardt

File I/O

All file accesses use same syntaxPartial list of supported typesAnalyze 7.5DICOM (read only)GIFJPGPNGVOL (UIIG unique type)

Page 12: UIIG Library Contributors: Abraham Campbell, Jungfen Gao, Hans J. Johnson, Ryan Long, Igor Okulist, Christopher Piker, Joseph Reinhardt

Future Work

Create algorithm libraryHans Johnson

FFTDerivative Deform image given displacementsTri-linear interpolation with circular boundaries

Joe ReinhardtMorphologyRegion Growing

Page 13: UIIG Library Contributors: Abraham Campbell, Jungfen Gao, Hans J. Johnson, Ryan Long, Igor Okulist, Christopher Piker, Joseph Reinhardt

Supported Platforms

Linux GCC Compaq Alpha

Windows Microsoft Visual C++

SGI 32 and 64 bit Parallelized code

HP/UX Pending

Page 14: UIIG Library Contributors: Abraham Campbell, Jungfen Gao, Hans J. Johnson, Ryan Long, Igor Okulist, Christopher Piker, Joseph Reinhardt

Demo

Page 15: UIIG Library Contributors: Abraham Campbell, Jungfen Gao, Hans J. Johnson, Ryan Long, Igor Okulist, Christopher Piker, Joseph Reinhardt

UIIG Library

Contributors:

Abraham Campbell, Jungfen Gao, Hans J. Johnson, Ryan Long, Igor Okulist, Christopher Piker, Joseph

Reinhardt