Development of the IAPP tool helped convince our sponsors at DARPA and the Eglin Armament Laboratory that image algebra software could have an impact on the way software for image processing and computer vision applications is developed. They funded the development of a more comprehensive preprocessor for an Image Algebra Fortran (IAF) dialect completed in 1986. This preprocessor supported a more robust set of image algebra operations and operands than IAPP, but still suffered from many of the drawbacks of a macro preprocessor.
In 1987, we embarked on a project to completely reimplement IAF with a syntax-directed parser with robust symbol tables representing all relevant data type information required to generate efficient implementations of image algebra operations. This IAF Version 2--implemented by D. Clay Wilson and W.K. Perry--was modified in Version 3 by D.C. Wilson to support dynamic storage allocation and image parameters to subprograms. The final version of Image Algebra FORTRAN to be released by the University of Florida was IAF Version 3.2. This version is still in use for prototyping image manipulation programs at various sites.
During 1987 and 1988, an implementation of an image algebra subset was carried out on a CM-2 Connection Machine housed at the Syracuse University Northeast Parallel Architectures Center. This implementation of image algebra operations and operands, carried out in *Lisp by G. Randy Fischer, was the first targeting of image algebra to a Massively Parallel Computer. It demonstrated the utility of using a high-level application-specific language to develop efficient architecture-independent programs for image processing and computer vision applications.
In 1989, Eglin Air Force Base contracted the University of Florida to continue research and prototype development of image algebra. The primary prototyping activity to be carried out was the design of an Image Algebra Ada (IAA) program design language (PDL) and development of a prototype implementation via translation to Standard Ada '83. This work continued until June of 1993 at which time, IAA Version 1.0 was delivered to our sponsor at Eglin. Due to the complex nature of Ada's Software Structure, this prototype implementation suffers from many of the drawbacks that IAF Version 1 suffered from. In particular, IAA Version 1.0 does not do full Ada type checking, therefore many syntactic hints need to be supplied to the translator in order to generate appropriate code.
In 1992, in an effort to increase the universal applicability of image algebra beyond the Ada community, our Air Force sponsor asked us to carry out prototype implementation of an image algebra C++ (iac++) class library supporting image algebra operands and operations. As of this date (13 January 1994), the iac++ library is in revision 0.9. Revision 1.0 is to be delivered to our sponsor before May 1994.