Varres - Variable Resolution Interferogram sampler¶
Varres is a variable resolution interferogram sampler that implements a curvature-based quadtree like resampler for reducing unwrapped interferometric phase to a smaller subset of observations. Using the reduced set of observations which represent the non-redundant observations in an unwrapped interferogram in modelling significantly decreases computation cost. Moroever, it can reduce bias due to uneven distribution of coherent samples in the unwrapped interferogram. The package is based on the work published in
Coseismic Deformation from the 1999 Mw 7.1 Hector Mine, California, Earthquake as Inferred from InSAR and GPS Observations, M. Simons, Y. Fialko, and L. Rivera, Bull. Seismol. Soc. Am., 92, 1390-1402, 2002. [PDF]
The original matlab package has been extended to include support for using a predefined map for resampling and estimation of an approximate covariance matrix for the samples.
We recommend using standard repository management software like yum (or) apt-get on Linux machines or Macports (or) Fink on Mac OS systems to install the pre-requisite packages. The following packages are needed to install varres:
- Python (Atleast 2.4 recommended)
Once the pre-requisite packages are installed, checkout the latest version of the source code using svn.
svn co http://earthdef.caltech.edu/svn/varres
Add the full path to the varres directory to the environment variable PYTHONPATH.
Varres can handle data from a bunch of ROI-PAC based processing chains. Currently, the code is designed to work with the geocoded outputs.
For resampling an unwrapped interferogram with a given geometry file from ROI-PAC and threshold of 0.6 cm
> python $varresdir/decompose.py -i new_geo_20081026-20080921.unw -g geo_incidence.unw -t 0.6 -o newtest
If a geometry file is not available, we could use the default geometry information in the .rsc file
> python $varresdir/decompose.py -i new_geo_20081026-20080921.unw -default -t 0.6 -o newtest
For resampling a range pixel offset file with measurements in meters
> python $varresdir/decompose.py -i new_geo_20081026-20080921.unw -noscale -default -mult 100.0 -t 0.6 -o newtestFor more details, on all the options available refer to the next section.
The main program that is distributed with varres is decompose.py. This script takes a single unwrapped interferogram and reduces to a smaller set of observations based on the local curvature. All the various inputs options can be displayed in command line using
> python $varresdir/decompose.py -h
The various command line options are
|-h, --help||Display help message and exit|
|-i I_NAME||Path to ROI-PAC unwrapped interferogram or pixel offsets file. Rsc file should also exist in the same directory.|
| -g S_NAME ||2 component (angles) or 3 component (LOS vector) file with same dimensions as geocoded unwrapped file.|
|-o OUT_NAME||Output filename prefix|
|-az||Data represents azimuth offsets / MAI interferogram. Default: False when unspecified.|
|-default||Use default geometry from .rsc file. Default: False when unspecified.|
|-t THRESH||Threshold for resampling in cm.|
|-var||Use variance rather than curvature. Default: False when unspecified.|
|-nseg NSEG||Number of vertical segments into which the interferogram is divided into before processing. This help reduces memory usage.|
|-noplot||Turn off plotting. Default: always plots.|
|-covar||Compute approximate covariance between the samples. Default: False if not specified|
|-minsize MINSIZE||Minimum size of the resampling boxes. Default: 2|
|-maxsize MAXSIZE||Maximum size of the resampling boxes. Default: Infinite|
|-noscale||Stop script from scaling phase in radian to cm. Default: Always scales using wavelength information in RSC file|
|-mult MULT||Additional multiplication factors to be applied to input file before resampling. Default: 1|
|-minres MINRES||Minimum resolution level. Resolution level 1 corresponds to the whole image. Used when maxsize is not specified. Default: 2|
|-vflip||Flip the image in vertical direction before resampling. Default: False if unspecified|
|-nfrac NFRAC||Fraction of pixels to be randomly selected for covariance function computation. Default: 0.1|
|-dscale DSCALE||Distance scaling factor for computing the covariance function. Default: 0.001|
|-rsp||Store the resampling map to be used with other data sets. Default: False|
The program produces three output files:
- OUT_NAME.txt (Always) -> An ASCII fill with the sampled locations, data and variance
- OUT_NAME.cov (Optional) -> Binary float32 file with the covariance between samples in OUT_NAME.txt
- OUT_NAME.rsp (Optional) -> The resampling map that was used to reduce the original data to sparse samples.
We also provide another utility named decomposewithmap.py with a similar set of options as decompose.py. This program can be used to apply the same resampling scheme to multiple sets of images and uses an rsp file in the format produced by decompose.py as one of the inputs.
1. Coseismic Deformation from the 1999 Mw 7.1 Hector Mine, California, Earthquake as Inferred from InSAR and GPS Observations, M. Simons, Y. Fialko, and L. Rivera, Bull. Seismol. Soc. Am., 92, 1390-1402, 2002.
2. Agram, P. and R. Jolivet, Variable resolution interferogram resampler - User Guide (2012), http://earthdef.caltech.edu.