Forums » GAMMA Processing » Interferogram Generation »
How to generate single-look interferogram using S1_coreg_TOPS?
Added by Kaushik Biswas over 4 years ago
Dear GAMMA users,
I am trying to generate Sentinel-1 differential interferogram with no multi-looking (single-look) using S1_coreg_TOPS. Is there any way to do it? Actually I have tried changing the azlks and rlks but the problem is coming in the input hgt option ("height map in RDC of MLI-1 mosaic).
How to create such height map in RDC with same no of lines/pixels with single-look rslc? Any help reagarding this would be much appreciated.
Thanks and regards,
Kaushik
Replies (3)
How to generate single-look interferogram using S1_coreg_TOPS? - Added by Charles Werner over 4 years ago
Hello,
If you want to have a single look interferogram, the height map, resampled into
the geometry of the MLI slant-range image needs to be resampled to single-look,
SLC resolution. Within the S1_coreg_TOPS script there is no facility to do this.
However, there is a way to upsample the DEM to the higher resolution, first
using map_section to update the lookup-table so that the values in the lookup
table are SLC coordinates instead of MLI coordinates.
map_section
- Generate the DEM parameter file of a specfied region and extract this
region from a geocoding lookup table ***- Copyright 2020, Gamma Remote Sensing, v1.7 20-Mar-2020 clw/cm ***
usage: map_section <DEM_par> <n1> <e1> <n2> <e2> <post_north> <post_east>
<DEM_par2> [lt] [ISP_par1] [ISP_par2] [cflg] [lt2] [coord] [width] [nlines]input parameters:
DEM_par (input) DEM parameter file describing the input map geometry
north1 northing map coordinate of the upper-left corner of the map
segment (enter - to use the value in the DEM_par)
east1 easting map coordinate of the upper-left corner of the map
segment (enter - to use the value in the DEM_par)
north2 northing map coordinate of the lower-right corner of the map
segment (enter - to use the value in the DEM_par)
east2 easting map coordinate of the lower-right corner of the map
segment (enter - to use the value in the DEM_par)
NOTE: units for the corner coordinates depend on the projection
specified in the DEM_par
post_north posting of the output lookup table for map samples in northing
(enter - to keep the posting in the DEM_par)
NOTE: post_north must be a negative number to prevent the DEM
from flipping north/south when displayed
post_east posting of the output lookup table in map coordinates in
easting (enter - to keep the posting in the DEM_par)
NOTE: post_east must be a positive number to prevent the DEM
from flipping east/west when displayed
DEM_par2 (output) DEM parameter file describing the output lookup table
lt (input) geocoding lookup table for the transformation from map
geometry to radar Range-Doppler Coordinates (RDC) (enter - for none)
NOTE: The lookup table has the dimensions described by the DEM_par
ISP_par1 (input) image parameter file (MLI_par or SLC_par) of the data
used for calculation of the input lookup table values (enter - for none)
ISP_par2 (input) image parameter file (MLI_par or SLC_par) of the data
that will be terrain geocoded with the new lookup table lt2 (enter - to be the
same as ISP_par1)
NOTE: Must be generated from the same SLC image as MLI_par but
differs in the number of range and azimuth looks
cflg lookup table coordinate shift flag (enter - for default):
0: leave output lookup table values unchanged (default)
The output lookup table values are coordinates defined by
the ISP_par1 parameters
1: subtract range and azimuth offsets from the output lookup
table values
The output lookup table values are coordinates defined by
the bounding box of the specified region (coords)
lt2 (output) resampled geocoding lookup table with the specified
bounds and map posting (enter - for none)
coords (output) rectangular region coordinates covering the region of
the lt2 lookup table (text format, enter - for none)
ISP_par1 geometry: range_offset range samples azimuth_offset
azimuth_lines
ISP_par2 geometry: range_offset range samples azimuth_offset
azimuth_lines
width number of samples per line of lt2, (enter - for default,
calculated from (east1 - east2))
nlines number of lines in the output lt2, (enter - for default,
calculated from (north1 - north2))
When making the call for this application. north1, east1, north2 and east2 can
all be - .
If you want to create a geocoded image with smaller sample spacing, then
post_north and post_east should be adjusted to what you want, but I suggest
maybe on the order of 20 meters. Note that if working with geographic
coordinates (lat, lon) then the lon. posting needs to increase as latitude
increases (divide by cos (lat)), so that the pixels are approximately square at
the center of the frame.
ISP_par1 is the of the data used for calculation of the MLI and ISP_par2 is the
SLC parameter file of the reference scene.
set cflg = 0. You should set width and nlines to be the dimensions of the
mosaicked SLC.
The output lookup table has the dimensions of the output geocded image. if
post_north and post_east are unchanged, then lt2 will have the same dimensions
as lt1.
Once you have the new lookup table lt2, then use geocode to resample the DEM in
map coordinates into slant-range coordinates using geocode.
Once you have the dem in SLC coordinates, you can make the single-look
interferogram in SLC coordinates.
I do not recommend doing this however, It would be better to take 4 or 5 looks
in range and 1 look in azimuth. The approach I have given here, could also work
this way, but you would first have to make an MLI image with 4 or 5 range looks
and 1 azimuth look, and then resample the lookup table for those pixel dimensions.
There is a new program in the Gamma software that now separates the decimation
factor from the multi-look averaging factor. This is a big step forward in the
implemenation of oversampling in the interferograms. In general, having the
interferogram oversampled help greatly in phase unwrapping and estimation of
correlation. In particular the program SLC_intf2 and SLC_intf_geo2 are the way
to go. See the documentation on these programs.
So for example, creating the sentinel-1 interferogram with 4 range looks and 1
azimuth look spacing (decimation factors) and then using an averaging window
that is 1.5 to 2 times this wide with circular Gaussian windowing) works very
nicely. Operating with oversampling does use more disk space and computation,
but it produces better results in many cases.
Note that if n_ovr is 1, then to maintain efficiency, the rwin size should be
even if the r_dec is even, and odd if r_dec is odd, same for az_dec and azwin.
If this is not the case, then the data will be automatically oversampled
internally.
best regards,
Charles
RE: How to generate single-look interferogram using S1_coreg_TOPS? - Added by Kaushik Biswas over 4 years ago
Hi Charles,
Thank you for your helpful reply. I have an older version of map_section where width and nlines options are not available.
- Generate the DEM parameter file of a specfied region and extract this region from a geocoding lookup table ***
- Copyright 2018, Gamma Remote Sensing, v1.6 5-Nov-2018 clw/cm ***
usage: map_section <DEM_par> <n1> <e1> <n2> <e2> <post_north> <post_east> <DEM_par2> [lt] [MLI_par1] [MLI_par2] [cflg] [lt2] [MLI_coord]
input parameters:
DEM_par (input) DEM parameter file describing the input map geometry
north1 northing map coordinate of the upper-left corner of the map segment (enter - to use the value in the DEM_par)
east1 easting map coordinate of the upper-left corner of the map segment (enter - to use the value in the DEM_par)
north2 northing map coordinate of the lower-right corner of the map segment (enter - to use the value in the DEM_par)
east2 easting map coordinate of the lower-right corner of the map segment (enter - to use the value in the DEM_par)
NOTE: units for the corner coordinates depend on the projection specified in the DEM_par
post_north posting of the output lookup table for map samples in northing (enter - to keep the posting in the DEM_par)
NOTE: post_north must be a negative number to prevent the DEM from flipping north/south when displayed
post_east posting of the output lookup table in map coordinates in easting (enter - to keep the posting in the DEM_par)
NOTE: post_east must be a positive number to prevent the DEM from flipping east/west when displayed
DEM_par2 (output) DEM parameter file describing the output lookup table
lt (input) geocoding lookup table for the transformation from map geometry to radar Range-Doppler Coordinates (RDC) (enter - for none)
NOTE: The lookup table has the dimensions described by the DEM_par
MLI_par1 (input) MLI image parameter file with the geometry used for the lookup table values (enter - for none)
MLI_par2 (input) SLC/MLI image parameter file with the geometry for the image that will be terrain geocoded (enter - to be the same as MLI_par1)
NOTE: The MLI_par files must be generated from the same SLC image, but may have a different number of looks in range and azimuth
cflg lookup table coordinate shift flag (enter - for default):
0: do not subtract range and azimuth offsets from the output lookup table values (lt2) (default)
The lookup table values are coordinates defined by the MLI-2 parameters
1: subtract range and azimuth offsets from the output lookup table values (lt2)
The lookup table values are coordinates defined by the bounding box (MLI_coord) that covers the region defined by the output lookup table lt2
lt2 (output) resampled geocoding lookup table with the specified bounds and map posting (enter - for none)
MLI_coord (output) rectangular region specified in MLI and SLC coordinates covering the region of the output lt2 lookup table (text format)
range_offset range samples azimuth_offset azimuth_lines
However, I tried to run it as you suggested without the width and nlines, like this
map_section EQA.dem_par - - - - - - EQA.slc.dem_par 20180503.lt_fine ../20180503/20180503.mli.par ../20180503/20180503.mslc.par 0 20180503.slc.lt
Output log
input DEM parameter file: EQA.dem_par
input DEM parameter file:
output DEM parameter file: EQA.slc.dem_par
- Gamma DIF/GEO DEM/MAP parameters ***
title: DEM
DEM projection: EQA
DEM data format: REAL*4
DEM hgt_offset: 0.00000
DEM_scale: 1.00000
DEM width: 3588
DEM nlines: 1828
corner latitude: 28.8794444 decimal degrees
corner longitude: 76.8786111 decimal degrees
latitude posting: -2.7777778e-04 decimal degrees
longitude posting: 2.7777778e-04 decimal degreesellipsoid name: WGS 84
ellipsoid semi-major axis: 6378137.000 m
ellipsoid reciprocal flattening: 298.2572236datum name: WGS 1984
datum_shift_dx: 0.000 m
datum_shift_dy: 0.000 m
datum_shift_dz: 0.000 m
datum_scale_m: 0.00000e+00
datum_rotation_alpha (about x axis): 0.00000e+00 arc-sec
datum_rotation_beta (about y axis): 0.00000e+00 arc-sec
datum_rotation_gamma (about z axis): 0.00000e+00 arc-sec
datum_country_list: Global Definition, WGS84, Worlddefault values for nort1, east1, north2, east2: 28.87944440 76.87861110 28.37194440 77.87500000
input geocoding lookup table: 20180503.lt_fineMLI parameter file 1 associated with the input lookup table: ../20180503/20180503.mli.par
number azimuth lines: 2840 range samples: 4375
number of azimuth looks: 1 range looks: 5MLI parameter file 2 associated with the output lookup table: ../20180503/20180503.mslc.par
number azimuth lines: 2840 range samples: 21877
number of azimuth looks: 1 range looks: 1NOTE: Not subtracting range and azimuth offsets from lookup table values (default)
- output map and lookup table parameters: ***
latitude posting (deg.): -2.7777778e-04
longitude posting (deg.): 2.7777778e-04
segment offset latitude (lines): -0.000
segment offset longitude (samples): 0.000output lookup table corner latitude (deg): 28.87944440
output lookup table corner longitude (deg): 76.87861110
output lookup table width: 3587 lines: 1827
output lookup table: 20180503.slc.ltlt2 output line: 0
lt2 output line: 1000azimuth line min: -1171.520 max: 4063.498
range pixel min: -222.393 max: 4579.770MLI 1 corner range sample: 0 samples: 4375
MLI 1 corner azimuth line: 0 lines: 2840
0 4375 0 2840SLC corner range sample: 0 samples: 21875
SLC corner azimuth line: 0 lines: 2840
0 21875 0 2840MLI 2 corner range sample: 1 samples: 21877
MLI 2 corner azimuth line: 0 lines: 2842
1 21877 0 2842
writing out and calculating lookup table
output lookup table: 20180503.slc.lt
output lookup table width: 3587 lines: 1827
Having the new look-up table, 20180503.slc.lt, generated, I ran geocode, and tried to view the new HGT (DEM in SLC geometry, screenshot attached) but there seems to have diagonal holes in the hgt, maybe something went wrong with the interpolation.
geocode 20180503.slc.lt EQA.dem 3587 20180503.hgt1 21877 2840 2 0
rashgt 20180503.hgt1 ../20180503/20180503.mli 21877 1 1 0 1 1 500. 1. .35 1 20180503.hgt1.bmp
dishgt 20180503.hgt1 21877
Is there any workaround to this problem?
RE: How to generate single-look interferogram using S1_coreg_TOPS? - Added by Charles Werner over 4 years ago
Hello,
I am on holiday, so I cannot really look at what you are doing now.
You really need the width and nlines arguments in this case, because you
need to match the SLC width and nlines.
An image displayed with shear indicates that the number of samples
specified for display is not the actual line width.
To display the lookup table use the width that is given when running map
section.
Alternately, there could be a program to resample the slant range DEM
from the MLI geometry to the SLC geometry directly, but this does not
yet exist.
As far as Sentinel-1 is concerned, I would recommend generating
interferograms with 5 looks in range and 1 look in azimuth as the
highest resolution, and the usual approach should work.
Charles Werner