adfee9cde221e22f0c47fe32d370141f.ppt
- Количество слайдов: 15
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: l l l 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
Potential Benefits Lessen the learning curve Promote code reuse Promote code sharing Reuse of common algorithms l Easy integration of complex algorithms l Increase the stability of the code
Common Tools CEIG coding standard (suggestions) CVS server On-line documentation l http: //www. engineering. uiowa. edu/~ceig Developers are in house
Architecture Language – C++ Python binding possible l Perl bindings in progress l Used Software Design Techniques Object Oriented l Object Reuse –via inheritance hierarchy l Minimized coupling of objects l
Overall Design
CImage. Base Abstract Contains elements that define all images Size of the image l Pixel spacing l Data pointer l Data type l Memory Model l
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 l Strided – Memory layout with padding needed for FFT’s l
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
CImage. Flat / 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
File I/O All file accesses use same syntax Partial list of supported types Analyze 7. 5 l DICOM (read only) l GIF l JPG l PNG l VOL (UIIG unique type) l
Future Work Create algorithm library l Hans Johnson FFT l Derivative l Deform image given displacements l Tri-linear interpolation with circular boundaries l l Joe Reinhardt Morphology l Region Growing l
Supported Platforms Linux l l GCC Compaq Alpha Windows l Microsoft Visual C++ SGI l l 32 and 64 bit Parallelized code HP/UX l Pending
Demo
UIIG Library Contributors: Abraham Campbell, Jungfen Gao, Hans J. Johnson, Ryan Long, Igor Okulist, Christopher Piker, Joseph Reinhardt
adfee9cde221e22f0c47fe32d370141f.ppt