SRTOGR -- Slant Range to Ground Range Conversion

Converts a radar image from slant range to ground range, without using elevation (DEM) data or ground control points (GCPs).

See Also: FLIGHT, STG, STGBIG

Progress of this program can be monitored. See MONITOR section.

PARAMETERS

SRTOGR is controlled by the following global parameters:

Name     Prompt                                  Count     Type
FILI     Database Input File Name                1-64      Char
FILO     Database Output File Name               1-64      Char
DBIC     Database Input Channel List             1         Int
INPXSZ   Input Spacing (range, azimuth)          2         Real
DELAY    Time Delay to First Input Pixel         1         Real
HEIGHT   Height Above Ground (m)                 1         Real
RESAMPLE Resample mode: NEAR/BILIN/CUBIC         4         Char

FILI

Specifies the filename of the PCIDSK image database containing the SAR slant range image to be converted to ground range.

 EASI>FILI="filespec"

FILO

Specifies the filename of a new PCIDSK image database to which the ground range image should be written. FILO will be created automatically. Please specify a filename.

 EASI>FILO="filespec"

DBIC

Specifies the image channel on the input file (FILI) which contains the slant range SAR imagery.

 EASI>DBIC=i

INPXSZ

Specifies the pixel spacing for the input slant range SAR image in metres, for both range and azimuth directions.

 EASI>INPXSZ=Xsize,Ysize       | two positive real values
The pixel spacing for the output ground range image will always be square, and will equal the input pixel spacing in the azimuth direction (Ysize by Ysize).

DELAY

  Valid Values:   See Below
  Default:
Specifies the radar time delay (in microseconds) to the first input pixel. If DELAY is not specified, the input image is assumed to be in nadir mode.

DELAY is used to determine the slant range distance in metres to the first input pixel in the SAR image. This is calculated using the following formula:

 SLANT RANGE DISTANCE = DELAY * SPEED OF LIGHT / 2
The speed of light is 299.793 metres/microsecond. DELAY * the speed of light is the distance to the ground and back. This value is divided by 2 to give the distance one way. If not specified, then DELAY is assumed to be the following:

 DELAY = (2 * HEIGHT) / SPEED OF LIGHT.
Any user specified DELAY value must be greater than or equal to the above default value.

HEIGHT

  Valid Values:   X >= 0.0
  Default:
Specifies the assumed aircraft height in metres above ground.

RESAMPLE

  Valid Values:   NEAREST,BILINEAR,CUBIC
  Default:        NEAREST
Specifies the desired type of resampling of image data. The following methods are supported:

 EASI>RESAMPLE="NEAR"            | Nearest Neighbour
 EASI>RESAMPLE="BILIN"           | Bilinear Interpolation
 EASI>RESAMPLE="CUBIC"           | Cubic Convolution

MONITOR

Program progress can be monitored by printing the percentage of processing completed in odometer fashion. A system parameter, MONITOR, controls this activity:

 EASI>MONITOR="ON"               | turn monitor ON  (default)
 EASI>MONITOR="OFF"              | turn monitor OFF (recommended if
                                 | running in batch/background mode)
Note: This program attempts to continuously optimize disk I/O. This can result in the percentage going backwards on occasion.

DETAILS

SRTOGR performs a slant range to ground range conversion on the input SAR image, without requiring an elevation image or ground control points. SRTOGR can be used instead of the FLIGHT and STG programs when an elevation model does not exist, or where ground control points are difficult to collect (such as over water).

SRTOGR assumes a flat terrain and a constant aircraft or satellite height (HEIGHT) above ground.

The input pixel spacing for the slant range image (INPXSZ) determines the output pixel spacing for the ground range image. The output pixel spacing is always square, and equals the input pixel spacing in the azimuth direction.

The maximum number of input and output pixels per line which can be processed is 131072 8-bit pixels, or 32768 16/32-bit pixels.

WARNING: These parameters must be chosen carefully. Otherwise the output image may be too narrow or too wide to be created.

RESAMPLING

Resampling is the process of sampling one or more input pixels to create one output pixel. (This is distinct from the transfer phase, which merely determines where each output pixel lies on the input image). In general, resampling is accomplished by taking a weighted average of a small window of input pixels around some point determined by the transform phase. The quality of the corrected output image and the time required in calculation is highly dependent on the resampling method chosen. SRTOGR offers three of the more popular resampling methods: Nearest Neighbour, Bilinear Interpolation, and Cubic Convolution.

NEAREST NEIGHBOUR: This method takes the single input pixel nearest to the transformed point as the resampled output pixel. The advantages of this process include a very low computational cost, and a non-alteration by averaging of the input pixel grey level values. The disadvantage is that the output image may be jagged and blocky.

BILINEAR INTERPOLATION: This method takes a weighted average of the two input pixels around the transformed point. The advantages of this process include a low computational cost and a relatively smooth output image. The disadvantage is that the output image may appear slightly blurred.

CUBIC CONVOLUTION: SRTOGR uses the 4-point classic method. This variation of cubic convolution uses a 4-by-1 window of input pixels. This method is closer to the perfect sin(x)/x resampler than nearest neighbour or bilinear interpolation. The advantage of this process is a smooth, sharp output image. The disadvantage is a high computational cost.

ALGORITHM

The algorithm used by SRTOGR is derived from the FLTIMA program, which is part of LDIAS (Landsat Digital Image Analysis System) developed by CCRS (Canada Centre for Remote Sensing) in Ottawa, Canada. The equations were derived with the help of Dr. Bert Guindon of CCRS who wrote the original FLTIMA program.

The algorithm is output driven. For each output pixel location in the output window on the master (output) file, the corresponding input pixel location on the uncorrected (input) file is determined. The pixel value at the input pixel location is copied to the output pixel location.

The following values are constant for each output location:

 HEIGHT    = height above ground
 INPXSZ(1) = input SAR image pixel spacing in range direction
 INPXSZ(2) = input SAR image pixel spacing in azimuth direction
 S0        = slant range to first pixel (DELAY * C / 2)
 G0        = ground range to first pixel (SQRT(S0**2 - HEIGHT**2))
If S0 <= HEIGHT, then G0 = 0

Compute slant range pixel N given ground range pixel M:

 N = (SQRT((G0 + M*INPXSZ(2))**2+HEIGHT**2) - S0) / INPXSZ(1)
Compute ground range pixel M given slant range pixel N:

 M = (SQRT((S0 + N*INPXSZ(1))**2-HEIGHT**2) - G0) / INPXSZ(2)

EXAMPLE

Convert the slant range SAR image of Gatineau Park (gatineau.pix) (used in the example for FLIGHT and STG) to a ground range image.

The HEIGHT parameter contains the assumed height of the aircraft above the ground. The report from the example run of the FLIGHT program shows that the aircraft altitude is estimated at 6898.73 metres above sea level. The ground elevation on the DEM (on gatdtm.pix) ranges between 0 and 430 metres, with an average elevation of 236 metres above sea level. Therefore, the height of the aircraft above the ground is between 6469 metres (at the highest point in the DEM) and 6899 metres (at sea level).

Since DELAY is 43.1 microseconds, the slant range distance to the first ground pixel is 6460 metres, which is LESS than the height of the aircraft everywhere on the slant range image. Therefore, the first few slant range pixels are not on the ground. On the original slant range image, one can see that about the first 70 slant range pixels are zeroes, which means that there are about 70 times 4 = 280 metres from the first slant range pixel to the ground. Therefore, HEIGHT was chosen to be the sum of 6460 plus 280, which is 6740 metres.

Because the elevation data are not taken into account during the slant to ground range conversion, the output ground range image is not as accurate as it would be if the FLIGHT and STG programs were used to correct the image instead.

 EASI>FILI       ="gatineau.pix"
 EASI>FILO       ="ground.pix"
 EASI>DBIC       = 1
 EASI>INPXSZ     = 4.0,3.89
 EASI>DELAY      = 43.1
 EASI>HEIGHT     = 6740
 EASI>RESAMPLE   ="NEAR"
 EASI>RUN SRTOGR

About PCI Help Gateway