Comparative analysis between stamps and PyRate

I just saw that there is a python program, Pyrate, to perform PS analysis of interferograms. I would like to know several topics:

Is Pyrate a substitute for Stamp? That is, can the full PS analysis be performed?

In the Stamp strategy it is necessary to do some preprocessing and convert the results to a Stamp-compatible format, using snap2Stamp to make the xml files available. Preprocessing and processing for PS analysis can be done within Pyrate?

The Stamp has an aspect that is to incorporate the MATLAB licensed program. I work in an institution whose reference is to avoid the use of licensed programs. Work exclusively with free programs. Therefore, we do not see the appeal of using the Stamp.

I haven’t seen anyone on the forums reliably use PyRate. The instructions are incomplete and there are a lot of bugs to fix and manual fixes that you need to do.

I’ve been experimenting with a SNAP workflow but it is currently incomplete. For some reason, it doesn’t generate one of the coherence files so the PyRate process fails. I created a Github issue with the PyRate authors to discuss it earlier this week.

If anyone is interested, I shared the full steps I’ve done in the Github issue. I used the suggestions by @SebBuchelt (SNAP forum link).

See the issue report here:


I have used the thirteen steps you follow to develop the conventional unwrapped interferogram that results from the phase difference between two SLC radar images. What i’m concerned about is if pyrate does pre-processing and processing together.

That the analysis performed by stamps can be performed completely with free software seems to me to be a welcome proposal.

I don’t know for sure if i misinterpreted ABraun but it affirms the possibility of developing a manual for the use of PyRate.

According to the documentation, the preprocessing needs to be done in external software like GAMMA or SNAP.

yes, there are plans to release an official tutorial for this. As far as I know this is in the final stages of testing. Last time I was involved there was input/feedback required from GeosicenceAustralia. Maybe @mcvittal can comment on the current status?

A detailed tutorial to mash PyRate would be a wise and welcome decision.

from the same link provided by @panjibrotoisworo

The capability to generate SBAS interferogram networks that are needed for time series analysis of large InSAR stacks in PyRate is planned for a future version of SNAP.

SNAP9 will support PyRate in the same general manner as StaMPS is supported for now. @mcvittal has more details. I would encourage interested people to look into PyRate as soon it will be easy to use it together with SNAP.

Yes - with SNAP 9 there will be an updated tutorial released detailing the steps needed for product preparation with the PyRate workflow.


Exciting! What is the ETA on SNAP 9?

1 Like

Good morning everyone.
I would like to ask what is the current status of SNAP 9 and the possibility of using Pyrate in an integral way to establish ground velocities with Sentinel 1 SLC files.

I am interested in knowing what the progress of PyRate has been to calculate land displacements in built-up areas surrounded by forest cover

I thank you in advance for any information on this.

Going through the step forum, I find that mengdahl states some very welcome news: SNAP 9 supports Pyrate using SBAS processing.

The date of entry into operation of SNAP 9 is known?.

My thanks and appreciation for such important work.

At Iveci’s suggestion I would like to suggest some ideas for keeping the Pyrate category on s1tbx. You can make suggestions that enrich the discussion. The PyRate category in S-1 SNAP is proposed to discuss the proper handling of S1 IW_SLC files to determine ground displacements under optimal conditions. It is a free software tool that provides useful information to evaluate early instability processes (before) and instabilities after pronounced instability events. It also serves to evaluate land subsidence processes and instability processes in civil works. Interferometry with S1 SLC is a topic of its own within STEP FORUM that could be complemented with StaMPS but that differs by using free software throughout its deployment. As long as SNAP 8 is in effect, it can be used to share information about the Pyrate application. With the SNAP 9 version, the topics of interest in the category could change. The close relationship between interferometric analysis and the instability of the earth’s surface on the one hand and the handling of free information processing tools on the other, are a solid support to guarantee the continuity of this category.


Hello everyone! I tried PyRate for the first time in may of this year following the tips of SebBuchelt and made some progress but couldn’t get it to work. With SNAP 9.0 I decided to give it another try and followed the tutorial but it has some errors in the procedure. After a lot of work I got it to finish the processing until step “merge” where I get this error:
18:43:50 merge:94 7866 INFO 0/0 Masking stack_rate and stack_error maps where error is greater than 1000 millimetres
Traceback (most recent call last):
File “/usr/local/bin/pyrate”, line 11, in
load_entry_point(‘Py-Rate==0.6.1’, ‘console_scripts’, ‘pyrate’)()
File “/usr/local/lib/python3.8/dist-packages/pyrate/”, line 155, in main
File “/usr/local/lib/python3.8/dist-packages/pyrate/”, line 66, in main
mpiops.run_once(_merge_stack, params)
File “/usr/local/lib/python3.8/dist-packages/pyrate/core/”, line 122, in run_once
raise result
ZeroDivisionError: division by zero

Does anyone got this same error?