Skip to main content

I ordered imagery for a large area and the result was several shots. Is it possible to symbolize them in such a way that they have the same color range? 

Thank you,

Randy McGregor

Hi ​@Randy McGregor,

For SkySat imagery you can refer to this SkySat Product Specs Sheet which covers the bands and the colors they represent.

For PlanetScope imagery you can refer to the Developer’s Center: Understanding PlanetScope Instruments.

If you are using ArcGIS, Tree Bloom Change Detection exercise has a section with a step by step guide on how to view imagery in true colors. 

Hope this helps! let us know if you need any additional information! 


Thank you. I will take a look at that. The imagery I ordered was ‘SR’ because we need to do vegetation/open water analysis. I think I need to also order ‘visual’ or ‘pansharpened’ format to have color-continuity across all shots?


@Randy McGregor ,

The visual product is contrast stretched on a per-collect basis.  Depending on scene content there it cannot really be expected that a composite view of different collect will have exactly the same color behavior.  The surface reflectance product is intended to as closely as we can model the physical behavior on the ground and therefore should in theory be similar between collects taken under similar circumstances.  There are caveats of course, for instance we do not attempt to do terrain slope corrections for surface reflectance.  Atmospheric haze (wispy clouds) is not well compensated for and will have big effects.

One thing to be really cautious of is the “default stretch” behavior of different visualization software.  For instance, QGIS will do it’s own per-collect contrast stretch if you load SR data.  One thing I often do is pick one representative file, and “copy style” / “paste style” from one file to the others to get the same stretch for them all. 

In our mosaics pipeline we do quite a bit of additional color balancing work and cutline optimization when we are trying to combine collects in a visual pleasing way but that is not so easy for you to replicate. 

 

Good luck,

Frank

 

 


@Randy McGregor - Visual will be less consistent than SR, generally speaking. The visual product for SkySat uses a different color scale for each collect (it’s histogram-based).  However, SR will not be perfectly consistent between collects either.

Most likely, what you’re seeing is differences due to default scaling for whatever GIS you’re using.  Most GIS software will display every file with a different range unless configured not to.  That’s because it defaults to scaling multi-band 16-bit data independently for each band based on percentiles, which are different for each file.  It will also usually default to putting the first band in the blue channel, second in the green, and third in the red.  For SkySat (and most other multispectral satellite imagery), this means that it’s displaying the blue band as red and the red band as blue, which explains the blue cast in your screenshot.

Try setting the symbology manually.  Use a fixed range for each scene and _not_ an independent percentile or standard deviation for each band.  A range of 0-3000 for an RGB view or 0-5000 for a false color infrared view should be a good starting point.  You may want to adjust that if you're in a forested area (e.g. 0-2500 for RGB and 0-7000 for CIR). 

Regardless of what you choose, be sure to set the symbology to use the same display range for each SR collect.

Ideally, you’d use a non-linear display curve to make a visual display from SR data. That would avoid the need to display different land cover types differently.  It’s needed because our eyes don’t perceive intensity linearly.  However, a linear scaling over the lower part of the reflectance range (0-3000 is 0.0 to 0.3 reflectance) mimics the first “steep” portion of a typical non-linear display curve.  It’s a good first start and will give a reasonably realistic display.

Even once that’s done, however, you will still see differences between collects. Those differences will be due to radiometry differences and not arbitrary scaling differences, however.  SR varies significantly with view angle (SkySat usually acquires off-nadir), time of day, solar angle, and many other factors.  You’ll still see that variability, but at least you’ll be viewing fundamental radiometric differences and not differences due to the GIS display defaults.


 


Thank you Joe. Lots of useful information. Some of it over my head, but I think I get the gist. Color has to be set in such a way that the r,g,b values are being rendered consistently for all shots and not using custom-ranges for each one? I’ll look into it. Some of the SR images have RGB values that will never color well, though. ie, at least one has an RGB value of 1 (!). Thanks for the info. I’ll see what I can do.


Reply