Preprocessing and Thresholding for Extracting Water

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?

Thanks

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.

3 Likes

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!
Thanks

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?

Thanks

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

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.

Another question I have is related to this linear/db thing:

How about if only I work on the Linear sigma0 after the Texture analysis (not db) in the following order:

Calibration (sigma0)> speckle filter (e.g., Lee) > Doppler Range TC > Sigma0_GLCM > Sigma0_Threshold

Thanks

Hi There,

how do you create a decision tree in SNAP? I am hoping to use one for land cover classification

the random forest classifier is based on decision trees. If you want to create one by yourself you can use the band math operator.