Workflow between SNAP and StaMPS

Ok, it seems to be working. Thank you for help!

I will let you know if I have any other question. I believe I am going to bother you and other people here a lot! :sweat_smile:

this is what this forum is for!

The more precise you ask, the more likely are people which can help you :+1:

1 Like

Hello again!

I am having trouble understand the procedure for using stamps. I have used Stamps export and I have 4 directories. I have downloaded the folder with all graphs from Github. I also read the readme file and some other publications but I don’t understand what should I do next now. I also have terrain corrected stacks for ESD and ESD with Interferogram and DInSAR. Can you please tell me how should I process now?

Thank you!

the stamps export (or the python scripts snap2stamps) creates four directories:

  • dem
  • geo
  • rslc
  • dif0

After you downloaded the stamps binaries, you have to make sure that you modify the StaMPS_CONFIG file to match all required folders (MATLABPATH, TRIANGLE, SNAPHU) and source it as described in the manual (chapter 2.1) to make all files available to the Linux shell.

Then you create a new folder and run the script mt_prep_snap as described in the manual (chapter 4). This creates interferograms as they are required by matlab. Once this script is executed, you open matlab and proceed with the actual stamps processing, basically just entering the commands stamps(1,1), stamps(2,2), and so on.

1 Like

Is this process same for doing Pre-processing in SNAP 7.0?

no, as stated in the overview, this description is outdated.

Please follow one of them:


Hello again!

I am processing stamps(2,2). I got the error in line 221 of ps_est_gamma_quick.m that says “Subscript indices must either be real positive integers or logicals.” Can you please tell me what is wrong and how to solve it?

Thank you!

hoch many patches did you create?
according to this answer, it happens for very small patches

I used 1 patch for range and azimuth, which was set by default. What value should I set in mt_prep_snap?

then the size of the patch is not the problem.

How did you create the latitude and longitude bands?

I created the lat long bands in SNAP in topo phase removal step while pre-processing.

hmm, also no source of error then. I have no idea to be honest.

the variable grid(i,j) is having some NaN values. So, we have currently used if ~isnan condition to bypass the error. Stamps(2,2) seems to work for now.

had you used the ps_load_initial_gamma.m that I have put in the forum in March 2019? This solved not only for NaN.

Good that you solved.

1 Like

could you please give a link to this post? I will include it in the overview post.

I believe it must be this one… I am glad that the forum search works pretty nicely!

1 Like


Thank you for your help!

I got these results from stamps(6,6). Image attached.

Is this the final output or anything else is required? I do not know how to do atmospheric filtering,

I am glad you solved it with our help. :wink:

It looks a bit noisy to me, if what I see is a sea (covering most of the centre and eastern part of the image)
Stil, clear subsidence and uplift happens there.

My first suggestion is to extend the images you analyse. This is why you got a lot of noisy points over what I believe is water.

Had you run step 7? this not only removes orbit ramps (if you select the option), but other kind of errors (if I remember properly).

Regarding the atmospheric phase screen estimation/removal (APS), you can use the step 8, which applies spatio-temporal filtering.


You are right. This area is the island of Hawaii.

I did not understand this step -

I have run step 7. But I am not sure how to get the images in step 7.

I ran step 8, but it gave me some error. Anyway, since this was my first time, I processed only one sub swath. I am merging different sub swaths now. I will re do the entire process with merged subswaths. I will let you know if I run across any other problem.

My suggestion is due to the fact that for obtaining accurate results, as some of the processes uses mathematical estimators, need to have high number of samples to discriminate signal from noise, even from the starting point of amplitude dispersion.

Normally works/papers in literature used at least from 20 to 30 images (in my work over Rome I have used over 80 images per orbit). The more the better. Now, using Sentinel-1, you can get larger number of images to process. But obviously it depends as well of the period of time you want to analyse.

Pre-eruption ? Hence, you can get data even some years back. If you do not want to get such large time series you can discard some data, let say getting one sample every 12, 24 or 36 days. For example, past missions (ERS and Envisat) had 35 days revisit and we were working with them. So you can for example get 1 data each 24 days, enlarging the analysed period without enlarging that much the amount of data available for processing.

1 Like