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

Markus Neteler neteler at osgeo.org
Mon Jun 23 16:14:17 EDT 2008


On Mon, Jun 23, 2008 at 7:46 PM, Glynn Clements
<glynn at gclements.plus.com> wrote:
>
> Glynn Clements wrote:
>
>> > ... without an update to i.gensigset I cannot test the FP capabilities of
>> > i.smap. It seems that it was cloned from i.gensig.
>>
>> In retrospect, it appears that it's only the training map which is
>> inherently restricted to integers. E.g. i.gensigset reads the group
>> maps as CELL then immediately promotes the values to "double".
>>
>> Unless there's something else I have overlooked, I should have an FP
>> version ready shortly.

Great!

> Done. Again, they compiles without warning, but need testing.

I have made a test (NC data set):

 r.mapcalc b10=lsat7_2000_10/10000.
 r.mapcalc b20=lsat7_2000_20/10000.
 r.mapcalc b30=lsat7_2000_30/10000.
 r.mapcalc b40=lsat7_2000_40/10000.
 r.mapcalc b50=lsat7_2000_50/10000.
 r.mapcalc b70=lsat7_2000_70/10000.
 r.mapcalc b80=lsat7_2000_80/10000.
 i.group bgroup sub=bgroup in=b10,b20,b30,b40,b50,b70,b80

 # make some training areas based on a prev. i.cluster output:
 r.digit output=train

i.gensigset train group=bgroup sub=bgroup sig=gensigset
Finding training classes ... 100%
4 classes
Reading image data ... 100%
Clustering class 1, with 870 pixels
Warning: Removed a singular subsignature; number 1; 9 remain
Warning: Removed a singular subsignature; number 1; 8 remain
Warning: Removed a singular subsignature; number 1; 7 remain
Warning: Removed a singular subsignature; number 1; 6 remain
Warning: Removed a singular subsignature; number 1; 5 remain
Warning: Removed a singular subsignature; number 1; 4 remain
Warning: Removed a singular subsignature; number 1; 3 remain
Warning: Removed a singular subsignature; number 1; 2 remain
Warning: Removed a singular subsignature; number 1; 1 remain

Error: unreliable clustering
try a smaller initial number of clusters
Warning: Removed a singular subsignature; number 1; -1 remain
[..]

I fear that it still reads in CELL types somewhere and that it loses precision
through this (leading to 0.0000 stuff and singular subsignatures).

Running it with CELL maps works:
i.gensigset train group=mylsat7_2000 sub=mylsat7_2000 sig=gensigset
Finding training classes ... 100%
4 classes
Reading image data ... 100%
Clustering class 1, with 870 pixels
Subclasses = 10; Rissanen = 1.766967; Combining Subclasses (4,10)
Subclasses = 9; Rissanen = 1.747356; Combining Subclasses (6,7)
Subclasses = 8; Rissanen = 1.729157; Combining Subclasses (1,3)
Subclasses = 7; Rissanen = 1.709793; Combining Subclasses (4,5)
Subclasses = 6; Rissanen = 1.692221; Combining Subclasses (3,6)
Subclasses = 5; Rissanen = 1.670506; Combining Subclasses (3,5)
Subclasses = 4; Rissanen = 1.651796; Combining Subclasses (1,2)
Subclasses = 3; Rissanen = 1.659187; Combining Subclasses (2,3)
Subclasses = 2; Rissanen = 1.639454; Combining Subclasses (1,2)
Subclasses = 1; Rissanen = 1.660753;  Solution: Number of subclasses is 2
Clustering class 2, with 1002 pixels
Subclasses = 10; Rissanen = 3.569789; Combining Subclasses (5,10)
Subclasses = 9; Rissanen = 3.560045; Combining Subclasses (2,9)
Subclasses = 8; Rissanen = 3.543462; Combining Subclasses (3,5)
[...]
Writing signature file [gensigset] ...

i.smap group=mylsat7_2000 sub=mylsat7_2000 sig=gensigset out=mysmap
d.rast mysmap
# -> looks fairly good!

Markus


More information about the grass-dev mailing list