landam / grass-gis-git-migration-test

0 stars 0 forks source link

Request for a native GRASS implementation of the ISODATA clustering algorithm #85

Open landam opened 5 years ago

landam commented 5 years ago

Reported by nikosa on 20 Mar 2013 14:36 UTC '''The ISODATA clustering algorithm'''

The ISODATA algorithm is a(nother) modification of the k-means algorithm. Roughly, the difference lies in that the former allows for user-defined number of clusters while the latter pre-assumes a fixed number of clusters.

Quoting [details from ''A Fast Implementation of the ISODATA Clustering Algorithm''][1]:

...the algorithm tries to find the best set of cluster centers for a given set of points in d-dimensional space through an iterative approach until some maximum number of iterations are performed. It uses a number of different heuristics to determine when to merge or split clusters. 

At a high level, in each iteration of the algorithm the following takes place: points are assigned to their closest cluster centers, cluster centers are updated to be the centroid of their associated points, clusters with very few points are deleted, large clusters satisfying some heuristics are split, and small clusters satisfying other heuristics are merged. The algorithm continues until maximum number of iterations are performed. Here we go over the algorithm in more detail. See the related publications below for further information. 

'''Clustering in GRASS'''

The current clustering implementation in GRASS GIS' module http://grass.osgeo.org/grass70/manuals/i.cluster.html i.cluster is also another modification of the k-means clustering algorith. One difference, from an end-user point-of-view, is that i.cluster exptects at least two input raster maps (variables) in order to run.

''' Differences for end-users'''

The ISODATA algorithm, contrary to i.cluster, can run on a single raster map (variable) which makes it an easy and quick alternative for pixel-based unsupervised image classification tasks.

This makes it, be it a good or bad choice, attractive for many (commercial) remote sensing projects.

'''Proprietary Implementations'''

Most proprietary & commercial GIS & Remote Sensing packages have integrated an option for the ISODATA unsupervised (and pixel-based) classification algorithm. Some sources below:

'''FOSS Implementations'''

Some FOSS implementations of the ISODATA clustering/classification algorithm include:

However, those are not easy alternatives for a GRASS GIS user.

'''References'''

[1] http://www.cs.umd.edu/~mount/Projects/ISODATA/ [2] http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//009z000000pn000000.htm [3] http://geospatial.intergraph.com/fieldguide/wwhelp/wwhimpl/js/html/wwhelp.htm [4] http://www.exelisvis.com/portals/0/tutorials/envi/ClassificationTutorial.pdf [5] http://www.pcigeomatics.com/products/pdfs/Geomatica_Core_1032.pdf [6] http://www.clarklabs.org/products/upload/IDRISI-Selva-GIS-Image-Processing-Specifications.pdf [7] http://cran.r-project.org/web/packages/biOps/index.html [8] http://www.opticks.org

Migrated-From: https://trac.osgeo.org/grass/ticket/1908

landam commented 5 years ago

Comment by benducke on 20 Mar 2013 15:07 UTC GPL'd implementations in C++ can be found here: http://www.cs.umd.edu/~mount/Projects/ISODATA/

landam commented 5 years ago

Comment by nikosa on 14 Jun 2013 11:06 UTC Link to "historical" i.cluster material (kindly pointed to by Markus N)

http://lists.osgeo.org/pipermail/grass-user/1997-December/000912.html

landam commented 5 years ago

Modified by @landam on 12 May 2016 06:44 UTC

landam commented 5 years ago

Modified by @landam on 25 Aug 2016 15:51 UTC

landam commented 5 years ago

Comment by @landam on 27 Aug 2016 13:42 UTC Milestone renamed

landam commented 5 years ago

Comment by neteler on 26 Jan 2018 11:40 UTC Ticket retargeted after milestone closed

landam commented 5 years ago

Modified by neteler on 12 Jun 2018 20:48 UTC

landam commented 5 years ago

Comment by @landam on 25 Sep 2018 16:53 UTC All enhancement tickets should be assigned to 7.6 milestone.

landam commented 5 years ago

Comment by @landam on 25 Jan 2019 21:08 UTC Ticket retargeted after milestone closed