Applies a mean filter (low-pass filter) to smooth an image by emphasizing longer-range variability and reducing noise.
Arguments
- x
Raster object of class WhiteboxRaster. See
wbw_read_raster()
for more details.- filter_size_x
integer
, X dimension of the neighbourhood size- filter_size_y
integer
, Y dimension of the neighbourhood size
Value
WhiteboxRaster object containing filtered values
Details
Uses an efficient integral image approach (Crow, 1984) that is independent of filter size. While commonly used, mean filters can be more aggressive in their smoothing compared to edge-preserving alternatives like the wbw_bilateral_filter or wbw_gaussian_filter.
Neighbourhood size, or filter size, is specified in the x and y dimensions
using filter_size_x
and filter_size_y
These dimensions should
be odd, positive integer values (e.g. 3L, 5L, 7L, 9L, etc.).
References
Crow, F. C. (1984, January). Summed-area tables for texture mapping. In ACM SIGGRAPH computer graphics (Vol. 18, No. 3, pp. 207-212). ACM.
For more information, see https://www.whiteboxgeo.com/manual/wbw-user-manual/book/tool_help.html#mean_filter
Examples
f <- system.file("extdata/dem.tif", package = "wbw")
wbw_read_raster(f) |>
wbw_mean_filter(filter_size_x = 3L, filter_size_y = 3L)
#> +-----------------------------------------------+
#> | WhiteboxRaster |
#> | dem.tif |
#> |...............................................|
#> | bands : 1 |
#> | dimensions : 726, 800 (nrow, ncol) |
#> | resolution : 5.002392, 5.000243 (x, y) |
#> | EPSG : 2193 (Linear_Meter) |
#> | extent : 1925449 1929446 5582091 5585717 |
#> | min value : 64.322784 |
#> | max value : 359.583405 |
#> +-----------------------------------------------+