Intensity and Coherence Correlation

when I use two split products as input to DEM assisted coregistration I get no error:


So it must be one of the other steps which causes this error.

BackGeocoding is not offered because it doesn’t like calibrated backscatter products. Have you tried selecting “complex output” during the calibration and then apply BackGeocoding instead of DEM-based coregistration.

It it working on my SNAP installed in Ubuntu. I’ve finished the analysis already. I have to try it again in Windows and figure out the source of the error.

Thank you.

Hi all,
I just started to work on an Intensity Correlation Analysis for landslide detection. I conducted the preprocessing within the snappy API, but I am stuck with the formula. I am not a mathematician at all, so I do not fully comprehend it. I found the formula within this paper (formula 14). It looks a bit different than the one posted here, but I guess it explains the same (?). Can someone elaborate on that formula? Is it taking the pixel value Im minus the average pixel value of the whole scene?
Thank you!

(the formula below is taken from Jung & Yun 2020)
Intensity Correlation Analysis Formula

I would guess it is a local average over a sliding window. You’ll need to experiment with different window-sizes and see what works (trade-off between resolution and noisiness/bias).

Thank you for your answer @mengdahl.
Do you know, if I can use the Coherence Estimation for the calculation of the intensity correlation between two Sigma0 images?
I haven’t found information on which formula is used by the Coherence Estimation.

Coherence-estimation works on complex-valued images and intensity images are scalar - I would be very surprised if it worked.

I used two S1 SLC images and did the following steps with both of them:
Split, Apply Orbit, Thermal Noise Removal, Calibration, Deburst, Speckle-Filter, Terrain Correction.
Afterwards, I coregistered them and applied the Coherence Estimation on the Sigma0 bands.
It worked so far, but I do not know whether the formula of the Coherence Estimation corresponds with the one I mentioned above.

Your processing-chain has some strange ordering of steps. What is the data-type of the sigma0 bands?

To be honest, I am not sure whether my approach is suitable or not. I try to rebuild the intensity correlation normalised difference, which is discussed by Jung, J.; Yun, S. 2020 (Evaluation of Coherent and Incoherent Landslide Detection Methods) in chapter 3.2.2. and can be found here. I haven’t worked in the field of intensity correlation, so I don’t know whether sigma0 is the right band for that task. If someone has experience in this field, I would appreciate some help here.


  • Are you sure you want to work with SLC instead of GRD (a lot simpler but multilooked)?
  • Can you check what the datatype of the Sigma0 band is? Is it still complex or has i been detected into a scalar?

You are probably right. It would indeed be easier to use GRD.
I want to compare coherent (CCD) and incoherent change detection (ICD) algorithms and needed the SLC anyway. I thought it would be better to use SLC for both CCD and ICD to reduce methodological errors.
I am not very sure, what you mean with “datatype of the Sigma0 band”, but it has the following properties:
-Unit: intensity
-Data Type: float32
Please let me know if you meant something different.

I don’t know what the coherence-operator will calculate when presented with non-complex data - @jun_lu could you comment?

Regarding your workflow, yes it makes sense to attempt both coherent and incoherent change-detection starting from the same SLCs. Also, do not speckle-filter as that will change the image statistcs that you want to study. The order of processing should be

  1. co-registration of a short temporal baseline pair.
  2. generation of coherent and incoherent correlations (still in radar geometry)
  3. terrain correction.

Thank you very much for your suggestions.
Is there a way to receive the intensity bands after the co-registration?
I don’t think that it is possible to calibrate a co-registered product, so it will be difficult to receive a sigma0 band, wouldn’t it?
Calibration is the only tool I am aware of to calculate sigma0 or gamma0, but please correct me, if I am wrong.
Or is there another tool besides the Coherence Estimation to calculate the correlation with a moving window?

That is not a complete workflow - sigma0 is generated by calibration of orbit updated thermal noise corrected imagery before step 1.

  1. generate signa0 images from a short temporal baseline (InSAR) pair
  2. co-registration
  3. generation of coherent and incoherent correlations
  4. terrain correction.

You should do the calibration first, but save the result in complex. Then follow the processing chain given above

Jun, what does the coherence estimation operator do when presented with two intensity bands (scalars)? I’m surprised it does not throw an error.

The coherence operator currently can handle three kinds of products: TOPSAR burst product, complex SLC product and detected product. In case of detected product, coherence is computed using the master and slave intensity bands in the same way as for the complex SLC product except no flat earth phase or topographic phase removal is performed.

1 Like

@jun_lu do you know which formula is used to calculate the coherence?
I found the following formula here:
Can you confirm it is the one used in the tool?

Yes, that’s the equation implemented

so GRD products aren’t suitable for coherence analysis?