Cannot detect PS after phase linking using TerraSAR-X images
Dear @mirzaees ,
Really sorry to bother you. I’d really appreciate it if you could take a moment to look into my case.
I’ve processed 25 TerraSAR-X (TSX) images in a descending path for land subsidence monitoring in an agricultural region of Taiwan. The pre-processing was done with ISCE, and I focused on a small area with miaplpy to test PS detection. The TSX images were kept at full resolution.
For comparison, I also processed Sentinel-1 images from the same period, which were multilooked (3 azimuth: 1 range) over a larger bounding box.
I expected the number of PS detected from TSX image processing to be significantly higher than those from the Sentinel-1A images, but surprisingly, this was not the case. This has left me quite confused. I’m uncertain if the issue stems from the ISCE processing step or if miaplpy doesn't fully support TSX images.
-
The first figure shows the bounding box for Sentinel-1 and TSX image processing.
-
The second figure shows the PS mask after phase linking performance on S1A images.
-
The final figure contains both
amp_dispersion_indexandtop_eigenvaluesraster. Even the output results show high values ofamplitude dispersion indexandeigenvaluesphase linking performance on TSX images, but the filemaskPS.h5shows nothing. I'm really confused why this happened.
Any advice you can provide would be really helpful. Thank you for your time!
Best regards, David
Hi @david-ncu2019 Sorry for my late reply It seems like the processing for TSX was not successful and the PS mask is not actually generated another way to generate this mask is to use temporal coherence. all the coherence values =1 are PS
Dear @mirzaees ,
Really thank you for your response!
I understand that your schedule may be quite busy, but I'm really grateful if you could take a moment to check my following questions.
It seems like the processing for TSX was not successful and the PS mask is not actually generated
- Actually, the output files after
concatenate_patchesstill showed values if I checked them individually (usingview.py. from MintPy). However, the creation of MaskPS was not successful → Was it due to (1) image processing (with ISCE) or (2) due to themiaplpyalgorithm itself? - If it was due to (1), what should I do to resolve the issue? For the TSX image pre-processing, I applied
unpackFrame_TSX.pyandstackStripMap.py. - Is it possible to adjust the default values of phase linking functions (
phase_linkingandconcatenate_patches) inmiaplpyApp.pyfrom the source code in installed folder?
another way to generate this mask is to use temporal coherence. all the coherence values =1 are PS
- Would you mind suggesting me the functions to perform this process? Thank you!
(I will try playing with some functions to perform the
temporal_coherence_maskfirst. Hope my progress aligns with yours)
Hi @david-ncu2019
If the individual patches have valid mask ps, then there was a problem during concatenate step
I can tell you more if I see the messages output after running concatenate. Also please delete the file before running this step. I don't think there is any problem in either isce or miaplpy but it might be that your run did not complete successfully and when you try running it again, it checks for the file to exist before regenerating it.
I can tell more if I you run and send me output messages
For the temporal coherence you can use mintpy function:
generate_mask.py temporal_coherence_average.tif -m 1 -o maskPS.h5
Dear @mirzaees ,
Thank you for your response!
I think I will rerun the phase_linking and concatenate_patches with a very small area to test it again, then provide you the output messages.
Dear @mirzaees ,
Sorry for my late reply.
I have re-executed the process to get the output messages for each step, from load_data to concatenate_patches. I have attached the output figures and log files for your review.
I would greatly appreciate it if you could take some time to look over them. Thank you very much for your help.
Figure 1 shows the amplitudes of the selected area over time, highlighting a town with buildings and bridges.
Figure 2 displays the results after running concatenate_patches:
Even though the selected area shows high values of full and average temporal coherence, the amp_dispersion_index and top_eigenvalues results reveal only a few observable points.
Eventually, the maskPS shows no point.
Here below are the log messages after running phase_linking and concatenate_patches
Hi @david-ncu2019 Thanks for sending me your results, I am suspecting of the minimum number of SHPs you are using for your TSX data. The default value (10) is selected for Sentinel data but for TSX it is probably higher. I suggest you doing an statistical analysis similar to Figure 20 in the paper: https://www.sciencedirect.com/science/article/pii/S0098300422002400
in your inverted folder there is the phase_series.h5 which contains SHP and the temporal coherence. using the first band (average temporal coherence), select pixels where the average temp coherence is above 0.9 (or 0.98 like the paper) for example and plot the histogram of SHP for those pixels. That plot can tell you what number is better to use as your minimum number of SHPs.
Dear @mirzaees,
Thank you very much for your suggestions!
Following your instructions, I analyzed the phase_series.h5 file, plotted the histogram for the average temporal coherence array, and experimented with SHP histograms at various temporal coherence thresholds.
The array shape is (2051, 1478).
| Temporal Coherence Threshold | Number of Pixels | Total Pixels |
|---|---|---|
| 0.6 | 289,351 | 3,031,378 |
| 0.65 | 151,331 | 3,031,378 |
| 0.7 | 69,880 | 3,031,378 |
| 0.75 | 27,795 | 3,031,378 |
| 0.8 | 9,407 | 3,031,378 |
| 0.85 | 2,884 | 3,031,378 |
| 0.9 | 634 | 3,031,378 |
| 0.95 | 75 | 3,031,378 |
Based on these histograms, it's quite challenging for me to pick a suitable threshold.
I have tried modifying SHP searching window (range=azimuth=30), and PsNumShp=100. The number of points shown up in amp_disp_index and top_eigenvalues did increase, but not significantly, and the maskPS.h5 still showed nothing.
I'd greatly appreciate any guidance or suggestions you might have, just a hint is great for me!
Thank you so much for your time and support!