thank you. It seems now solved!

Laura

2008/6/12 Agustin Lobo <Agustin.Lobo@ija.csic.es>:

>
>
> Laura Poggio escribió:
> .../...
>
>>
>> 2008/6/12 Agustin Lobo <Agustin.Lobo@ija.csic.es <mailto:
>> Agustin.Lobo@ija.csic.es>>:
>>
>> May I just ask you if you have easily available an example of code to
>> transform the image in a multivariate table pixels x bands? This would be
>> helpful to avoid many trial and errors (especially the second one). Sorry
>> for that but at my institution I am the only one dealing with R...
>>
>> Thank you again
>>
>> Laura
>>
>
> You already did it in:
> kl <- kmeans(as(img, "data.frame"), 5)
>
> Perhaps you want to do it in 2 steps:
>
> imgtabla <- as(img, "data.frame")
> kl <- kmeans(imgtabla, 5)
>
> You can look at the first rows of imgtabla with
>
> imgtabla[1:5,]
> or
> head(imgtabla)
> and then
> dim(imgtabla)
> summary(imgtabla)
>
> If img were your complete Landsat image, the same steps
> would yield an imgtabla with 262144 x 6 (as I assume you are not
> using the thermal band). In that case, you probably want
> to run PCA and use only the first 3 PCs for classification, as they
> typically
> account for >95% of the total variance and you cam always apply
> the inverse transform to the centroids to recover the original
> metric.
>
> As a matter of fact, I think it's more practical
> here to convert imgtabla from data.frame to matrix, as all values are
> numerical here.
>
> Agus
>
>
>>
>>
>>    Agus
>>
>>
>>        I will investigate some of the points raised and in case I will
>>        come back with more clear ideas and questions.
>>
>>        Thank you very much to everybody for the support.
>>
>>        Laura
>>
>>
>>
>>        2008/6/12 Agustin Lobo <Agustin.Lobo@ija.csic.es
>>        <mailto:Agustin.Lobo@ija.csic.es>
>>        <mailto:Agustin.Lobo@ija.csic.es
>>        <mailto:Agustin.Lobo@ija.csic.es>>>:
>>
>>
>>           If your images are large (and images typically are large because
>>           pixel size
>>           has to be small compared to the extent of the image for the
>>        image to
>>           be of acceptable quality for our vision system), I do not
>>        advice you
>>           to get them into R for processing as R has severe memory limits
>>           and many classification techniques are not precisely
>>        memory-efficient
>>           (but see clara() in package cluster, actually read
>>           http://cran.r-project.org/web/views/Cluster.html).
>>
>>           I think that you should sample your image in a RS/GIS
>> environment
>>           making sure you cover all
>>           the radiometric space and import only a table pixels x bands
>>        into R,
>>           the actual nb. of pixels depending on your HW/SW
>>        configuration (but
>>           10000 would be a good start). Then use the numerous R
>>        classification
>>           tools to define the centroids and once you have them use
>>        again your
>>           RS/GIS program to actually assign each pixel in the image to a
>>           centroid according to a given rule (i.e. maximum likelihood).
>>        There
>>           might be
>>           ways of writing an efficient assignation step within R itself
>>        also,
>>           I think that mclust package does it.
>>
>>           Another way of reducing the number of individuals to classify is
>>           performing a segmentation of the image first and then
>>        classify segments
>>           instead of pixels (i.e.
>>           # Lobo, A. 1997.  Image segmentation and discriminant
>>        analysis for
>>           the identification of land cover units in Ecology. IEEE
>>        Transactions
>>           on Geoscience and Remote Sensing, 35(5): 1- 11.
>>           http://wija.ija.csic.es/gt/obster/ABSTRACTS/alobo_ieee97.pdf
>>           perhaps other articles in
>>           http://wija.ija.csic.es/gt/obster/alobo_publis.html
>>           might be of help)
>>
>>           In any case, note that img in your code should be converted into
>>           a multivariate table pixels x bands for most classification
>>           functions in R to work. Note that this fact makes obvious
>>           that classification approaches to image processing do not make
>>           use of the spatial information of the image, which is actually
>>           a fundamental part of the information of any image.
>>
>>           Agus
>>
>>           Laura Poggio escribió:
>>
>>               Dear list,
>>               I am trying to do some clustering on images. And I have
>>        two main
>>               problems:
>>
>>               1) Clustering multiband images.
>>               I managed to be successful with a single band image, but
>> when
>>               trying to
>>               apply to a 3 band I get the following warning message:
>>               In as.matrix.SpatialGridDataFrame(x) :
>>                as.matrix.SpatialPixelsDataFrame uses first column;
>>                pass subset or [] for other columns
>>
>>
>>               2) saving clustering results as grid or image.
>>               I get a vector of clusters, but without both coordinates.
>>        How it
>>               is possible
>>               to transform it in a grid?
>>
>>               Here the code I use to read the image itself and to do the
>>               clustering:
>>
>>               library(rgdal)
>>               fld <- system.file("E:/data/IMG/fr/", package="rgdal")
>>               img <- readGDAL("123_rawR.tif")
>>
>>               kl <- kmeans(img, 5)
>>
>>               I am quite new to image processing, especially within R,
>>        and any
>>               help is
>>               greatly appreciated.
>>
>>               Thank you in advance
>>
>>               LP
>>
>>                      [[alternative HTML version deleted]]
>>
>>               _______________________________________________
>>               R-sig-Geo mailing list
>>               R-sig-Geo@stat.math.ethz.ch
>>        <mailto:R-sig-Geo@stat.math.ethz.ch>
>>        <mailto:R-sig-Geo@stat.math.ethz.ch
>>        <mailto:R-sig-Geo@stat.math.ethz.ch>>
>>
>>               https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>
>>
>>           --    Dr. Agustin Lobo
>>           Institut de Ciencies de la Terra "Jaume Almera" (CSIC)
>>           LLuis Sole Sabaris s/n
>>           08028 Barcelona
>>           Spain
>>           Tel. 34 934095410
>>           Fax. 34 934110012
>>           email: Agustin.Lobo@ija.csic.es
>>        <mailto:Agustin.Lobo@ija.csic.es>
>>        <mailto:Agustin.Lobo@ija.csic.es <mailto:Agustin.Lobo@ija.csic.es
>> >>
>>
>>           http://www.ija.csic.es/gt/obster
>>
>>
>>
>>    --    Dr. Agustin Lobo
>>    Institut de Ciencies de la Terra "Jaume Almera" (CSIC)
>>    LLuis Sole Sabaris s/n
>>    08028 Barcelona
>>    Spain
>>    Tel. 34 934095410
>>    Fax. 34 934110012
>>    email: Agustin.Lobo@ija.csic.es <mailto:Agustin.Lobo@ija.csic.es>
>>    http://www.ija.csic.es/gt/obster
>>
>>
>>
> --
> Dr. Agustin Lobo
> Institut de Ciencies de la Terra "Jaume Almera" (CSIC)
> LLuis Sole Sabaris s/n
> 08028 Barcelona
> Spain
> Tel. 34 934095410
> Fax. 34 934110012
> email: Agustin.Lobo@ija.csic.es
> http://www.ija.csic.es/gt/obster
>

	[[alternative HTML version deleted]]


