1i.rectify(1)                  Grass User's Manual                 i.rectify(1)
2
3
4

NAME

6       i.rectify   -  Rectifies an image by computing a coordinate transforma‐
7       tion for each pixel in the image based on the control points.
8

KEYWORDS

10       imagery, rectify
11

SYNOPSIS

13       i.rectify
14       i.rectify --help
15       i.rectify [-cat] group=name  [input=name[,name,...]]   extension=string
16       order=integer      [resolution=float]       [memory=memory    in    MB]
17       [method=string]   [--help]  [--verbose]  [--quiet]  [--ui]
18
19   Flags:
20       -c
21           Use current region  settings  in  target  location  (def.=calculate
22           smallest area)
23
24       -a
25           Rectify all raster maps in group
26
27       -t
28           Use thin plate spline
29
30       --help
31           Print usage summary
32
33       --verbose
34           Verbose module output
35
36       --quiet
37           Quiet module output
38
39       --ui
40           Force launching GUI dialog
41
42   Parameters:
43       group=name [required]
44           Name of input imagery group
45
46       input=name[,name,...]
47           Name of input raster map(s)
48
49       extension=string [required]
50           Output raster map(s) suffix
51
52       order=integer [required]
53           Rectification polynomial order (1-3)
54           Options: 1-3
55           Default: 1
56
57       resolution=float
58           Target resolution (ignored if -c flag used)
59
60       memory=memory in MB
61           Amount of memory to use in MB
62           Default: 300
63
64       method=string
65           Interpolation method to use
66           Options:  nearest, linear, cubic, lanczos, linear_f, cubic_f, lanc‐
67           zos_f
68           Default: nearest
69

DESCRIPTION

71       i.rectify uses the control points included in the source data or  iden‐
72       tified  with the Ground Control Points Manager to calculate a transfor‐
73       mation matrix and then converts x,y cell coordinates  to  standard  map
74       coordinates  for  each  pixel in the image. The result is a planimetric
75       image with a transformed coordinate system (i.e., a  different  coordi‐
76       nate  system  than  before  it was rectified). Supported transformation
77       methods are first, second, and third order polynomial  and  thin  plate
78       spline.  Thin plate spline is recommended for ungeoreferenced satellite
79       imagery where ground control points (GCPs) are included.  Examples  are
80       NOAA/AVHRR and ENVISAT imagery which include throusands of GCPs.
81
82       If  no  ground  control points are available, the Ground Control Points
83       Manager must be run before i.rectify. An image  must  be  georeferences
84       before  it  can reside in a standard coordinate LOCATION, and therefore
85       be analyzed with the other map layers in the standard coordinate  LOCA‐
86       TION. Upon completion of i.rectify, the rectified image is deposited in
87       the target standard coordinate  LOCATION.  This  LOCATION  is  selected
88       using i.target.
89
90       More  than  one  raster  map may be rectified at a time. Each cell file
91       should be given a unique output file name. The rectified image or  rec‐
92       tified raster maps will be located in the target LOCATION when the pro‐
93       gram is completed. The original unrectified files are not  modified  or
94       removed.
95
96       If the -c flag is used, i.rectify will only rectify that portion of the
97       image or raster map that occurs within the chosen window region in  the
98       target  location,  and only that portion of the cell file will be relo‐
99       cated in the target database. It is important therefore, to  check  the
100       current mapset window in the target LOCATION if the -c flag is used.
101
102       If  you  are  rectifying  a file with plans to patch it to another file
103       using the GRASS program r.patch, choose option number one, the  current
104       window  in  the  target  location.  This  window,  however, must be the
105       default window for the target LOCATION. When a file being rectified  is
106       smaller  than  the default window in which it is being rectified, NULLs
107       are added to the rectified file. Patching files of the same  size  that
108       contain  NULL data, eliminates the possibility of a no-data line in the
109       patched result. This is because, when the images are patched, the NULLs
110       in  the image are "covered" with non-NULL pixel values. When rectifying
111       files that are going to be patched, rectify all of the files using  the
112       same default window.
113
114   Coordinate transformation
115       The  desired  order of transformation (1, 2, or 3) is selected with the
116       order option.  The program  will  calculate  the  RMSE  and  check  the
117       required number of points.
118
119   Linear affine transformation (1st order transformation)
120       x’ = ax + by + c
121       y’  =  Ax  +  By  +  C  The a,b,c,A,B,C are determined by least squares
122       regression based on the control points  entered.   This  transformation
123       applies  scaling, translation and rotation. It is NOT a general purpose
124       rubber-sheeting like TPS, nor is it ortho-photo rectification  using  a
125       DEM,  not  second order polynomial, etc. It can be used if (1) you have
126       geometrically correct images, and (2) the terrain or camera  distortion
127       effect can be ignored.
128
129   Polynomial Transformation Matrix (2nd, 3d order transformation)
130       i.rectify uses a first, second, or third order transformation matrix to
131       calculate the registration coefficients. The number of  control  points
132       required for a selected order of transformation (represented by n) is
133       ((n  +  1)  * (n + 2) / 2) or 3, 6, and 10 respectively. It is strongly
134       recommended that one or more additional points be identified  to  allow
135       for an overly-determined transformation calculation which will generate
136       the Root Mean Square (RMS) error values for each  included  point.  The
137       RMS  error  values  for all the included control points are immediately
138       recalculated when the user selects  a  different  transformation  order
139       from the menu bar. The polynomial equations are performed using a modi‐
140       fied Gaussian elimination method.
141
142   Thin plate spline (TPS) transformation
143       TPS transformation is selected with the -t flag. This method of coordi‐
144       nate transformation is recommended for satellite imagery where hundreds
145       or thousands of GCPs  are  included,  and  for  historical  printed  or
146       scanned maps with unknown georeferencing and/or known localized distor‐
147       tions.
148
149       TPS combines a linear affine transformation with individual transforma‐
150       tion  coefficients for each GCP, using the radial basis kernel function
151       with the distance dist between any two points:
152       dist2 * log(dist)  As  a  consequence,  localized  distortions  can  be
153       removed  with  TPS  transformation. For example, scan line sensors will
154       have due to the changing viewing angle larger distortions  towards  the
155       end  points  of the scan line than at the center of the scan line. Even
156       higher order polynomial transformations are not able  to  remove  these
157       locally  different  distortions,  but  TPS transformation can. For best
158       results, TPS requires an even and,  for  localized  distortions,  dense
159       spacing of GCPs.
160
161   Resampling method
162       The  rectified  data  is resampled with one of seven different methods:
163       nearest, bilinear, cubic, lanczos, bilinear_f, cubic_f, or lanczos_f.
164
165       The method=nearest method, which performs a  nearest  neighbor  assign‐
166       ment,  is  the  fastest of the resampling methods. It is primarily used
167       for categorical data such as a land use classification, since  it  will
168       not  change  the  values  of the data cells. The method=bilinear method
169       determines the new value of the cell based on a weighted distance aver‐
170       age  of  the  4  surrounding  cells  in the input map. The method=cubic
171       method determines the new value of the cell based on  a  weighted  dis‐
172       tance  average  of  the  16  surrounding  cells  in the input map.  The
173       method=lanczos method determines the new value of the cell based  on  a
174       weighted distance average of the 25 surrounding cells in the input map.
175
176       The  bilinear,  cubic and lanczos interpolation methods are most appro‐
177       priate for continuous data and  cause  some  smoothing.  These  options
178       should not be used with categorical data, since the cell values will be
179       altered.
180
181       In the bilinear, cubic and lanczos methods, if any of  the  surrounding
182       cells  used  to  interpolate the new cell value are NULL, the resulting
183       cell will be NULL, even if the nearest cell  is  not  NULL.  This  will
184       cause  some  thinning  along  NULL  borders, such as the coasts of land
185       areas in a DEM. The bilinear_f,  cubic_f  and  lanczos_f  interpolation
186       methods can be used if thinning along NULL edges is not desired.  These
187       methods "fall back" to simpler interpolation methods  along  NULL  bor‐
188       ders.  That is, from lanczos to cubic to bilinear to nearest.
189
190       If  nearest  neighbor  assignment  is used, the output map has the same
191       raster format as the input map. If any of the other  interpolations  is
192       used, the output map is written as floating point.
193

NOTES

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

SEE ALSO

202       The GRASS 4 Image Processing manual
203
204        m.transform, r.proj, v.proj, i.group, i.target
205       Ground Control Points Manager
206

AUTHORS

208       William R. Enslin, Michigan State University, Center for Remote Sensing
209
210       Modified for GRASS 5.0 by:
211       Luca Palmeri (palmeri@ux1.unipd.it)
212       Bill Hughes
213       Pierre de Mouveaux (pmx@audiovu.com)
214       CMD mode by Bob Covill
215
216       Last changed: $Date: 2017-07-21 21:49:14 +0200 (Fri, 21 Jul 2017) $
217

SOURCE CODE

219       Available at: i.rectify source code (history)
220
221       Main  index | Imagery index | Topics index | Keywords index | Graphical
222       index | Full index
223
224       © 2003-2019 GRASS Development Team, GRASS GIS 7.6.0 Reference Manual
225
226
227
228GRASS 7.6.0                                                       i.rectify(1)
Impressum