Hi devs.

I get an unexpected range of evi values using "i.vi" (G7), i.e.

        # derive EVI
        i.vi viname=evi red=B.Trimmed.ToAR.3 blue=B.Trimmed.ToAR.1 
nir=B.Trimmed.ToAR.4 output=evi

        # range is...
        r.info -r evi

        min=-6912.82161611806
        max=2264.42037461018

while evi should range in [-1,1].  Both the traditional ndvi and the new(er) 
evi2 are fine, using the same input Landsat bands.

        r.info -r ndvi

        min=-1.8046124457954
        max=0.751867027194004

and

        r.info -r evi2

        min=-0.341919561754256
        max=0.624114796171297

The range of the input L7 bands also looks fine:

        # blue, used for evi
        r.info -r B.Trimmed.ToAR.1

        min=0.085822088033344
        max=0.632558130168047

        # red
        r.info -r B.Trimmed.ToAR.3

        min=-0.00851692799904866
        max=0.640896679014357

        # nir
        r.info -r B.Trimmed.ToAR.4

        min=-0.0207162855708529
        max=0.979352245320124

The region is correctly set to match one of the bands (e.g. nir) and the code 
(evi.c) looks to me (the ignorant) clean:

# cat /geo/osgeo/src/grass_trunk/imagery/i.vi/evi.c
..
        tmp = nirchan + 6.0 * redchan - 7.5 * bluechan + 1.0;
..
                result = 2.5 * (nirchan - redchan) / tmp

What am I doing/interpret wrong?

Regards, Nikos
_______________________________________________
grass-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-dev

Reply via email to