Landsat 8 Surface Reflectance: a Comparison of DOS1 Correction and USGS High Level Data Products

Recently USGS has announced the availability of provisional Landsat surface reflectance products, through the EarthExplorer website (see here).
In particular, the Landsat Surface Reflectance High Level Data Products for Landsat 8 is generated from the L8SR algorithm (for more information read You can download the product guide from here.
These high level data products are very useful for environmental analysis, especially for supervised classifications. In fact, classification of images converted to surface reflectance can improve accuracy, for instance when several images are used for land cover change assessment.

The Semi-Automatic Classification Plugin (SCP) for QGIS allows for the conversion of Landsat images to TOA (Top Of Atmosphere) reflectance, which does not correct the atmospheric effects. Also, the SCP implements the image based method DOS1 (i.e. Dark Object Subtraction 1) (Chavez, 1996) for converting Landsat images from DN to surface reflectance. Of course, DOS1 method is very simple because it doesn't require any information about atmospheric conditions, but the results are not as accurate as the Landsat Surface Reflectance High Level Data Products.

In this post I try to compare DOS1 surface reflectance to Landsat Surface Reflectance High Level Data Products, calculating the spectral signature, NDVI, and spectral angle of several samples.
In order to assess the results of DOS1 correction, I converted a Landsat 8 image acquired over central Italy on 12th June 2014 (LANDSAT SCENE ID = LC81910312014163LGN00). Also, the Landsat Surface Reflectance High Level Data Product of the same scene was downloaded from the EarthExplorer website (data available from the U.S. Geological Survey) which is shown in the following figure.

The Landsat 8 Surface Reflectance image (data available from the U.S. Geological Survey) 

With SCP, the original Landsat image was converted to surface reflectance using the method DOS1 and to TOA reflectance (see my previous post for further information).
Then, several ROIs of 1 pixel size were created in a random fashion over different land cover classes, and I have calculated the spectral signatures thereof (using the SCP functions). I exported the spectral signatures to csv files, which were imported into a spreadsheet for comparing DOS1 reflectance to the Landsat Surface Reflectance High Level Data Product .

You can download the shapefile used for the creation of samples, and the SCP spectral signature list from here. Please, notice that  pixel values of Landsat Surface Reflectance High Level Data Product are integer and must be divided by 10,000 in order to obtain the actual reflectance.
Following, the charts of the spectral signatures, and the absolute difference between Landsat Surface Reflectance and TOA and DOS1.

1 - Water (river)

2 - Water (lake)

3 - Forest (1)

4 - Asphalt (1)

5 - Built-up (1)

6 - Crop

7 - Soil

8 - Water (sea)

9 - Built-up (2)

10 - Asphalt (2)

11 - Forest (2)

Following, a table showing the NDVI calculated for the various images.

1 - Water (river) -0.2713 -0.2574 -0.2241
2 - Water (lake) 0.0508 -0.1653 -0.0336
3 - Forest (1) 0.9075 0.7918 0.8559
4 - Asphalt (1) 0.2339 0.1517 0.2126
5 - Built-up (1) 0.0574 0.0613 0.0879
6 - Crop 0.8614 0.7727 0.8235
7 - Soil 0.2529 0.2581 0.2855
8 - Water (sea) -0.1136 -0.2171 -0.1233
9 - Built-up (2) 0.1633 0.1509 0.1907
10 - Asphalt (2) 0.1239 0.1128 0.1430
11 - Forest (2) 0.8805 0.8101 0.8777

We can see that DOS1 improves the NDVI for several samples, especially for vegetation, although it seems less accurate for some impervious surfaces (because of errors in the red and near-infrared bands).
The following table illustrates the spectral angle calculated between DOS1 reflectance and Landsat Surface Reflectance High Level Data Product (SR) and between the TOA reflectance and the Landsat Surface Reflectance High Level Data Product.

Sample Angle between TOA and SR Angle between DOS1 and SR
1 - Water (river) 0.2311 0.1337
2 - Water (lake) 0.1554 0.2053
3 - Forest (1) 0.2083 0.0594
4 - Asphalt (1) 0.2928 0.0730
5 - Built-up (1) 0.1064 0.0385
6 - Crop 0.1636 0.0439
7 - Soil 0.0910 0.0384
8 - Water (sea) 0.1393 0.1415
9 - Built-up (2) 0.1460 0.0354
10 - Asphalt (2) 0.1514 0.0406
11 - Forest (2) 0.1550 0.0226

The majority of samples shows that the spectral angle between DOS1 correction and Landsat Surface Reflectance High Level Data Product is substantially lower then the angle between the TOA reflectance and the Landsat Surface Reflectance High Level Data Product. In particular, the values of the blue and the green bands are estimated quite correctly by DOS1. However, DOS1 correction seems less accurate on certain water surfaces.
Considering the availability of Landsat Surface Reflectance High Level Data Products, it is recommended to use these data for obtaining the most accurate land cover classifications. However, if these data are not available, the conversion to surface reflectance using the method DOS1 can provide significant enhancement to the original Landsat image, particularly for the supervised classification of old images.
DOS1 is an image based method, therefore results can vary according to image quality (e.g. cloud cover). In order to assess correctly this method, several images should be compared considering different latitude, climate and cloud cover. Further details about the comparison of DOS1 and Landsat Surface Reflectance High Level Data Products will be described in a paper.

Please, remember that a Facebook group and a Google+ Community are available for sharing information and asking for help about the Semi-Automatic Classification Plugin.


Chavez, P. S., 1996. Image-Based Atmospheric Corrections - Revisited and Improved. Photogrammetric Engineering and Remote Sensing, 62(9), pp. 1025-1036.