UAVSAR data format for standard polarimetric
products
The format of the following files are described:
- SLC files (.mlc): Calibrated single look complex files
for each polarization (HH, HV, VH, and VV), floating point format, little endian, 8 bytes per pixel, corresponding to the scattering
matrix.
-
MLC files (.mlc): Calibrated multi-looked cross products, floating point format, three files 8 bytes per pixel, three files 4 bytes per pixel, little endian.
-
Compressed Stokes Matrix product (.dat): AIRSAR
compressed stokes matrix format for software compatibility
(http://airsar.jpl.nasa.gov/data/data_format.pdf). 10 bytes per pixel.
-
Ground projected files (.grd):
calibrated complex cross products projected to the ground in
simple geographic coordinates (latitude, longitude). There is a fixed number of looks for each pixel. Floating point, little endian,
8 or 4 bytes per pixel.
-
Hgt file: the DEM that the imagery was projected
to, in the same geographic coordinates as the ground projected files. Floating point (4 bytes per pixel), little endian, ground elevation in meters.
-
Annotation file (.ann) : a text file
with metadata. Example
File Naming Convention
Each filename consists of the following components, separated by underscores:
-
Six character abbreviation for the desired target site (image may contain other sites)
-
Three digits aircraft heading followed by a incremented counter. (this is set during flight planning)
-
Five digits in which the first two digits are the last two digits of the year of the UAVSAR flight, and the next three digits are the flight number by UAVSAR counted sequentially from the first flight of the year.
-
Three digits indicating which flight line of the flight this acquisition was from, counted sequentially from the beginning of the flight.
-
Six digits in which the first two digits are the last two digits of the year of the UAVSAR flight, the next tow digits are the month the acquisition was acquired, and the last two digits are the day of the month of the acquisition (UTC).
-
Between 6 and 8 characters, a single character indicating the frequency band, followed by the steering angle (three digits) followed by the polarization. The polarization may be between 2 characters (first character is the transmit polarization, and second character is the receive polarization) and 4 characters (if the file represents a cross product).
-
Two digits indicating the processing version number.
-
Two characters indicating whether cross talk has been calibrated or not. XX - no cross talk calibration. CX - cross talk calibration has been applied.
-
Three digit file extension indicating the data type.
For example:
Dthvly_34501_08038_006_080731_L090HH_01_XX.slc
where Dthvly is the site name, 345 degrees is the heading of UAVSAR in flight, with a counter of 01, the flight was the thirty-eighth flight by UAVSAR in 2008, this data take was the sixth data take during the flight, the data was acquired on July 31, 2008 (UTC), the frequency band was L-band, pointing at perpendicular to the flight heading (90 degrees), this file contains the HH data, this is the first interation of processing, cross talk calibration has not been applied, and the data type is SLC.
Calibration of the data:
The complex amplitude
for each channel is divided by the square root of the area Ao computed with the
following logic (each quantity below may be found in the annotation file):
ρ -- Range
to pixel (m)
(computed from "Image Starting Range" and "Range Spacing per Bin")
h -- global
average alitude (m)
ht -- global
average terrain height (m)
Δρ -- range spacing per bin(m)
Δaz
-- azimuth spacing (m)
re -- the local radius of
curvature of earth "Ellipsoid Semi-major Axis" (m)
θesa
-- electronic steering angle "Global Average ESA" (radians)
θp -- global average pitch of aircraft
(radians).

where:

then:

The units of the data in all cases is linear rather than db
units.
Additional
calibration documentation
Data format description
-
SLC data:
The SLC is a pure binary file (complex
floating-point, 8 bytes per pixel) with no header bytes. The number of lines
and samples are entered in the annotation file as slc_amp.set_rows
and slc_amp.set_cols respectively. There is a separate file for each polarization
channel (HH, HV, VH, and VV). The
pixel spacing in meters
is given in the annotation file by slc_amp.row_mult
and slc_amp.col_mult for the azimuth and range directions, respectively.
The projection of the data is in the natural slant range projection. The geographic coordinates of the data
are defined by the " Peg position and heading ", and by the cross track and along
track offset of the upper left pixel (given by set_plat,
set_plon, and set_phdg, and
slc_amp.row_addr and slc_amp.col_addr in
the annotation file). The byte
order is little endian. The units of the data are linear radar amplitude (rather than db
units).
The
four complex SLC files correspond to the measurement of the scattering matrix:

-
MLC data
The MLC is a pure binary file with no header
bytes. Three of the files are complex floating point, 8 byte
per pixel. These complex products are derived from the average (usually
3 pixels in range, and 12 pixels in azimuth, given precisely by " Number of Range Looks in MLC " and "Number of
Azimuth Looks in MLC" in the annotation file) of the product of each SLC pixel and
correspond to:
ShhShv*
ShhSvv*
ShvSvv*
Three of the files are real floating point, 4 bytes per pixel.
These real powers are derived from the average (usually 3 pixels in range, and 12 pixels in azimuth,
given precsely by " Number of Range Looks in MLC " and "Number of
Azimuth Looks in MLC" in the annotation file) of the product of each SLC pixel and
correspond to:
ShhShh*
ShvShv*
SvvSvv*
The number of lines and samples are entered
in the annotation file as mlc_mag.set_rows and mlc_mag.set_cols respectively. There is a separate file for each product (HHHH, HVHV, VVVV,
HHHV, HHVV, HVVV). The pixel spacing
in meters is
given in the annotatipon file by mlc_mag.row_mult and mlc_mag.col_mult for the azimuth and range directions, respectively.
The projection of the data is in the natural slant range projection. The geographic coordinates of the data
are defined by the "Peg position and heading", and by the cross track and along
track offset of the upper left pixel (given by set_plat,
set_plon, and set_phdg, and
mlc_mag.row_addr and mlc_mag.col_addr in
the annotation file). The byte
order is little endian. The units of the data are linear radar amplitude (rather than db units).
-
GRD data:
The grd files consists of three real floating point,
4 bytes per pixel, and three complex floating point, 8 bytes per pixel files. The number of lines and samples may be found in the
annotation file and are given by grd_mag.set_rows and grd_mag.set_cols respectively. The grd files contain projected
multi-looked data for crossproducts HHHH, HVHV, VVVV, HHHV, HVHV, and HVVV :
ShhShv*
ShhSvv*
ShvSvv*
ShhShh*
ShvShv*
SvvSvv*
in linear power units rather than
db. The byte order is little endian. The data is in an equiangular coordinate system in
which each line and pixel increments in latitude and longitude by grd_mag.row_mult and grd_mag.col_mult degrees from
the upper left corner coordinate given by grd_mag.row_addr and grd_mag.col_addr
Algorithm for projecting the slant range data to
the ground elevation
These files are co-registered to the HGT file.
-
HGT data:
The height file is a pure binary real*4 floating point file where
the number of lines and samples may be found in the annotation file and are
given by hgt.set_rows and hgt.set_cols
respectively. This height file
contains the values of elevation used to project the slant range data to the
Earth's surface. The value of the
ground elevation is given in meters.
The datum is given by "DEM Datum" in the annotation
file. The source of the DEM
is given by "DEM source" in the annotation file. The data is in an equiangular
coordinate system in which each line and pixel increments in latitude and
longitude by hgt.row_mult and hgt.col_mult degrees from
the upper left corner coordinate given by
hgt.row_addr and hgt.col_addr
This file is co-registered to the GRD files.
-
Annotation file:
The annotation file (.ann)
is a keyword/value ASCII file in which the value on the right of the equals
sign corresponds to the keyword on the left of the equals sign. The number of
keywords may change with time, so the line number should not be assumed to be
constant for any given keyword. In addition, the
spacing between keywords and values may change. The units are given in parenthesis between the keyword and
equal sign, and may change from annotation file to annotation file and within
each annotation file. Comments are
indicated by semicolons (;), and may occur at the beginning of a line, or at
the middle of a line (everything after the semicolon on that line is a comment). The length of
each text line is variable, and ends with a carriage return. There may be lines with just a carriage
return or spaces and a carriage return.
When using mdx to display the data files, use the
corresponding display parameters in the annotation file.
Use mlc_pwr to display the three real (4 byte per pixel) MLC data: HHHH, HVHV, and VVVV.
Use mlc_mag and mlc_phase to display the three complex (8 byte per pixel) MLC data:
HHHV, HHVV, and HVVV.
Similarly, use grd_pwr to display real (4 byte per pixel) GRD data.
Use grd_mag and grd_phase to display complex (8 byte per pixel) GRD data.