I am glad to announce the release of the new version 8 (codename "Infinity") of the Semi-Automatic Classification Plugin (SCP) for QGIS.
This new version is based on a completely new Python processing framework that is Remotior Sensus, which expands the processing capabilities of SCP, also allowing for the creation of Python scripts.
The following video provides an introduction to the SCP tools.
Following the changelog:
-new version based on Remotior Sensus (i.e. a Python library developed for remote sensing) as main processing framework
-the whole code has been substantially rewritten and improved
-improved the interface for managing Band sets, which support dates, and multiple band sets can be directly managed
-band sets, and therefore all the tools using band sets, no longer require the bands to be previously loaded in QGIS, therefore bands can be loaded directly selecting the files
-training input has been improved to be integrated with Remotior Sensus' management of spectral signatures
-download of products relies on Remotior Sensus tools, which allow for the moment the download of Copernicus Sentinel-2 and NASA Harmonized Landsat and Sentinel-2 data
-available preprocessing tools:
--"Clip raster bands" for creating image subsets
--new unified interface named "Image conversion" allows for image preprocessing conversion of Landsat and Sentinel-2 images
--"Masking bands" for masking images based on raster values or vector
--"Reproject raster bands" for resampling and reprojecting images
--"Split raster bands" for splitting multiband images
--"Stack raster bands" for creating a multiband raster
--"Vector to raster" for rasterization
-available processing tools:
--unified interface for "Classification" which includes Random Forest, Multilayer Perceptron, Support Vector Machine
--scikit-learn and PyTorch are used as machine learning libraries
--"Classification" tool allows for training the classifier, optionally saving the classifier for later use, and of course performing the classification
--"Combination" for calculating band combinations of values
--"Dilation" for calculating band dilation of values based on desired size
--"Erosion" for calculating band erosion of values based on desired size
--"Sieve" for filtering isolated pixel values
--"Neighbor" for calculating functions on pixels considering a desired neighbor distance
--"PCA" for Principal Component Analysis
-available postprocessing tools:
--"Accuracy" for calculating classification accuracy based on reference data
--"Classification report" for calculating area statistics of raster classes
--"Classification to vector" for converting a raster band to vector
--"Cross classification" for crossing two raster bands and calculate the combination of values or linear regression
--"Reclassification" for calculating new values for raster classes
-a few tools, such as clustering and edit raster have been removed and will be reintroduced when available in Remotior Sensus
-"Band calc" interface has been improved adding several options that are available through the Remotior Sensus library, such as the optional definition of extent coordinates for limiting the calculation, or the output pixel size
-new tab "Script" is linked to most of the tools allowing for the display of the Python code to run the equivalent commands in Remotior Sensus (pasting the code in a Python shell), which can be useful to automate tasks and creating scripts
-integration of several tools in the QGIS Processing, which allows for creating models and workflows between the several libraries available in QGIS
The SCP requires Remotior Sensus, GDAL, NumPy and SciPy for most functionalities. Optionally, scikit-learn and PyTorch are required for machine learning. GDAL, NumPy and SciPy should already be installed along with QGIS.
The SCP is still a work in progress, as several new functions will be added in the future.
Stay tuned for new tutorials illustrating the SCP features.
For any comment or question, join the Facebook group or GitHub discussions about the Semi-Automatic Classification Plugin.