Is it the right way to create mask for phase unwrapping?

Hi everyone, I am using Sentinel-1 data to do InSAR research, then I found there are some water region in my working area, and may have some adverse effects when using snaphu to do phase unwrapping, it seems that SNAP cannot generate mask file for phase unwrapping , however, I occasionally find that in S1 TOPS Coregistration step, you can use “Mask out areas with no elevation” this option box to mask out some area which has no elevation in DEM.

Usually the Downloaded DEM only has few area has no elevation(almost all in river or sea), so I choose to edit the DEM to mask out the water region, I use region growing algorithm to manually extract the water region and assign them value to zero, make them become no elevation area in Coregistration step.

DEM before process:

DEM after process:


the black area in DEM value equal to zero, means no elevation.
note: The DEM I use is ASTGTM2 data, which generated by NASA.

Then I continue the workflow as usual, Coregistration->Interferogram Generation->Deburst->Create Subset Image->Topo Phase Removal->Phase Filtering->Multilooking->Phase Unwrapping.

Interferogram:

Topo Phase Removal:

Multilooking:

Phase Unwrapping:

We can see that it looks like creating a mask in whole processing step, and after masking the water area, it can generate better result in phase unwrapping.

So, here comes to my question, is it right to do so? I mean when I edit the DEM and mask the area no elevation in coregistration step, will it have bad influence on the quality of coregistration and even the continuous step?
And what if I choose not only mask the water area but also other self-define region, Does it make sense?

By the way, it seems that there exist some strange result in phase unwrapping figure, the Upper-left corner of the figure, at the junction of the water and land, some “blue box” out of the boundaries, what is happening?

7 Likes

I can’t tell if it is allowed to do that but it seems as a technically great solution to me. Many people in here asked how areas can be excluded from the unwrapping and this is a nice demonstration. To me it makes sense becaue the result looks totally fine.

Some people wanted to mask areas with low coherence. So you could first calculate coherence, create a binary mask with low coherence values and make them zero in the used DEM and then repeat the coregistration process with the modified DEM just as you explained.

Of course, there are still artefacts in the unwrapped image which depend on the algorithm (MST/MCF or TOPO/SMOOTH, as described in the manual).
But compared to unwrapping of the whole image these seem acceptable to me. It is obvious that these areas aren’t used for the later analysis anyways.

So thanks for sharing, maybe some others have comments as well!

4 Likes

@ABraun Thank you for your reply, and I’m glad to know it’s helpful to you, maybe viewing the source code could be a way to know whether it is suitable to do so, but it seems to be too complicated for me, so I just wait to see if others may meet the problem and give some advise.

@FeiLiu
How did you use the region growing algoritthm to extract areas of water bodies from the external DEM if you wouldn’t mind sharing?

I have tried a similar method but it didn’t work as intended

I have downloaded an external DEM SRTM and then using QGIS, I have filtered out the zero elevation pixels (which include the water bodies and this is what I have got

DEM before defining zero values as no data

DEM after defining zero values as no data

Then I have used this DEM during S1-TOPS coregistration

Then this is how the intensity of one of the coregistered pairs look like

and this is the resulted interferogram, looks very bad

Hi @Shadi1 ,

Thanks for your interest in my method. I saw your message several days ago, but it took me a while for me to find these scripts since it has been several years…

Luckily I do keep these scripts! So I attach it here, including the DEM file that I tested. It is written in C++ and uses the GDAL library. Hope you could find it helpful!

Let me know if you have any further questions.

Cheers,
Fei.
Regiongrowth.cpp (4.4 KB)

1 Like