Help for CVDNORM

PURPOSE:
The input is a pair of multi-band registered images referred to as the "pre"
and "post" images.  For each pixel of the registered images, the following
two normalization steps are performed.

1.  the bands of the pre image are normalized to a user-selected master band
using a mean adjustment according to the surrounding window also ignoring a
donut hole in the middle of the window.  The pixel is also sigma adjusted
according to the image sigmas input as a parameter.  This is done
independently for each spectral band.

2.  the bands of the post image are normalized to the corresponding pre band
using a mean adjustment according to the surrounding window also ignoring a
donut hole in the middle of the window.  The pixel is also sigma adjusted
according to the image sigmas input as a parameter.  This is done
independently for each spectral band.


The normalizations are useful for bringing out the spectral characteristics
of targets smaller than the "donut" parameter.  The cross band normalization
is useful for centering the band ratios near zero.
EXECUTION:

Example

cvdnorm (A1,A2,A3,A4,A5,B1,B2,B3,B4,B5) out=(M1,M2,M3,M4,M5,N1,N2,N3,N4,N5)       SIGMA=(23.2,26.6,18.4,21.6,33.9,24.7,26.1,18.1,21.9,32.9)
            
                               
OPERATION:
Because of the window, the program uses a "rolling barrel" of input
lines to avoid rereading a line more than once in the second input.


TIMING: 

About the same speed as convolution filter.  

 ORIGINAL PROGRAMMER:    A. Zobrist          27 Jan 2010
 COGNIZANT PROGRAMMER:   A. Zobrist          27 Jan 2010
 
 REVISION HISTORY
  10-01-27    AZ   Initial version
  2022-08-10 B. Crocco afids to opensource (untested)
  

PARAMETERS:


INP

STRING - Input image files

OUT

STRING - Output normalized images

SIZE

INTEGER - Region of input files to be normalized

SL

INTEGER - Starting line

SS

INTEGER - Starting sample

NL

INTEGER - Number of lines

NS

INTEGER - Number of samples

WINDOW

Size of the averaging window, must be odd

MASTERBAND

normalize all pre bands to this pre band, then normalize post bands to pre

SIGMA

REAL - sigmas per band

PRINTLS

INT - (line,samp) to print (debug)

NOPRE

use to shut off across band normalization

See Examples:


Cognizant Programmer: