On Mon, Jun 23, 2008 at 1:52 PM, Glynn Clements <[EMAIL PROTECTED]> 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 _______________________________________________ grass-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/grass-dev
