User's Guide

REGISTER

Image registration routine

Function:

Performs image-to-image or image-to-map registration given a set of tie point pairs.

Parameters:

Subcommand -IMG2IMG:
Registers one image to another. Performs image-to-image registration given a set of tie point pairs.

IN
Input image(s). The reference image name followed by the search image name. The reference image name is optional. If the reference image name is not given, it is assumed reference subimage chips are being supplied.

OUT
Output image. This specifies the output (registered) image. Its size is determined by the WINDOW parameter. The data type of OUT is the same as the input image data type.

INTS
Input tie point selection files. The first filename is the set of reference points and the second filename is the set of search points.

INRWT(--)
Input resampling weight table file. A file containing an externally generated table of resampling weights. This parameter is valid when RESAMP=TABLE. It is ignored for all other resampling methods.

WINDOW(--)
Window specification. Area of output image over which the geometric mapping grid is to be evaluated. This determines the output image size. If this parameter is NULL, the output image size will be the same as the reference image.

CORRMODE(NO)
Correlation mode. This indicates the type of correlation that is to be performed on the tie points. The CORRELATE module is invoked if correlation is to be performed.


  = NO:    Do not correlate.
  = EDGE:  Edge correlation.
  = GREY:  Grey correlation.

BANDS(1,1)
Band numbers. Specifies the band number of the reference and search images to use for edge or grey correlation. The order in which the bands are input determines which band is used. For example, if the user specifies an image as "SEARCH.IMG(4 3 2)," and BANDS=(1,1), band 4 of the image is used. This parameter is ignored when correlation is not performed.

EDGEVAL(0.15)
Edge value. The fraction of pixels to be classified as edges. Each subimage to be correlated is first processed with a filter that yields an edge value for each pixel. A histogram of edge values is compiled, and an edge threshold is chosen so the fraction of all pixels that are classified as edges is as close to the EDGEVAL value as possible. Values outside the range 0.05 to 0.30 are unlikely to give good results. This parameter is ignored when correlation is not performed.

PDEGREE(4)
Polynomial degree. The maximum polynomial degree to be used in calculating coordinate transformations. The maximum degree is 4. The actual degree allowable for a given set of tie point pairs may be less, depending on the number of tie point pairs being used in the modeling process.

STATSIG(0.05,0.05)
Statistical significance levels. The statistical significance levels for entering and removing variables in the stepwise regression analysis. Refer to User Note 4 for more information.

MAXRES(--)
Maximum residual value. The maximum residual value (in pixels) allowed in both line and sample directions. In normal, interactive operation, this parameter is NULL. If not NULL, MAXRES is used as a tolerance value for deleting tie points from the modeling process; prompting does not occur. Be cautious when using this method of editing--the tie point with the maximum residual isn't always the "best" tie point to delete.

RESAMP(NN)
Resampling method. Pixel values in the output image are determined by finding the corresponding location in the input image. The pixel location in the input image is a floating point value, i.e., it can fall between pixels. A method of interpolating a brightness value for that pixel location is therefore needed.


  = NN:     Nearest neighbor.  Nearest neighbor 
            interpolation uses the brightness value
            of the pixel closest to the calculated 
            floating point pixel value.
  = BI:     Bilinear.  Bilinear interpolation uses a 
            2 x 2 block of input pixels which surround
            the calculated floating point pixel value 
            to determine the output pixel brightness 
            value.
  = CC:     Cubic convolution.  Cubic convolution 
            interpolation uses a 4 x 4 block of input 
            pixels which surround the calculated 
            floating point pixel value to determine 
            the output pixel brightness value.
  = TABLE:  Table-based.  Table-based resampling uses 
            a N x M block of input pixels which 
            surround the calculated floating point pixel 
            value to determine the output pixel 
            brightness value.  The dimensions N and M,
            as well as the resampling kernel 
            (resampling weights), are contained in the 
            user-entered file of resampling weights.

PCCALPHA(-0.5)
Parametric cubic convolution alpha parameter. Commonly used values are -1.0 and -0.5; values -3.0 through 3.0 produce reasonable results. Other values may cause unpredictable results but are permitted for experimental purposes. This parameter is valid when RESAMP=CC. It is ignored for all other resampling methods.

CONFLG(YES)
Confirmation flag. Specifies whether or not the user is prompted to verify the merging of each reference tie point with a corresponding search tie point.


  = YES:  Confirm merge.
  = NO:   Do not confirm merge.

PRINT(TERM)
Output destination. Specifies the output destination for a listing of the transformation coefficients, tie point residuals, and other transformation information. Note that the information will always go to the terminal if interactive editing is to be performed. The following options are available:

  = --:        No Report
  = TERM:      Terminal.
  = LP:        Line printer.
  = Filename:  User-supplied filename.
Subcommand -IMG2MAP:
Registers an image to a map base. Performs image to map registration given a set of map coordinates (latitude, longitude) and a corresponding set of image coordinates.

IN
Input image. The name of the search image. This image will be rectified to the user-specified map projection given in INPROJ.

OUT
Output image. This specifies the output (registered) image. Its size is determined by the framing parameters PIXSIZ, COORS, and LSCOORS. The data type of OUT is the same as the input image data type.

INTS
Input tie point selection files. The first filename is the set of reference points (from a map) and the second filename is the set of search points (from an image).

INPROJ
Input projection definition file. This file contains projection-related information describing the image projection. INPROJ can contain more than one set of projection parameters for input and output. IPROJKEY and OPROJKEY specify the projection to be used. If there are two sets of projection parameters with the same projection key, the first one is used.

INPROJ is generated by PROJPRM and a description of the file may be found in the LAS Programmer's Manual. INPROJ is a labeled table file and the format has limited flexibility. It must have attributes of PROJKEY, PROJTYPE, PROJZONE, PROJUNITS, PROJSPH, and PROJPARMS.

PIXSIZ
Pixel dimensions. PIXSIZ defines the dimension of each pixel in the transformed coordinate space. The first value is the dimension in the line (Y) direction, and the second value is the dimension in the sample (X) direction; both dimensions have the same unit of measure as the output coordinates, which is specified in the projection definition file.

COORS
Coordinates. These coordinates are used to define the frame of the output area for the process of gridding the output area to line, sample coordinates. Coordinates are entered as Y (latitude or northing) , X (longitude or easting). Three different modes of processing are possible:


o  When four values are specified and COORUNIT = DMS, 
   RAD, SEC, or DEG, the the upper-left corner and 
   lower-right corner of a geographic input space is 
   defined.  These corner coordinates, along with the 
   pixel dimensions make up the framing parameters.  
   The framing parameters are projected into the 
   specified output projection space, and minimums and
   maximums in X and Y are recorded along the boarders of 
   the projected space.  These minimums and maximums are 
   used to define the boundaries of the output space.

o  When four values are specified and COORUNIT = PRO, a 
   coordinate somewhere within the output space frame 
   and the lower-right corner coordinate in the output 
   projection space are given.  The first coordinate 
   is paired with the LSCOOR parameter and is adjusted 
   internally to pixel 1,1.  These coordinates are the 
   minimum and maximums in X and Y and are used to 
   define the boundaries of the output space.

o  When two values are specified and COORUNIT = PRO, a
   coordinate somewhere within the output space frame 
   is given.  This coordinate is paired with the LSCOOR 
   parameter to determine the upper-left corner 
   coordinate in the output space.  This mode of 
   processing requires that NL and NS also are given.  
   When the NL and NS values are combined with the PIXSIZ
   parameter, the lower-right corner of the output space 
   projection can be found, giving minimum and maximum 
   coordinates in X and Y and thus defining the boundaries 
   of the output space.

INRWT(--)
Input resampling weight table file. A file containing an externally generated table of resampling weights. This parameter is valid when RESAMP=TABLE. It is ignored for all other resampling methods.

IPROJKEY(--)
Input projection key. The key of the projection system in INPROJ which describes the input coordinate system. When the null value is given, the second set of projection parameters in INPROJ is used. If the reference tie point selection file contains valid projection information in the header record, that projection information is used instead of the information described by IPROJKEY.

OPROJKEY(--)
Output projection key. The key of the projection system in INPROJ which describes the output coordinate system. When the null value is given, the first set of projection parameters in INPROJ is used.

COORUNIT(DEG)
Coordinate units. The type of units in which COORS is entered.


  = DMS:  Deg Min Sec
  = RAD:  Radians
  = DEG:  Degrees
  = SEC:  Seconds
  = PRO:  Projection coordinates in output space

LSCOORS(1,1)
Line/sample coordinates. The image coordinates of the first coordinate pair entered in COORS when projection parameters are being specified directly. The default is to the upper-left corner of the output image space (1,1).

NL(--)
Number of lines. The number of lines in the output area, specified when only the first projection coordinate pair is given in COORS.

NS(--)
Number of samples. The number of samples in the output area, specified when only the first projection coordinate pair is given in COORS.

PDEGREE(4)
Polynomial degree. The maximum polynomial degree to be used in calculating coordinate transformations. The maximum degree is 4. The actual degree allowable for a given set of tie point pairs may be less, depending on the number of tie point pairs being used in the modeling process.

STATSIG(0.05,0.05)
Statistical significance levels. The statistical significance levels for entering and removing variables in the stepwise regression analysis. Refer to User Note 4 for more information.

MAXRES(--)
Maximum residual value. The maximum residual value (in pixels) allowed in both line and sample directions. In normal, interactive operation, this parameter is NULL. If not NULL, MAXRES is used as a tolerance value for deleting tie points from the modeling process; prompting does not occur. Be cautious when using this method of editing--the tie point with the maximum residual isn't always the "best" tie point to delete.

RESAMP(NN)
Resampling method. Pixel values in the output image are determined by finding the corresponding location in the input image. The pixel location in the input image is a floating point value, i.e., it can fall between pixels. A method of interpolating a brightness value for that pixel location is therefore needed.


  = NN:     Nearest neighbor.  Nearest neighbor 
            interpolation uses the brightness value
            of the pixel closest to the calculated 
            floating point pixel value.
  = BI:     Bilinear.  Bilinear interpolation uses a 
            2 x 2 block of input pixels which surround
            the calculated floating point pixel value 
            to determine the output pixel brightness 
            value.
  = CC:     Cubic convolution.  Cubic convolution 
            interpolation uses a 4 x 4 block of input 
            pixels which surround the calculated 
            floating point pixel value to determine 
            the output pixel brightness value.
  = TABLE:  Table-based.  Table-based resampling uses 
            a N x M block of input pixels which 
            surround the calculated floating point pixel 
            value to determine the output pixel 
            brightness value.  The dimensions N and M,
            as well as the resampling kernel 
            (resampling weights), are contained in the 
            user-entered file of resampling weights.

PCCALPHA(-0.5)
Parametric cubic convolution alpha parameter. Commonly used values are -1.0 and -0.5; values -3.0 through 3.0 produce reasonable results. Other values may cause unpredictable results but are permitted for experimental purposes. This parameter is valid when RESAMP=CC. It is ignored for all other resampling methods.

CONFLG(YES)
Confirmation flag. Specifies whether or not the user is prompted to verify the merging of each reference tie point with a corresponding search tie point.


  = YES:  Confirm merge.
  = NO:   Do not confirm merge.

PRINT(TERM)
Output destination. Specifies the output destination for a listing of the transformation coefficients, tie point residuals, and other transformation information. Note that the information will always go to the terminal if interactive editing is to be performed. The following options are available:

  = --:        No Report
  = TERM:      Terminal.
  = LP:        Line printer.
  = Filename:  User-supplied filename.

Examples:

  1. LAS> register-img2img in=(boston.ref,boston) ints=(tie.ref,tie.search) inrwt=-- out=boston.reg window=(1,1,512,512) corrmode=edge bands=(1,1) edgeval=0.15 pdegree=2 statsig=(0.05,0.05) maxres=-- resamp=cc pccalpha=-0.5 conflg=no print=term

    The image BOSTON is registered to the image BOSTON.REF using the tie points defined in the tie point selection files TIE.SEARCH and TIE.REF. Edge correlation is performed to refine the input tie points using band 1 of BOSTON as search image and band 1 of BOSTON.MAP as reference image. Cubic convolution resampling is performed for the transformation. The output image size is 512 by 512.

  2. LAS> register-img2map in=boston ints=(map.ref,tie.search) inrwt=sinc inproj=boston out=boston.reg iprojkey="geo" oprojkey=albers pixsiz=(25.0,25.0) coors=(43.0,-72.0,42.0,-70.0) coorunit=deg pdegree=2 statsig=(.99,.99) maxres=0.25 resamp=table conflg=no print=lp

    The image BOSTON is registered to the output coordinate system in INPROJ with a key of ALBERS using a set of map points contained in MAP.REF. The output image will be framed around 43.0,-72.0 and 42.0,-70.0, and the output image pixel size is 25.0 meters in both line and sample directions. The resulting set of tie point pairs are modeled with second order polynomial. Significance levels for the modeling process are set to the maximum and result in a straight least-squares fit of the points. The points are automatically edited; points with residuals greater than 1/4 of a pixel are omitted from the fit. The image is rectified using a onedimensional, three-pass method and resampled using a user-entered kernel, SINC. All output is written to a printer.

Description/Algorithm:

Tie points associated with search and reference coordinate systems are selected prior to invoking this procedure and are stored in two tie point selection files.

When registering an image to another image, TIEMERGE combines the two tie point selection files for use with CORRELATE, the correlation routine used to refine tie point locations. The mapping specified by the tie point locations is then modeled by POLYFIT, and the mapping is applied to the search image by RESAMPLE.

When registering an image to a map base, TRANCOORD converts map coordinates using the framing parameters to output image space. This "gridded" output space is written to a tie point selection file. TIEMERGE combines control points selected from the search image and the gridded output space points generated by TRANCOORD. The tie point pairs are then modeled by POLYFIT, and the mapping is applied to the search image by RESAMPLE.

The user should refer to the individual programs named above for more detailed information.

Nonfatal Error Messages:

    For error message explanations, refer to the respective programs TRANCOORD, TIEMERGE, CORRELATE, POLYFIT, and RESAMPLE.

Fatal Error Messages:

    For error message explanations, refer to the respective programs TRANCOORD, TIEMERGE, CORRELATE, POLYFIT, and RESAMPLE.

User Notes:

  1. Input tie point selection files may be generated using the TIEPTS or EDITTIE modules.

  2. The output image size is determined by the WINDOW parameter. If an output area is too large to process in one run of this function, the desired output region may be divided into subimages. Each subimage is generated by a separate execution of RESAMPLE, and the results may be joined using CONCAT.

    Division into subimages may also be necessary if the image warping function is so complex that the maximum number of entries in the mapping-grid file is inadequate to define the warping with sufficient precision.

  3. In edge and gray correlation, the area searched for statistics is determined by the width and height specified in the reference tie point selection file. These values should be kept to a minimum.

    For small images, correlation should not be used. Tie point selection files for such images must not have tie points specified near the edges of the images. For points near the edges, the correlation may or may not be attempted depending upon the chip size of the reference image. If correlation is attempted, it may be rejected since only a small area is available for statistical calculation. Rejected points are not used by POLYFIT to generate the mapping grid.

  4. The values of the STATSIG parameter are used to enter and remove variables (polynomial terms, not tie points) during the stepwise regression procedure. The default values of 0.05 indicate that to enter the model, the significance level of the variable's (polynomial term's) contribution to the model must be in the upper 5 percent of the F-distribution; and to stay in the model, the significance level of the variable's contribution to the model must also be in the upper 5 percent of the F-distribution. STATSIG values near 1.0 allow variables to enter and remain in the model that do not significantly help define the relations between the tie point pairs. Also, STATSIG values near 0.0 may prevent any variables from entering the model and/or will cause variables to be quickly removed after other variables are entered.

  5. For more information on the registration process and the algorithms used to accomplish it, refer to the Geometric Manipulation Package Overview Document, GEOMPOD.