AlexeyPechnikov / pygmtsar

PyGMTSAR (Python InSAR): Powerful and Accessible Satellite Interferometry
http://insar.dev/
BSD 3-Clause "New" or "Revised" License
428 stars 96 forks source link

[Help]: PS on a single-master network #120

Open ATDehkordi opened 6 months ago

ATDehkordi commented 6 months ago

Hi,

I am currently implementing PS InSAR in my study region using a single-master network. I have set up a new Jupyter notebook and prefer not to initiate the process with an SBAS network or use any SBAS results for the PS method, as detailed below.

I am facing several uncertainties:

1- In your examples, specifically in compute_interferogram_singlelook, there is a phase=trend_sbas argument. Given that I am utilizing a single-master network, how can I generate trend_sbas without deploying the SBAS method? Additionally, is trend_sbas critical to the analysis?

2- In the same function, compute_interferogram_singlelook, weight=stability.where(landmask_ps) is used. To create landmask_ps, the following approach is taken by you:

stability = sbas.psfunction() landmask_ps = landmask_sbas.astype(int).interp_like(stability, method='nearest').astype(bool)

Would it be viable to create landmask_ps using the commands below?

stability = sbas.psfunction() landmask_ps = stability > 0.54

3- the use of the PS method with a single-master network, it seems unnecessary to solve lstsq (i.e., disp_ps = sbas.lstsq(disp_ps_pairs, corr_ps)). If this understanding is correct, we should use disp_ps_pairs = sbas.los_displacement_mm(sbas.unwrap1d(intf_ps)) as the final output. However, disp_ps_pairs lacks any date attribute, making it unfeasible to display. How should I proceed in this situation?

Thank you for your assistance.

AlexeyPechnikov commented 6 months ago
  1. You need to utilize the SBAS method to detect the phase screen. It's possible to ignore it, in which case, you have to work on a small area only where tidal waves, ionospheric and orbital phase ramps, tropospheric phase, etc., are negligible. Actually, it's much more accurate to detect the phase correction, and there's no reason to ignore this step.

  2. A land mask is not needed in all cases. It allows you to mask out water surfaces and densely vegetated areas. There are many ways to define the mask, even just downloading a ready-to-use land mask if it is accurate enough for your area. At the same time, amplitude phase stability (PS Function) is always useful because it prioritizes more temporally stable pixels in spatial filtering.

  3. The least squares solution transforms pairs-based phase changes to date-based ones. Sure, you can do it another way if you prefer, but the most straightforward way is to apply the least squares calculation as usual to do the job. And you could omit 1D unwrapping if you're sure your total phase change is less than PI, but again it is not the best assumption, and your results can be invalid.

Potentially, you can use your created interferograms as is without any post-processing to calculate the displacements, and it works well for some areas like California, where we often find low atmospheric noise and high correlation. But almost always, your attempt to drop some processing steps might result in useless results. Do you prefer to save minutes of processing time to disrupt the entire processing? PyGMTSAR makes things extremely easy to use, and there is no need to drop "extra" steps.