Offset Tracking

Offset Tracking Operator

The Offset Tracking operator estimates the movement of glacier surfaces between two SAR images (reference and secondary) in both slant-range and azimuth direction. It performs cross-correlation on selected GCP-patches in reference and secondary images, and computes glacier velocities based on the shift computed for each GCP. Finally the glacier velocity map is computed through interpolation of the velocities computed for the GCP grid.

Brief Implementation Details

The offset tracking is performed by the following sub-steps:

  1. For user specified GCP grid in reference image, compute corresponding secondary pixel positions using normalized cross-correlation.
  2. For each point on the GCP grid, compute offset between reference and secondary images, and movement velocity. Point with velocity exceeding the user specified maximum velocity will be marked as outlier.
  3. Perform local average for offset on valid GCP points.
  4. Fill holes caused by the outliers. Offset and velocity will be calculated using weighted average.
  5. Finally, compute the velocity for all pixels in the reference image from the velocity on GCP grid by interpolation.

Offset Tracking with SNAP

The reference and secondary images used in offset tracking should be coregistered first by DEM assisted coregistration. The following steps should be followed:

  1. Run Apply Orbit File operator respectively with reference and secondary images as input to update the orbit state vectors in the metadata of the product with the precise orbit file.
  2. Run DEM Assisted Coregistration operator with both reference and secondary output from step 1 as input to coregister reference and secondary images.
  3. Run Offset Tracking operator with the coregistered stack as input to produce the glacier velocity map.
  4. To display the glacier velocity map, double click on the velocity band name. To show the glacier velocity vectors, click on "Layer Manager" and add "Coregistered GCP Movement Vector" layer. The velocity vectors on the user specified GCP grid will be displayed.

Parameters Used

   The parameters used by the operator are as follows:
  1. Grid Azimuth Spacing (in pixels): The GCP grid azimuth spacing in pixels.
  2. Grid Range Spacing (in pixels): The GCP grid range spacing in pixels.
  3. Grid Azimuth Spacing (in meters): The GCP grid azimuth spacing in meters. It is updated automatically based on user input in 1.
  4. Grid Range Spacing (in meters): The GCP grid range spacing in meters. It is updated automatically based on user input in 2.
  5. Grid Azimuth Dimension: The number of lines of the GCP grid. It is updated automatically based on user input in 1.
  6. Grid Range Dimension: The number of columns of the GCP grid. It is updated automatically based on user input in 2.
  7. Total GCP Points: The total number of points in the GCP grid. It is updated automatically based on user input in 1 and 2.
  8. Registration Window Width: The window width for cross-correlation.
  9. Registration Window Height: The window height for cross-correlation.
  10. Cross-Correlation Threshold: Threshold for normalized cross-correlation value. If the cross-correlation value is greater than the threshold, then the estimated offset is considered valid, otherwise invalid.
  11.  Average Box Size: Size of sliding window for averaging offsets computed for GCPs.
  12.  Max Velocity: The maximum allowed glacier velocity in meters per day. It is used in eliminating outliers.
  13. Radius for Hole Filling: It defines the size of the window for hole filling. For GCP that has no valid offset, a window with given radius centered at the GCP is defined. Offsets from valid GCPs within the window are used in interpolating the offset for the current GCP.