SARGEO

Geocode (rectify) real SAR image


EnvironmentsPYTHON :: EASI :: MODELER
Quick linksDescription :: Parameters :: Parameter descriptions :: Details :: Examples :: Algorithm :: References :: Related

Back to top

Description


SARGEO registers a SAR image to a simulated image created by SARSIM1 using a set of GCPs tying the actual SAR image to the simulated SAR image.
Back to top

Parameters


sargeo(fili, filo, filedem, dbic, dbec, dboc, dbow, dbgc, sarseg, resample, memsize)

Name Type Caption Length Value range
FILI * str Input file name 1 -    
FILO * str Output file name 1 -    
FILEDEM str Input DEM file name 0 -    
DBIC * List[int] Input raster channel 1 - 1  
DBEC * List[int] Input elevation channel 1 - 1  
DBOC * List[int] Output corrected SAR image channel 1 - 1  
DBOW List[int] Output window 0 - 4 Xoffset, Yoffset, Xsize, Ysize
DBGC * List[int] Input GCP segment 1 - 1  
SARSEG * List[int] SAR modeling text segment 1 - 1  
RESAMPLE str Resample mode 0 - 5 NEAR | BILIN | CUBIC | SHARP
Default: NEAR
MEMSIZE List[int] Working memory size (MB) 0 - 1 1 - 2048
Default: 16

* Required parameter
Back to top

Parameter descriptions

FILI

Specifies the name of the input PCIDSK image file that contains the actual uncorrected SAR image.

FILO

Specifies the name of the PCIDSK image file to receive the output geocoded image.

The specified output file (FILO) must exist before running SARGEO, and must be georeferenced in one of the conformal projections listed in the Details section.

If DEM data exists, it may be in a channel in the output file or in a channel specified in FILEDEM. FILI and FILO must be different.

FILEDEM

Optionally specifies the name of the PCIDSK file which contains the DEM data. The file must have compatible georeferencing with FILO. If this parameter is not specified, the DEM data in the output file (FILO) is used.

Digital elevation data (DEM) is typically held in one of the channels in the output file (FILO). Occasionally, DEM data is more conveniently held in a separate file, for example if its resolution is different from that of the output file.

If this parameter is specified, the DEM data from this file is bilinearly interpolated during processing to match the required resolution in FILO. Where DEM data does not exist for the required area in FILO, no processing is performed.

DBIC

Specifies the input image channel that contains the actual SAR image to rectify. The input channel must contain integer values between 0 and 32767. Integer values greater than 32767 are translated to 32767, and real values are truncated to integer values.

DBEC

Specifies the channel in FILO or FILEDEM that contains the elevation data used to rectify the input SAR image.

Elevation data can be of any type (including 32-bit real).

The elevation data must be georeferenced in one of the conformal projections listed in the Details section.

DBOC

Specifies the output image channel to receive the corrected SAR image.

DBOW

Specifies the raster window (Xoffset, Yoffset, Xsize, Ysize) to be output. If DBOW is not specified, the entire layer is output by default. Xoffset, Yoffset define the upper-left starting pixel coordinates of the window. Xsize is the number of pixels that define the window width. Ysize is the number of lines that define the window height.

DBGC

Specifies the input GCP segment that contains tie points on the actual image (input file) to the simulated image (created by SARSIM1).

SARSEG

Specifies the text segment created by SARSIM1 that contains various radar parameters such as look angles, sensor height, and heading. SARGEO uses this information to generate a sensor model used in the correction process.

The SAR modeling text segment must be contained in the same file that contains the elevation data (either FILO or FILEDEM).

The contents of this segment may be examined, dumped to disk, or read using TEXREP, TEXWRIT and TEXREAD.

RESAMPLE

Specifies the resampling mode to use for the output.

Supported values are:
Note: A fourth resampling option, SHARP, is also available. This method is based on a bilinear interpolation combined with a directional sharpening filter. The SHARP resampling method generates a more visually appealing "sharper" image, but is less accurate radiometrically (see Guindon in the References section).

MEMSIZE

Specifies the amount, in megabytes, of internal memory allocated to SARGEO. The default is 16 MB; a typical amount of memory to allocate is approximately half of the RAM available on the system.

Back to top

Details

SARGEO creates a geocoded SAR image, given an uncorrected SAR image, a simulated SAR image (created by SARSIM1), a set of ground control points (GCPs) that tie the uncorrected image to the simulated image, and an elevation image previously registered to a conformal projection.

Four basic steps are required to geocode a satellite SAR image to a UTM or other grid:
The elevation data must be georeferenced in one of the following conformal projections:

Georeferencing data is stored in the georeferencing segment (segment 1) of the input file (FILI).

Back to top

Examples

This example describes how PCI geocoded the 16-bit ERS-1 image now on channel 11 of the irvine.pix file.

The following information pertains to the original uncorrected ERS-1 image of Orange County, California, obtained from the Canadian Radar Data Centre:

Satellite:      ERS-1
Sensor:         SAR
Product Type:   SGC (Georeferenced Coarse-Resolution Product)
Acquired:       17-Jun-1992 18:31:36
Orbit Number:   4824
Track Number:   170
Scene Centre:   Lat N:33:41:06  Long W:117:41:17
Scene Size:     2000 pixels by 2000 lines
Pixel Spacing:  50 by 50 metres

Use CIM to create a new 2000 x 2000 database file named 'ers1.pix', containing one 16-bit unsigned channel.

from pci.cim import cim

file		=	'ers1.pix'		# File name
tex1		=	'Georeferenced Coarse-Resolution ERS-1 Data'
tex2		=	'of Orange County, California, U.S.A'
dbsz		=	[2000,2000]		# 2000 px x 2000 lines
pxsz		=	[50,50]			# 50x50 meter resolution
dbnc		=	[0,0,1,0]		# 16-bit unsigned channels
dblayout	=	"BAND"			# Band interleaving

cim( file, tex1, tex2, dbsz, pxsz, dbnc, dblayout )

The ERS-1 image is read from a LGSOWG format CD using CDSAR, and is stored in the file 'ers1.pix'.

Create a simulated coarse resolution ERS-1 image from the elevation data stored on channel 10 of the file 'irvine.pix'. OUTPXSZ, ALTI and MINLOOK are set to appropriate values for coarse resolution ERS-1 data, and HEAD is set to the approximate heading angle for the original ERS-1 image, which this is intended to simulate. In this case, SARSIM1 creates a 437 pixel x 384 line 16-bit unsigned image stored in a new file named 'sarsim1.pix.' In addition, an overlay bitmap and a shadow bitmap are created.

from pci.sarsim1 import sarsim1

fili		=	'irvine.pix'
filo		=	'sarsim1.pix'
dbec		=	[10]		# elevation channel
dbiw		=	[]			# process entire image
escale		=	[]
backelev	=	[]		# all pixels valid
outpxsz		=	[50,50]		# pixel spacing (range,azimuth)
alti		=	[784000]	# altitude above sea level (m)
head		=	[197]		# heading angle (degrees)
minlook		=	[17.7]		# minimum look angle (degrees)
nrpoint		=	[]			# default, upper-left corner
oversamp	=	[]		# default, 5
flip		=	''			# no flip image
memsize		=	[]			# default, 16 MB
sarseg		=	[]			# output modeling text segment

sarsim1 ( fili, filo, dbec, dbiw, escale, backelev, outpxsz, alti, head, minlook,\
nrpoint, oversamp, flip, memsize, sarseg )

Use OrthoEngine to collect ground control points that tie the original ERS-1 image on ers1.pix to the simulated image on sarsim1.pix. Ground control points should be collected evenly throughout the simulated image; approximately 10 GCPs are recommended for a good fit. Try to get the RMS (root mean square) error down to approximately 1 pixel in both directions.

Finally, run SARGEO to geocode the original ERS-1 image, and output the geocoded image to an unsigned 16-bit channel (channel 11) on the file 'irvine.pix'.

from pci.sargeo import sargeo

fili		=	'ers1.pix'
filo		=	'irvine.pix'
filedem		=	''			# equal to filo
dbic		=	[1]			# SAR image to rectify
dbec		=	[10]		# elevation channel
dboc		=	[11]		# 16-bit unsigned channel
dbow		=	[]			# process entire image
dbgc		=	[2]			# GCP segment
sarseg		=	[33]		# modeling text segment from SARSIM1
resample	=	'BILIN'		# bilinear resampling method
memsize		=	[]			# default, 16 MB

sargeo( fili, filo, filedem, dbic, dbec, dboc, dbow, dbgc,\
sarseg, resample, memsize )
Back to top

Algorithm

The algorithm used by SARSIM1 is derived from the GENSIM function, which is part of SABOTS (SAR Analysis Based On Terrain Simulation) from Dr. Bert Guindon.

The algorithm used by SARGEO can be found in the following paper:

B. Guindon, M. Adair, 1992. "Analytic Formulation of Spaceborne SAR Image Geocoding and 'Value-Added' Product Generation Procedure Using Digital Elevation Data", Canadian Journal of Remote Sensing, Vol. 18, pp. 2-11.

SARGEO derives a first-order polynomial transformation from the ground control points which tie the uncorrected image to the simulated image. Then, interpolation is used to determine each output pixel value.

Back to top

References

B. Guindon, M. Adair, 1992. "Analytic Formulation of Spaceborne SAR Image Geocoding and 'Value-Added' Product Generation Procedure Using Digital Elevation Data", Canadian Journal of Remote Sensing, Vol. 18, pp. 2-11.

© PCI Geomatics Enterprises, Inc.®, 2026. All rights reserved.