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: