I need to extract soil from Bare Soil Index (BSI) using Landsat 8 and Sentinel 2 images in QGIS or IDRISI.

I was told to start with basic atmospheric correction of bands by finding in the histogram the first value that isn't 0, subtracting it from the whole raster band and reclassify any negative values to 0.

I did that, calculated BSI and there's no way of extracting soil using a threshold without urban areas. They have the same values.

I also calculated BSI using non-corrected bands and it worked out much better, soil pixels are easier to extract without getting urban areas as well.

Is this simple atmospheric correction based on histogram values necessary for ALL spectral indices, or maybe only for vegetation indices like NDVI, SAVI etc. but not for BSI?

  • 1
    DOS assumes there is a dark body with zero or near-zero reflectance (e.g. a deep, dark body of water). Therefore, some areas are unsuitable for DOS such as arid deserts. The Sentinel-2 toolbox has a great tool for converting TOA to BOA reflectance.
    – Aaron
    Commented Jul 30, 2017 at 16:02

2 Answers 2


Bare soil and urban areas are notoriously hard to segregate. Even with a perfect atmospheric correction, there will be relatively high confusion between the two, particularly when limited to multispectral datasets.

The atmospheric correction technique you are doing is a simple dark object subtraction, wherein the darkest objects in the landscape should have a DN value of 0. You subtract that value from all pixels in the image to effectively remove the atmospheric scattering which is assumed to be represented by the difference between 0 and your lowest DN value. More on this here.

Given this, it is based on the spectral bands themselves, and not necessarily the vegetation indices (which are indexes rather than spectral responses) that you list. So, yes, atmospheric correction is necessary for all indices, not necessarily just vegetation-related ones.

If you feel that your particular atmospheric correction is ineffective, there are others that you can try applying. They vary in complexity and likely accuracy of correction. An appropriate approach to your task at hand would be to set up an objective means of whether a particular method is resulting in better classification of soil vs. urban pixels, and try out a few atmospheric correction techniques to see what provides the best results.

A nice paper on when and how to apply atmospheric correction to LANDSAT data can be found here.

If you dig into the paper I linked to, you'll learn that atmospheric corrections are most important for when you need spectral signatures to be consistent in absolute terms over time.

In short, atmospheric conditions change over time, and thus if you have two different images that you are using to compare some change in the landscape, you need to account for the atmospheric conditions to make sure that a change in a pixel's DN value is actually representative of changes in its spectral signature... and not atmospheric conditions.

Given this information, you should be able to determine whether or not you need atmospheric correction for your particular case!


You can use this equation to extract BSI:


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.