I have found a way to get the flat earth phase by modifing the source code of s1tbx. Steps like this:
-
set up the enviorment and build SNAP source code with S1TBX. refer: How to build SNAP from sources - SNAP - Confluence
-
importing source code as project in IDE likes IntelliJ IDEA. IntelliJ IDEA - SNAP - Confluence
-
go to file
snap_source\s1tbx-master\s1tbx-op-insar\src\main\java\org\esa\s1tbx\insar\gpf\InterferogramOp.java
, replaceif (subtractFlatEarthPhase && OUTPUT_PHASE) {
withif (subtractFlatEarthPhase) {
in line 528, replaceif (OUTPUT_PHASE) {
withif (true) {
in line 930. -
rebuild code, for example run
mvn clean install -Dmaven.test.skip=true
in command. -
return IDE, run project. waiting for snap desktop start.
-
in snap, Radar > Interferometric > Products > Interferogram Formation > select
Subtract flat-earth phase
> Run. After processing, there will be an additional band namedfep_xx
which is flat-earth phase, like:
-
if use
warpToPI(fep_phase)
in matlab, it will show the stripe like: