Is there any way to get flat-earth phase of InSAR?


a function “substract flat-earth phase” works well in “Interferogram Formation” of InSAR in SNAP, but I have to use the flat-earth phas to process in my code. I would like to ask is there any way to get the flat-earth phase?


snap help like:

I have found a way to get the flat earth phase by modifing the source code of s1tbx. Steps like this:

  1. set up the enviorment and build SNAP source code with S1TBX. refer: How to build SNAP from sources - SNAP - Confluence

  2. importing source code as project in IDE likes IntelliJ IDEA. IntelliJ IDEA - SNAP - Confluence

  3. go to file snap_source\s1tbx-master\s1tbx-op-insar\src\main\java\org\esa\s1tbx\insar\gpf\, replace if (subtractFlatEarthPhase && OUTPUT_PHASE) { with if (subtractFlatEarthPhase) { in line 528, replace if (OUTPUT_PHASE) { with if (true) { in line 930.

  4. rebuild code, for example run mvn clean install -Dmaven.test.skip=true in command.

  5. return IDE, run project. waiting for snap desktop start.

  6. in snap, Radar > Interferometric > Products > Interferogram Formation > select Subtract flat-earth phase > Run. After processing, there will be an additional band named fep_xx which is flat-earth phase, like:

  7. if use warpToPI(fep_phase) in matlab, it will show the stripe like:

1 Like