GeFolki vs Collocation


I have tried using both the GeFolki and Collocation techniques to register a S1 image with a S2 image.

Unfortunately, I didn’t get good results with GeFolki: the slave image got resized and slightly stretched and wasn’t well aligned with the master image. I suppose that the GeFolki technique does not work in all circumstances. Any idea of what are the requirements to get good results?

I also tried using the Collocation technique for registration and it worked well. Usually how does the Collocation technique fare in comparison to GeFolki? Which technique is the most accurate? Am I right to think that the Collocation technique registers the two images based on their geocoordinates rather than the pixel values?

GeFolki tries to find matching features between both and then transforms one product to fit to the reference image. According to its documentation it can solve multiple constellations of image pairs, even rotated and titled, but I guess it needs good configuration.

Collocation is by far less complex, it takes two projected images and overlays them as they are. No shifts or rotations are corrected.
If S1 is terrain corrected and in the same coordinate system as S2 this usually works well.

Thank you for the clarification ABraun.

I have tried using GeFolki on two identical images and the output image didn’t overlap with the original images. Is this normal?

I haven’t been able to successfully apply GeFolki in SNAP as well.
If you are familiar with python, you can try applying the scripts directly (also with more options to modify parameters):

What data did you use for testing?

I used a Sentinel 2 image which consists of some random regions within Sicily.

The name of the file is “S2A_MSIL1C_20210904T095031_N0301_R079_T33SVB_20210904T105549”.


I don’t think there is need for coregistration then, because they already have precise geocoding. Or did I miss your point?

I had problems getting GeFolki to work in SNAP so I tried the simplest case which is coregistering two identical images. That didn’t work as well so I suppose that there is a problem with its implementation in SNAP.

that’s probably too easy. Maybe you can try two slightly different ones.