###### tags: `timeseries` `sbas` `mintpy`
# ISCE-mintpy processing NOTE
:::warning
- 請先參考[ISCE stack for timeseries](/NfHR48A1Q8u2LiceJH84OQ)中利用ISCE如何處理sentinel-1 影像堆。
- 安裝與環境變數設置請詳見官網
- 對於小型工作站,電腦(mintpy.compute)設定相當重要,會影響後續的處理速度(分割的working node數目)
- 大氣效應的設定也請注意是否成功安裝PyAPS與註冊"歐洲中期天氣預報中心"的註冊資料設定,否則請在設定檔中將大氣校正關閉
::: spoiler 演算法參考文獻
- Yunjun, Z., Fattahi, H., & Amelung, F. (2019). Small baseline InSAR time series analysis: Unwrapping error correction and noise reduction. Computers & Geosciences, 133, 104331. https://doi.org/10.1016/j.cageo.2019.104331
- Berardino, P., Fornaro, G., Lanari, R., & Sansosti, E. (2002). A New Algorithm for Surface Deformation Monitoring Based on Small Baseline Differential SAR Interferograms. Geoscience and Remote Sensing, IEEE Transactions On, 40, 2375–2383. https://doi.org/10.1109/TGRS.2002.803792
:::
## mintpy (小基線處理)
建立 mintpy資料夾,包含SenProject.cfg,內容如下:
```=
# vim: set filetype=cfg:
##------------------------------- ISCE/topsStack ----------------------##
#ssaraopt = --platform=SENTINEL-1A,SENTINEL-1B -r 128 -f 589,590,591,592,593 -e 2017-07-01
sentinelStack.boundingBox = '23.817175 24.211690 121.517727 121.718914'
#sentinelStack.subswath = 2,3 # comment
sentinelStack.numConnections = 4 # comment
sentinelStack.azimuthLooks = 3 # comment
sentinelStack.rangeLooks = 9 # comment
sentinelStack.filtStrength = 0.5 # comment
#sentinelStack.unwMethod = snaphu # comment
#sentinelStack.coregistration = auto # comment
#subset.y0:y1,x0:x1 = 1150:1600,1070:1670
##--------------------- MintPy -----------------------------##
mintpy.compute.memorySize = 15 #[float > 0.0], auto for 2, max memory to allocate in GB
mintpy.compute.cluster = local #[local / slurm / pbs / lsf / no], auto for no, cluster type
mintpy.compute.numWorker = 4 #[int > 1 / all], auto for 4 (local) or 40 (non-local), num of workers
mintpy.compute.config = auto #[none / slurm / pbs / lsf ], auto for none (same as cluster), config name
########## 1. Load Data (--load to exit after this step)
## load_data.py -H to check more details and example inputs.
mintpy.load.processor = isce
##---------for ISCE only:
mintpy.load.metaFile = ../master/IW*.xml
mintpy.load.baselineDir = ../baselines
##---------interferogram datasets:
mintpy.load.unwFile = ../merged/interferograms/*/filt_*.unw
mintpy.load.corFile = ../merged/interferograms/*/filt_*.cor
mintpy.load.connCompFile = ../merged/interferograms/*/filt_*.unw.conncomp
##---------geometry datasets:
mintpy.load.demFile = ../merged/geom_master/hgt.rdr
mintpy.load.lookupYFile = ../merged/geom_master/lat.rdr
mintpy.load.lookupXFile = ../merged/geom_master/lon.rdr
mintpy.load.incAngleFile = ../merged/geom_master/los.rdr
mintpy.load.azAngleFile = ../merged/geom_master/los.rdr
mintpy.load.shadowMaskFile = ../merged/geom_master/shadowMask.rdr
mintpy.load.waterMaskFile = None
mintpy.subset.lalo = auto # lat0:lat1:lon0:lon1
############ 3. reference ##################
#mintpy.reference.lalo = -0.30,-91.43
mintpy.deramp = linear
```
:::warning
- 檔名請以Sensor開頭,如Csk, Alos, Sen 等等。
- 因為是使用open source ISCE 所以必須要包含第一部分的ISCE/topsStack。如果使用winSAR ISCE 可不須給予ISCE的處理參數。
:::
## 執行 mintpy
進入mintpy 環境後(source mintpy_config),執行:
`smallbaselineApp.py project.cfg`
如果只想要執行特定步驟,可以指定參數`--dostep`、`--start`、`--end`
## Post processing
- View DATA:
```bash=
view.py geo_velocity.h5
tsview.py geo_timeseries_ERA5_ramp_demErr.h5
```
- SAVE date to other format:
```bash=
mask.py -m geo_temporalCoherence.h5 -t 0.5 geo_velocity.h5 -o geo_velocity_msk.h5
image_math.py -o geo_velocity_msk2.h5 geo_velocity.h5 * 1000
save_gmt.py geo_velocity_msk2.h5 -o geo_velocity.grd
# or save_gdal.py
```