maxima_selection {lidaRtRee} | R Documentation |
Image maxima selection based on values and neighborhood of local maxima
Description
In a maxima image (output of maxima_detection
), sets values to
zero for pixels which:
values in the initial image (from which maxima were detected) are below a threshold
values in the maxima image (corresponding to the radius of the neighborhood where they are global maxima) are below a threshold depending on the initial image value.
Make sure that the max.width
parameter in maxima_detection
is consistent with the selection parameters (e.g. do not select with
dmin = 7
if values were only tested up to max.width
the default
value which is approx. 5.5 m).
Usage
maxima_selection(maxi, dem_nl, hmin = 5, dmin = 0, dprop = 0.05)
Arguments
maxi |
cimg object or SpatRaster object. image with local maxima
(typically output from |
dem_nl |
cimg object or SpatRaster object. initial image from which maxima were detected |
hmin |
numeric. minimum value in initial image for a maximum to be selected |
dmin |
numeric. intercept term for selection of maxima depending on
neighborhood radius: |
dprop |
numeric. proportional term for selection of maxima depending on
neighborhood radius: |
Value
A cimg object or SpatRaster object which values are the radius (n) in meter of the square window (width 2n+1) where the center pixel is global maximum and which fulfill the selection criteria
See Also
maxima_detection
, tree_segmentation
Examples
data(chm_chablais3)
chm_chablais3 <- terra::rast(chm_chablais3)
# maxima detection
maxi <- maxima_detection(chm_chablais3)
# several maxima selection settings
selected_maxi_hmin <- maxima_selection(maxi, chm_chablais3, hmin = 15)
selected_maxi_dm <- maxima_selection(maxi, chm_chablais3, dmin = 2.5)
selected_maxi <- maxima_selection(maxi, chm_chablais3, dmin = 1, dprop = 0.1)
# corresponding count number of remaining maxima
table(terra::values(maxi))
table(terra::values(selected_maxi_hmin))
table(terra::values(selected_maxi_dm))
table(terra::values(selected_maxi))
# plot original image
terra::plot(chm_chablais3, main = "Initial image")
# plot maxima images, original and first case
terra::plot(maxi, main = "Local maxima")
terra::plot(selected_maxi, main = "Selected maxima")