Last Edited: Thu Jun 15 20:45:16 1995 by jnw (Joseph N. Wilson) on aviator.cis.ufl.edu

Image Algebra C++ Library (iac++)

NOTA BENE

This project reached end-of-life in 1995. At that time, C++ was still a relatively unstable language platform. In particular, the template system--upon which we relied heavily--was still not well implemented and standardized. The original implementation of the STL by HP had been completed in 1994 but had not met with general acceptance yet. Template metaprogramming was still a new concept. We were aiming at a moving target. This project may not even compile today, and if it was being reimplemented today, we would surely use a completely different method of template generation.

Mark Schmalz has been heading up a project to implement image algebra in a Matlab toolbox. This is described in the paper Mark S. Schmalz, Gerhard X. Ritter, Junior Barrera, Jaako T. Astola, "Image Algebra Matlab language version 2.3 for image processing and compression research," Proceedings of SPIE 7799, 779906 (2010); doi:10.1117/12.864277. Please refer queries about currently active Image Algebra implementations to him at mssz at cise.ufl.edu.

For those who are undissuaded by these clear warnings, a 7zipped version of the last possibly stable version of the source tree from 1995 is available at iac++.7z.

Scope

The image algebra C++ library (iac++) implemented as part of the University of Florida Image Algebra Project provides a library of C++ classes supportive of development of image processing and computer vision application programs. The design and implementation team has included the following UF workers (listed in order of effort):

Work on image algebra has been supported by the U.S. Air Force and ARPA. One of the primary goals of the U.S. Air Force has been that image algebra should be suited to the specification of the kinds of image processing and computer vision algorithms employed in real-time guidance, targeting, and control systems. Thus, an important design criterion of the iac++ library has been that programs developed using iac++ must be efficient for use on embedded computer systems and must provide those capabilities that are necessary to support the kinds of image processing and computer vision capabilities employed by current state-of-the-art guidance, targeting, and control algorithm.

Approach

Our Approach in desigining and developing the iac++ class library has been to provide In addition we have attempted to design the library in such a way that We have had to balance these last two design criteria against the need for efficient operation to support embedded code. Thus in some cases we have provided non-abstract representations (e.g. for the representation of points of n-D Cartesian product spaces). In those cases where it is most likely that a special representation scheme could yield a significant benefit to the programmer, however, we have provided abstract representations (such as in image classes and set classes).
$Id: index.html,v 1.4 1994/01/14 23:07:31 jnw Exp jnw $