Help for DESTRETCH
PURPOSE:
DESTRETCH produces decorrelation stretched images, and variants of
the decorrelation stretch algorithm. This is similar to the ASTER Standard
Data Product algorithm, with a few additional options (DSCALE, more than 3
inputs/outputs, and multiple statistics gathering regions).
The net effect of DESTRETCH is to obtain an output image whose pixels
are well distributed among all possible colors, while preserving the relative
sense of hue, saturation, and intensity of the input.
OPERATION:
The input image is first statistically sampled, using the INC and AREA,
parameters to select the sampling grid and region(s) of interest. The
user may choose to exclude all pixels that have a zero value in all
input channels, via the EXCLUDE parameter, or choose to exclude certain
selected pixels by providing an ASTER style QA plane as an input file and
specifying it by the QA parameter. The channel by channel means and
variances are computed, as well as the interchannel correlation (optionally,
covariance) matrix.
From the calculated matrix, the related eigenvalues and eigenvectors are
computed. The matrix of these eigenvectors is often called the principal
component rotation matrix. If this matrix were used to define the output
transformation, the result would be the principal component images, the
normal output of the program EIGEN.
A "stretching vector" (or Normalization vector) is formed by taking the
reciprocal of the square root of each element of the eigenvalue vector,
and multiplying it by the SIGMA parameter. If the DSCALE parameter is
used, the stretching vector is rescaled by those terms. The use of the
DSCALE parameter will re-introduce correlation into the output images,
so, in this case, the output is no longer truly a decorrelation stretch.
Use of the DSCALE parameter can, however, reduce the some of the
distracting noise often found with highly correlated images.
The transformation used in the decorrelation stretch is composed from
the principal component rotation matrix and the stretching vector in
the following manner:
t
T = R S R
where
T is the output transformation matrix
S is the stretching vector (actually, 1xn matrix)
R is the principal component rotation matrix
t
R is the transpose of matrix R
Conceptually, this process is a rotation of the input image into
principal component space, stretching the individual components for
variance equalization, then a back rotation of the stretched components
into the original space. Since each of these steps is a matrix operation,
all transformation steps are combined, requiring no intermediate image
products.
PARAMETERS:
INP
input data set(s);
Either 1 3-D file or
one file per channel.
OUT
output data set(s);
Either 1 3-D file or
one file per channel.
SIZE
The standard Vicar size
field (sl,ss,nl,ns)
SL
Starting line
SS
Starting sample
NL
Number of lines
NS
Number of samples
MATRIX
Use correlation or
covariance statistics?
(Valid: CORR, COV)
INC
Compute statistics from every
nth line and nth sample
BANDS
Use these bands to destretch.
(Used only if input is a single
3-D file)
QA
Location of QA plane, if present
DSCALE
Adjust the variance equalization
scaling factors by the specified
values.
AREA
The subareas to be used to
compute statistics. Up to 50
regions (SL,SS,NL,NS) may be
entered. Default is to use
the entire image.
MEAN
Desired image mean for each
output channel.
SIGMA
Desired image standard deviation
for each output channel.
EXCLUDE
Exclude zero valued pixels?
Valid: EXCLUDE, INCLUDE
SAVE
The name for the parameter
dataset to hold the
transformation matrix.
See Examples:
Cognizant Programmer: