pksieve(1) program to sieve filter raster image


pksieve -i input [-s size] -o output [options]


pksieve filters small objects (maximum size defined with the option -s) in a raster by replacing them to the largest neighbor object. In this context, objects are defined as pixels of the same value that are also connected. The connection can be defined in four directions (N-S and W-E: set option -c 4) or eight directions (N-S, W-E and diagonals NW-SE, NE-SW: set option -c 8).


-i filename, --input filename
Input image file
-s size, --size size
raster polygons with sizes smaller than this will be merged into their largest neighbour. No sieve is performed if size = 0
-o filename, --output filename
Output image file Output image file
-c 4|8, --connect 4|8
the connectedness: 4 directions or 8 directions
-b band, --band band
the band to be used from input file
-m filename, --mask filename
Use the first band of the specified file as a validity mask (zero is invalid, non-zero is valid).
-ot type, --otype type
Data type for output image ({Byte / Int16 / UInt16 / UInt32 / Int32 / Float32 / Float64 / CInt16 / CInt32 / CFloat32 / CFloat64}). Empty string: inherit type from input image
-of format, --oformat format
Output image format (see also gdal_translate(1)). Empty string: inherit from input image
-co option, --co option
Creation option for output file. Multiple options can be specified.
-ct filename, --ct filename
colour table in ASCII format having 5 columns: id R G B ALFA (0: transparent, 255: solid)
-v level, --verbose level
verbose mode if > 0


merge all patches smaller than 5 pixels into bigger classes, using 8 connectivity (horizontal, vertical and diagonal)

pksieve -i input.tif -c 8 -c 5 -o output.shp