The image processing workbench

This dissertation presents the design and implementation of the Image Processing Workbench (IPW), a UNIX-based image processing software system. IPW is a development environment for algorithms and applications using image data from primarily remote sensing sources. IPW is simple, extensible, and portable. A well-defined set of basic image processing operations are provided which may be combined to form complex processing sequences. The underlying capabilities of UNIX (sequential interprocess communication, programmable command language, regular command syntax) are exploited rather than duplicated. No particular display hardware is required; instead, several display types are supported as "sinks" for processing pipelines. IPW has a single, portable image data format that accommodates both integer and floating-point data representations, and an unlimited amount of ancillary information. Images may have an arbitrary number of channels or bands. Point, vector, and polygon data in textual form may be easily inserted into or extracted from image data. Function libraries and program generation tools are provided for programmers wishing to extend IPW. An emphasis on portability has allowed the migration of IPW source code and image data across a variety of heterogeneous computing environments. This dissertation examines IPW from the successive points of view of a user, a programmer, and a system maintainer. Complete documentation for all IPW programs and library functions is included, as is an appendix containing the IPW C programming standards.