forked from williamBarnhart/InSamp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.txt
138 lines (99 loc) · 6.1 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
InSAR Downsampling and Noise Estimation (InSamp)
MATLAB Source Code
questions? email: william-barnhart-1@uiowa.edu with Subject ÒInSamp HelpÓ
InSamp is an open source suite of scripts and functions designed to downsample spatially-dense InSAR observations into a computationally tractable number of observations based on a given starting deformation model. InSamp additionally estimates the covariance structure of the downsampled observations. InSamp has been used widely in InSAR studies of earthquake and volcanic deformation.
Software citations:
Lohman, R. B., and W. D. Barnhart (2010), Evaluation of earthquake triggering during the 2005-2008 earthquake sequence on Qeshm Island, Iran, J. Geophys. Res. Solid Earth, 115, 12413, doi:10.1029/2010JB007710.
Lohman, R. B., and M. Simons (2005), Some thoughts on the use of InSAR data to constrain models of surface deformation: Noise structure and data downsampling, Geochem. Geophys. Geosystems, 6(1), n/aÐn/a, doi:10.1029/2004GC000841.
Software Requirements
MATLAB
MATLAB Optimization Toolbox*
MATLAB Mapping Toolbox*
*These requirements are currently built into the current source code of InSamp; however, these are not requirements of the code and can be substituted with non-toolbox algorithms.
Data Requirements
Unwrapped interferogram (Current support for ISCE, GMTSAR, and ROI_PAC input files)
Line-of-sight (look) file
Starting deformation mechanism
Optional Data Inputs
Correlation/Coherence file used for phase masking
InSamp Modules
Fault Maker: GUI-based program for generating a starting fault model
Data Loaders: Suite of functions for loading the interferogram, look file, and correlation map
Resampler: Suite of functions for downsampling the interferogram
Noise Estimator: Suite of functions for estimating the covariance structure of the resampled interferogram
InSamp Recipe:
Pre-downsampling steps:
1. Set path
a. After downloading the source package, the InSamp directory and its subdirectories should be added to your MATLAB path
i. /path/to/InSamp
ii. /path/to/InSamp/FaultMaker
iii. /path/to/InSamp/Resampler
iv. /path/to/InSamp/DataLoaders
2. Process data
a. At a minimum, you will need an unwrapped, geocoded interferogram and the geocoded look/line-of-sight file to resample the data
b. Additionally, you may include a geocoded map of coherence that will be used to mask the unwrapped interferogram
c. Currently, InSamp accepts ISCE, ROI-PAC, and GMTSAR input files
i. GMTSAR input files need to be converted to .xyz files using grd2xyz
ii. Occasional updates to ISCE change the metadata file format which may cause the InSAR data loaders to fail. The current version is up to date for the 201704 release of ISCE
Downsampling steps:
3. Generate a starting fault model
a. InSamp requires a starting fault model that is used as both a spatial proxy for the resampling as well as a means to remove an estimate of the deformation signal for covariance estimation. The starting fault does not need to be a precise representation of the actual slip distribution; however, you should try to approximate the location, orientation and dimensions of the fault plane as closely as you reasonably can.
b. To generate a start model, run ÒfaultMakerÓ from the command line. This will launch a GUI interface from which you can load the unwrapped interferogram
c. If using GMTSAR data, use the load
d. Using the cursor, click on the unwrapped interferogram to denote the endpoints of the fault you would like to generate. You may click multiple times to generate a multi-segment fault.
e. Adjust the dip, width (down-dip width), and zt (depth to the top of the fault plane) values in the GUI interface.
f. Save the fault model when you are done as a .mat file
4. Fill out resamp_in.m file
a. Copy the file Òresamp_in.mÓ from the InSamp source directory to the directory where you plan to save your resampled data set
b. Edit the file to include the paths to your interferogram, look file, and (optionally) correlation file.
c. Supply the name of the save fault model from step 3 above
d. Edit the UTM zone to correspond to your work area
e. Edit the name of the file to be save (in .mat format)
f. Most of the other options can remain unchanged
5. Run the resampled
a. Execute Òresamptool_triÓ from the MATLAB command line and waitÉ
b. The resampler will go through multiple iterations that may take up to an hour to complete, depending on the size of your interferogram
WhatÕs generated?
After InSamp has run to completion, you will be left with a single saved structure that contains a structure variable ÒsavestructÓ with the following structure:
savestruct:
name
data
np
covstruct
zone
covstruct2
savestruct.name = the resampled filename
savestruct.data:
X: X position of observation points (in meters)
Y: Y position of observation points (in meters)
data: LOS displacements (in meters)
S: 3-component look vector
count: Number of pixels averaged into a single point
trix: polygon for plotting
triy: polygon for plotting
scale: defunct variable
trid: triangle id for spatial smoothing
savestruct.np = total number of resampled data points
savestruct.covstruct:
cov: full data covariance matrix
Var: variance of the entire data set
All other variables are intermittent steps related to the covariance estimation
savestruct.zone: UTM zone
savestruct.covstruct2: same as construct
To plot the resampled data, execute:
data = [savestruct.data.data];
trix = [savestruct.data.trix];
triy = [savestruct.data.triy];
figure
patch(trix,triy,data)
axis image; shading flat
Alternatively, to just plot the data locations:
data = [savestruct.data.data];
X = [savestruct.data.X];
Y = [savestruct.data.Y];
figure
scatter(X,Y,24,data,'filled')
axis image; shading flat
Example:
This InSamp distribution includes an example you can run from an ISCE interferogram. The directory inside of example includes all of the files that you need to retain from the ISCE processing workflow in order to resample the interferograms. Copy the resamp_in.m file from the example directory to your working directory and change the appropriate directory paths. Then execute Òresamptool_triÓ
Enjoy!