Forums » GAMMA Processing » DEM generation »
How to get perpendicular baseline, incidence angle, range distance for each pixel ?
Added by Cynthia Chen over 3 years ago
Dear gamma users,
How to calculate perpendicular baseline, incidence angle, range distance for each pixel ?
Best regards,
Cynthia
Replies (8)
How to get perpendicular baseline, incidence angle, range distance for each pixel ? - Added by Charles Werner over 3 years ago
Hello,
In the slant range geometry, the range to each pixel is defined by the SLC_par
SLC parameter file, where there is a starting slant range and the slant range
sample spacing
In the terrain geocoded image, the look up table contains the azimuth line and
range sample number for each point in the map geometry. The dimensions of the
lookup table match the dem segment DEM parameter file values. The data in the
refined geocoding lookup table are pairs of 32-bit single precision floating
point numbers, one pair for each sample in the geocoded image. These can be
interpreted as complex numbers, and displayed using viscpx.py.
The incidence angle is an output from gc_map2 that calculates the lookup table.
In our interferometric processing we do not calculate the perpendicular
baseline, but rather the slant range to the point on the ground from each of the
satellite tracks and calculate the phase difference from the difference in the
slant-ranges.
What the Gamma software offers is the program dh_map_orb, that will calculate
the radar geometry the sensitiving of the interferometric phase with respect to
height
You can then scale this to get the effect perpendicular height of the
baseline.To go from unwrapped phase back to altitude requires phase unwrapping
and knowing the absolute phase.
We bypass most of these issues related to geometry by aiming to calculate height
corrections, rather than absolute heights, see the documentation on dh_map_orb.
We generate a differential interferogram using the best available height model
(the Copernicus model at 30mor 10m is really good). Then you have set some point
in the scene and
set the phase and correction to 0 at that point by subtracting any phase offset.
Then use the phase differences to calculate height corrections.
I would also remove large wavelength atmospheric phase from the interferogram,
and just use the residual phase to correct the altitude of small scale features.
Best regards,
Charles
How to get perpendicular baseline, incidence angle, range distance for each pixel ? - Added by Charles Werner over 3 years ago
Hello,
In the slant range geometry, the range to each pixel is defined by the SLC_par
SLC parameter file, where there is a starting slant range and the slant range
sample spacing
In the terrain geocoded image, the look up table contains the azimuth line and
range sample number for each point in the map geometry. The dimensions of the
lookup table match the dem segment DEM parameter file values. The data in the
refined geocoding lookup table are pairs of 32-bit single precision floating
point numbers, one pair for each sample in the geocoded image. These can be
interpreted as complex numbers, and displayed using viscpx.py.
The incidence angle is an output from gc_map2 that calculates the lookup table.
In our interferometric processing we do not calculate the perpendicular
baseline, but rather the slant range to the point on the ground from each of the
satellite tracks and calculate the phase difference from the difference in the
slant-ranges.
What the Gamma software offers is the program dh_map_orb, that will calculate
the radar geometry the sensitiving of the interferometric phase with respect to
height
You can then scale this to get the effect perpendicular height of the
baseline.To go from unwrapped phase back to altitude requires phase unwrapping
and knowing the absolute phase.
We bypass most of these issues related to geometry by aiming to calculate height
corrections, rather than absolute heights, see the documentation on dh_map_orb.
We generate a differential interferogram using the best available height model
(the Copernicus model at 30mor 10m is really good). Then you have set some point
in the scene and
set the phase and correction to 0 at that point by subtracting any phase offset.
Then use the phase differences to calculate height corrections.
I would also remove large wavelength atmospheric phase from the interferogram,
and just use the residual phase to correct the altitude of small scale features.
Best regards,
Charles
RE: How to get perpendicular baseline, incidence angle, range distance for each pixel ? - Added by Cynthia Chen over 3 years ago
Dear Charles,
Thank you so much for your patient explanation, which is very clear.
But I have a new problem. You said you would also remove large wavelength atmospheric phase from the interferogram. I also want to do that. But which program or command can support the calculation of ionosphere phase and troposphere phase?
Hope you can help me. Very appreciate for your kindness.
Best regards,
Cynthia
RE: How to get perpendicular baseline, incidence angle, range distance for each pixel ? - Added by Charles Werner over 3 years ago
Hello Cynthia,
The programs atm_mod_2d and atm_sim_2d are available, as well as atm_mod and
atm_mod2.
There is html documentation available for these programs as well as a Gamma demo
example:
PALSAR_Etna_atm.tar.gz
<http://userdata.gamma-rs.ch/Gamma_Software_demo/PALSAR_Etna_atm.tar.gz>
In the example, an attempt is made to separately estimate the height and spatial
dependence of the atmospheric related phase. The HTML documentation describes a
simpler approach.
Ionospheric corrections are mainly used at L-Band, and this process requires
splitting the radar bandwidth into 2 range sub-bands. Interferograms are
produced for each of the subbands and compared. The phase due to the ionosphere
is calculated from the scaled difference phase.
Examples of this process is shown in a number of the Gamma demos:
DEMO Examples:
*****
Gamma Software Users with a valid license or evaluation license can download the
Gamma Software Demo examples here:
account:
http://www.gamma-rs.ch/userdata/Gamma_Software_demo/README_Gamma_Software_demo.html
user: gamma_user
password: EIGER_115
Gamma_demo_ionosphere_PALSAR1_Furuya.tar.gz
<http://userdata.gamma-rs.ch/Gamma_Software_demo/Gamma_demo_ionosphere_PALSAR1_Furuya.tar.gz>
Gamma_demo_ionosphere_PALSAR2_Tokyo.tar.gz
<http://userdata.gamma-rs.ch/Gamma_Software_demo/Gamma_demo_ionosphere_PALSAR2_Tokyo.tar.gz>
Gamma_demo_ionosphere_S1.tar.gz
<http://userdata.gamma-rs.ch/Gamma_Software_demo/Gamma_demo_ionosphere_S1.tar.gz>
Best regards,
Charles
RE: How to get perpendicular baseline, incidence angle, range distance for each pixel ? - Added by Cynthia Chen over 3 years ago
Dear Charles,
Very appreciate for your kind reply. Now I have understood the whole procedure for calculating atmospheric and ionospheric phase using GAMMA.
Best regards,
Cynthia
RE: How to get perpendicular baseline, incidence angle, range distance for each pixel ? - Added by Charles Werner over 3 years ago
Hi Cynthia,
Which OS are you running on?
Charles
RE: How to get perpendicular baseline, incidence angle, range distance for each pixel ? - Added by Cynthia Chen over 3 years ago
Dear Charles,
Thank you for your kind help. I am running on ubuntu 16.04. The problem of not having the program 'SLC_freq_shift' have been solved by importing this program and the html into my GAMMA under the help of my friend. Don't worry :)
But now I meet a new problem during the processing of removing ionospheric phase. Please refer to the attachment files. I calculated the ionospheric phase (20191015_20191029.diff.ion.M1.phase.2PI.hhj.jpg). And then use unwrapped phase minus ionospheric phase to get the phase not including the ionospheric effect (20191015_20191029.noIonos.unw.2PI.hhj.jpg). Finally, I use hgt_map to convert the phase to height and transform the height from radar coordinates to map coordinates (Elevation_RemoveIonosphericPhase.jpg). Compared to the height (Elevation_NotRemoveIonosphericPhase.jpg) obtained from the unwrapped phase containing the ionospheric effect (20191015_20191029.sum.unw.2PI.hhj.jpg), the height obtained from Elevation_RemoveIonosphericPhase.jpg shows a worse height and it has unexpected small stripes when we zoom in.
I am very confused. Hope to get your advice. Thank you very much.
Best regards,
Cynthia
20191015_20191029.sum.unw.2PI.hhj.jpg (570 KB) 20191015_20191029.sum.unw.2PI.hhj.jpg | unwrapped phase | ||
20191015_20191029.diff.ion.M1.phase.2PI.hhj.jpg (578 KB) 20191015_20191029.diff.ion.M1.phase.2PI.hhj.jpg | ionospheric phase | ||
20191015_20191029.noIonos.unw.2PI.hhj.jpg (549 KB) 20191015_20191029.noIonos.unw.2PI.hhj.jpg | unwrapped phase minus ionospheric phase | ||
Elevation_NotRemoveIonosphericPhase.jpg (758 KB) Elevation_NotRemoveIonosphericPhase.jpg | Elevation (Geographical coordinates ) obtained from the 20191015_20191029.sum.unw (unwrapped phase containing the influence of ionospheric phase) | ||
Elevation_RemoveIonosphericPhase.jpg (912 KB) Elevation_RemoveIonosphericPhase.jpg | Elevation (Geographical coordinates ) obtained from the 20191015_20191029.noIonos.unw (unwrapped phase minus ionospheric phase) |
RE: How to get perpendicular baseline, incidence angle, range distance for each pixel ? - Added by Charles Werner over 3 years ago
Hello Cynthia,
It is very difficult to interpret might be the cause, but the small stripes may
indicate that you may have confused complex interferograms and unwrapped
interferometric phase at some point. I would have no confidence in your
ionospheric phase, just from inspection. I refer you to the demo examples to
verify your own result.
I suspect that your data have relatively small ionospheric contribution, and you
might consider leaving the ionospheric term.
There might also be a strategy that applies a high pass filter to the
best regards,
Charles