ISCE_INSAR/examples/input_files/alos2/alos2App.xml

400 lines
26 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<alos2App>
<component name="alos2insar">
<!--Note that, in ScanSAR-stripmap interferometry, ScanSAR must be reference! see section
2. SET PARAMETERS in 'alos2_tutorial.txt' to determine if you are doing ScanSAR-stripmap
interferometry-->
<property name="reference directory">../../../z_common_data/insarzd_test_dataset/gorkha/d048/150405</property>
<property name="secondary directory">../../../z_common_data/insarzd_test_dataset/gorkha/d048/150503</property>
<!--Normally no need to set frame numbers, but if reference and secondary frames do not meet the following
one-to-one correspondence, you need to set frame numbers here. See instructions below on how to find
and set frame numbers.
Reference Data Folder Secondary Data Folder
Frame **** ............. Frame ****
Frame **** ............. Frame ****
Frame **** ............. Frame ****
Frame **** ............. Frame ****
-->
<property name="reference frames">[3055]</property>
<property name="secondary frames">[3055]</property>
<!--optional, see instructions below on how to get DEM and water body. If you only process one
interferogram, you can choose not to set these and the program will download them for you. If you
process a stack of interferograms, it's better to set these so that the program won't download them
multiple times. -->
<property name="dem for coregistration">../../../z_common_data/insarzd_test_dataset/gorkha/dem/demLat_N22_N33_Lon_E078_E092.dem.wgs84</property>
<property name="dem for geocoding">../../../z_common_data/insarzd_test_dataset/gorkha/dem/3/demLat_N22_N33_Lon_E078_E092.dem.wgs84</property>
<property name="water body">/net/kraken/nobak/cunrenl/z_common_data/insarzd_test_dataset/gorkha/wbd/swbdLat_N22_N33_Lon_E078_E092.wbd</property>
<!--=========================================================================================
See also comments of parameters "number of range looks ion" and "number of azimuth looks ion"
below to set a smaller number of looks to avoid phase aliasing in some areas (such as edges of
Tibetan Plateau, where there might be strong tropospheric variations due to large height
differences).
==========================================================================================-->
<!--=====================================================================================================
instructions for alos2App.py/alos2burstApp.py
This is the input file of alos2App.py/alos2burstApp.py. Below are all parameters users can set.
Instructions on how to set these parameters are also provided. Parameter default values are shown in the
brackets. Remove the first four characters and the last three characters in a parameter line to set a
parameter value.
For the techinques and algorithms implemented in the software, refer to:
1. ScanSAR or multi-mode InSAR processing
C. Liang and E. J. Fielding, "Interferometry with ALOS-2 full-aperture ScanSAR data,"
IEEE Transactions on Geoscience and Remote Sensing, vol. 55, no. 5, pp. 2739-2750, May 2017.
2. Ionospheric correction, burst-by-burst ScanSAR processing, and burst-mode spectral diversity (SD) or
multi-aperture InSAR (MAI) processing
C. Liang and E. J. Fielding, "Measuring azimuth deformation with L-band ALOS-2 ScanSAR interferometry,"
IEEE Transactions on Geoscience and Remote Sensing, vol. 55, no. 5, pp. 2725-2738, May 2017.
3. Ionospheric correction
C. Liang, Z. Liu, E. J. Fielding, and R. Bürgmann, "InSAR time series analysis of L-band wide-swath SAR
data acquired by ALOS-2,"
IEEE Transactions on Geoscience and Remote Sensing, vol. 56, no. 8, pp. 4492-4506, Aug. 2018.
======================================================================================================-->
<!--Note that, in ScanSAR-stripmap interferometry, ScanSAR must be reference!-->
<!--<property name="reference directory">None</property>-->
<!--<property name="secondary directory">None</property>-->
<!--=========================================================================================
This is a list of frames, e.g., [0680, 0690]. Here is how you can find frame number. Below
is a JAXA SLC product
0000168233_001001_ALOS2183010690-171012.zip
After you unpack the JAXA SLC product, you will find an image file like:
IMG-HH-ALOS2183010685-171012-FBDR1.1__A
^^^^
The number 0685 (indicated by ^) is the frame number. DON'T use the frame number in the zip
file name, as it may be incorrect (like the above example).
==========================================================================================-->
<!--<property name="reference frames">None</property>-->
<!--<property name="secondary frames">None</property>-->
<!--<property name="reference polarization">HH</property>-->
<!--<property name="secondary polarization">HH</property>-->
<!--=========================================================================================
for ScanSAR-stripmap, always process all swaths, user's settings are overwritten
==========================================================================================-->
<!--<property name="starting swath">None</property>-->
<!--<property name="ending swath">None</property>-->
<!--=========================================================================================
DEM and water body will be automatically downloaded if not specified. If you want to process
multiple pairs over one area, we recommend downloading your own dem using to avoid download
it multiple times. Here is how you can download a DEM and water body.
#3 arcsec for geocoding
mkdir dem_3_arcsec
cd dem_3_arcsec
dem.py -a stitch -b 29 37 125 133 -k -s 3 -c -f -u https://e4ftl01.cr.usgs.gov/MEASURES/SRTMGL3.003/2000.02.11
fixImageXml.py -i demLat_*_*_Lon_*_*.dem.wgs84 -f
rm *.hgt *.log demLat_*_*_Lon_*_*.dem demLat_*_*_Lon_*_*.dem.vrt demLat_*_*_Lon_*_*.dem.xml
cd ../
#1 arcsec for creating differential interferogram
mkdir dem_1_arcsec
cd dem_1_arcsec
dem.py -a stitch -b 29 37 125 133 -k -s 1 -c -f -u https://e4ftl01.cr.usgs.gov/MEASURES/SRTMGL1.003/2000.02.11
fixImageXml.py -i demLat_*_*_Lon_*_*.dem.wgs84 -f
rm *.hgt *.log demLat_*_*_Lon_*_*.dem demLat_*_*_Lon_*_*.dem.vrt demLat_*_*_Lon_*_*.dem.xml
cd ../
#water body
#do correct missing water body tiles problem here!!! check usage of wbd.py for more details,
#or simply follow the commands below
mkdir wbd_1_arcsec
cd wbd_1_arcsec
wbd.py 29 37 125 133
fixImageXml.py -i swbdLat_*_*_Lon_*_*.wbd -f
cd ../
==========================================================================================-->
<!--<property name="dem for coregistration">None</property>-->
<!--<property name="dem for geocoding">None</property>-->
<!--=========================================================================================
this water body is used to create water body in radar coordinate used in processing.
radar-coordinate water body is created three times in runRdr2Geo.py, runLook.py and
runIonUwrap.py, respectively. radar-coordinate water body is used in:
(1) determining the number of offsets in slc offset estimation, and radar/dem offset
estimation
(2) masking filtered interferogram or unwrapped interferogram
(3) determining the number of offsets in slc residual offset estimation after geometric
offset computation in coregistering slcs in dense offset.
(4) masking dense offset field
(5) mask coherence in ionosphere fitting and filtering
==========================================================================================-->
<!--<property name="water body">None</property>-->
<!--=========================================================================================
if only dense offset is needed, do InSAR can be set to False to skip InSAR steps.
==========================================================================================-->
<!--<property name="do InSAR">True</property>-->
<!--<property name="use virtual file">True</property>-->
<!--<property name="use GPU">False</property>-->
<!--=========================================================================================
if ScanSAR burst synchronization is lower than this threshold, an MBF filter is applied to
the reference/secondary images to remove non-overlap azimuth burst spectrum to improve coherence.
==========================================================================================-->
<!--<property name="burst synchronization threshold">75.0</property>-->
<!--=========================================================================================
crop slcs to the reference/secondary overlap area. Cropping is always done for ScanSAR-stripmap
interferometry
==========================================================================================-->
<!--<property name="crop slc">False</property>-->
<!--=========================================================================================
This is for determining the number of offsets to be estimated between reference and secondary SLCs.
for areas where no water body data available, turn this off, otherwise the program will use
geometrical offset, which is not accuate enough. If it still does not work, set
"number of range offsets for slc matching" and "number of azimuth offsets for slc matching"
==========================================================================================-->
<!--<property name="use water body to dertermine number of matching offsets">True</property>-->
<!--=========================================================================================
These are 2-D lists, with frame as the first dimension and swath as the second dimension.
For example, if you want to process two frames and three swaths, you can specify one of
these parameters as:
[[20, 30, 20],[15, 20, 20]]
==========================================================================================-->
<!--<property name="number of range offsets for slc matching">None</property>-->
<!--<property name="number of azimuth offsets for slc matching">None</property>-->
<!--============================================================================================================================================
Instructions on number of looks used by the software
The software first takes number of range/azimuth looks 1, and then take any other number of range/azimuth looks (2, sim and ion).
Here are the purposes of these number of looks. Usually there is no need to set number of range/azimuth looks sim (automatically set), so it is
not explained here.
number of range/azimuth looks 1: save space, remove speckle noise, equalize sample size, match original resolution (full-aperture)
number of range/azimuth looks 2: make interferogram not too small or large
number of range/azimuth looks ion: make interferogram for ionosphere estimation not too small or large, facilitate ionosphere filtering
total number of looks of InSAR processing is: number of range/azimuth looks 1 * number of range/azimuth looks 2
total number of looks in ionosphere estimation is: number of range/azimuth looks 1 * number of range/azimuth looks ion
total number of looks in radar/DEM matching is: number of range/azimuth looks 1 * number of range/azimuth looks sim
Below is the default number of looks used by the software. REMEMBER, NORMALLY YOU ONLY NEED TO CHANGE number of range/azimuth looks 2!!!
============================================================================================================================================
Operation Mode | Mode (AUIG2) | Mode (in file name) | look1 (r*a) | look2 (r*a) | total insar (r*a) | look_ion (r*a) | total ion (r*a)
============================================================================================================================================
spotlight | SPT | SBS | 2*4 | 4*4 | 8*16 | 16*16 | 32*64
============================================================================================================================================
stripmap | SM1 | UBS, UBD | 2*3 | 4*4 | 8*12 | 32*32 | 64*96
| SM2 | HBS, HBD, HBQ | 2*4 | 4*4 | 8*16 | 16*16 | 32*64
| SM3 | FBS, FBD, FBQ | 2*4 | 4*4 | 8*16 | 16*16 | 32*64
============================================================================================================================================
ScanSAR | WD1 | WBS, WBD | 1*14 | 5*2 | 5*28 | 80*32 | 80*448
| WD1 | WWS, WWD | 2*14 | 5*2 | 10*28 | 80*32 | 160*448
| WD2 | VBS, VBD | 1*14 | 5*2 | 5*28 | 80*32 | 80*448
============================================================================================================================================
To find the acquisition mode code, check the unpacked ALOS-2 product. For example, in the following
file name
IMG-HH-ALOS2183010685-171012-FBDR1.1__A
^^^
FBD (indicated by ^) is the acquisition mode code.
=============================================================================================================================================-->
<!--=========================================================================================
These are the numbers of looks to be taken when forming the interferogram
==========================================================================================-->
<!--<property name="number of range looks 1">None</property>-->
<!--<property name="number of azimuth looks 1">None</property>-->
<!--=========================================================================================
These are the numbers of looks to be taken after taking the numbers of range/azimuth looks 1
==========================================================================================-->
<!--<property name="number of range looks 2">None</property>-->
<!--<property name="number of azimuth looks 2">None</property>-->
<!--=========================================================================================
These are the numbers of looks to be taken after taking the numbers of range/azimuth looks 1.
This is for matching the radar image and DEM
==========================================================================================-->
<!--<property name="number of range looks sim">None</property>-->
<!--<property name="number of azimuth looks sim">None</property>-->
<!--<property name="do matching when computing adjacent swath offset">True</property>-->
<!--<property name="do matching when computing adjacent frame offset">True</property>-->
<!--=========================================================================================
These are interferogram filtering parameters
==========================================================================================-->
<!--<property name="interferogram filter strength">0.3</property>-->
<!--<property name="interferogram filter window size">32</property>-->
<!--<property name="interferogram filter step size">4</property>-->
<!--<property name="remove magnitude before filtering">True</property>-->
<!--=========================================================================================
water body mask starting step: None, filt, unwrap
==========================================================================================-->
<!--<property name="water body mask starting step">unwrap</property>-->
<!--=========================================================================================
This is a list of files to be geocoded
Wild card such as * is accepted, e.g. filt_*-*_5rlks_28alks.unw.conncomp
==========================================================================================-->
<!--<property name="geocode file list">None</property>-->
<!--=========================================================================================
This is a four-element list [s, n, w, e], e.g. [26.24, 30.04, 33.45, 37.79].
==========================================================================================-->
<!--<property name="geocode bounding box">None</property>-->
<!--=========================================================================================
geocode interpolation method: sinc, bilinear, bicubic, nearest
==========================================================================================-->
<!--<property name="geocode interpolation method">None</property>-->
<!--=========================================================================================
These parameters are for ionospheric corrections
==========================================================================================-->
<!--<property name="do ionospheric phase estimation">True</property>-->
<!--<property name="apply ionospheric phase correction">True</property>-->
<!--=========================================================================================
These are the numbers of looks to be taken after taking the numbers of range/azimuth looks 1.
This is for ionospheric correction.
Use a larger number of looks results in smaller image size, which saves time in filtering in
ionosphere estimation. However, a larger number of looks may also lead to phase aliasing in
the resulting inteferograms and therefore lead to phase unwrapping errors, which causes
significant errors in ionosphere estimation.
If the area has strong troposhere or phase variations (normally in areas with large height
differences such as edges of Tibetan Plateau), a smaller number of looks should be used to
avoid phase aliasing after taking looks. E.g. 1/2 of the default number of range/azimuth looks
ion that can be found in the annotation of parameter 'number of range looks 1'.
==========================================================================================-->
<!--<property name="number of range looks ion">None</property>-->
<!--<property name="number of azimuth looks ion">None</property>-->
<!--=========================================================================================
seperated islands or areas usually affect ionosphere estimation and it's better to mask them
out. check ion/ion_cal/lower_40rlks_224alks.int (here number of looks 40 and 224 depends on
your particular case) for areas to be masked out.
The parameter is a 2-D list. Each element in the 2-D list is a four-element list: [firstLine,
lastLine, firstColumn, lastColumn], with line/column numbers starting with 1. If one of the
four elements is specified as -1, the program will use firstLine/lastLine/firstColumn/
lastColumn instead. For exmple, if you want to mask the following two areas out, you can
specify a 2-D list like:
[[100, 200, 100, 200],[1000, 1200, 500, 600]]
==========================================================================================-->
<!--<property name="areas masked out in ionospheric phase estimation">None</property>-->
<!--=========================================================================================
a 2-D list. e.g. if you are processing two ScanSAR frames, each with five swaths, and you do
not want phase difference of swath 1 and 2 in frame 2 snap to fixed values, the parameter can be specified
as:
[[True, True, True, True], [False, True, True, True]]
==========================================================================================-->
<!--<property name="swath phase difference snap to fixed values">None</property>-->
<!--=========================================================================================
a 2-D list. e.g. if you are processing two ScanSAR frames, each with five swaths, and you want
to use a phase difference value 0.21 (rad) for swath 1 and 2 in frame 2, the parameter can be
specified as:
[[None, None, None, None], [0.21, None, None, None]]
This parameter has highest priority in determing phase difference between swaths.
==========================================================================================-->
<!--<property name="swath phase difference of lower band">None</property>-->
<!--<property name="swath phase difference of upper band">None</property>-->
<!--<property name="apply polynomial fit before filtering ionosphere phase">True</property>-->
<!--<property name="whether filtering ionosphere phase">True</property>-->
<!--<property name="apply polynomial fit in adaptive filtering window">True</property>-->
<!--<property name="whether do secondary filtering of ionosphere phase">True</property>-->
<!--<property name="maximum window size for filtering ionosphere phase">301</property>-->
<!--<property name="minimum window size for filtering ionosphere phase">11</property>-->
<!--<property name="window size of secondary filtering of ionosphere phase">5</property>-->
<!--=========================================================================================
Normally no need to set this parameter, it will be automatically determined.
==========================================================================================-->
<!--<property name="standard deviation of ionosphere phase after filtering">None</property>-->
<!--=========================================================================================
parameters for filtering subband interferograms used for ionospheric phase estimation
==========================================================================================-->
<!--<property name="filter subband interferogram">False</property>-->
<!--<property name="subband interferogram filter strength">0.3</property>-->
<!--<property name="subband interferogram filter window size">32</property>-->
<!--<property name="subband interferogram filter step size">4</property>-->
<!--<property name="remove magnitude before filtering subband interferogram">True</property>-->
<!--=========================================================================================
These parameters are for dense offset
==========================================================================================-->
<!--<property name="do dense offset">False</property>-->
<!--<property name="estimate residual offset after geometrical coregistration">True</property>-->
<!--<property name="delete geometry files used for dense offset estimation">False</property>-->
<!--=========================================================================================
#For the following set of matching parameters
from: dense offset estimation window width
to: dense offset covariance surface oversample window size
Normally we only have to set the following parameters. A good set of parameters other than default is:
<property name="dense offset estimation window width">128</property>
<property name="dense offset estimation window hight">128</property>
<property name="dense offset skip width">64</property>
<property name="dense offset skip hight">64</property>
==========================================================================================-->
<!--<property name="dense offset estimation window width">64</property>-->
<!--<property name="dense offset estimation window hight">64</property>-->
<!--=========================================================================================
NOTE: actual number of resulting correlation pixels: offsetSearchWindowWidth*2+1
==========================================================================================-->
<!--<property name="dense offset search window width">8</property>-->
<!--=========================================================================================
NOTE: actual number of resulting correlation pixels: offsetSearchWindowHeight*2+1
==========================================================================================-->
<!--<property name="dense offset search window hight">8</property>-->
<!--<property name="dense offset skip width">32</property>-->
<!--<property name="dense offset skip hight">32</property>-->
<!--<property name="dense offset covariance surface oversample factor">64</property>-->
<!--<property name="dense offset covariance surface oversample window size">16</property>-->
<!--<property name="mask dense offset with water body">True</property>-->
<!--<property name="do offset filtering">False</property>-->
<!--<property name="offset filter window size">3</property>-->
<!--<property name="offset filter snr threshold">0.0</property>-->
<!--=========================================================================================
system parameters, better not set these
==========================================================================================-->
<!--<property name="pickle dump directory">PICKLE</property>-->
<!--<property name="pickle load directory">PICKLE</property>-->
<!--<property name="renderer">xml</property>-->
</component>
</alos2App>