INSCALDEFO

Calibrate unwrapped deformation


EnvironmentsPYTHON :: EASI :: MODELER
Batch ModeYes
Quick linksDescription :: Parameters :: Parameter descriptions :: Details :: Acknowledgements :: Related

Back to top

Description


INSCALDEFO adjusts unwrapped displacement values to zero at all points stored in a vector layer. Typically, the points are stable ground locations (targets) that have no known movements. The input raster is created by unwrapping the interferogram in deformation mode. Deformation interferograms to calibrate can be either orthorectified or in the raw image geometry.
Back to top

Parameters


Name Type Length Value range
Input: Displacement layer * Raster port 1 - 1  
Output: Output raster channel containing calibrated displacements * Raster port 1 -    
Non-PCIDSK Text File String 0 -    
InputVector: Point Vector Layer: Input vector segments Vector port 0 - 16  
InputVector: Raw interferogram Raster port 0 - 1  
Field Name String 0 - 1 ZCOORD | Field Name
Default: ZCOORD
Calibration window size Integer 0 - 2 1 -
Default: 1, 1
Adjustment method String 0 - 1 All| Under | Clamp | Under Sigma | Clamp Sigma
Default: All
Adjustment value Float 0 - 1
Use average Boolean 0 - 1 TRUE | FALSE
Default: FALSE

* Required parameter
Back to top

Parameter descriptions

Input: Displacement layer

The displacement layer to process.

Output: Output raster channel containing calibrated displacements

The channel of the displacement file to which to write the adjusted displacement data. The channel type must be 32R.

If the output channel is the same as the input channel, the input channel is overwritten with calibrated displacement values.

Non-PCIDSK Text File

The path and file name of the text file that contains image coordinates (pixel, line) of calibration points. Each point must be specified in a separate line, and the numbers must be separated by spaces, tabs, or commas. Empty lines and lines that begin with the hash symbol (#) are treated as comments and are ignored. Lines that do not contain two valid numbers are skipped and considered "not points".

The numbers in the text file represent pixel and line numbers that are zero-based; that is, the pixel in the upper-left corner of the image has coordinates (0, 0), and the pixel in the lower-right corner has coordinates (number-of-pixels - 1, number-of-lines - 1). You can enter fractional values; however, they will be truncated to integer values.

The points in the text file you specify can be used by themselves or in combination with points in the vector layer specified as input. However, you must specify at least one of these calibration-point sources.

InputVector: Point Vector Layer: Input vector segments

The number or numbers of vector segments containing points representing stable targets. Stable targets are locations in the image that are known to have no (zero) displacement in the span of the interferogram. The points must be in ground coordinates that are projectable to the coordinates of the input displacement file. If the displacements are in the raw interferogram geometry (slant range), the points in the input point vector layer must have elevations.

If a vector layer of stable points is specified, this parameter is ignored.

The vector layer of stable points and vector segments you specify can be used by themselves, or combined with points in the text file of point coordinates. If you specify only vector points, you need not specify a text file of point coordinates. However, you must specify at least one source of calibration points.

InputVector: Raw interferogram

The list of vector layers containing stable points.

The list specifies the number of vector segments containing points representing stable targets. Stable targets are locations in the image that are known to have no (zero) displacement in the span of the interferogram. The points must be in ground coordinates that are projectable to the coordinates of the input displacement file. If the displacements are in the raw interferogram geometry (slant range), the points in the input point vector layer must have elevations.

The vector layer of stable points and vector segments you specify can be used by themselves, or combined with points in the text file of point coordinates. If you specify only vector points, you need not specify a text file of point coordinates. However, you must specify at least one source of calibration points.

Field Name

The field containing the elevation (or z) values, which you can specify as an option. That is, you specify this parameter only when the input displacement file is in the raw SAR image (slant-range) geometry, and has a binary math model. If specified, the field name must exist in the attribute table of the vector layer.

The available values are as follows:
Note: Field names are case-insensitive.

If you specify an input file containing a vector point layer, this parameter is ignored.

Calibration window size

The size of the image window, in pixels and lines, centered on each calibration point. In the window, each displacement is are averaged, and the resulting value is used as the correction associated with the given calibration point. The default values are 1, 1, meaning that the exact value at each calibration pixel is used as the correction at this point.

The values you enter must be an odd and positive integer.

To define a square window, enter a single value, To define a rectangular window, enter two values. The window has the same size at all calibration points, based on the value or values you specify.

Adjustment method

Optionally specifies the adjustment algorithm that should be used. This, along with the Adjustment value and Use average parameters, controls which points should be used and if there should be any limits on magnitude of the adjustment that will be applied.

Available options are:

Adjustment value

The value to be applied to the selected Adjustment method. If the selected method is Under or Clamp, this is an absolute value. If the selected method is Under Sigma or Clamp Sigma, this is a sigma value (i.e., the square root of the variance). For the All option, this parameter is inactive.

Use average

Select whether to use the average difference for the selected Adjustment method. Each of the methods can use an average value, in which case the entire DEM is raised (or lowered) by a single value (the average difference) rather than trying to create a varying surface that goes through the points. This is useful in removing a systematic error.

Back to top

Details

INSCALDEFO adjusts (raises or lowers) a raster of terrain-displacement values to calibration points stored in a text file, a vector layer, or both. The points represent locations (targets) that are known to be stable (not moving) at the interval of time between acquisition of the two SAR images used to derive the interferogram.

Typically, the displacement raster is produced by the INSUNWRAP algorithm during the unwrapping of the SAR interferogram in deformation mode. Adjusting the raster of terrain deformation with calibration points allows several interferograms to be stacked subsequently, by running the INSSTACK algorithm, which compares terrain deformations in other areas. Depending on the options you specify, the raster can be adjusted to:

INSCALDEFO supports displacement rasters that are either geocoded or still in the raw (slant-range) geometry. The slant-range rasters are identified automatically by the presence of the binary math model in input displacement file.

The specified text file and vector segments (layers) are used for the calibration points. The text file directly provides pixel and line numbers of points to use. The vector point layer segments provide ground coordinates of points that are projected to image positions in the deformation raster. All points are assumed to have a displacement of zero. With vector segments, only points will be used - lines and polygons are skipped and counted as "not points".

The points in the vector segment will be reprojected automatically to match the projection of the raster. If INSCALDEFO cannot project between the vector and raster coordinate systems, processing will stop. If the raster to be adjusted is orthorectified, the projection from the point coordinates is two-dimensional, and does not require elevations (the elevation-values field, if specified, is ignored). If the raster is in the slant-range geometry, the calibration points must have elevations, as specified by the elevation-values field. With such rasters, INSCALDEFO uses three-dimensional transformation between the point and raster coordinate systems. If the ELEVATION_DATUM metadata tag is unavailable in the vector segment or segments, point elevations are assumed to be relative to mean sea level (MSL).

Each point outside the raster area or in a NoData area is skipped and counted as "outside file". Accepted calibration points are assumed to have a displacement of zero. Pixel values at the corresponding raster locations define the corrections to apply at these locations to adjust their displacements to zero.

If you specify a calibration window, and the number of lines and pixels in the window is greater than one, then all valid displacement values in the window are averaged, and the resulting value is used to derive the correction at the pixel. Any NoData values in the calibration window are ignored. If the window extends beyond the image, it is truncated to be fully within the image. The averaging of displacements compensates for possible misregistration of the two images forming the interferogram, and also derives a more stable correction for larger or distributed targets. However, in this case, some calibrated values in the window may not be exactly zero.

The corrections interpolate a 'difference surface' over the entire displacement raster, regardless of how far apart the points are. For example, with a single point, the entire raster is raised or lowered by the correction at this point. This can be a dangerous operation if a point is over an error in the displacement raster. You can prevent this by limiting the amount of adjustment by using the following options in the ADJMETHOD parameter:

For example, specifying CLAMP 0.5 applies no adjustment greater than plus or minus 0.5 over the entire raster. The sigma method examines all the corrections from the points and limits the adjustment based on the sigma value; that is, the standard deviation and the root of their variance.

Specifying UNDERSIGMA 2.0 adjusts only points that are less than plus or minus two sigma, meaning, typically, points with the largest corrections, ranging from 10 to 15 percent, would be counted as "ignored".

You can preface each with AVERAGE, which raises or lowers the entire raster by a single value (the average correction). This is preferable to trying to create a varying surface that goes through the points. Prefacing an options with AVERAGE is also useful for removing a systematic error. For example, AVERAGEUNDERSIGMA 2.0 is generally a safe option to use.

Interferograms unwrapped in topographic mode can be adjusted similarly by running the DEMADJUST algorithm.

Back to top

Acknowledgements

The PCI Interferometric SAR (InSAR) project was funded in part by the Canadian Space Agency under the Earth Observation Application Development Program (EOADP) contract (9F043-130644/006/MTB), Application Development for Environmental Monitoring and Remediation.

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