StaMPS Persistent Scatterer Practical

Similar documents
StaMPS Persistent Scatterer Exercise

PS User Guide Series Seismic-Data Display

The Effect of Plate Deformable Mirror Actuator Grid Misalignment on the Compensation of Kolmogorov Turbulence

Linkage 3.6. User s Guide

PulseCounter Neutron & Gamma Spectrometry Software Manual

MultiSpec Tutorial: Visualizing Growing Degree Day (GDD) Images. In this tutorial, the MultiSpec image processing software will be used to:

GPA for DigitalMicrograph

Tutorial 3 Normalize step-cycles, average waveform amplitude and the Layout program

Please feel free to download the Demo application software from analogarts.com to help you follow this seminar.

MAutoPitch. Presets button. Left arrow button. Right arrow button. Randomize button. Save button. Panic button. Settings button

PROCESSING YOUR EEG DATA

KRAMER ELECTRONICS LTD. USER MANUAL

NENS 230 Assignment #2 Data Import, Manipulation, and Basic Plotting

MestReNova A quick Guide. Adjust signal intensity Use scroll wheel. Zoomen Z

How to use the NATIVE format reader Readmsg.exe

BitWise (V2.1 and later) includes features for determining AP240 settings and measuring the Single Ion Area.

BEAMAGE 3.0 KEY FEATURES BEAM DIAGNOSTICS PRELIMINARY AVAILABLE MODEL MAIN FUNCTIONS. CMOS Beam Profiling Camera

AFM1 Imaging Operation Procedure (Tapping Mode or Contact Mode)

Analyzing and Saving a Signal

For the SIA. Applications of Propagation Delay & Skew tool. Introduction. Theory of Operation. Propagation Delay & Skew Tool

Practicum 3, Fall 2010

Processing data with Mestrelab Mnova

What s New in Raven May 2006 This document briefly summarizes the new features that have been added to Raven since the release of Raven

USB Mini Spectrum Analyzer User Manual PC program TSA For TSA5G35 TSA4G1 TSA6G1 TSA12G5

Analysis. mapans MAP ANalysis Single; map viewer, opens and modifies a map file saved by iman.

Part 1: Introduction to Computer Graphics

Extraction Methods of Watermarks from Linearly-Distorted Images to Maximize Signal-to-Noise Ratio. Brandon Migdal. Advisors: Carl Salvaggio

The Time Series Forecasting System Charles Hallahan, Economic Research Service/USDA, Washington, DC

Practicum 3, Fall 2012

Getting Started with the LabVIEW Sound and Vibration Toolkit

Lab 1 Introduction to the Software Development Environment and Signal Sampling

White Noise Suppression in the Time Domain Part II

MODFLOW - Grid Approach

KRAMER ELECTRONICS LTD. USER GUIDE MODEL: VP-790 Blending Projected Images on a Curved Screen. P/N: Rev 1

USB Mini Spectrum Analyzer User Manual TSA Program for PC TSA4G1 TSA6G1 TSA8G1

Getting Started. Connect green audio output of SpikerBox/SpikerShield using green cable to your headphones input on iphone/ipad.

Brain-Computer Interface (BCI)

Elasticity Imaging with Ultrasound JEE 4980 Final Report. George Michaels and Mary Watts

Lab experience 1: Introduction to LabView

A Matlab toolbox for. Characterisation Of Recorded Underwater Sound (CHORUS) USER S GUIDE

3.22 Finalize exact specifications of 3D printed parts.

7thSense Design Delta Media Server

LeCroy Digital Oscilloscopes

Mangala Field High Density 3D Seismic

Module 3: Video Sampling Lecture 16: Sampling of video in two dimensions: Progressive vs Interlaced scans. The Lecture Contains:

Sector sampling. Nick Smith, Kim Iles and Kurt Raynor

Enhancing Music Maps

Noise. CHEM 411L Instrumental Analysis Laboratory Revision 2.0

THE BERGEN EEG-fMRI TOOLBOX. Gradient fmri Artifatcs Remover Plugin for EEGLAB 1- INTRODUCTION

Hands-on session on timing analysis

Agilent DSO5014A Oscilloscope Tutorial

Browsing News and Talk Video on a Consumer Electronics Platform Using Face Detection

BVS Indoor Forecaster Predictive RF In-Building Survey Analysis for CW Signals

Digital Image and Fourier Transform

ISOMET. Compensation look-up-table (LUT) and Scan Uniformity

Application Note AN-708 Vibration Measurements with the Vibration Synchronization Module

Release Notes for LAS AF version 1.8.0

EASY-MCS. Multichannel Scaler. Profiling Counting Rates up to 150 MHz with 15 ppm Time Resolution.

EDDY CURRENT IMAGE PROCESSING FOR CRACK SIZE CHARACTERIZATION

v. 8.0 GMS 8.0 Tutorial MODFLOW Grid Approach Build a MODFLOW model on a 3D grid Prerequisite Tutorials None Time minutes

The BAT WAVE ANALYZER project

DATA! NOW WHAT? Preparing your ERP data for analysis

BASE-LINE WANDER & LINE CODING

The Cocktail Party Effect. Binaural Masking. The Precedence Effect. Music 175: Time and Space

ECE3296 Digital Image and Video Processing Lab experiment 2 Digital Video Processing using MATLAB

Streamcrest Motion1 Test Sequence and Utilities. A. Using the Motion1 Sequence. Robert Bleidt - June 7,2002

DELTA MODULATION AND DPCM CODING OF COLOR SIGNALS

Torsional vibration analysis in ArtemiS SUITE 1

USB Mini Spectrum Analyzer User s Guide TSA5G35

DVG-5000 Motion Pattern Option

WindData Explorer User Manual

Predicting the immediate future with Recurrent Neural Networks: Pre-training and Applications

EDL8 Race Dash Manual Engine Management Systems

AP Statistics Sec 5.1: An Exercise in Sampling: The Corn Field

CHARA Technical Report

Nanonis STM Simulator Tutorial

Intra-frame JPEG-2000 vs. Inter-frame Compression Comparison: The benefits and trade-offs for very high quality, high resolution sequences

Lecture 2 Video Formation and Representation

Upgrading E-learning of basic measurement algorithms based on DSP and MATLAB Web Server. Milos Sedlacek 1, Ondrej Tomiska 2

Lindell 254E User Manual. Lindell 254E. User Manual

Common Spatial Patterns 2 class BCI V Copyright 2012 g.tec medical engineering GmbH

Scanning For Photonics Applications

Lab 5 Linear Predictive Coding

NOTICE: This document is for use only at UNSW. No copies can be made of this document without the permission of the authors.

-1GUIDE FOR THE PRACTICAL USE OF NUBES

PYROPTIX TM IMAGE PROCESSING SOFTWARE

A Parametric Autoregressive Model for the Extraction of Electric Network Frequency Fluctuations in Audio Forensic Authentication

Task-based Activity Cover Sheet

Supplemental Material for Gamma-band Synchronization in the Macaque Hippocampus and Memory Formation

LabView Exercises: Part II

Capstone screen shows live video with sync to force and velocity data. Try it! Download a FREE 60-day trial at pasco.com/capstone

Advances in Motion Control

Introduction to QScan

FPA (Focal Plane Array) Characterization set up (CamIRa) Standard Operating Procedure

Programmer s Reference

MDynamicsMB. Overview. Easy screen vs. Edit screen

Common Spatial Patterns 3 class BCI V Copyright 2012 g.tec medical engineering GmbH

FPGA IMPLEMENTATION AN ALGORITHM TO ESTIMATE THE PROXIMITY OF A MOVING TARGET

Basic Pattern Recognition with NI Vision

(Skip to step 11 if you are already familiar with connecting to the Tribot)

Transcription:

StaMPS Persistent Scatterer Practical ESA Land Training Course, Leicester, 10-14 th September, 2018 Andy Hooper, University of Leeds a.hooper@leeds.ac.uk This practical exercise consists of working through an example data set acquired by the Sentinel-1 satellites over Mexico City between November 2015 and October 2016. StaMPS can be used for PS or small baseline analysis (or both combined) but in this practical you will use StaMPS to carry out PS processing only. The StaMPS manual can be found at: http://homepages.see.leeds.ac.uk/~earahoo/stamps/stamps_manual_v4.1b1.pdf N.B. Not all of the functionality in this practical is detailed in the manual 1. Pre-processing The pre-processing steps consists of forming a stack of co-registered single-master interferograms. This can be achieved using a number of different softwares, including SNAP, Gamma, ISCE, Doris. For this tutorial, we will use 18 single master interferograms produced using SNAP. Instructions for using SNAP to form the interferograms are not included here, but details on how to prepare data in SNAP and export to StaMPS can be found at https://github.com/mdelgadoblasco/snap2stamps. Candidate PS pixels have also already been selected from the interferograms using mt_prep_snap (see beginning of Chapter 4 in the StaMPS manual) The pixels selected have amplitude dispersion < 0.4, where amplitude dispersion is the ratio of amplitude standard deviation to mean amplitude. For efficiency reasons, StaMPS divides the region in the interferogram crop into overlapping patches, each of which are processed independently for the initial 5 steps. In this case I have selected 10 patches in range and 10 in azimuth, giving 100 patches in total. Now you can get going with the time series analysis. StaMPS consists of command line binaries and matlab functions, but for this practical you will only need to execute the matlab functionality. You will need to open linux on your PC using nomachine. 2. PS Selection 2.1 Open StaMPS environment The first time you run StaMPS, you need to set up the environment file, which tells linux where to find the StaMPS programs. To do this, double click on the delegatexxxxx icon on the Desktop. Select the STAMPS icon, followed by StaMPS-master. Select 1

StaMPS_CONFIG.bash and Display. In the top line, change the delegate number to your own, save and close. Double click on the delegatexxxxx icon on the Desktop again. Right click select STAMPS_DATA and select Open in Terminal. To source the environment you just set up for StaMPS, within the Terminal window that opens, enter $source ~/STAMPS/StaMPS-master/StaMPS_CONFIG.bash Change directory to the location of the preprocessed data by entering: $cd INSAR_20160606 List the files with: $ls Most of the input data are in the individual PATCH_ directories, but a few common input files are in the INSAR_20160606 directory itself. Next,start Matlab by entering within the terminal: $module load matlab $matlab The rest of the practical is controlled from the Matlab window that opens up. 2.2 Load PS candidiates By default StaMPS will cycle through all patches. However, it is a good idea to run Steps 1 to 5 for one patch only to start with, in order to optimise the processing parameters for your data set. You can do this by changing directory to the PATCH_34 directory before continuing by entering in Matlab: >> cd PATCH_34 Step 1 of StaMPS loads the data for the selected candidate PS pixels into matlab, and stores them in matlab workspace files. To run this step enter: >> stamps(1,1) The two parameters (1,1) given with the stamps command represent the step you wish to start at (first parameter) and the step you want to end with (second parameter). The above command will thus only run the 1 st step. Several workspace files are created with a 1 appended indicating that they contain data relating to candidate pixels (as opposed to 2 for selected pixels). You can list these by entering: >> ls *1.mat Check the phase of the candidate PS: >> ps_plot( w ) You will notice that a lot of pixels have been selected as initial PS candidates, and many of 2

them look quite noisy. The June 2016 interferogram uses the same image for master and slave, and hence has zero phase throughout. The ps_plot command has a lot of functionality, which you can check by typing >> help ps_plot The help command can be used to get more info for any of the StaMPS commands. Plot the 2 nd interferogram only, using the mean amplitude of all images as background: >> ps_plot( w,5,0,0,2) The defaut size of the plotted points (120 m) means that they merge into one another. You can change the size to 30 m by entering: >> setparm('plot_scatterer_size',30) The first input given to setparm is a string with the parameter name you want to change, and the second input is the value you want to set it to. The parameter name string given to setparm only has to be long enough to make it unique (you will be warned if ambiguous), so the following command would work as well (try it): >> setparm('plot_s',30) You can list all of the StaMPS parameters by entering: >> getparm Plot the 2 nd interferogram again with smaller plotted points (the up cursor key in Matlab retrieves earlier commands that you entered). You will notice that many candidate pixels are selected in a dark patches, which are bodies of water. This demonstrates that amplitude dispersion (used for candidate selection) is not a perfect proxy for phase noise. 2.3 Calculate temporal coherence This step estimates the spatially correlated phase for each PS candidate, subtracts it, estimates the spatially-uncorrelated DEM error for each pixel from the remaining phase, subtracts this and finally estimates the temporal coherence for each pixel from the residual phase. This process is iterated three times by default. To run this step enter: >> stamps(2,2) 2.3 Initial PS selection This step makes a selection of PS based on probability, by comparison to results for simulated data with random phase. This is usually done twice. After the first selection, the temporal coherence of each selected pixel is re-estimated more accurately, by dropping the pixel itself from the estimation of the spatially-correlated phase, and then the selection process is repeated. This second selection is quite slow, so to speed things up, I have set select_reest_gamma_flag to n, which skips the re-estimation. Run step 3: >> stamps(3,3) The main parameter that controls the number of PS selected is density_rand, which 3

refers to the average density of PS pixels per square kilometre that are selected in error. Normally it is good to leave this high, as these random phase pixels can be weeded out in Step 4, or in Step 5 if the data are to be downsampled. Try changing it to values between 1 and 100 and rerunning Step 3, and note the effect on the number of pixels selected. E.g: >> setparm( dens,1) >> stamps(3,3) 2.4. PS weeding In Step 4, some PS pixels selected in the previous step are dropped based on their proximity to each other and the smoothness of their deformation in time. The proximity weeding is turned off however ( weed_neighbours = n ). >> stamps(4,4) 2.5 Phase correction The phase of the remaining selected pixels is corrected for spatially-uncorrelated DEM error and stored as version 2 (PS candidates were version 1). >> stamps(5,5) This produces several new workspace files with a 2 appended. >> ls *2.mat Now it is possible to plot the phase of the selected pixels >> ps_plot( w ) Check the coherence by visually scanning the phase of each interferogram. How does this relate to the estimated phase standard deviations output by Step 5? Try plotting an individual interferogram, e.g. to plot the tenth one: >> ps_plot( w,1,0,0,10) Have most of the pixels in the water been dropped? Check the amplitude of points remaining in the water could here be something solid projecting from the water acting as a PS (N.B. You can zoom in and out)? 2.6. Iteration of Steps Try changing the weed_standard_dev parameter to 1.2 (this is the threshold standard deviation in radians) and rerunning steps 4 to 5. How does this change things? Steps 4 and 5 are quick, so try playing with weed_standard_dev. You want to end up choosing a value that balances selecting the maximum amount of points with reducing the noise levels. Increasing the threshold from 1 to 1.2 increases the number of selected points without increasing the noise levels by too much. The increased number of points is useful, since it improves the coverage and the amount of deformation information. 4

3. Merging Patches You can now add patches 11 to 17, 21 to 27, 31 to 37, 41 to 47, 51 to 57 and 61 to 67 to the processing chain. By default, StaMPS processes all patches. To tell stamps to use only these patches, edit the file named patch.list in the INSAR_20160606 directory and list the patches you want to include in this file: >>cd.. >>edit patch.list For the other patches, Steps 1 to 4 have already been run for you. Now that you have run PATCH_34, you are ready to merge them together. You can achieve this by running step 5 in INSAR_20160606. You can now plot the wrapped phase for the merged patches by running ps_plot within INSAR_20160606. Note, set plot_scatterer_size to 200 m before plotting. 3.1 Downsampling By default, PS points are retained at full resolution. However, for the current application, we do not need such a high sampling rate in space. To reduce computation time, the data have been resampled the data to a coarser grid, with a 200 m spacing. An additional effect of the resampling is to reduce the noise, and resampling also offers another chance to reject the noisiest pixels. To change the downsampling, set the parameter merge_resample_size (units are m, default is 0, meaning no resampling) and rerun Step 5. Check how the wrapped phase looks now with ps_plot. In particular, check areas with high fringe rates are the fringes sampled well enough, or is a smaller grid size necessary? Try also varying merge_standard_dev (threshold standard deviation in radians) and check the effect that it has. 4. Phase unwrapping Once happy with the PS selection you can unwrap the phase using StaMPS Step 6. During unwrapping, the data are temporarily resampled to a grid. The size of the grid is controlled by parameter unwrap_grid_size, and should be at least as large as merge_grid_size. Go ahead and set it to the same value, then run Step 6. Once Step 6 is finished, plot the results using >> ps_plot( u ) The main parameters to play with to improve unwrapping are unwrap_grid_size making it larger reduces noise but may also alias (undersample) the signal, and unwrap_time_win, which is the filter length (in days), used to estimate the noise contribution for each phase arc (phase difference between neighbouring pixels). But for now continue to the next step. 4.1 Estimation of spatially-correlated errors Step 7 estimates the total DEM (a.k.a look angle) error, and the master atmosphere and orbit error. Run Step 7 and view the DEM error 5

>> ps_plot( d ) This is given as radians per m of baseline. To convert to height errors, use the function K2q. Also look at the master atmosphere using >> ps_plot( m ) You can plot unwrapped phase after subtracting DEM error and master atmosphere with >> ps_plot( u-dm ) Check for unwrapping errors i.e., inconsistent jumps in phase. Unwrapping errors are more likely to occur in interferograms with longer perpendicular baselines. This is for two reasons, firstly there is more noise associated with each PS, and secondly, the phase due to any spatially-correlated DEM error is larger, as it is proportional to perpendicular baseline. To check the baselines, enter >>ps_info You can also see the estimated noise for each interferogram, which is calculated from the phase that is not correlated spatially and not correlated with baseline. Anything above ~80 degrees is likely to give trouble for unwrapping. In this case we are using Sentinel-1 data and the baselines are all small. The plot for u-dm should also be smoother than u. Note that the default colour scales will be different and, if smoother, the phase range should be smaller. If not generally smoother, one or more interferograms has probably unwrapped incorrectly. It is also worth comparing the u-dm to the wrapped phase corrected for d and m : >> ps_plot( w-dm ) If there are unwrapping errors in some images, you can drop them from the spatiallycorrelated error estimation. E.g. to drop the 17 th and 18 th interferograms >> setparm( scla_drop_index,[17,18]) Then rerun Step 7. To plot unwrapped phase with DEM error and master atmosphere subtracted: >> ps_plot('u-dm') Removing the spatially-correlated error from the wrapped phase can actually help with the unwrapping, and it is a good idea to run Step 6 again after running Step 7 (estimates from Step 7 are automatically subtracted from the wrapped phase before unwrapping). If all interferograms have been unwrapped successfully, reset scla_drop_index to the default value and rerun Step 7. If it is still not possible to unwrap all interferograms without errors you can drop some completely by setting drop_ifg_index and rerunning from any Step 2, 3 or 4. N.B If you want to rerun Step 6 at any time without subtracting the results from Step 7, enter >> scla_reset 6

4.2. Ramp estimation It can be interesting to look at unwrapped phase with a linear phase ramp subtracted, especially if you are interested in local signals only. You can do this by setting scla_deramp to y and rerunning Step 7. To visualise the unwrapped interferograms with the ramps subtracted: >> ps_plot( u-dmo ) Note that you can plot unwrapped phase with any combination of estimated errors subtracted, e.g. >> ps_plot( u-o ) or >> ps_plot( u-do ) Subtracting a ramp can also help with phase unwrapping, so it may be worth rerunning Steps 6 and 7 if you suspect that errors remain. 5. Velocity estimation You can plot the mean velocity using >> ps_plot('v') The large subsidence is due to water extraction beneath the city. Most of the city is built on old lake sediments, which subside the most. To subtract DEM error and oribital ramps before estimating mean velocity, run >> ps_plot( v-do ) (Note that there is no option to subtract m first, as this would not change the mean velocity.) The velocity values are relative to the mean velocity of the whole image, by default. You can set a circular reference area using the ref_centre_lonlat and ref_radius parameters, or a rectangular reference area using the ref_lon and ref_lat parameters. Pick an area in the west of the image and set this as your reference area, using a circular area with radius 500 m. 5.1 Velocity standard deviation and time series To estimate the standard deviation of the velocity estimates (relative to the reference area) with DEM errors and ramps subtracted, enter >> ps_plot( vs-do ) Areas with larger standard deviation indicate either larger errors (due perhaps to atmosphere or unwrapping errors) or deformation that is non-linear. You can get a handle on this by plotting time series of a few points. >> ps_plot( v-do, ts ) Click on the TS plot button and select an area of the image using the cross hairs. The time series for the nearest resampled PS pixels will be plotted. You can set the search radius within the plotted figure. Try changing the radius to 500 m and reselecting a point. Now all PS within 500 m of your selected position are plotted, 7

together with the average of these PS. Try plotting various positions with different standard deviations. Can you comment on the cause of the areas with higher standard deviations? 6. Images with strong atmosphere If any images contain strong atmosphere, they can bias the estimate of velocity. You can see the effect that each image has on velocity estimation using >> ps_plot( vdrop-do ) This plots the mean velocity estimated by dropping each interferogram in turn. Is it a strong effect? 7. Output to Google Earth You can plot output on Google Earth using ps_gescatter. It is best to plot at full resolution, but pick only a subset of the area to avoid crashing GE with too many points. Go into the PATCH_34 directory, run steps 6 and 7, then: >>ps_plot('v-d',-1) >>load ps_plot_v-d >>ps_gescatter('ps.kml',ph_disp,1,0.4,[-10,50) This will create a file ps.kml in PATCH_34 directory, which can be opened in Google Earth. 7. Other You can play with separating the atmospheric and deformation signals using StaMPS Step 8. 8