USGS Spectroscopy Lab

From: Geometric Correction of AVIRIS Imagery Using On-Board Navigation and Engineering Data Roger N. Clark, K. Eric Livo and Raymond F. Kokaly, Summaries of the 7th Annual JPL Airborne Earth Science Workshop, R.O. Green, Ed., JPL Publication 97-21 Jan 12-14, pp57-65, 1998.

Geometric Correction of AVIRIS Imagery
Using On-Board Navigation and Engineering Data


Roger N. Clark, K. Eric Livo and Raymond F. Kokaly
U. S. Geological Survey, MS 964
Box 25046 Federal Center
Denver, CO 80225
(303) 236-1332
(303) 236-1371 FAX


From 1989 through 1997 the NASA Airborne Visible and Infrared Imaging Spectrometer (AVIRIS) has been flown on multiple flights on an ER-2 aircraft at approximately 20 km altitude (e.g. see Vane et al., 1984, Porter and Enmark, 1987, Chrien et al., 1990). At the USGS, AVIRIS data have been used to make materials maps (e.g. see our web site but registration to a map base using classical control point registration methods with n-term polynomial or rubber sheeting image warping techniques has not fulfilled our expectations or needs, despite significant investment in people time. The Jet Propulsion Laboratory AVIRIS Data Facility delivers numerous engineering, aircraft state, and Global Positioning System (GPS) data sets that can be used to facilitate geometrical rectification of the imagery. Using the JPL data, combined with Digital Elevation Models (DEM), which can crudely, but adequately, be derived from atmospheric absorptions in the AVIRIS data, complete geometric correction appears possible. This paper derives the equations and compares the magnitudes of effects of the ER-2 plane motions on the AVIRIS imagery using example 1995 data over Arches National Park.

The AVIRIS scanner, similar to other "whisk broom" or "push broom" scanners has a relatively geometrically correct scan line that wanders around with the roll, pitch yaw, velocity and direction changes in the moving aircraft. The cross-track scan line dimension is geometrically excellent because the scan time is fast (8.3 msec) compared to plane motions. This speed makes the AVIRIS scan line similar to that in a "push broom" sensor. Thus, AVIRIS geometric correction is a restricted problem that currently available commercial software that we have investigated does not consider. In this paper, we derive the equations for such a system using first principles and simple geometry.

To illustrate the problem, consider a stick (or rod) 1 meter long to represent the distance from the AVIRIS instrument to the ground. At the end of the meter-stick, attach a second stick 52 cm long whose length is at right angles to the length of the meter-stick. Attach the smaller stick at its center so the combined sticks look like the letter T. This smaller stick represents the AVIRIS cross-track scan and at a distance of 1-meter is close in appearance to the scan angle of AVIRIS. Hold the meter-stick so the small "cross-track" stick is near the floor and perpendicular to the direction you are facing. Now, walk forward adding slight twists and rotations to the meter stick, and move the meter stick up and down. The ER-2 aircraft does similar distortions because of irregularities in the atmosphere. From our examination of AVIRIS engineering and navigation data, the pitch (direction of the nose of the plane up and down), and yaw (direction of the nose of the plane left and right) vary by a couple of degrees on a typical flight. One degree corresponds to about 20 AVIRIS pixels, or 350 meters, so such plane motions drastically distort the imagery. Further, we often observe in the AVIRIS engineering data pitch and yaw variations of a degree in only 100 to 200 scan lines, corresponding to pixel offsets of about 20 pixels (10-20% local distortions in the imagery)! Unless the imagery includes linear or geometric features like roads or crop circles, such distortions are usually not apparent unless compared to geometrically correct maps. Further, variations in aircraft altitude and velocity (relative to the cross-track scanner sampling velocity) produce aspect-ratio differences in the pixels. We typically observe ~10% errors in the aspect-ratio of AVIRIS pixels.

Another effect in imaging data is that the distance from the aircraft to the ground is not constant because of the increasing distance due to topography, and when viewing off-nadir. Both of these effects are significant and require correction even if the aircraft stability and motions were ideal. Additionally, the aircraft may gain or lose altitude during the data acquisition.

Fortunately, the AVIRIS engineering and navigation data recorded on the airplane and distributed with the AVIRIS data can be used to correct most if not all of these distortions. The actual data recorded, how often it is sampled, and its format may vary from year to year. This paper examines data for 1995.

Figure 1. Aricraft viewing geometry.

Geometric Correction Equations

Consider the airplane orientation in Figure 1, where the position of the aircraft is affected by roll, pitch, yaw, elevation, velocity and scan angle. First, we consider measurement over a flat plane (no topography). The AVIRIS scan width is not large, so curvature of the Earth may be ignored.

The offset distance on the ground due to pitch, dp, is:

dp = (h - eo) tan(pitch), (eqn 1)

where h is the height of the aircraft, eo is the mean elevation of the scene, and pitch is the pitch angle (positive = nose up). The yaw angle of the aircraft equals the yaw angle of the scan line from the down-track direction of the flight. The magnitude of the yaw effect at any pixel is:

yl= (xc - center) sin (yaw), (eqn 2a)

ys = (xc - center) cos (yaw), (eqn 2b)

where yl is the yaw offset along track (line) in pixels, ys is the yaw offset cross track (sample) in pixels, yaw is the yaw angle (positive = nose to the left), xc is the cross-track pixel and center is the center pixel of the cross-track scan (307 for AVIRIS). A positive yaw means the beginning of the scan line is behind the relative nadir point and the end of the scan line is ahead of nadir. The yaw and pitch effects are major effects to consider with AVIRIS on the ER-2, but yaw is not recorded. We derive yaw from the long term direction given by GPS and the true heading data:

lat_avg = (latitude_1 + latitude_2)/2, (eqn 3a)

velocity_heading = arctan{(longitude_2- longitude_1)cos(lat_avg)/

(latitude_2 - latitude_1)}, (eqn 3b)


yaw = true_heading - velocity_heading, (eqn 3c)

where the _1 and _2 signifies the first and second positions. Example yaw data for an AVIRIS flight line are shown in Figure 2.

Figure 2. Example AVIRIS engineering data.

The AVIRIS instrument does a relative compensation for roll, meaning that once the data acquisition is started, any subsequent changes in the roll of the aircraft are compensated. That does not mean, however, that the center of the AVIRIS scan is pointed at nadir. It is pointed at the roll position, ro, of the aircraft at the beginning of the data acquisition for that line. The roll compensation maximum is 2 degrees. Fortunately, we have not observed roll conditions that reached the limit in any of our data. Typically, the roll of the aircraft is less than a degree at the start of data acquisition and varies by only a few tenths of a degree in a flight line in the data we have examined.

The cross-track scan angle from nadir results in increasing pixel size and spacing away from nadir. The cross-track pixel offset, oc distortion is given by:

oc = (xc - center)/cos(a + ro), (units in pixels), (eqn 4)

where a is the cross-track angle. For AVIRIS, a increases to 15o at the edge of the scan, corresponding to approximately a 12 pixel offset (see Figure 2). The 614-pixel width of AVIRIS images becomes about 638 pixels when corrected for scan angle. The scan angle also means that objects, such as a mountain or cliff face, at the edge of the scan line will be viewed slightly on the side and not straight down on the top. Topography tends to "fall away" from the center of the scan line.

The relative topographic correction (in units of elevation, such as meters) due to scan and pitch angles is:

ts = (e-eo) sin(a + ro), (eqn 5a)


tl = (e-eo) sin(p), (eqn 5a)

where ts is the correction in the cross track pixel sample, tl is the correction along track (line) direction, e is the elevation, and eo is the mean elevation to which the data are corrected. Consider a 1000 meter tall mountain relative to the mean elevation of the image. If the mountain peak were at the edge of the scene, the viewing angle a is ~ 15 degrees and the mountain is displaced sin(15) = 0.259 times the mountain height, or 259 meters (about 15.2 AVIRIS pixels). If the mountain were anywhere in the image, and the pitch is 2 degrees, the mountain top would be displaced 2.0 pixels along track. Thus, topographic errors due to pitch are small, but should not be ignored in regions of large topographic variations.

The next correction considered is the scan velocity and the aircraft velocity. Topography plays a role here, too. If the plane travels along track with velocity vl, and the cross track angular pixel spacing, ac, the cross-track velocity, vc, on the surface is:

vc = (h - eo) tan(ac)/cos(a), (eqn 6a)


aspect_ratio = vl / vc. (eqn 6b)

The quantity ac is 0.87 mrad, according to the AVIRIS engineering file, but is not of sufficient accuracy to project over 614 pixels (<0.0007 mrad is needed to assure errors < 0.5 pixel). The AVIRIS engineering team (Tom Chrien, personal communication) supplied a value of 0.8745 which seems to work well, but an even more precise number could slightly improve the results. (It might be derived empirically after additional corrections and experience are considered.) The image must be resampled in both along tract and across track to have the proper aspect ratio.

To account for relative offsets due to the aircraft velocity, the image must be resampled to a uniform grid:


lg = [integral0l{ v } / il - g(l - 1)]/g, (eqn 7a)


where lg is the line number offset sampled at grid spacing g (e.g. in meters) with the aircraft flying at velocity v for a time with a il lines per second. (The "integral" in eqn 7a is for integration from 0 ti l, as html currently has no integration symbol.) The integration is over the beginning of the flight line to line l. Similarly, cross-track scan must be resampled to the same uniform grid:


sg = [integral0S{ vc } / is - g(s - 1)]/g, (eqn 7b)


where sg is the sample pixel offset, s is the cross track pixel, and is is the cross track pixels per second.

Combining all these effects, we derive the combined corrections:

ps = ys + oc + ts / sp + sg, (eqn 8a)

pl = yl + dp / sp + tl / sp + lg , (eqn 8b)

where sp is the pixel spacing (e.g. in meters) at the mean elevation at nadir.

The aircraft does not necessarily travel a straight line. The on board GPS data can be used to plot the aircraft motion. We do this relative to the end-points of the flight. Deviations from the flight line result in a "bow" in the image and the bow also changes the yaw. The GPS positions at the beginning and end of the flight line define a straight line of the ideal flight path. First we must compute the change in latitude and longitude per scan line using the beginning and ending GPS positions and the number of scan lines (nlines):

del_lat = (latitude_2 - latitude_1)/nlines, (eqn 9a)

del_long = (longitude_2 - longitude_1)/nlines, (eqn 9b)

The bow is the deviation from the straight line as compared to the actual GPS position along the line. The equations are simple computations and are not shown here to conserve space. Given the GPS coordinates of the aircraft, the longitude and latitude of any pixel can be computed, but again, due to space limitations, the simple equations are not shown here.

All of the above corrections were applied to AVIRIS lines for our Arches National Park 1995 data as well as others. A typical result is shown shown in Figure 3.

AVIRIS pixel spacing of ~17 meters corresponds to about 0.5 arc-second in longitude and latitude, and a 32-bit integer has a range of over 2x109, so we plan to store the longitude and latitude for each pixel as two 32-bit integer image planes in arc-seconds times 1000, ensuring accuracy (~3 cm) for most existing and future conceivable data. This image data provides a lookup table for each pixel in the image cube.

133K GIF
Figure 3. Example AVIRIS image offsets.

Topography and Digital Elevation Models

In this study, we have not corrected our imaging data for topographic effects as described by equation 5 because we have not assembled digital elevation models. When looking straight down there are no corrections for topography, but as the scan angle off-nadir increases, relative pixel position shifts with topographic elevation changes (eqn 5). For example, consider two buildings, one at nadir, and one at the edge of the scan. The building at nadir is seen from the top and the roof and basement occur in the same pixel. But at the edge of the scan, the side of the other building is in view. The top of the roof occurs at a pixel further from nadir than the base of the building; it appears to be "falling" away from the nadir. Mosaicing adjacent flight lines will show this problem with topography.

Topographic corrections require a registered digital elevation model (DEM), but the AVIRIS data are not registered and corrections with a DEM require an iterative solution. Elevations might be derived from the AVIRIS data directly using atmospheric absorptions and a few pixels with known elevations in the image to calibrate the absorption depths for the atmospheric conditions at the time of the flight. Such a calibration using atmospheric CO2 is shown in Figure 4 where scatter of about 100 meters is seen (the pixels were averaged in a 5x5 pixel box), corresponding to an error about 1.5 pixels at the edge of the scan and smaller errors closer to nadir. Without such corrections errors would amount to about 9 pixels for the Arches data.

Figure 4. CO2 absorption band depth as a function of elevation.


We have applied the equations presented in this paper to the registration of 3 overlapping AVIRIS lines over Arches National Park. We applied the corrections and printed 1:50,000 scale maps to overlay with existing published geologic and topographic maps of the Park. The printed maps overlaid well. Residuals occurred only where topography was significantly different than the mean. Printed maps of the uncorrected data, scaled to best fit the published maps showed large errors as indicated by the pitch and yaw data.


Chrien, T. G., R.O. Green, and M. L. Eastwood, 1990, Accuracy of the Spectral and Radiometric Laboratory Calibration of the Airborne Visible/Infrared Imaging Spectrometer (AVIRIS), Proceedings of the Second Airborne Visible/Infrared Imaging Spectrometer (AVIRIS)Workshop, JPL publication 90-54, 1-14.

Porter, W. M., and H. T. Enmark, 1987, A system overview of the Airborne Visible/Infrared Imaging Spectrometer (AVIRIS), Proc SPIE, 834.

Vane, G, M. Crisp, H. Enmark, S. Macenka, and J. Solomon, 1984, Airborne Visible/Infrared Imaging Spectrometer: An Advanced tool for earth remote sensing, Proc. 1984 IEEE Int'l Geoscience and Remote Sensing Symposium, SP215, 751-757.

U.S. Geological Survey, a bureau of the U.S. Department of the Interior
This page URL=
This page is maintained by: Dr. Roger N. Clark
Last modified November 18, 1998.