[GRASS-user] Low reflectance values with i.atcorr and Landsat 8
Tomáš Brunclík
brunclik at atlas.cz
Fri Jun 19 02:50:12 PDT 2015
Hello,
just a note to this discussion. I never understood the input/output
stretching parameters of i.atcor, so I have no advice here, just couple
of thoughts.
I especially don't see why these scale parameters seem to be always used
in any tutorial, either always set to 0,1 both, or worse, to actual
range of input for the input scaling parameter. I would understand their
use, if the input TOA reflectance was in percent or in reflectance
multiplied by 10000, or quantized as DN values are - then such input
stretching min,max could be used to correct for this (not based on
actual values in the image, but on its metadata, though). Similarly, if
we needed output in percent reflectance or reflectance muptiplied by
10000, then the output streching could be used.
But if the input is in values of TOA reflectance already and we need
output in values of ground reflectance, there should be no stretching
involved at all, not even stretching to 0,1. And not even if there are
pixels in the scene having TOA reflectace over 1, and not again if there
are no pixels having reflectance over 0.5. Because both is possible -
although reflectance over 1 is of course not possible by definition, it
can be measured for surfaces not meeting measurement assumptions.
A scene band can contain pixels with TOA reflectance seemingly over 1
very easily, nothing fishy about that. Because keep in mind, we are
speaking about *spectral directional reflectance* and it is measured
with assumption of lambertian surfaces. Reflectance value of 1 should be
value of pixel of absolutely white object with *lambertian surface*. But
there can be an object with a mirror-like surface, like water or metal
roof and if such object is reflecting light toward the sensor (glint),
it can easily reach radiance values equivalent to lambertian surface
reflectance well above 1. And of course there can be invalid pixels,
like dead pixels in CCD cameras. So the algorithm (or the user) should
not try to scale the whole input or output reflectance, regardless of if
these pixels were removed from the scene or not. If unscaled TOA
reflectance, even containing reflectances over 1 at places should be fed
to the ATCOR algorithm unscaled, the result should be ground reflectance
unscaled.
And of course, it is normal, that the result may again contain
reflectances above 1 - it could be the pixels mentioned before, but also
for example clouds - because the reflectance is true only for surfaces
on the ground. Highly reflective surfaces high above ground can again
reach radiance values higher than what absolutely white object on ground
could have, because to the cloud in 10 km altitude there comes much more
light than to the surface below filtered by the thick atmosphere down
there, and we are not correcting for this, as we do for high mountains
with DMT, do we?
Regards,
Tomas Brunclik
Yann Chemin napsal(a):
> Something is fishy here, reflectance values should always be within
> 0-1 range.
>
> Please manually remove all values outside of that range (use
> r.mapcalc) and make a histogram of your TOAR band. if the histogram is
> of expected shape, and is not truncated at 1.0 threshold then you are
> OK. if there is a problem here, that means the TOAR processing had an
> issue. Stretching output from an unknown histogram skewness could be
> giving you funny results.
>
>
> On Mon, Jun 15, 2015 at 6:47 PM Micha Silver <micha at arava.co.il
> <mailto:micha at arava.co.il>> wrote:
>
> On 6/15/2015 3:25 PM, John, Lisa wrote:
>> Hi Micha,
>>
>> did you refer to the input range?
> Yes, the input range.
>
>> I did so and checked bands 1-9 with r.info <http://r.info> -r.
>> Top of atmosphere reflectance values are all in the range of
>> -0.01 - 2.12. The negative value seems to be a outlier and I
>> check in addition with the range 0-2.12.
>> I used these values for the input range in i.atcorr -r and used
>> 0,1 as output range.
> I meant in the first i.landsat.toar step. The input (DN) values
> should be up to 700 or so. Landsat 8, with its 12 bit data can
> have max DN values of 4096. But I didn't use that full range,
> rather the actual DN range of the original images.
>
>> However I get even smaller reflectance values (0.15 respectively
>> 0.29 for vegetation in band5)
>>
>> Regards, Lisa.
>>
>>
>> This mail was received via Mail-SeCure System.
>>
>>
>> _______________________________________________
>> grass-user mailing list
>> grass-user at lists.osgeo.org <mailto:grass-user at lists.osgeo.org>
>> http://lists.osgeo.org/mailman/listinfo/grass-user
>> This mail was received via Mail-SeCure System.
>>
>>
>
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org <mailto:grass-user at lists.osgeo.org>
> http://lists.osgeo.org/mailman/listinfo/grass-user
>
>
>
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/grass-user
More information about the grass-user
mailing list