Preprocessing and Thresholding for Extracting Water

Hi everyone,

I’m relatively new to SAR processing, and I’m working on extracting water extent from the UK using sentinel1 images.

My current workflow (based on a few topics on here, as well as other online blogs/resources) is Apply Orbit File -> Remove-GRD-Border-Noise -> Calibrate to Beta0 -> Speckle Filtering -> Slice Assembly -> Terrain Flattening -> Terrain Correction -> Linear To dB

My question relates to when the thresholding of the data to extract the water extent should be done, and mainly whether this should be done before the terrain flattening or not. Before seems easier to identify the water bodies, with two well defined peaks in the histogram. After, and it is more difficult with the histogram showing more of a bell curve, but my understanding is the terrain flattening is that is required before any classification or thresholding?

Here are the histograms before TF and TC, and after to show what I mean.

Any clarification on this issue, or general advice on the workflow I’m using, would be greatly appreciated.



P.S. Sorry if this has been covered before and I’ve missed the thread.

I’m not sure you would really need slice assembly or terrain flattening in your case. In the calibration output dB and then do your water detection in SAR geometry. Just before you want to export or results, terrain correct to get the right geocoding.

1 Like

Thanks for your reply, I will give your suggestions a try

Maybe you already solve this issue, but I have similar problem before. It simply because you have mask out many of the ‘water’.

When you apply the terrain correction, turn off the option ‘Mask out areas without elevation’, then you will get the similar histogram as before TF and TC.

Hey guys
I also want to extract the Radarsat 2 water mask. Do u recommend any specific work flow using Sentinel 1 toolbox in order to select the threshold and get the mask accordingly?


Calibrate the data. If this is the last processing you will apply to the data then change it to dB. You can then look at the histogram to find the best threshold for the water. Use band maths to apply the threshold or create a mask with the mask manager.

1 Like

Thanks for your response. I use radarsat 2, SLC, calibrated and filtered, converted then to db. But I have a hard time to pick a more desired range for water mask (e.g., -25 to -15 db) through the mask manager, it is not that accurate. As you see in the water mask image, I get a lot of spread water bodies that misclassified as water! I need to remove all those in Arc GIS which is time consuming.

The objective is to “optimise the water mask threshold” by taking into account some other elements (besides sigma naught in db), so that we can avoid a manual test for finding a more effective threshold.
Do you know by any chance any “python script for SAR water masking”, or some other approaches to improve this?How about the local incidence angle or betta naught? I do appreciate if you could share with me your thoughts about how to “optimise the SAR water mask threshold”. Thanks

Some of this might come from speckle. If you want to use other features, try combining the sigma0 thresholds with coherence and entropy. You can then create a decision tree with some rules like if sigma0 is very low and coherence is low then it could be water.
Use the GLCM in Raster -> Image Analysis -> Texture Analysis
Homogenity and Energy may help.


Hi everyone,

I’m also relatively new to SAR processing, and I’m working on extracting water extent from the Vembanadu Lake Kerala using sentinel1 images. I have used Sentinel1 GRD product for my study. first I caliberate the image and apply speckle filtering. my question is what is the purpose of Caliberation. and how we determine whether sigma naut or beta naut is useful? can anyone suggest the proper steps for image processing. Thank you

Thanks a lot. Entropy and energy sound good.

I usually work with sigma naught (either linear or db). During the calibration process (lets say from SLC level), the intensity band is converted to a backscattering coefficient value such as beta n., sigma n, gama n.

Thanks a lot. and What is Circular polarization? any difference in circular polarized image compared with other polarized image?

I am wondering whether there is a specific range for e.g., Entropy, Contrast, energy, or for some other texture parameters? For instance for the Linear Sigma naught our range is 0-1. For water mask we expect a low value of sigma naught…

In a similar fashion, can we say e.g., entropy varies in a range of …?

I just want to find a better understanding for the water mask using the texture analysis. Any comment is appreciated!

You could also use a classifier with these as the features.

1 Like

If I got it correctly, I did ran a classifier over the entropy image for instance. If so, I did this in envi by kmeans. It was good. But the goal I am persuing is to optimize the SAR water mask threshold mostly through different SAR parameters such as sigma naught, beta naught (if required), local incidence angle, texture… so that we can avoid a manual selection for the thresholding. That s why I am wondering is there any specific range for some of those texture parameters which can help me do this in a more understanding approach? Thanks again

No idea about circular polarized!

The water bodies are exposed really good now. Except the thresholding which is subject to change, do you recommend any other SAR procedure to extract now only the water bodies exposed? I would like to avoid using a supervised or unsupervised classification, I am looking for some other approaches to do so.

Thanks again

You just mentioned “Coherence” which I don’t see it on the GLCM product

May I know how to calculate “Coherence”? And why it might work for the water extraction?


You need two complex SLC products, coregistered and then apply the coherence operator from the interferometric

1 Like

Thanks for your reply. I am new to InSAR, but I would like to apply it for the water extraction. I am wondering because water almost always loses coherence after only a short “repeat-pass” interval, InSAR analysis could work for the water mask extraction?

Anyway, this is what I have done so far: 1. pick two dates (July>Oct) of SLC> “Coregistration”, 2. “Interfrogram Formation”, 3. “Coherence estimation” Plz correct me if I did wrong.:confounded:

But, the coherence looks pretty noisy. I assume that sth didnt go through correctly. How normally this coherence band is expected to help?

Thanks again.