[GRASS-user] Report from ongoing GRASS GIS Community Sprint in Prague - i.atcoor

Daniel Victoria daniel.victoria at gmail.com
Mon May 28 12:17:19 PDT 2012


Hi Markus M et al.,

Thanks!! You answer has removed a long standing doubt of mine. So the
255 output from i.atcoor is 100% reflectance. Great.

Now here is another analysis (hope this time correct). I've taken the
same random points from before and did a k-means clustering based on
the i.atcoor results. I've then compared the average spectral profile
for each class (atcoor vs. flaash). Flaash output has been divided by
10000 and i.atcoor, by 255 to scale reflectance from 0 to 1.

>From the graphs we see that the spectral profile for each class is a
bit different. Red line is the mean and the gray lines are the
spectral profile for all points in that class. For instance, in class
5 (water), flaash has lowered reflectance values on bands 1 and 2 much
more then i.atcoor. It appears as thoug Flaash will apply a stronger
correction then atcoor, even using high visibility values.

Could the different aerosol model used have caused this difference?
Flaash used rural aerosol model and i.atcoor used continental...

Cheers
Daniel

On Mon, May 28, 2012 at 3:16 PM, Markus Metz
<markus.metz.giswork at googlemail.com> wrote:
> Daniel Victoria wrote:
>> Crap... I looked out the windows and realized the atcoor vs. flaash
>> comparison I just did had a major flaw. I also have a good linear
>> regression between uncorrected radiance and reflectance from bothe
>> flaash and atcoor. So a linear regression between flaash and atcoor
>> does not mean that atcoor is working like it should, it means that
>> both are correlated to the original radiance image...
>>
>> But my doubth still lives on: What is comming out of the i.atcoor
>> module? We know it's reflectance but does a 255 value means 100%
>> reflectance? Or is it the max reflectance in the image and we are not
>> sure what that value is.
>
> [sneaking in because I did some modifications to i.atcorr about a year ago]
>
> According to the source code of i.atcorr, the minimum and maximum
> values coming out of i.atcorr are defined by the output scaling
> option, oscl in GRASS 6.x, rescale in GRASS 7. The default is 0,255,
> i.e. by default the smallest possible value is 0 and the largest
> possible value is 255 and in this case 255 would mean 100%. That means
> if you want to compare the output of flaash and i.atcorr and want to
> have identical values if possible, you should use oscl=0,10000 for
> i.atcorr in GRASS 6.x.
>
> About the regression, I guess that with a visibility of 58.33 km
> nothing will change much and the good correlation between uncorrected
> and corrected bands is not surprising. From my own testing,
> atmospheric correction becomes interesting with a visibility of 5 km
> or less.
>
> Markus M
>
>
>>
>> Cheers
>> Daniel
>>
>> On Mon, May 28, 2012 at 2:41 PM, Daniel Victoria
>> <daniel.victoria at gmail.com> wrote:
>>> Hi Markus,
>>>
>>> On the i.atcoor issue, I did a quick comparison of a TM image
>>> corrected using i.atcoor (Grass 6.4) and Envi FLAASH, which is based
>>> on MODTRAN and should be similar to 6S.
>>>
>>> A detailed explanation is attached on the PDF file but basically this
>>> is what I did:
>>> 1) Correct a TM image using the same atmospheric parameters in atcoor and flaash
>>> 2) Generate a bunch of random points
>>> 3) Results from atcoor and flaash are linearly correlated but
>>> regression coefficients are not the same for the different bands.
>>>
>>> This makes it difficult for comparing the reflectance from i.atcoor
>>> with measured reflectance spectra since we are not sure what the max
>>> value of from i.atcoor output (255) means. Is it the maximum
>>> reflectance (100%)? Or is it the max reflectance in the evaluated
>>> image? That is, if the image has a max reflectance of 40%, then the
>>> output reflectance image from i.atcoor will put a value of 255 for 40%
>>> reflectance.
>>>
>>> Sorry for the long and confusing email. The good news is that i.atcoor
>>> is giving results very well correlated with the ones obtained by a
>>> respected atm correction scheme from a comercial package  - hurray! We
>>> only need to figure out the scale of the output :)
>>>
>>> Thanks
>>> Daniel
>>>
>>> PS - I changed the subject line so it wouldn't mix with the sextante discussion
>>>
>>>
>>>>
>>>> On Mon, May 28, 2012 at 9:42 AM, Markus Neteler <neteler at osgeo.org> wrote:
>>>>> On Mon, May 28, 2012 at 2:21 PM, Daniel Victoria
>>>>> <daniel.victoria at gmail.com> wrote:
>>>>>> Hi all,
>>>>>>
>>>>>> I saw on the wiki talk page that there will be some debugging in
>>>>>> i.atcorr. One thing I've allways been troubled by is what is the
>>>>>> output from the module. I know it's reflectance but the data is scaled
>>>>>> to 8 bits. So does it means the 100% reflectance is 255?
>>>>>
>>>>> Due to an overwhelming agenda I didn't manage to look into this.
>>>>> However, a clear example would be desired in order to better
>>>>> analyse when bad things happen. Could you provide one?
>>>>>
>>>>> thanks
>>>>> Markus
>> _______________________________________________
>> grass-user mailing list
>> grass-user at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/grass-user
-------------- next part --------------
A non-text attachment was scrubbed...
Name: reflec_1_3.png
Type: image/png
Size: 10728 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/grass-user/attachments/20120528/93788b1e/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: reflec_4_6.png
Type: image/png
Size: 10104 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/grass-user/attachments/20120528/93788b1e/attachment-0003.png>


More information about the grass-user mailing list