I have been unsuccessful using the workflow recommended by ESA for deformation analysis of S1 interferograms. Noise is often mentioned but the level of noise I have is similar to the one of the examples and the outputs are flat, noisy and inconsistent with the data.
After weeks of looking into it, I think that there is a problem in the parameters of the snaphu.conf file.
The first problem when you export is that if you specify a mask, the function doesn’t write a mask and doesn’t specify a mask. I remind you the manual of snaphu. The mask description according to SNAPHU:
Read a byte mask from the specified file. The mask file should be the same size as the input array to be unwrapped. The mask should have the binary (not ASCII) value 0 where pixels of the input array are to be ignored during the primary optimization stage of the program. Values elsewhere should be binary 1. Masking is not applied until after the initialization stage of snaphu. Masked areas are treated as areas in which the solution phase value is irrelevant to the solution cost. The magnitude of the interferogram is set to zero in masked areas in the output file. Areas with zero magnitude in the input data are treated as masked areas as well. Areas near the edges of the input may also be masked via options in a configuration file.
Possibly I could make this binary file by hand in python and add the lines in the .conf
Input file of signed binary byte (signed char) values. Values in
the file should be either 0 or 1, with 0 denoting interferogram
pixels that should be masked out and 1 denoting valid pixels. The
array should have the same dimensions as the input wrapped phase
array.
BYTEMASKFILE snaphu.bytemask
Although it would be more elegant to have it generated by SNAP? Since there is the selector in the advanced option of export to SNAPHU?
In addition, there could be some errors generated in the configuration file. The option NCORRLOOKS
is defaulted to 23.33 which implies 16 looks with the current configuration. I think this is incorrect isn’t it? 2 S1_SLC doesn’t make 16 looks or do I misunderstand?
The description:
The number of independent looks: approximately equal to the
real number of looks divided by the product of range and
azimuth resolutions, and multiplied by the product of the
single-look range and azimuth spacings. It is about 0.53
times the number of real looks for ERS data processed
without windowing
Finally the format for the input file should be from [0,2pi[ and in SNAP it is [-pi,pi[. When I open the phase header exported back into SNAP I obtain incoherent numbers including negative numbers. Is that normal? This is all a bit of a black box so I struggle to find solution.
Here is the workflow to get the interferogram from 1 burst in the area I am studying. Once again, it doesn’t look worse than the one in the tutorial.
Back_geocoding_B6_ifg_flt.xml (6.0 KB)
Thanks for the clarification/support,