Sentinel-2 Super-Resolution (all bands at 10m): Snap plugin now available!

Hi Nicolas,

I am using version 1.0 under Windows.

where did you download your S2 data?

Hi ABaum. from Copernicus Open Access Hub. I downloaded S2 L1C then run sen2cor.

Could you also try sen2res on the original L1C file ? This would validate it works within your windows setup. If not, try perhaps reinstalling step + downloading sen2res again.

Hi
I am installed the successfully Sen2Res plugin on SNAP 6.0.0, but I dont know why when using the Sen2Res plugin for fusion the bands to 10m the accuracy of classification decreases…(I am working on forest types classification).
Someone knows why this happens???
Best regards, Hossein.

Might be this comes back to more divisions of the pixels size of 20 and 60 m to more more size, without retrieve more information,

Please take a look at the S-2 resample in the following post,

Source of the post

Hi, I’m trying to super-resolve a granule (without subset) but the elaboration never ends (after 4h). Apply the computation on the whole granule is feasible?

He is refererring to the application of the superres-algorithm which is introduced in the first post. It is a module to apply on Sentinel-2 data to increase the spatial resolution of the 20 and 60 meter bands.

So Ithink the question is quite clear. But it does take quite some time to compute the output products. I haven’t used it for a full scene, so I cannot answer the question totally. But 4 hours doesn’t sound too long, to be honest. I computed a subset with a machine of 32 GB RAM and 12 cores once and it also took several hours. So personally, I’d say it is still worth waiting for what comes out. Maybe you don’t need al 13 bands?
How much RAM does your machine have?

Maybe @nicolas.brodu can say something on the performance.

If the granule is 10000km2 it’s 100 megapixels per band at 10m, or 1.3 gigapxels with all bands included. If they were all processed at 30 iterations (as in ABraun’s screenshot) it is a lot of operations and I/O…

Use enough RAM, SSD, a RAMDISK if you can and optimise the JVM parameters in the performance-options. It will certainly still take hours. Perhaps try with a small number of bands to get a handle on the time required?

2 Likes

Indeed, working on a full granule would be computationally very intensive (@mengdahl explained it well). Usually, you need only to work on a region of interest which is much smaller than the full granule but, if this is not your case, I would recommend a few solutions:

  1. Most importantly, there are now alternative super-resolution codes, https://github.com/lanha/SupReME for example, that (according to the authors) are both more efficient and more precise than my own code. See their article, “Super-Resolution of Multispectral Multiresolution Images from a Single Sensor”. I would recommend switching to these.

If you want to stick with the same super-resolution method I introduced in sen2res :

  1. Split your big granule into smaller bits, and join the images later on. This would allow you to split the computation into smaller chunks, use less memory, distribute the computation over more computers, etc.
  2. To do this, try using the batch script available at http://nicolas.brodu.net/recherche/superres/ , that uses GDAL and Python without dependency on the JVM, on a large cluster or super-computer.

Ideally, other (more precise and/or faster) super-resolution methods such as the above would be integrated into the sen2res plugin, letting the user choose which to use in a seemless interface. In practice, I don’t have the time, nor the motivation, to do the engineering work necessary for this, especially since I have since moved on to other research topics. But, if people here are interested in this task, I would happily help them and explain how the free/libre code of my plugin is structured, so they can implement other techniques !

4 Likes

Thank you for taking the time to answer and report from your perspective, especially as you shifted to different topics of research now. I still think it is a great module and very much like the fact that it is implemented in SNAP (instead of Matlab). :+1:

2 Likes

Thank you everyone for the answers. I need to compute the whole granule but I will try with a small subset and join later at the end.

hello i’m a chinese student,and i’m learning snap,but in china there is nearly no tutorial on internet, so can you put your teaching vedio in chinese platform, like bilibili.com, weixin or something like that, thank you!

Hi!

This plugin is very interesting!! I have installed it on snap but I don’t have access to it. Any suggestions for me to do?

Regards,

I an unable to mosaic after running Sen2Res on a subset of an image. Any help?

Sir, Is there any solution/alternative for the attached problem? I am facing the same error saying “does not contain view_zenith_mean”

Not that I know of. Unfortunately I don’t use that plugin anymore and I cannot maintain it. But the source code is available, so if you miss that feature you are welcome to implement it :slight_smile:

1 Like

Hi there, I’m an ecobiology stuent in Rome and I’m learning SNAP. I’d like to know which are the main differences between Resampling method and Sentinel2 Super Resolution plugin? My aim is just to downscale bands all to 10m. I runned both the methods and the output is quite different when checked. The bands with super resolution look more sharpened…could anyone explain me. Thanks a lot!
Pietro

have you seen this topic? Sentinel-2 difference between 'super-resolution' and 'resampling'

Thank you, it helped me