Equalization SLC and GRD images with SNAP

Good morning, I have read for Sentinel-1 that

L1 SLC images are generated in 32-bit signed integer format with each pixel represented by two interleaved I&Q 16-bit signed integer samples in the order: IQIQIQ…

L1 GRD images are generated in 16-bit unsigned integer format with each pixel representing a single 16-bit magnitude sample.

I have already created the histogram for an image but I would like to know if it is possible, with SNAP, equalize the histogram to get an image with gray levels uniformly distributed.

Thanks in advance.

I think what you’re looking for is Radiometric Calibration?

http://geomobile.como.polimi.it/website/presentations/SNAP.pdf (Slide 19)

http://sentinel1.s3.amazonaws.com/docs/S1TBX%20SAR%20Basics%20Tutorial.pdf (Page 6)

1 Like

Thanks, I have already done Radiometric Calibration but now I would like to obtain with Snap this type of elaborations:

I hope someone can help me to understand if I should use another software.

1 Like

Please, tell me with this Histogram matching option

how can I obtain a histogram of this type for my image?

Thanks.

the color manipulation window just adjusts the distribution of grey values over the scaled value range.

If you want a histogram, open a band, select it in the product explorer and then click

Calculate the histogram by clicking on

2 Likes

Thanks but I would to equalize the histogram to get an image with gray levels uniformly distributed.

I am using Histogram matching option with equalize but I don’t get this result, so is it not possible with SNAP?

how does your histogram look like now?

1 Like

This is my initial histogram:

After Histogram matching option with equalize:


Now I have completely blank image but Histogram is the same.

this would require calculating a new image because intervals of equal distances will never result in classes of same sizes.

In QGIS there is an option to distribut the colors along of quantiles, which means that each class has the same amount of pixels in it. This is however just visually and doesn’t change the values of your raster.

Why do you want this at all?

1 Like

Thank you, Andreas.

I was required to improve image without using stacks of several products.

I have used this filter with Irfanview but I wanted to be sure that SNAP does not have direct option of equalization.

http://www.russellcottrell.com/photo/AdaptiveHistogramEQ.asp

maybe you achieve a similar effect by calibrating to sigma0 and then converting to db.

This somehow equalizes the histogram and is a standard procedure when working with backscatter intensities.

left: Sigma0
right: Sigma0db

Corresponding histograms:

1 Like

Do I have to do these steps for grd, please?

  1. calibration to sigma0 and convert to db

  2. range doppler terrain-correction

or

  1. calibration to sigma0

  2. range doppler terrain-correction and convert to db

this is what I would do.

Plaease also see here:

1 Like

Excuse me, I have a problem.

This processing works :

but this processing does not work ( I left only sigma0 db):


Thanks.

Hi mast, I think we are running into the same problems. Lets see if we can clear a bit the things up.

Before entering the snappy world, I was taking Sentinel1 SAR images, doing gdal stuf (reprojections etc) and then I was using a histogram equalization from skimage.exposure. That was needed in order to increase the brightness and the contrast of the image. Now, after using snappy SAR methods, noise filtering, calibration and transformation to db, terrain correction etc, I am wondering if this is still needed. Since we compute the logarithm of the true backscattered, we increase the plotted information and hence I do not think we need any more the histogram equalization. Please maybe someone can correct me if I am wrong.

There is though a problem I am facing. After this procedure and plotting in python I have the following plot

It seems that over the ocean the 0 values are not interpreted correctly from the colorbar settings. The interesting part is that if I set vmin vmax in the imshow taken the range that qgis automatically selects then the blurry layer is gone! Original range: -95, 18 selected range from qgis -25, -1. And this is how it looks now

So what is the rule to select automatically an appropriate range? Is there any other more accurate or more scientific approach?

@mast
It is right that SNAP may not be able to equalize the histogram, if you want to equalize the histogram to a uniform distribution you may export your image as geo tiff and do the required operation in Matlab as
Img=imread(‘im1.tif’);
J=histeq(img)
I gave a try to this and got the required histogram

Could histogram equalization be done using band maths ?

The equalisation is only applied on the image the histogram stays unchanged. But this is what you usually want, I guess.
image