[GRASS-dev] Re: [GRASS-user] low radiance values after i.atcor and i.topo.corr

Markus Neteler neteler at osgeo.org
Mon Jun 23 09:57:46 EDT 2008


On Mon, Jun 23, 2008 at 1:52 PM, Glynn Clements
<glynn at gclements.plus.com> wrote:
> Markus Neteler wrote:
>
>> > And i.smap is gibberish; e.g. write_img() calls G_is_c_null_value() on
>> > "char"s, so that module probably hasn't worked since 4.x.
>>
>> i.smap works, I have tested it recently and also others use it regularly.
>
> Oh, it may produce output, but not necessarily correct output.
>
> Specifically, write_img() does:
>
>           if(G_is_c_null_value((CELL *)&img[row][col]))
>                   G_set_c_null_value(&files->cellbuf[col], 1);
>
> But "img" is a "unsigned char **", i.e. a 2D array of bytes. The test
> will only succeed if the array contains the sequence 00,00,00,80 (for
> little-endian systems) or 80,00,00,00 (big-endian systems). I suspect
> that the test was originally against zero, but it was incorrectly
> changed when null support was added.
>
> If that's the case, the net result will be that it writes garbage
> where it should be writing nulls, and occasionally writes nulls where
> it shouldn't.

That sounds quite ugly. But from looking at the code: is a major
rewrite needed to fix that? Since we "just" write out classes?


> Beyond that, it seems fairly straightforward. I have committed an
> update which compiles without warning, but hasn't been tested.

Backported. But...

>> Any opinions on
>> i.gensig
>> i.gensiset
>> ? Both are used for supervised classification where you have training
>> areas instead of just looking at the pixels as does i.cluster.
>
> Looking briefly at i.gensig, the algorithm seems to be quite heavily
> based upon categories (e.g. using the Cell_stats stuff), so it would
> need to be substantially re-written to support FP in any meaningful
> sense.

... without an update to i.gensigset I cannot test the FP capabilities of
i.smap. It seems that it was cloned from i.gensig.

Markus


More information about the grass-dev mailing list