semiautomaticgit / SemiAutomaticClassificationPlugin

https://fromgistors.blogspot.com/p/semi-automatic-classification-plugin.html
Other
136 stars 50 forks source link

Feature request: Classification Bias Tool #68

Closed javaftw closed 9 months ago

javaftw commented 4 years ago

The Classification Bias Tool (CBT) allows the user to create "areas of likelihood of occurrence" of classes and/or macroclasses so that the classification of pixels within those areas are weighted/biased by the user's settings. Within such an area, a pixel classified as a MC which has a low (or high) likelihood of occurrence is then reclassified as a MC which has a higher (or lower) likelihood (set by user) AND is closest (spectral signature) alternative MC.

The user must be able to define polygons which define the areas of influence of the classification bias. The user must also be able to use a single-band grayscale raster images whose pixel intensities determine the magnitude of influence of the classification bias.

Polygons as well as rasters may be stacked and may overlap. Pixels inside the polygon area are all influenced 100%, whereas pixels influenced by rasters are influenced between 0/255 to 255/255 (the pixel intensity values). A "feathering" of the hard edges of the polygons can be achieved by (silently, background) converting the polygons to rasters, applying a "blur" convolution, and then using the resulting image as a raster influence source.

javaftw commented 4 years ago

Here's how it might work:

There is currently no feasible way of doing this manually, as there is no way to selectively disregard certain bands when computing signatures for specific MCs

The vector layer, when converted to a raster, will of course have very sharp edges around the shapes. Ideally, some sort of "blur" convolution should be performed to soften (feather) the hard edges. The ideal would be draw/paint/spray tools such as those found in image manipulation software.

This ties in with a better approach to managing Cs and MCs

semiautomaticgit commented 4 years ago

Thank you very much. This is very interesting. I'll think about implementing this in SCP.

semiautomaticgit commented 9 months ago

Hello @javaftw , I'm closing this because the new version 8 of SCP uses Remotior Sensus as processing library, and unfortunately I don't think I would be able to implement it. However, thank you very much for the suggestion.