# Creating composite RGB images from Sentinel 1 channels

I would like to create a RGB image using Sentinel 1 data. It appears the standard way is to assign VV, VH, and VV/VH for the R, G, and B channels. I do, however, have a two questions.

One. It is unclear to me if the VV and the VH bands referred to by folks have already been log-transformed and are in dB scale.

Two. I have tried various combinations--log-transform VV and VH or not; log(VV)-log(VH) vs log(VV)/log(VH); etc--but I cannot get my RGB image to show a blue color for water as seen in the image attached.

I suspect that is because of the upper and lower bounds of the VV and VH values one picks when transforming floats to integers. (For example, I think Google Earth Engine sometimes clip values outside of -25 and 0 and re-scale the rest to 0 to 255. And the -25 to 0 range seems to suggest that the VV and VH are in dB-scale?) Is there a standard way of picking the range so I can get the water to show a nice shade of blue?

P.S. The source of the image is page 21 of https://appliedsciences.nasa.gov/sites/default/files/SAR_Part1.pdf.

First of all, the RGB combination to achieve something similar to the map you showed is:

• red=VV
• green=VH
• blue=VV/VH

if you work with linear data.

If you work with log-scaled data (in dB) it is slightly different because the laws of logarithms which turn ratios into subtraction:

• red=VV
• green=VH
• blue=VV - VH

From your example, I suspect that the data is log-scaled because it has stronger contrasts in the land parts. Applying logarithm to your data stretches high value ranges towards the mean which makes especially sense for SAR data where most of values range between 0 and 1 but single objects (e.g. buildings) can range up to 300 (when calibrated) because of double-blunce scattering, for example.

In the end, it is all about the color stretching which is applied to the data (which colors are assigned to which range of values). If it is narrow, you get stronger contrasts. This also applies for the different components (red, green, blue). If you want more green, for example, reduce the range of green.

It depends on the software how this is done. In ESA SNAP, for example, the data is stretched between within the middle 95% of values by default so that outliers in the data will not lead to bad contrasts, but you can always manually modify it in the Color Manipulation tab. QGIS offers different color streching methods (cumulative count cut, min/max, standard deviation). In Google Earth Engine, you mostly define the range yourself in the visualization parameters before adding data to your map.

The following are values based on my experience with Sentinel-1 data.

• Thank you, @AndyB! Your response goes above and beyond and has helped a ton!
– TCR
Jun 8, 2021 at 8:56