Creating RTC complex-valued data


I would like to investigate radiometrically-terrain-corrected complex-valued data.

Can anyone describe a way to output either the phase and amplitude, or the complex-valued RTC’d data?

Alternatively, is there a way to output the geocoded phase, and then RTC the data as normally described (e.g., Generating a Radiometrically Terrain Corrected (RTC) Image using the Sentinel-1 Toolbox (S1TBX) Version 8 – ASF)? I could then combine the amplitude and phase to create the complex-valued RTC data.

Thank you,
Evan Cummings
Software Engineer
Alaska Satellite Facility

There is currently no way in SNAP to produce geocoded phase-corrected SLC data. Technically it should be possible to geocode SLC-data but the phase will be corrupted and unusable.

Thank you for the response.

Since the process to generate the interfereogram involves differencing co-registered phase values, the phase must be calculated somewhere internally to the software for a pair of values. Do you know how difficult it would be to implement a method to extract these phase values instead of simply outputting the differences for InSAR?

Thanks again!

I’m not sure if I understand your question but all complex SAR images have phase informatio in them. In the SNAP notation they are stored as real and imaginary parts on the complex-plane.

Right, as I stated, I need to extract either the geocoded phase, or the geocoded complex-valued data.

That is currently not possible as the phase is not “corrected” for the distance during the geocoding-phase. This is something that is not so simple to pull off since it needs to be done in a very precise manner, and tuned for each mission, in order to avoid loss of coherence and InSAR applications in general for the geocoded product. If we would move in this direction starting with Sentinel-1 would make the most sense.

Yes, I am working with Sentinel-1 data. I am reading the paper “guide to sentinel-1 geocoding” and will be coding what I need from the SLC product directly if necessary, but if SNAP can be easily modified to produce the geocoded phase, that may likely be preferred.

If it were possible to get in touch with a person that can point me to the precise parts of the code that I could study, that would be an enormous help.

Just a word of caution, RTC amplitudes are fundamentally incompatible with SLC phase.

SLC phase comes from a point interpolator
RTC is generated by an area aggregation algorithm that does not necessarily respect the spectra of the complex signal.

RTC operation can be reformulated to operate on top of a geocoded SLC, but combining RTC amplitude with just phase will probably result in pretty weird coherence artifacts

1 Like

You can always do things the old-fashioned way - InSAR first and geocoding later. If you are not planning to do InSAR, you won’t need the geocoded phase anyway.

I simply require geocoded phase. The amplitude needs to be adjusted for terrain effects and geocoded identically to the phase. If it were possible to RTC complex values and thereby retain the phase, that would be ideal, but otherwise I would take just the geocoded phase. The only requirement is that both the amplitude and phase are geocoded in an identical manner such that the fields align.

piyushrpt I am reviewing the literature on RTC generation, but if there is any aggregation of data, that process needs to be consistent for both the phase and amplitude. From what I understand, the RTC process could be performed on both components of the complex values separately.

What do you want to do with the geocoded phase? It is only useful for interferometry, and only if phase-corrected.

That’s classified. Rest assured I need it to perform science.

Is it not possible to perform InSAR before terrain correction? If you want to create InSAR-enabled data cubes, additional phase-correction is necessary, see:

148 SAR2CUBE: A Data Cube Concept for Providing Both Interferometric and Intensity Based Products - YouTube

I didn’t notice anything about phase correction in that video. Did I miss something? Perhaps you can explain what additional phase correction you are referring to? I am not performing InSAR but I will be looking at the degree of coherence.

@pf4d - the challenge is that you cannot use an interpolator/ weighting that does not respect the spectra of the complex signal.

  1. Let z1 and z2 represent the original SLC images in either beta0 / sigma0,E.
  2. Let’s then say we did some amplitude manipulation by modifying both real and complex in the same way. Without going into details lets say these new values are (p1.z1) and (p2.z2) where p1 and p2 are images themselves of scaling factors that you obtained using whatever method you chose for adjusting amplitudes.
  3. If you use these new images - coh(p1.z1, p2.z2) can look completely different from coh(z1, z2).
  4. FFT(p1.z1) can look radically different from FFT(z1) unless p1 is really smooth compared to the window over which you are computing coherence or multilooked InSAR phase.

You can generate this type of SLC product for fun, but the resulting product would not be very useful for InSAR applications - which I’m assuming is the interest in getting phase. FFT(sigma0,E) is not very different from FFT(beta0) - which is why you can do this with sigma0,E and not with RTC corrected amplitudes.

1 Like

To clarify: In order to do interferometry, the coregistered phase of two images is computed. I require these phase values (or complex values) to be geocoded and output.

I have a copy of Howard Zebker’s InSAR code which geocodes SLC values prior to computing the interferogram; likely this will be the route I will take, but it would be nice to discuss the option of outputting the phase or complex values with SNAP.

Is that code by any chance in the public domain? We are interested in providing this functionality in SNAP, of course, but developing it takes time.

The code for geocoding bursts based on isce3 is being developed in the public domain here:

1 Like

@mengdahl no, the code is not available.