[GRASS-user] Low reflectance values with i.atcorr and Landsat 8

Yann Chemin ychemin at gmail.com
Fri Jun 19 20:45:37 PDT 2015


in old times, 8-bit was the best for storage/resolution (still there
somehow...) but also for processing. rescaling IMHO is a legacy mostly of
that time. Someone should look into i.atcorr with a specific target at
modernizing this bit.

On Fri, Jun 19, 2015 at 3:20 PM Tomáš Brunclík <brunclik at atlas.cz> wrote:

> 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
>
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/grass-user
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-user/attachments/20150620/6ff74aee/attachment.html>


More information about the grass-user mailing list