The Geometric Manipulation Package is a set of modules designed to rectify remotely sensed data to a user-selected reference frame. This reference frame may be a map projection, the geometry of another image, or some other user-defined space.
The geometric rectification process involves many steps--often iterations of those steps--to register an image. The rectification process can vary from project to project, depending upon the quality and availability of reference maps, image quality and resolution, the type of registration (image-to-image or image-to-map), and user preference of the control/tie point selection flow. Therefore, the Geometric Manipulation Package has been implemented as a set of tools to satisfy a diverse set of requirements. Since the package has been implemented with the tool approach, a TAE procedure, register, exists which combines modules to perform image-to-image and image-to-map registrations. Thus, it is not necessary for occasional users to understand individual modules or intermediate file structures in the package; only an understanding of the driver procedures is needed.
The Geometric Manipulation Package is divided into three areas of processing: control/tie point selection and refining, calculation of mapping parameters, and image transformation.
There are many different methods available in LAS 7.0 for the selection or origination of tie points. Points may be selected from maps and images either interactively or separately; they may be entered from other processing systems; or they may be entered manually. Once entered into the system, they may be edited, displayed, or transformed into other coordinate spaces.
Because of this diverse set of requirements, a file format (the tie point selection file) was selected to store points for a single image. Two tie point selection files, one for the search image and one for the reference image or geographic data, must be merged to specify an image-to-image or image-to-map registration. Although merging the files requires an extra processing step, the initial generation of two separate data sets permits measurement of map coordinates in a separate step from tie point selection and also facilitates reusing a set of reference image tie points for image-to-image registration of a series of images.
Tie/control points in LAS 7.0 may be entered in image, projection, geographic, or user-defined coordinates. Image coordinates start in the upper-left corner of the image with a value of (1,1). Projection coordinates may be entered in meters or feet; geographic coordinates may be entered in radians, degrees, seconds, or in a packed degrees, minutes, seconds format; and user-defined coordinates may be given in almost any unit of measure although transformations are not supported. See Appendix A. Projection and geographic coordinates reside at the center of a pixel. See Appendix C.
The LAS 7.0 modules that provide for point selection or ingest are tiepts, mappts, and tab2tie. Tiepts selects ground control or tie points for image-to-map or image-to-image geometric rectification. Points may be selected from multiple scenes/maps simultaneously or from single scenes. Unlike the other routines, tiepts is run from the UNIX command line. Mappts is a ground control point collection module which creates a tie point selection file consisting of latitude, longitude or user-defined coordinates (x,y) from a map. Input is through a digitizer or manually through the user's terminal. Both tiepts and mappts read and write the map identifier file which stores information needed to register a map to a digitizer. Each tie point in a tie point selection file contains the map identifier so that each point may be referenced back to the map source. Tab2tie reads coordinates from a labeled table file and places them in a tie point selection file. Conversely, tie2tab reads the contents of a tie point selection or tie point location file and places them in a labeled table file.
Edittie edits the contents of existing tie point selection, merged tie point, or tie point location files. It also creates new tie point selection, merged tie point, and tie point location files.
Dsptie displays tie point selection files, merged tie point files, and tie point location files to the line printer, the user's terminal, or a text file.
Trancoord converts coordinates from one coordinate system to another. Coordinate conversions may be performed between any of the projections supported by the LAS projection transformation package or with a polynomial (up to fourth order). An option exists to grid the resulting coordinates to image coordinates given a set of framing parameters. See Appendix D. Input and output projection spaces are described in the projection definition file, which is created by the projprm module. Refer to Appendix E for more information on the projection transformations supported by LAS.
Tiemerge merges two tie point selection files to form either a merged tie point file for use in imagetoimage correlation or a tie point location file for use in the tie point modeling process.
Correlate refines tie points for imagetoimage registration using either graylevel correlation or edge correlation. Input is a merged tie point file; output is a tie point location file.
The calculation of mapping (transformation) parameters is necessary prior to the transformation of an image to a given geometric reference frame. Modules in this category allow the creation and editing of a geometric mapping grid file given a set of tie points, a linear transformation, or a map projection change. Appendix G describes the gridding process.
For the user with a set of tie points, polyfit takes a tie point location file containing tie point pairs and derives bivariate polynomial coefficients which define the transformation from one coordinate system to another. The polynomial is used to create the geometric mapping grid of linear segments that approximates this transformation. Rotrnscl is used to generate a geometric mapping grid which corresponds to a linear transformation representing a combination of rotation, translation, and geometric scaling; whereas, the remap module generates a grid to change the projection of a previously registered image.
Various geometric mapping grid utility modules also exist: Gridform converts geometric mapping grids in other (old) formats to the current format, enabling the user to display and edit these grids as well as apply them. Editgrid allows the user to change or originate the polynomial and projection information contained in a grid file. Gridgen is then used to regenerate the mapping grid portion of the file. Dspgrid is used to display the contents of a geometric mapping grid file to the line printer, the user's terminal, or a text file.
The geometric mapping grid file contains a geometric mapping grid, information needed to fill the output space image's DDR, and miscellaneous mapping grid parameters and statistics.
An image is geometrically rectified (transformed) according to the contents of the geometric mapping grid file and other user-entered parameters.
The resample module performs the geometric rectification of an image as specified by a previously generated mapping grid using a onepass, two-dimensional or a threepass, one-dimensional algorithm. Resampling is accomplished to 1/32 of a pixel using nearest neighbor interpolation, parametric cubic convolution interpolation, bilinear interpolation, or a userentered table of resampling weights.
If the user wants a resampling method other than nearest neighbor, cubic convolution, or bilinear interpolation--a user-entered table of resampling weights can be generated with the rtable module and displayed with the dsprwt module. Rtable may be used to convert inverse point spread functions used in the restoration process into a resampling weight table file or to create sinc function resampling kernels of various sizes.
The resampling weight table files contain up to three N by 33 matrices of separable interpolation weights to be used in brightness level resampling. N is the resampling kernel dimension (2 to 16) and 33 identifies the 32 subdivisions between pixel values, including both endpoints.
The inverse point spread function file is an ASCII file which contains an inverse point spread function for a given resampling method. This is the manner in which resampling weight tables for the restoration process are entered into LAS; other resampling methods may be entered in this manner as well.
Refer to Appendix H and the resample user's guide for more information on geometric transformations and resampling.