Developing the SCP 6: Clustering with K-means and ISODATA algorithms

I am continuing to update the Semi-Automatic Classification Plugin (SCP) to version 6 (codename Greenbelt).
In the previous posts I have presented the main changes to the SCP dock, the Main interface, the new interface for downloading free products such as Landsat, Sentinel-2, ASTER, MODIS, Sentinel-3, and the new tools for cloud masking and band set mosaic.

Several users in the Facebook group and the Google+ Community asked for the ability to perform unsupervised classification with SCP. In SCP 6 I have added a new tool which allows for the clustering using K-means or ISODATA algorithms.

Clustering tab

The K-means method is based on the calculation of the average spectral signature of clusters.
The ISODATA (Iterative Self-Organizing Data Analysis Technique) method is similar to K-means but with the additional steps of merging clusters having similar spectral signatures and splitting clusters having too high variability.
With SCP 6 it will be possible to create the seed signatures in several ways: from pixels randomly selected in the image; using the signature list; or considering the minimum and maximum band values.

Spectral distance is a new tool that exploits the possibility to create multiple band sets.
This tool allows for calculating the spectral distance between every corresponding pixel of two band sets. The output is a raster containing the spectral distance of each pixel, calculated as Minimum Distance or Spectral Angle Mapping.
Also, a threshold can be defined for creating a binary raster of values below and above this threshold.

Spectral distance tab

This tool can be very useful for assessing land cover change in an automatic way.

I am willing to improve the functionalities of SCP with this new version 6, and I'll try to periodically post the development progress.The final SCP version 6 will probably be ready by January 2018.