Skip to main content

Sieving is removing clumps of contiguous cells in a categorical raster that are less than a threshold tolerance (number of pixels). The replacement pixel value can be one of NoData, default value, majority filter, value of largest neighboring clump, depending on what algorithm is used.

This is used to clean up noise in categorical rasters without contaminating the boundaries of 'good' pixels the way a simple majority filter would.

GDAL already has an implementation:
https://gdal.org/api/gdal_alg.html#_CPPv415GDALSieveFilter15GDALRasterBandH15GDALRasterBandH15GDALRasterBandHiiPPc16GDALProgressFuncPv

as does R:

https://www.rdocumentation.org/packages/bfastSpatial/versions/0.6.2/topics/areaSieve

as well as various python packages:
ex. https://rasterio.readthedocs.io/en/latest/api/rasterio.features.html#rasterio.features.sieve


but it would be nice to have a native FME version.

Be the first to reply!