focal_metrics: Calculate Texture Metrics per Pixel

View source: R/focalmetrics.R

focal_metricsR Documentation

Calculate Texture Metrics per Pixel

Description

Calculates the various texture metrics over windows centered on individual pixels. This creates a continuous surface of the texture metric. This function is a modified version of the window_lsm function from the landscapemetrics package (Hesselbarth et al. 2019).

Usage

focal_metrics(x, window, metrics, progress, ...)

Arguments

x

A raster or matrix. Image over which to apply focal window calculations.

window

Matrix. The focal window used to create the image.

metrics

List. List of metrics to apply. Function names must be strings.

progress

Logical. Display progress through metrics list?

...

Additional arguments for the metric functions. All applicable arguments will be applied to the entire list of metrics.

Details

Metrics available from geodiv package:

  1. 'sa': average surface roughness

  2. 'sq': root mean square roughness

  3. 's10z': ten-point height

  4. 'sdq': root mean square slope of surface, 2-point method

  5. 'sdq6': root mean square slope of surface, 7-point method

  6. 'sdr': surface area ratio

  7. 'sbi': surface bearing index

  8. 'sci': core fluid retention index

  9. 'ssk': skewness

  10. 'sku': kurtosis

  11. 'sds': summit density

  12. 'sfd': 3d fractal dimension

  13. 'srw': dominant radial wavelength, radial wavelength index, mean half wavelength

  14. 'std': angle of dominating texture, texture direction index

  15. 'svi': valley fluid retention index

  16. 'stxr': texture aspect ratio

  17. 'ssc': mean summit curvature

  18. 'sv': maximum valley depth

  19. 'sph': maximum peak height

  20. 'sk': core roughness depth

  21. 'smean': mean peak height

  22. 'svk': reduced valley depth

  23. 'spk': reduced peak height

  24. 'scl': correlation length

  25. 'sdc': bearing area curve height interval

Value

A raster of the metric calculated in windows over the raster or matrix. If the input was a matrix, the function will return a raster with an extent of [0, 1, 0, 1].

References

  1. Hesselbarth, M.H.K., Sciaini, M., With, K.A., Wiegand, K., Nowosad, J. 2019. landscapemetrics: an open-source R tool to calculate landscape metrics. - Ecography 42:1648-1657(ver. 0).

Examples

# import raster image
data(normforest)
normforest <- terra::unwrap(normforest)

# crop raster to smaller area
x <- terra::crop(normforest, terra::ext(normforest[1:100, 1:100, drop = FALSE]))

# get a surface of root mean square roughness
sa_img <- focal_metrics(x = x, window = matrix(1, 5, 5),
                        metrics = list('sa'), progress = TRUE)

# plot the result
terra::plot(sa_img$sa)

bioXgeo/geodiv documentation built on Oct. 17, 2023, 5:58 a.m.