insarlab / MintPy

Miami InSAR time-series software in Python
https://mintpy.readthedocs.io
Other
575 stars 252 forks source link

workflow/application script for FRInGE outputs #326

Open forrestfwilliams opened 4 years ago

forrestfwilliams commented 4 years ago

Description of the desired feature FRInGE is a great new tool for InSAR deformation analysis that estimates a deformation time series from a stack of SLCs, but many InSAR utilites (DEM correction, troposphere correction, geocoding) that are not implement within FRInGE. Enabling MintPy support of FRInGE outputs would be a great way to increase the utility of FRInGE without needing to recreate these utilities.

Describe the solution you'd like It would be great if a second application (timeseriesApp?) was created that could simplify the use of FRInGE outputs within the MintPy framework

Additional context I have already create a script (prep_fringe.py) that can ingest FRInGE outputs and create temporalCoherence.h5 and timeseries.h5 files, but more work needs to by done to use this script within an application. Mainly, the creation of a different application script that does not include the SBAS steps, and inclusion of prep_fringe.py options within a configuration file.

Are you willing to help implement and maintain this feature? Yes/No Yes

welcome[bot] commented 4 years ago

👋 Thanks for opening your first issue here! Please make sure you filled out the template with as much detail as possible. We appreciate that you took the time to contribute! Please make sure you read our Contributing Guide

yunjunz commented 4 years ago

Hi @4restwilliams, it's awsome that you have the prep_fringe.py! I definitely agree with you about timeseriesApp.py.

Since all scripts within $MINTPY_HOME/mintpy folder is executable, I recommend you to try all steps after prep_fringe.py in the command line first, to make sure you have everything working as expected in prep_fringe, before working on timeseriesApp. They are:

tropo_pyaps3.py
remove_ramp.py
dem_error.py
timeseries_rms.py
reference_date.py
timeseries2velocity.py
geocode.py
save_kmz.py

You can check the detailed usage of them by running -h or look at the message from smallbaselineApp.py, which calls all of them internally and prints out the calling command line as well.

yunjunz commented 4 years ago

After the above checking is done. The implementation of timeseriesApp should be simple, take a look at the TimeSeriesAnalysis class at L206. The new application could call this TimeSeriesAnalysis object and feed it with the defined steps, which is everything after invert_network in the STEP_LIST. So this script can be very similar to smallbaselineApp.py but without the big TimeSeriesAnalysis definition.

forrestfwilliams commented 4 years ago

Hi @yunjunz I've checked all the executeables, and they complete successfully. I'll start looking into TimeSeriesAnalysis class.