| Environments | PYTHON :: EASI :: MODELER |
| Quick links | Description :: Parameters :: Parameter descriptions :: Details :: Examples :: Algorithm :: Acknowledgements :: References :: Related |
| Back to top |
| Back to top |
sarsigm(file, dbic, dbiw, a0seg, ascalseg, incidseg, filo, dboc, ampordb)
| Name | Type | Caption | Length | Value range |
|---|---|---|---|---|
| FILE * | str | Input file name | 1 - | |
| DBIC * | List[int] | Input raster channel | 1 - 2 | |
| DBIW | List[int] | Raster input window | 0 - 4 | Xoffset, Yoffset, Xsize, Ysize |
| A0SEG * | List[int] | Input SAR offset segment | 1 - 1 | |
| ASCALSEG * | List[int] | Input SAR gain segment | 1 - 1 | |
| INCIDSEG * | List[int] | Input SAR incident angle segment | 1 - 1 | |
| FILO | str | Output file name | 0 - | |
| DBOC | List[int] | Output backscatter image channel | 0 - 1 | |
| AMPORDB | str | Amplitude, power, or decibels | 0 - 3 | AMP | DB | POW Default: DB |
| Back to top |
FILE
Specifies the name of the file that contains the imagery and segments to use as input. The specified file must contain the SAR Orbital Ephemeris segment.
DBIC
For ASAR Alternating Polarization images, only one polarization can be processed at a time.
For Single Look Complex (SLC) images, two channels must be specified.
If two channels are specified, the first channel is taken as the "I" (in-phase or real) channel and the second as the "Q" (quadrature or imaginary) channel of an SLC image. For ASAR Alternating Polarization SLC images, the two specified channels must have the same polarization.
DBIW
Specifies the raster window (Xoffset, Yoffset, Xsize, Ysize) that is read from the input image. If this parameter is not specified, the entire image is processed 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.
If this parameter is specified to a window size smaller than that of FILE, the orbit and array segments contained in FILE will not be output to FILO.
A0SEG
Specifies the segment that contains the input SAR Offset array, including the offset value to use to convert image pixel values.
This segment is created when the satellite image is read from CD using CDSAR or CDASAR. It is typically labeled "SAR Offset" or "A0Scale".
ASCALSEG
Specifies the segment that contains the input SAR Gain array, consisting of a gain scaling table use to convert image pixel values.
This segment is created when the satellite image is read from CD using CDSAR or CDASAR. It is typically labeled "SAR Gain" or "AScaling".
For ASAR Alternating Polarization images, the input image will contain two SAR Gain channels, with the second layer identified as "SAR Gain, second polarization". Select the array channel that matches the polarization of the specified image layer(s) for processing.
INCIDSEG
Specifies the segment that contains the input table of incident angles.
For Radarsat images, this segment is created by running SARINCD prior to running SARSIGM. For ASAR images, the segment is created by CDASAR when the image is imported.
FILO
Specifies the name of the image file to receive the generated backscatter image.
If this parameter is not specified, the input file (FILE) is used to store the output image.
If the specified output file does not exist, a new file is created with one 32R channel to receive the output image data.
The input window defaults to the entire image, and all Orbit (type 160) and GCP (type 214) segments are copied from the input file.
If the specified output file already exists, segments are transferred only if they do not already exist in the output file.
DBOC
Specifies the output image channel to receive the generated backscatter image.
If the output file is to be created, the image is output to channel one and this parameter is ignored.
If the output file already exists and this parameter is specified, the output channel must be 32-bit real.
If the output channel is the same as the specified input channel (DBIC) of the same image file, the output image is processed correctly and overwrites the input image. This is not advised unless the input image channel is 32-bit real.
AMPORDB
Specifies whether to output amplitude, power or decibel (dB) values.
DB: output decibel (dB) values.
Decibels will produce a range of real numbers that may include negative and positive values. If quantitative measurements of radar brightness over point and distributed targets is the objective, AMPORDB should be set to "DB". Because decibel values are on a logarithmic scale, some mathematical operations applied to the dB output channel may not be valid. For example, the averaging of pixels will not yield a correct mathematical result. Any such operations should be performed on either amplitude or power values and the result then converted to dB.
AMP: output amplitude values
Amplitude values (where amplitude equals the square root of the radar brightness or power) have a positive range of real values. If the imagery is to be further processed with filtering or classification, AMPORDB should be set to "AMP".
POW: output power values
Power values (where power equals the radar brightness) would have a positive range of real values.
Data may be converted from decibels to amplitude or power values (or from amplitude or power values to decibels) using the modeling functions or the MODEL function. For more information, see the Algorithm section.
| Back to top |
SARSIGM generates a calibrated radar backscatter channel from the input scaled radar channel (RADARSAT or ENVISAT ASAR) and an array of incident angles. For RADARSAT images, the array must be produced by the SARINCD function; for ASAR images, it is automatically created during import by CDASAR.
The input image (FILE) contains the scaled radar image (DBIC), the offset and gain information stored in array segments (A0SEG, ASCALSEG), and teh array segment of incident angles (INCIDSEG) to use as input.
An image window to process (DBIW) may be specified. If DBIW is not specified, the entire image is processed.
If the output file (FILO) is not specified, the input image receives the output in the specified output channel (DBOC). If the output file is specified but does not exist, SARSIGM creates a new file using the same dimensions as the input file and copies all Orbit (type 160) and GCP (type 214) segments from the input file to the output file. The output backscatter image is stored in channel 1.
For ASAR Alternating Polarization images only one polarization can be processed at a time.
| Back to top |
Generate a backscatter image. Because the specifeid output file sarsigma.pix does not exist, so SARSIGM will create a new file with one 32R channel to receive the output radar channel data. In addition, all Orbit (type 160) and GCP (type 214) segments are copied from the input file to the newly created output file.
from pci.sarsigm import sarsigm file = 'sar.pix' # input file dbic = [1] # input radar image dbiw = [] # process entire image a0seg = [3] # SAR Offset segment (set by CDSAR) ascalseg = [4] # SAR Gain segment (set by CDSAR) incidseg = [5] # SAR Incident Angle segment (set by SARINCD) filo = 'sarsigma.pix' # create new output file dboc = [] ampordb = 'AMP' # generate amplitude image sarsigm ( file, dbic, dbiw, a0seg, ascalseg, incidseg, filo, dboc, ampordb )
An ASAR Alternating Polarization SLC image is processed. The output image aslcsigma.pix has been already created with two 32R channels, and with the same number of lines and pixels as the input image. The input image is processed in two steps, two SLC channels at a time.
from pci.sarsigm import sarsigm file = 'asaraps.pix' # input file dbic = [1,2] # process first polarization channels dbiw = [] # process entire image a0seg = [4] # SAR Offset segment ascalseg = [5] # SAR Gain segment incidseg = [7] # SAR Incident Angle segment filo = 'aslcsigma.pix' # output file dboc = [] # output to first channel ampordb = 'AMP' # generate amplitude image sarsigm ( file, dbic, dbiw, a0seg, ascalseg, incidseg, filo, dboc, ampordb ) dbic = [3,4] # process second polarization channels ascalseg = [6] # SAR Gain for second polarization dboc = [2] # output to second channel sarsigm ( file, dbic, dbiw, a0seg, ascalseg, incidseg, filo, dboc, ampordb )
| Back to top |
If the output is in decibels (when AMPORDB="DB" or AMPORDB=):
SIGMAij = 10.0 * log10( (DN*DN + A0)/Aj ) + 10.0 * log10( sin( Ij ) )
If the output is in amplitude values (when AMPORDB="AMP"):
SIGMAij = sqrt( (DN*DN + A0)/Aj * sin( Ij ) )
If the output is in power values (when AMPORDB="POW"):
SIGMAij = (DN*DN + A0)/Aj * sin( Ij )
If the output is in decibels (when AMPORDB="DB"):
SIGMAij = 10.0 * log10( (DNI*DNI + DNQ*DNQ)/(Aj*Aj) )
+ 10.0 * log10( sin( Ij ) )
If the output is in amplitude values (when AMPORDB="AMP"):
SIGMAij = sqrt( (DNI*DNI + DNQ*DNQ)/(Aj*Aj) * sin( Ij ) )
If the output is in power values (when AMPORDB="POW"):
SIGMAij = (DNI*DNI + DNQ*DNQ)/(Aj*Aj) * sin( Ij )
For information on the calculations shown above, refer to the papers cited in the References section.
Decibels can be converted to amplitude values using the following model:
model
%1 = (exp10( %2 / 10.0 ))^0.5
endmodel
Amplitude values can be converted to decibels using the following model:
model
%2 = 10.0 * log10( (%1)^2 )
endmodel
Amplitude values can be converted to power values using the following model:
model
%2 = %1^2
endmodel
Power values can be converted to amplitude values using the following model:
model
%2 = %1^0.5
endmodel
Overview
When RADARSAT and ASAR data are written to media in 8 or 16-bit form for distribution, output scaling gain and offset are applied to the data to ensure optimum utilization of the available dynamic range. The scaling used can vary for each scene, making it difficult to directly relate information between scenes (that is, radiometric and temporal signatures).
A group of PCI functions and procedures are available to convert distributed RADARSAT and ASAR digital image data to radar brightness (Beta naught) and calibrated radar backscatter (Sigma naught). These conversions yield a 32-bit real image which is radiometrically calibrated and which more accurately represents the original signal amplitudes. These functions are outlined in Program Flow, below.
In addition to the conversion functions, a suite of utility functions are available to convert between ASCII text and array segments (ARRREAD, ARRWRIT), generate an array segment from row/column data (RCSTATS), and create a visible (detected) channel from single-look complex data (SLC2IMG).
Program flow
There are ten functions and procedures associated with the conversion of RADARSAT and ASAR digital images to radar brightness (Beta naught) and calibrated radar backscatter (Sigma naught). Five of these (SARBETA, SARINCD, SARSIGM, and SLC2IMG) are contained in the Radar Analysis component. The ARRREAD, ARRWRIT, and RCSTATS functions are contained in the Kernel component. The CDASAR function is contained in the Satellite Ortho component.
The following diagram illustrates the normal function flow for this group of functions:
CDASAR (CD) - read CDASAR data to a PCIDSK file
|
|
--------------------
| |
(brightness) (backscatter)
SARBETA SARINCD - not required for ASAR
|
SARSIGM
The remaining functions are utilities which can be run any time, and do not fit into any natural flow.
Array segments
When images are read using CDSAR, two array segments may be appended to the output file that is created. For ASAR images, CDASAR is used, and three array segments are created. For ASAR Alternating Polarization, Moderate Resolution and Wide Swath Mode images, four array segments are created. (The segments are only created if all required information is found in the raw image file.)
1. SAR offset
Bytes 8317 - 8332 from the "Radiometric Data" record
This value is used in SARBETA and SARSIGM.
2. Platform geodetic latitude (decimal degrees)
Bytes 453 - 460 from the "Data Set Summary" record
This value is used in SARINCD.
3. First equinoctial orbit element: orbit semi-major axis (kilometers)
Bytes 4649 - 4664 from the "Processing Parameters" record
This value is used in SARINCD.
4. to 9. Set of 6 slant to ground range coefficients
Bytes 4908 - 5003 from the "Processing Parameters" record
These values are used in SARINCD for non-SLC (single-look complex) imagery.
For ASAR images, the equivalent information is extracted from image headers and auxiliary Annotation Data Sets, or derived in CDASAR from other available values.
For RADARSAT images, the fields for the second array segment "SAR Gain" or "AScaling" are the output scaling gain table read from Bytes 89 - 8265 of the "Radiometric Data" record. This table is expanded by CDSAR to the number of pixels in the scanline before it is output to the segment. The expanded table is used in SARBETA and SARSIGM. A value is appended to the end of the table, specifying the polarization of the corresponding image channel(s). The value 11 represents H/H polarization, 12 represents H/V, 21 represents V/H, and 22 represents V/V.
For ASAR images, the scaling values are constant for all pixels. To maintain consistency with other modules, however, the constant-valued scaling arrays are created for ASAR images as well by CDASAR. For ASAR Alternating Polarization images, two SAR Gain arrays are created, one for each polarization. The polarization corresponding to each array can be established by verifying the last value of the array, as described above.
For ASAR images, the IncidAng segment is also created in CDASAR, from incident angle values provided for tie point lines and pixels in the Geolocation Grid ADSRs. The incident angle values at tie points are interpolated to full lines, then averaged across all tie lines to arrive at a single average incident angle line.
ASAR images may also contain an additional array segment SRGR (Slant Range to Ground Range Coefficients), created by CDASAR. This segment is only created if the input image has more than one set of coefficients (more than one record in the SRGR ADS). This is typically the case for Moderate Resolution and Wide Swath Mode (ScanSAR) images. This array segment is not used in the SARSIGM and SARBETA functions.
| Back to top |
The "SAR Sigma" functions were added to PCI software through RADARSAT User Development Program (RUDP) funding from the Canada Centre for Remote Sensing (CCRS), Natural Resources of Canada. Thanks are given to Mike Manore at CCRS for his involvement in the project. Special thanks are given to Tom Lukowski at CCRS who was invaluable in verifying the output from the "SAR Sigma" functions SARBETA, SARINCD, and SARSIGM.
| Back to top |
N.W.Shepherd and Associates, (February 26, 1996). 4.2 Calibration Equation for Detected Products. In Technical Note No. 4.2 CDPF Output Data Calibration (p. 9)
N.W.Shepherd and Associates, (February 26, 1996). 4.3 Calibration Equation for SLC Products. In Technical Note No. 4.2 CDPF Output Data Calibration (p. 9)
The algorithm for computing radar backscatter values for ASAR images is provided on the ESA web site: http://envisat.esa.int/dataproducts/asar/CNTR2-11-5.htm.
© PCI Geomatics Enterprises, Inc.®, 2026. All rights reserved.