Comparison between Dark Object Subtraction (DOS3) and preprocessed Landsat Surface Reflectance data based on LEDAPS Algorithm

In a paper I’m working on where I’m classifying cropland in the Duhok governorate I had to mix preprocessed Landsat Surface Reflectance data with some raw scenes that I had to convert to Surface Reflectance using the Dark Object Subtraction (DOS) method (as described in Song et al. 2001). This was because those scenes were not available as preprocessed images and I needed to include them in my analysis to get a good temporal coverage. Also, I could not find any straightforward way of using the LEDAPS algorithm, but instead found that DOS was a decent method for converting Top of Atmosphere reflectance to Surface reflectance (according to Song et al. 2001).

Mixing these differently processed data requires awareness about the differences between the LEDAPS processing used in Landsat Surface Reflectance, and the DOS that I decided to use. I first googled “LEDAPS vs DOS” but couldn’t find any substantial information about it. I therefore concluded that I need to investigate this matter myself, and since there is no easily available comparisons out there, I decided to dedicate a blog post to the issue.

Here’s what I did (and spoiler alert, this would probably not pass through peer review with only one scene, but it gives an indication of how the different methods affect the results):

  1. Download Landsat Surface Reflectance Image from EarthExplorer (In my case scene “LT51700341998100”)
  1. Download the same scene from Landsat Archive in EarthExplorer (unprocessed)
  2. Calculate NDVI based on the Landsat Surface Reflectance
  3. Convert the Digital Numbers in the raw Landsat scene to Surface Reflectance by using the GRASS function i.landsat.toar with the DOS3 method chosen (this is the part that makes it Surface Reflectance and not just TOAR)
  4. Calculate NDVI for the manually processed Landsat scene
  5. Subtract the LEDAPS NDVI image from the DOS3 NDVI image to get the difference in each pixel


Comparing the statistics for the LEDAPS and the DOS3 images showed that they differed a bit but not substantially. The largest difference was 0.44 which is a large difference in NDVI, but this difference could only be found in the mountain areas north of the Duhok governorate (see map and histogram). The minimum difference (which is actually the largest difference) of -0.55 I can’t even locate in the map, and is probably just a single pixel somewhere. The mean difference was 0.03 which is very low, and the map shows that most pixels lie between the -0.06 and 0.07 range.


The difference between DOS3 and LEDAPS processed versions of the same image

  LEDAPS DOS3 Difference
Maximum 0.92 1 0.44
Mean 0.18 0.21 0.03
Minimum -0.64 -0.77 -0.55
Standard Deviation 0.27 0.24 0.09
Histogram of the difference image showing that most pixels were beween -0.05 and 0.05

Histogram of the difference image showing that most pixels were beween -0.05 and 0.05 (in Swedish)


In the case of scene LT51700341998100 the DOS3 method yields results similar to the LEDAPS processed image in the Duhok governorate area. However, these methods yield quite substantially different NDVI values in mountain areas.

If anybody knows any other scientific (or unscientific) studies of this, feel free to share links in the comments!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s