isce-framework / fringe

Fine Resolution InSAR With Generalized Eigenvectors (FRInGE)
Apache License 2.0
81 stars 42 forks source link

VRT dependencies out of ISCE interferogram stack? #41

Closed hardreddata closed 3 years ago

hardreddata commented 3 years ago

Hi,

I am enjoying testing this.

Following https://github.com/isce-framework/fringe/blob/master/docs/workflows.md I am having some issues with tops2vrt.py

number of SLCs discovered:  0
we assume that the SLCs and the vrt files are sorted in the same order
creating directory: slcs
write vrt file for each SLC ...

Which I think relates to https://github.com/isce-framework/fringe/blob/5db5d7cb6f7915fab529df53b9068301794008ae/python/tops2vrt.py#L100

The SLC folder in my stack contains

20201007/20201007.slc.full.vrt
20201007/20201007.slc.full.xml
20201019/20201019.slc.full.vrt
20201019/20201019.slc.full.xml
20201031/20201031.slc.full.vrt
20201031/20201031.slc.full.xml

And so the .slc.full search doesn't find anything.

Is there perhaps a mismatch with my ISCE versions? Or my interferogram workflow?

I did hack it to try and fix it but I am not convinced everything was working in the later steps.

Advice invited.

piyushrpt commented 3 years ago

You actually have to create a .slc.full with gdal_translate out of the .vrts. We build VRTs of the stack for use within FRINGE to organize images as bands of a stack and ministacks. If we point to the .slc.full.vrt files - these themselves point to individual burst VRTs - leading to a large number of files being left open when working with a stack - often exceeding os limits. If a solution can be found for this, that would be awesome maybe with some custom GDAL Config Options.

The ideal workflow is stack is generated and you preserve full res outputs for geometry, and coregistered SLCs (merged) - and then you can clean up the stack folder and all intermediate products. You then proceed onto fringe with just these products.

hardreddata commented 3 years ago

Thanks.

I was able to stackSentinel.py ... -W slc -c all to generate these missing files. I expect there was probably a quicker way to use my existing stack.

Then I found http://earthdef.caltech.edu/boards/4/topics/3735?r=3736#message-3736

Now the last step of Fringe is catching me

integratePS.py -s coreg_stack/slcs_base.vrt -d adjusted_wrapped_DS/ -t Sequential/Datum_connection/EVD/tcorr.bin -p ampDispersion/ps_pixels -o PS_DS --unwrap_method snaphu

And running the shell script

snaphu v1.4.2
Reading wrapped phase from file PS_DS/20201218_20210123.int
No weight file specified.  Assuming uniform weights
Reading correlation data from file PS_DS/tcorr_ds_ps.bin
NaN or infinity found in correlation data
Abort

I wonder if I need to handle NoDataValue somewhere in the process?

Thanks.

hardreddata commented 3 years ago

Hi @piyushrpt as a side note I am unable to register for http://earthdef.caltech.edu/projects/isce_forum I think something is broken.

I tried a gmail and then another email address. When I click on the activation link in the email:

Internal error

An error occurred on the page you were trying to access.
If you continue to experience problems please contact your Redmine administrator for assistance.

If you are the Redmine administrator, check your log files for details about the error.

I mention it as it looks like you are listed as a Manager of the forum, and I could not find any forum help contacts on the page.

Cheers.

piyushrpt commented 3 years ago

No clue. Must be something simple like preprocessing and filtering our nan values in the temporal correlation file used for unwrapping.

hardreddata commented 3 years ago

Many thanks. I will spend some time inspecting the output along the processing pipeline.