1 / 15

UIIG Library

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

chione
Download Presentation

UIIG Library

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. Potential Benefits • Lessen the learning curve • Promote code reuse • Promote code sharing • Reuse of common algorithms • Easy integration of complex algorithms • Increase the stability of the code

  4. Common Tools • CEIG coding standard (suggestions) • CVS server • On-line documentation • http://www.engineering.uiowa.edu/~ceig • Developers are in house

  5. Architecture • Language – C++ • Python binding possible • Perl bindings in progress • Used Software Design Techniques • Object Oriented • Object Reuse –via inheritance hierarchy • Minimized coupling of objects

  6. Overall Design

  7. CImageBase • Abstract • Contains elements that define all images • Size of the image • Pixel spacing • Data pointer • Data type • Memory Model

  8. 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 model • Flat – Standard trivial memory layout • Strided – Memory layout with padding needed for FFT’s

  9. 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

  10. 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

  11. File I/O • All file accesses use same syntax • Partial list of supported types • Analyze 7.5 • DICOM (read only) • GIF • JPG • PNG • VOL (UIIG unique type)

  12. Future Work • Create algorithm library • Hans Johnson • FFT • Derivative • Deform image given displacements • Tri-linear interpolation with circular boundaries • Joe Reinhardt • Morphology • Region Growing

  13. Supported Platforms • Linux • GCC • Compaq Alpha • Windows • Microsoft Visual C++ • SGI • 32 and 64 bit • Parallelized code • HP/UX • Pending

  14. Demo

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

More Related