[GRASS-user] i.maxlik can't read signature from i.class
Nikos Alexandris
nik at nikosalexandris.net
Wed Nov 27 05:23:41 PST 2013
Cesar Augusto Ramírez Franco wrote:
> Hello everyone,
Hello,
> I've been trying to do a supervised classification from landsat8 imagery
> using i.class and then i.maxlik, but I'm getting an error when running
> i.maxlik saying it can't read the signature file.
Just to double-check: verify that your "classes" don't overlay any NULL cells.
It might be completely irrelevant, I have, though, blurry memories of this
being a blocker actually (with i.smap at least).
> I tested my procedure on the NC sample dataset and I'm getting the same
> error, I'm using Grass 6.4.2 on Debian Wheezy, installed from the debian
> repo. Here's the command set:
> #Display RGB enhanced map
> i.landsat.rgb blue=lsat7_2000_10 green=lsat7_2000_20 red=lsat7_2000_30
> d.rgb blue=lsat7_2000_10 green=lsat7_2000_20 red=lsat7_2000_30
> #"Real color" map
> r.composite red=lsat7_2000_30 green=lsat7_2000_20 blue=lsat7_2000_10
> output=lsat7_2000_RGB
> #Group images to process
> i.group group=lsat7_2000_RGB subgroup=lsat7_2000_RGB
> input=lsat7_2000_10,lsat7_2000_20,lsat7_2000_30
> #Unsupervised classification
> i.cluster group=lsat7_2000_RGB subgroup=lsat7_2000_RGB sigfile=clustlsat7
> classes=20 report=rep_clust_lsat7.txt
(I have never tried to feed a group that uses a single composite. I'll try it
out.)
> i.maxlik group=lsat7_2000_RGB subgroup=lsat7_2000_RGB sigfile=clustlsat7
> class=lsat7_classes reject=lsat7_classes_rej
Does the unsupervised classification work? i.cluster requires at least two
input raster maps. And, honestly, I have never tried it the way you did, i.e.
by using a composite map. Also, r.composite will use by default "32 levels"
whicih means that you loose important info for the subsequent classification,
if I am not wrong.
> #Supervised classification
> i.class map=lsat7_2000_RGB group=lsat7_2000_RGB subgroup=lsat7_2000_RGB
> outsig=classlsat7
> i.maxlik group=lsat7_2000_RGB subgroup=lsat7_2000_RGB sigfile=classlsat7
> class=lsat7_class_sup
> Here I get the error in which i.maxlik can't read the signature file
> created by i.class (classlsat7) but read the one created by i.cluster
> flawlessly
>
> This is what I'm selecting on the i.class monitor, I named it vegetation:
> [image: Imagen integrada 1]
Only on class? Can you try with more please?
> And the contents of the classlsat7 signature file are the following:
>
> #
>
> #vegetation
>
> 166
>
> Am I doing something wrong or is it some kind of bug?
Greets, Nikos
More information about the grass-user
mailing list