My question is what should be the input image in i.atcorr for grass 6.4.4 version?

I tried giving both reflectance (DN) and radiance as input but values are coming properly. I read some where, it internally converts to radiance and uses. Is it like that? If I give radiance as input, the values are not coming properly in shadow region effect is more. So I used i.landsat.toar and given as input to i.atcorr without marking the flag input converted to reflectance(default is radiance). But the output values are not correct for flat terrain and hilly terrain (both tested)

Also one more I need to know is if I would compare the output of i.atcorr with surface reflectance product (from landsat website) will it be proper or not? I have used srtm dem and atmospheric parameters from modis website. So all the parameters are given, but is it correct way to verify our final output or any other way is there? I will be highly thankful to you if any solution is provided.

  • 2
    Did you see the introduction " Reflection/radiance-at-sensor and surface reflectance" in grass.osgeo.org/grass64/manuals/imageryintro.html? – markusN Nov 1 '14 at 19:03
  • thank you somuch markusN. i got the information i wanted.link you provided is useful. – user28542 Nov 5 '14 at 4:14
  • @user28542 No offense, but please try to keep some formatting in your text to make it easier for the readers. – Nikos Alexandris Nov 28 '14 at 23:30

Reflectance VS Radiance

  • i.landsat.toar derives, by default, Spectral Reflectance values (unitless, ranging in [0,1]), whether uncorrected or corrected (by some of the possible DOS methods).

  • i.atcorr treats, by default, input bands as Spectral Radiance.

To make things work, either derive Spectral Radiance values via i.landsat.toar by instructing the -r flag, or let i.atcorr treat the input as Spectral Reflectance via its own -r flag and apply on-top of the input values the 6S algorithm sofisticated "correction" calculations!

Range of values

Another pair of parameters to keep in mind, are range and rescale. The default settings are to expect an input ranging in [0,255] (range=0,255) and derive an output scaled in [0,255] (rescale=0,255) too!


Note, it is not correct to identify raw Digital Numbers (radiometrically corrected pixel values, or name them counts) which are unitless, with Spectral Radiance values, the latter expressed in watts per steradian per square metre (W/m2/μm/sr).


An ascii-art flowchart on i.landsat.toar and i.atcorr:

|                                                                              |
| Digital Numbers                                                              |
|        |                                                                     |
|  +-----v-----+                                                               |
|  |  i.*.toar | ---> Reflectance                                              |
|  +-----+-----+     (uncorrected)~~~(DOS methods)--+                          |
|        |                 +                        |                          |
|    (-r flag)         (-r flag)                    +--> "Corrected"           |
|        |                 |                        |     Reflectance          |
|        v           +-----v----+                   |                          |
|     Radiance ------> i.atcorr +-------------------+                          |
|                    +----------+                                              |
|                                                                        ;-)   |

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.