I need to run NDVI on a study area that is covered by more than one Landsat image.

The NDVI must also be run over numerous years using different Landsat sensors (eg: Landsat 7 Level 1, Landsat 4-5 Level 1 etc). My research has indicated that normalization across images (temporally, spatially and by sensor) are needed in order to get accurate NDVI values over time.

I believe that radiometric correction will accomplish this however, since I have no experience in remote sensing I do not know how to proceed and I'm looking for step by step instructions.

My understanding is that this should be doable in ArcGIS Desktop.

How do I perform radiometric correction of Landsat images using ArcGIS 10.2 and Spatial Analyst?


There isn't a step-by-step instruction for this without knowing the exact data you have. Radiometric correction requires that the user account for the radiometric error that occurs within a specific scene, including the sun elevation, atmospheric conditions (depending on the sensor), and the metadata for each sensor across all of the time intervals you intend to measure. In other words, if you really have data from multiple landsat sensors across multiple time intervals, you would need to tailor your raster calculation to the specific conditions of each image using info from your metadata. A formula for that looks something like:

(Mp * Dn + Ap) / sin(Se)


  • Mp = reflectance_mult_band_x (multiplicative rescaling, specific to the band of your sensor)
  • Ap = reflectance_add_band_x (additive rescaling, band-specific)
  • Dn = digital_numbers (the raw DNs of your imagery that are converted to other more useful values like radiance and reflectance)
  • Se = sun_elevation (the angle of the sun in your scene)

This one works with Landsat-8 imagery for getting at-sensor reflectance (which may not be the value you need for vegetation index analysis).

The tool that is supposed to make this easy is the Apparent Reflectance function which adjusts the image brightness of your data's DNs to provide pseudo-surface reflection qualities in the image for analysis (pseudo because the tool's parameters assume a common illumination scheme that isn't present in all satellite imagery and it only works for some sensors). However, the Apparent Reflectance function is only available in ArcGIS 10.3 and later, so you may consider updating. The reference for that is linked below.

As an alternative to performing radiometric correction across all of your scenes, you might check out the Landsat Land Surface Reflectance project the USGS did (second URL). It might have data that's sufficiently corrected for your analysis. If you are dead-set on performing radiometric correction for each image, check out the third link. It goes over radiometric calibration.

To actually perform the calibration, you would use the Raster Calculator under Map Algebra in the Spatial Analyst toolbox. The closest thing to step-by-step instructions is the last link - it's a full on tutorial for calculating reflectance on Landsat imagery - but remember that some of the data in its raster calculations will be specific to the imagery in the examples, not the imagery in your database. You'll have to adapt the instructions to suit your data. Hope this helps!





Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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