Provided by: grass-doc_7.8.2-1build3_all bug

NAME

       i.rectify   -  Rectifies  an  image  by computing a coordinate transformation for each pixel in the image
       based on the control points.

KEYWORDS

       imagery, rectify

SYNOPSIS

       i.rectify
       i.rectify --help
       i.rectify [-cat] group=name  [input=name[,name,...]]  extension=string order=integer   [resolution=float]
       [memory=memory in MB]   [method=string]   [--help]  [--verbose]  [--quiet]  [--ui]

   Flags:
       -c
           Use current region settings in target location (def.=calculate smallest area)

       -a
           Rectify all raster maps in group

       -t
           Use thin plate spline

       --help
           Print usage summary

       --verbose
           Verbose module output

       --quiet
           Quiet module output

       --ui
           Force launching GUI dialog

   Parameters:
       group=name [required]
           Name of input imagery group

       input=name[,name,...]
           Name of input raster map(s)

       extension=string [required]
           Output raster map(s) suffix

       order=integer [required]
           Rectification polynomial order (1-3)
           Options: 1-3
           Default: 1

       resolution=float
           Target resolution (ignored if -c flag used)

       memory=memory in MB
           Amount of memory to use in MB
           Default: 300

       method=string
           Interpolation method to use
           Options: nearest, linear, cubic, lanczos, linear_f, cubic_f, lanczos_f
           Default: nearest

DESCRIPTION

       i.rectify  uses  the  control  points  included  in the source data or identified with the Ground Control
       Points Manager to calculate a transformation matrix and then converts x,y cell  coordinates  to  standard
       map  coordinates  for  each  pixel  in  the  image.  The result is a planimetric image with a transformed
       coordinate system (i.e.,  a  different  coordinate  system  than  before  it  was  rectified).  Supported
       transformation  methods  are first, second, and third order polynomial and thin plate spline.  Thin plate
       spline is recommended for ungeoreferenced satellite  imagery  where  ground  control  points  (GCPs)  are
       included. Examples are NOAA/AVHRR and ENVISAT imagery which include throusands of GCPs.

       If  no  ground  control  points  are  available,  the  Ground  Control  Points Manager must be run before
       i.rectify. An image must be georeferences before it can reside in a  standard  coordinate  LOCATION,  and
       therefore  be  analyzed with the other map layers in the standard coordinate LOCATION. Upon completion of
       i.rectify, the rectified image is deposited in the target standard coordinate LOCATION. This LOCATION  is
       selected using i.target.

       More  than one raster map may be rectified at a time. Each cell file should be given a unique output file
       name. The rectified image or rectified raster maps will be  located  in  the  target  LOCATION  when  the
       program is completed. The original unrectified files are not modified or removed.

       If  the  -c flag is used, i.rectify will only rectify that portion of the image or raster map that occurs
       within the chosen window region in the target location, and only that portion of the cell  file  will  be
       relocated  in  the  target database. It is important therefore, to check the current mapset window in the
       target LOCATION if the -c flag is used.

       If you are rectifying a file with plans to patch it to another file  using  the  GRASS  program  r.patch,
       choose  option  number  one, the current window in the target location. This window, however, must be the
       default window for the target LOCATION. When a file being rectified is smaller than the default window in
       which  it is being rectified, NULLs are added to the rectified file. Patching files of the same size that
       contain NULL data, eliminates the possibility of a no-data line in the patched result. This  is  because,
       when  the  images  are  patched,  the  NULLs  in the image are "covered" with non-NULL pixel values. When
       rectifying files that are going to be patched, rectify all of the files using the same default window.

   Coordinate transformation
       The desired order of transformation (1, 2, or 3) is selected with the order  option.   The  program  will
       calculate the RMSE and check the required number of points.

   Linear affine transformation (1st order transformation)
       x’ = ax + by + c
       y’  =  Ax + By + C The a,b,c,A,B,C are determined by least squares regression based on the control points
       entered.  This transformation applies scaling, translation and rotation. It  is  NOT  a  general  purpose
       rubber-sheeting  like  TPS, nor is it ortho-photo rectification using a DEM, not second order polynomial,
       etc. It can be used if (1) you  have  geometrically  correct  images,  and  (2)  the  terrain  or  camera
       distortion effect can be ignored.

   Polynomial Transformation Matrix (2nd, 3d order transformation)
       i.rectify  uses  a  first,  second,  or  third  order transformation matrix to calculate the registration
       coefficients. The number of control points required for a selected order of  transformation  (represented
       by n) is
       ((n  +  1)  *  (n  +  2)  /  2) or 3, 6, and 10 respectively. It is strongly recommended that one or more
       additional points be identified to allow for an overly-determined transformation calculation  which  will
       generate  the  Root  Mean Square (RMS) error values for each included point. The RMS error values for all
       the included control points are immediately recalculated when the user selects a different transformation
       order  from  the  menu  bar. The polynomial equations are performed using a modified Gaussian elimination
       method.

   Thin plate spline (TPS) transformation
       TPS transformation is selected with the -t flag. This method of coordinate transformation is  recommended
       for  satellite  imagery  where  hundreds or thousands of GCPs are included, and for historical printed or
       scanned maps with unknown georeferencing and/or known localized distortions.

       TPS combines a linear affine transformation with individual transformation  coefficients  for  each  GCP,
       using the radial basis kernel function with the distance dist between any two points:
       dist2  *  log(dist)  As  a consequence, localized distortions can be removed with TPS transformation. For
       example, scan line sensors will have due to the changing viewing angle larger distortions towards the end
       points of the scan line than at the center of the scan line. Even higher order polynomial transformations
       are not able to remove these locally different distortions, but TPS transformation can. For best results,
       TPS requires an even and, for localized distortions, dense spacing of GCPs.

   Resampling method
       The  rectified  data is resampled with one of seven different methods: nearest, bilinear, cubic, lanczos,
       bilinear_f, cubic_f, or lanczos_f.

       The method=nearest method, which performs a nearest neighbor assignment, is the fastest of the resampling
       methods.  It  is primarily used for categorical data such as a land use classification, since it will not
       change the values of the data cells. The method=bilinear method determines the  new  value  of  the  cell
       based on a weighted distance average of the 4 surrounding cells in the input map. The method=cubic method
       determines the new value of the cell based on a weighted distance average of the 16 surrounding cells  in
       the  input  map.   The  method=lanczos  method  determines  the new value of the cell based on a weighted
       distance average of the 25 surrounding cells in the input map.

       The bilinear, cubic and lanczos interpolation methods are most appropriate for continuous data and  cause
       some  smoothing.  These  options  should not be used with categorical data, since the cell values will be
       altered.

       In the bilinear, cubic and lanczos methods, if any of the surrounding cells used to interpolate  the  new
       cell  value  are  NULL,  the resulting cell will be NULL, even if the nearest cell is not NULL. This will
       cause some thinning along NULL borders, such as the coasts of  land  areas  in  a  DEM.  The  bilinear_f,
       cubic_f  and  lanczos_f  interpolation  methods  can be used if thinning along NULL edges is not desired.
       These methods "fall back" to simpler interpolation methods along NULL borders.  That is, from lanczos  to
       cubic to bilinear to nearest.

       If  nearest  neighbor  assignment is used, the output map has the same raster format as the input map. If
       any of the other interpolations is used, the output map is written as floating point.

NOTES

       If i.rectify starts normally but after some time the following text is seen:
       ERROR: Error writing segment file
       the user may try the -c flag or the module needs more free space on the hard drive.

SEE ALSO

       The GRASS 4 Image Processing manual

        m.transform, r.proj, v.proj, i.group, i.target
       Ground Control Points Manager

AUTHORS

       William R. Enslin, Michigan State University, Center for Remote Sensing

       Modified for GRASS 5.0 by:
       Luca Palmeri (palmeri@ux1.unipd.it)
       Bill Hughes
       Pierre de Mouveaux (pmx@audiovu.com)
       CMD mode by Bob Covill

SOURCE CODE

       Available at: i.rectify source code (history)

       Main index | Imagery index | Topics index | Keywords index | Graphical index | Full index

       © 2003-2019 GRASS Development Team, GRASS GIS 7.8.2 Reference Manual