In this class, we must express map/image transformations and operations in a rigorous fashion, in order to (a) understand their structure and function, (b) predict consequences of changing transform parameters, and (c) have a unified basis for comparing map manipulation algorithms. Currently, the only rigorous, concise notation that unifies image and signal processing (to which GIS is related) is called image algebra. Some of you may have heard of this notation, which was invented here at UF by Gerhard Ritter. Image algebra is a rigorous, concise notation that unifies linear and nonlinear mathematics in the image domain. Image algebra was developed at UF under DARPA and Air Force support since the early 1980s to provide a simple, powerful notation for describing image and signal processing algorithms in a unified, high- level manner.
The following theory is a small subset of image algebra, since the aim of this class is not to teach the details of image algebra. Rather, we are teaching advanced concepts of GIS within the context of image algebra, for the above-mentioned reasons. We thus provide the following brief theoretical introduction.
NOTE: Bold-italic-face titles or names denote cryptologic terms that we will use in class.
Intervals. Occasionally, we use a concise specification of a contiguous subset of a given set, called an interval. For example, [1,4]Z denotes the set {1,2,3,4}, while the half-open interval (1,4]Z denotes the set {2,3,4}. Similarly, (2,4]R = {xR: 2 < x 4}.
Unary arithmetic functions are applicable to subsets of the real numbers (e.g., max or , min or , and abs). Note that abs denotes absolute value of a set instead of |A|, which is reserved for cardinality.
Example. The mapping a : X -> F denotes a generalized image a FX, which is a concise way of denoting the set of all mappings from X to F.
G(a) = {(x, a(x)) : a(x) F, x X} .
We also write a G(a), where denotes equivalence. Note that p1(G(a)) = X = domain(a) and p2(G(a)) = F = range(a), where pk denotes projection onto the kth coordinate.
k {(x, a(x)) : a(x) = k, x X} = {(x,k): x X} .
Example. The unitary image on X is denoted as 1X, or simply 1, with X understood.
Example. We have the following cases of real and Boolean negation:
-a
{(x, -[a(x)]) :
a(x)
R, x
X}
¬a
{(x, ¬[a(x)]) :
a(x)
B, x
X}
a = a(x)
determines the number of unitarily-valued pixels in a. Alternatively, replacing with would tell us if there are any unitary values in a.Example. Given the images a,b FX, we have the pointwise arithmetic operations
c = a + b
{(x, c(x)) : c(x) =
a(x) + b(x), where
a(x),b(x)
R,
x X}
c = a · b
{(x, c(x)) : c(x) =
a(x) · b(x), where
a(x),b(x)
R,
x X} .
Example. If a and b are Boolean images on X, then we have the following definition of the exclusive-or function:
c = (a xor b)
{(x, c(x)) : c(x) =
|a(x) - b(x)|,
x X} .
Observation. A wide variety of binary operations can be described (e.g., ab and logab), provided that value sets are properly defined. However, in the case of the logarithm, we must set range(a), range(b) R+, the positive reals. Otherwise, the logarithm is not defined.
b = a|W {(x, b(x)) : b(x) = a(x), xWX} .
The converse of restriction is extension. For example, the extension of image b FW to a k-valued constant image on X, the domain of a, is denoted by:
c = b | k
{(x, c(x)) : c(x) =
b(x) if x
W or
c(x) = k(x) if x
X\W} .
b = a ||A
{(x, b(x)) : b(x) =
a(x) if
a(x)AF,
xX} .
b = S(a) {(x, b(x)) : b(x) = 1 if a(x) satisfies S, or b(x) = 0 otherwise}.
The resultant image b is a Boolean image on X.Thus, the characteristic function can be thought of as a logical test with predicate S that returns a Boolean image. Wherever the test condition S is satisfied, a unitary value occurs, with zeroes elsewhere.
Example. The characteristic function can be employed in thresholding an image a RX using a real threshold T, as follows:
b = >T(a) {(x, b(x)) : b(x) = 1 if a(x) > T, or b(x) = 0 otherwise}.
An important class of operations are called transpostions, in which the domain of a plaintext message is manipulated so that the symbol order is rearranged. Let a denote an image in FX, and define a spatial transformation f: Y -> X. For purposes of simplicity, assume that f is a one-to-one and onto mapping.
The composition of a with f is denoted by:
b = a o f
{(y, b(y)) : b(y) =
a(f(y)), y
Y} .
The most powerful construct in image algebra is called a template, which is defined as a mapping from a point set to a set of images. Thus, a template is an image whose pixel values are images.
(a
t)y =
a(x)
ty(x) , y
Y .
Example. When = + and = ·, we have the linear convolution , which is defined in terms of the left product as
(a
t)y =
a(x) · ty(x) ,
y Y .
Example. When
= and
= ·, we have
the multiplicative maximum operation
, and when
= and
= +, we have
the additive maximum operation
. The operations of
multiplicative minimum and additive minimum are symmetrically
defined.
Although we will not use the nonlinear operations or extensively in this class, such operations are frequently employed in image processing.
This concludes our discussion of basic notation for this class. Other notational conventions will be defined as they are introduced in theory development.