Functional Specification Of Neighborhoods In An Image Processing Language

Many image processing languages support the concept of a neighborhood or structuring element. In such image processing languages, a neighborhood is usually defined similarly to an image. Operations involving an image and a neighborhood yield a resultant image by some kind of convolution of this single fixed neighborhood with the source image. In this paper we show how generalizing the neighborhood concept to permit neighborhoods that are functionally specified and can vary from pixel to pixel within an image can provide a powerful algebraic language for image processing. Many complex image processing procedures requiring multiple operations to describe in other languages, such as rotation of an image by an arbitrary angle, can be described by a single algebraic operation involving a functionally specified neighborhood. We give examples of the use of functionally specified neighborhoods and argue that this general approach to neighborhood operations is appropriate for implementation on state of the art computer architectures.