2015/02/18

Minor Update: Semi-Automatic Classification Plugin v. 4.0.1


This post is about a minor update for the Semi-Automatic Classification Plugin for QGIS, version 4.0.1.



Following the changelog:
-fixed issue that prevented Landsat conversion of thermal bands

2015/02/15

Semi-Automatic Classification Plugin v.4.0 "Frascati"


After a few beta versions, I am glad to announce the release of the new Semi-Automatic Classification Plugin version 4.0 code name "Frascati" (dedicated to the ESA ESRIN located in Frascati (Italy), which is the European centre of Earth observation missions, and it is involved in the development of the Copernicus Sentinel satellites in particular for the acquisition, distribution and exploitation of data).
Semi-Automatic Classification Plugin version 4.0

I have added several new functions both to the user interface and the processing tools. The user manual is available here (pdf).

new SCP menu in located in the main menu bar of QGIS. One of the main achievements is the optimization of the Maximum Likelihood algorithm, which is considerably faster than before.
Another major change is that temporary ROIs are displayed as overlay, avoiding the loading of temporary shapefiles in QGIS. Also, new options allow for the automatic refresh of temporary ROIs changing ROI parameters.
A combo box allows for the rapid visualization of RGB color composites, which is useful for image interpretation.
New custom functions are available for splitting raster bandsconverting classifications to shapefilereclassifying classifications (also using Python expressions).

In particular, a new tab Band calc for calculation of raster bands using the functions provided by NumPy.
With this new tool it is possible to perform operations between raster bands such as: sum, product, sine, logarithm, etc. (for a list of NumPy function see here); also, the advanced array functions available in NumPy can be used in Band calc for calculating vegetation indices and creating expressions (NumPy functions must have the prefix np.); for instance the expression np.where("raster1" > 1, 1, 0)creates a new raster having value 1 where the input raster (i.e. "raster1") is greater than 1 and 0 where input is not greater than 1, which is useful for creating masks (for more information about NumPy function "Where" see here).
The expression can use the file name of the band or the variable name (e.g. "raster1") assigned automatically. Also, the use of the variable "bandset#b" (e.g. "bandset#b1") is accepted where b is the band number of the band set defined in the tab Band set. For instance, NDVI can be easily calculated as ("bandset#b4" - "bandset#b3")/ ("bandset#b4" + "bandset#b3") . Also, it is possible to calculate multiple rasters at once by entering multiple expressions (separated by new line) such as:
"raster1" * "raster2"
"raster3" * "raster4"

which will produce one raster for "raster1" * "raster2" and another one for "raster3" * "raster4".
New tool Band calc (example of NDVI calculation)

The spectral signature plot allows for the calculation spectral distances (i.e. separability) among signatures, such as: Jeffrey-Matusita distance, Spectral angle, Euclidean distance, Bray-Curtis similarity. Very similar signatures are highlighted with red values.
Calculation of signature distances (similar signatures in red)

The Landsat pre processing tool allows for editing the metadata, which is automatically imported from the MTL file if available, in order to convert DN to reflectance. If the MTL file is not found in the Landsat directory, it is possible to select the path to the MTL file.
If MTL file is not available, a list of bands is created and it is possible to insert manually the required data, which is useful for old Landsat images that have different or no metadata.
Also, it is possible to remove bands from the conversion list.
Landsat conversion parameters from the metadata file

2015/02/08

Semi-Automatic Classification Plugin v.4.0 beta 10 Available as Experimental in QGIS


I have released a new beta of the Semi-Automatic Classification Plugin v.4.0 in the official repository of QGIS (experimental).
I have added a new function that was not present in the previous beta versions: a tab Band calc for calculation of raster bands using the functions provided by NumPy.
With this new tool it is possible to perform operations between raster bands such as: sum, product, sine, logarithm, etc. (for a list of NumPy function see here); also, the advanced array functions available in NumPy can be used in Band calc for calculating vegetation indices and creating complex expressions (with the prefix np.); for instance the expression np.where("raster1" > 1, 1, 0)creates a new raster having value 1 where the input raster (i.e. "raster1") is greater than 1 and 0 where input is not greater than 1, which is useful for creating masks (for more information about NumPy function "Where" see here).
The expression can use the file name of the band or the variable name (e.g. "raster1") assigned automatically. Also, the use of the variable "bandset#b" (e.g. "bandset#b1") is accepted where b is the band number of the band set defined in the tab Band set. For instance, NDVI can be easily calculated as ("bandset#b4" - "bandset#b3")/ ("bandset#b4" + "bandset#b3") . Also, it is possible to calculate multiple rasters at once by entering multiple expressions (separated by new line) such as:
"raster1" * "raster2"
"raster3" * "raster4"

that will produce one raster for "raster1" * "raster2" and another one for "raster3" * "raster4".
New tool Band calc (example of NDVI calculation)

About me

My Photo

I am working in the fields of GIS and Remote Sensing.