I am trying to sort out the most convenient way to perform radiometric calibration (to TOA reflectance values) on Landsat 8 OLI imagery data. I know it is fairly easy to do this using other applications such as ENVI, however I do not have this program at my disposal, so I was hoping I could do this correction task in ArcGIS (10.1).
I am already familiar with the formulas required to do this calibration manually, but am having a hard time trying to come up with a viable expression in the Raster Calculator tool.
Does anyone have an expression "template" I could use or work from? Any advice about this issue would be most welcome!
Since the bands are quantized and calibrated, this is very straight forward for Landsat 8.
You will need a few band specific parameters from the scenes metadata. The scaling factors are standard so, once you have the band-specific values they can apply to any scene. However, this does not apply to the sun elevation, which is scene specific.
Mp = REFLECTANCE_MULT_BAND_x (band-specific multiplicative rescaling factor)
Ap = REFLECTANCE_ADD_BAND_x (band-specific additive rescaling factor)
SE = SUN_ELEVATION (sun elevation angle)
Then, at-sensor reflectance is just a matter of some simple raster algebra in the raster calculator.
( Mp * Qcal + Ap ) / sin(SE)
where; Qcal = digital numbers (DN) raster of band n
The process is quite straightforward in Raster Calculator, but if you have already committed to the Composite Bands/Mosaic Dataset/Image Analysis window, it is completely opaque. Raster Calculator doesn't work in that context, and while there are functions for "Apparent Reflectance" and -- inexplicably -- "Sentinel 1 Radiometric Calibration," it's not at all clear how one would put together such a function for Landsat.