1i.rectify(1) GRASS GIS User's Manual i.rectify(1)
2
3
4
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
10 imagery, rectify, geometry
11
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 Maximum memory to be used (in MB)
62 Cache size for raster rows
63 Default: 300
64
65 method=string
66 Interpolation method to use
67 Options: nearest, linear, cubic, lanczos, linear_f, cubic_f, lanc‐
68 zos_f
69 Default: nearest
70
72 i.rectify uses the control points included in the source data or iden‐
73 tified with the Ground Control Points Manager to calculate a transfor‐
74 mation matrix and then converts x,y cell coordinates to standard map
75 coordinates for each pixel in the image. The result is a planimetric
76 image with a transformed coordinate system (i.e., a different coordi‐
77 nate system than before it was rectified). Supported transformation
78 methods are first, second, and third order polynomial and thin plate
79 spline. Thin plate spline is recommended for ungeoreferenced satellite
80 imagery where ground control points (GCPs) are included. Examples are
81 NOAA/AVHRR and ENVISAT imagery which include throusands of GCPs.
82
83 If no ground control points are available, the Ground Control Points
84 Manager must be run before i.rectify. An image must be georeferences
85 before it can reside in a standard coordinate LOCATION, and therefore
86 be analyzed with the other map layers in the standard coordinate LOCA‐
87 TION. Upon completion of i.rectify, the rectified image is deposited in
88 the target standard coordinate LOCATION. This LOCATION is selected
89 using i.target.
90
91 More than one raster map may be rectified at a time. Each cell file
92 should be given a unique output file name. The rectified image or rec‐
93 tified raster maps will be located in the target LOCATION when the pro‐
94 gram is completed. The original unrectified files are not modified or
95 removed.
96
97 If the -c flag is used, i.rectify will only rectify that portion of the
98 image or raster map that occurs within the chosen window region in the
99 target location, and only that portion of the cell file will be relo‐
100 cated in the target database. It is important therefore, to check the
101 current mapset window in the target LOCATION if the -c flag is used.
102
103 If you are rectifying a file with plans to patch it to another file
104 using the GRASS program r.patch, choose option number one, the current
105 window in the target location. This window, however, must be the
106 default window for the target LOCATION. When a file being rectified is
107 smaller than the default window in which it is being rectified, NULLs
108 are added to the rectified file. Patching files of the same size that
109 contain NULL data, eliminates the possibility of a no-data line in the
110 patched result. This is because, when the images are patched, the NULLs
111 in the image are "covered" with non-NULL pixel values. When rectifying
112 files that are going to be patched, rectify all of the files using the
113 same default window.
114
115 Coordinate transformation
116 The desired order of transformation (1, 2, or 3) is selected with the
117 order option. The program will calculate the RMSE and check the
118 required number of points.
119
120 Linear affine transformation (1st order transformation)
121 x’ = ax + by + c
122 y’ = Ax + By + C The a,b,c,A,B,C are determined by least squares
123 regression based on the control points entered. This transformation
124 applies scaling, translation and rotation. It is NOT a general purpose
125 rubber-sheeting like TPS, nor is it ortho-photo rectification using a
126 DEM, not second order polynomial, etc. It can be used if (1) you have
127 geometrically correct images, and (2) the terrain or camera distortion
128 effect can be ignored.
129
130 Polynomial Transformation Matrix (2nd, 3d order transformation)
131 i.rectify uses a first, second, or third order transformation matrix to
132 calculate the registration coefficients. The number of control points
133 required for a selected order of transformation (represented by n) is
134 ((n + 1) * (n + 2) / 2) or 3, 6, and 10 respectively. It is strongly
135 recommended that one or more additional points be identified to allow
136 for an overly-determined transformation calculation which will generate
137 the Root Mean Square (RMS) error values for each included point. The
138 RMS error values for all the included control points are immediately
139 recalculated when the user selects a different transformation order
140 from the menu bar. The polynomial equations are performed using a modi‐
141 fied Gaussian elimination method.
142
143 Thin plate spline (TPS) transformation
144 TPS transformation is selected with the -t flag. This method of coordi‐
145 nate transformation is recommended for satellite imagery where hundreds
146 or thousands of GCPs are included, and for historical printed or
147 scanned maps with unknown georeferencing and/or known localized distor‐
148 tions.
149
150 TPS combines a linear affine transformation with individual transforma‐
151 tion coefficients for each GCP, using the radial basis kernel function
152 with the distance dist between any two points:
153 dist2 * log(dist) As a consequence, localized distortions can be
154 removed with TPS transformation. For example, scan line sensors will
155 have due to the changing viewing angle larger distortions towards the
156 end points of the scan line than at the center of the scan line. Even
157 higher order polynomial transformations are not able to remove these
158 locally different distortions, but TPS transformation can. For best
159 results, TPS requires an even and, for localized distortions, dense
160 spacing of GCPs.
161
162 Resampling method
163 The rectified data is resampled with one of seven different methods:
164 nearest, bilinear, cubic, lanczos, bilinear_f, cubic_f, or lanczos_f.
165
166 The method=nearest method, which performs a nearest neighbor assign‐
167 ment, is the fastest of the resampling methods. It is primarily used
168 for categorical data such as a land use classification, since it will
169 not change the values of the data cells. The method=bilinear method
170 determines the new value of the cell based on a weighted distance aver‐
171 age of the 4 surrounding cells in the input map. The method=cubic
172 method determines the new value of the cell based on a weighted dis‐
173 tance average of the 16 surrounding cells in the input map. The
174 method=lanczos method determines the new value of the cell based on a
175 weighted distance average of the 25 surrounding cells in the input map.
176
177 The bilinear, cubic and lanczos interpolation methods are most appro‐
178 priate for continuous data and cause some smoothing. These options
179 should not be used with categorical data, since the cell values will be
180 altered.
181
182 In the bilinear, cubic and lanczos methods, if any of the surrounding
183 cells used to interpolate the new cell value are NULL, the resulting
184 cell will be NULL, even if the nearest cell is not NULL. This will
185 cause some thinning along NULL borders, such as the coasts of land
186 areas in a DEM. The bilinear_f, cubic_f and lanczos_f interpolation
187 methods can be used if thinning along NULL edges is not desired. These
188 methods "fall back" to simpler interpolation methods along NULL bor‐
189 ders. That is, from lanczos to cubic to bilinear to nearest.
190
191 If nearest neighbor assignment is used, the output map has the same
192 raster format as the input map. If any of the other interpolations is
193 used, the output map is written as floating point.
194
196 If i.rectify starts normally but after some time the following text is
197 seen:
198 ERROR: Error writing segment file
199 the user may try the -c flag or the module needs more free space on the
200 hard drive.
201
203 The GRASS 4 Image Processing manual
204
205 m.transform, r.proj, v.proj, i.group, i.target
206 Ground Control Points Manager
207
209 William R. Enslin, Michigan State University, Center for Remote Sensing
210
211 Modified for GRASS 5.0 by:
212 Luca Palmeri (palmeri@ux1.unipd.it)
213 Bill Hughes
214 Pierre de Mouveaux (pmx@audiovu.com)
215 CMD mode by Bob Covill
216
218 Available at: i.rectify source code (history)
219
220 Main index | Imagery index | Topics index | Keywords index | Graphical
221 index | Full index
222
223 © 2003-2020 GRASS Development Team, GRASS GIS 7.8.5 Reference Manual
224
225
226
227GRASS 7.8.5 i.rectify(1)