[GRASS-user] Is "i.cluster" an implementation of the ISODATA algorithm?

Nikos Alexandris nik at nikosalexandris.net
Tue Oct 30 02:20:31 PDT 2012


NikosA:

> > I wonder why the term ISODATA [2] is not to be traced anywhere in the
> > GRASS manuals, nor in the GRASS book (3rd ed.).  Can someone confirm that
> > i.cluster is an(other) implementation of the ISODATA clustering
> > algorithm?

MarkusN:

> I search in my inbox and found some earlier discussion with the
> Subject: "Re: [GRASS-user] Re: algorithm used in i.cluster", see
> below.
 
> PS: Still we need a text snippet to improve the manual...

Things to keep in mind from the archived discussions (below):

- the ISODATA algorithm (Ball and Hall, 1967) is a common modification of the  
K-means algorithm

- the algorithm implemented in the "i.cluster" module involves merging of 
classes (I_cluster_merge) though no splitting function seems to be implemented

Thank you Markus,
Nikos


--%<---
> On Thu, Apr 22, 2010 at 5:21 PM, Georg Kaspar <georg - muenster.de> wrote:
> > Georg Kaspar schrieb:

> >> the steps described in
> >> http://download.osgeo.org/grass/grass6_progman/c__exec_8c_source.html
> >> seem to fit the migrating means algorithm described in richards and jia
> >> (2006) and based on the isodata algorithm in ball and hall (1965):

> > which is in principle the same as k-means.

> > I wrote a mail to Michael Shapiro, who wrote the code back in the 90's and
> > received this answer:

> >> Georg,
 > >> It has been a very long time since I wrote that code so my memory may be
> >> suspect, but I think that is correct.
 
> On Thu, Apr 22, 2010 at 5:35 PM, Georg Kaspar <georg at muenster.de> wrote:
> > Sorry for flooding the list, but i found an interesting note in
> > Schowengerdt (2007), p. 400:
 
> > "The ISODATA algorithm (Ball and Hall, 1967) is a common modification of
> > the  K-means algorithm and includes merging of clusters if their 
> > separation is below a threshold, and splitting of a single cluster into
> > two clusters if it becomes too large"

> > The algorithm implemented in the i.cluster module involves merging of
> > classes (I_cluster_merge) though no splitting function seems to be
> > implemented.

> > Since Michael Shapiro stated that he might have used the K-means
> > algorithm, I think we can be pretty shure that it is a modified version
> > similar to the isodata algorithm, which is described as migrating means in
> > Richards (2006).
--->%--


More information about the grass-user mailing list