I would like to apply topographic correction using GRASS 7.0 (i.topo.corr). The imagery were already converted from DNs to Top-of-Atmosphere Radiances. When I apply the i.topo.corr command it runs normally without any error, but the result is a "white" image. I cannot see the bands, it seems that I am missing something. I applied topographic correction for Landat images from 1991 and 1979 and it worked perfectly using the same commands, but for Landsat image from 2003 and 2015 it does not work.

I'll explain what I did step by step.

The illumination model was created as follows: i.topo.corr -i --overwrite output=2003_111.84_SRTM_illum basemap=SRTM_1s_mosaic@PERMANENT zenith=54.56122270 azimuth=78.49871615 method=minnaert

After the illumination model is created, i used it to correct the desired bands of the image: i.topo.corr --overwrite input=13Jan2003_111.84_toar_B1@PERMANENT,13Jan2003_111.84_toar_B2@PERMANENT,13Jan2003_111.84_toar_B3@PERMANENT, output=tcor basemap=2003_111.84_SRTM_illum@PERMANENT zenith=54.56122270 azimuth=78.49871615 method=minnaert

  • What Landsat data did you use in each case? Different instruments (TM/ETM+/OLI) have different band combinations.
    – reima
    Jun 8, 2015 at 7:18
  • Hi reima, for Landsat MSS3, Landsat 5 TM and one Landsat OIL it worked fine and I got a really good result. But for Landsat another OLI and for Landsat 7 ETM+ it does not work. I used exactly the same commands. It runs normally without any error, but the result is a "white" image (white square for all bands).
    – Nery
    Jun 8, 2015 at 7:58
  • Have you checked what the actual pixel values are? Also have you checked the input radiance data that it is correct and not containing NA's or other possibly erroneous values? I don't know the GRASS-algorithm, per se ( I use R, ArcGIS and SAGA mainly), so I can't help with that one, but as said, the issue might relate to input data too.
    – reima
    Jun 8, 2015 at 11:12
  • I have checked the values. For example, I have the following values generated by i.landsat.toar (Reflectance of Landsat-7 ETM+ (method dos4)) for Band 1: Range of data: Range of data: min = 0.01 max = 0.384689793990633 After applying i.topo.corr the values changed to Range of data: min = -252.767458308413 max = 2928.43556843211. I am a begginer user and any support will be welcome.
    – Nery
    Jun 8, 2015 at 11:45
  • Hmm.. Your input values seems to be reflectance (not radiance), as it ranges between 0-1, but the latter seems more like radiance values and not reflectance. Which is of course erroneous, if this is the case. Sorry I can't help you with the grass-GIS stuff, as I do not have that. Can you perhaps try another program, such as R or SAGA GIS?
    – reima
    Jun 9, 2015 at 5:08

1 Answer 1


The problem was that the color of the Landsat bands was set to white during the i.topo.corr process. When I set the color table for each band to gray I was able to see the bands.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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