spatstat (version 1.60-1)

dilation: Morphological Dilation

Description

Perform morphological dilation of a window, a line segment pattern or a point pattern

Usage

dilation(w, r, …)
 # S3 method for owin
dilation(w, r, …, polygonal=NULL, tight=TRUE)
 # S3 method for ppp
dilation(w, r, …, polygonal=TRUE, tight=TRUE)
 # S3 method for psp
dilation(w, r, …, polygonal=TRUE, tight=TRUE)

Arguments

w

A window (object of class "owin" or a line segment pattern (object of class "psp") or a point pattern (object of class "ppp").

r

positive number: the radius of dilation.

extra arguments passed to as.mask controlling the pixel resolution, if the pixel approximation is used; or passed to disc if the polygonal approximation is used.

polygonal

Logical flag indicating whether to compute a polygonal approximation to the dilation (polygonal=TRUE) or a pixel grid approximation (polygonal=FALSE).

tight

Logical flag indicating whether the bounding frame of the window should be taken as the smallest rectangle enclosing the dilated region (tight=TRUE), or should be the dilation of the bounding frame of w (tight=FALSE).

Value

If r > 0, an object of class "owin" representing the dilated region. If r=0, the result is identical to w.

Details

The morphological dilation of a set \(W\) by a distance \(r > 0\) is the set consisting of all points lying at most \(r\) units away from \(W\). Effectively, dilation adds a margin of width \(r\) onto the set \(W\).

If polygonal=TRUE then a polygonal approximation to the dilation is computed. If polygonal=FALSE then a pixel approximation to the dilation is computed from the distance map of w. The arguments "\dots" are passed to as.mask to control the pixel resolution.

When w is a window, the default (when polygonal=NULL) is to compute a polygonal approximation if w is a rectangle or polygonal window, and to compute a pixel approximation if w is a window of type "mask".

See Also

erosion for the opposite operation.

dilationAny for morphological dilation using any shape.

owin, as.owin

Examples

Run this code
# NOT RUN {
  plot(dilation(redwood, 0.05))
  points(redwood)

  plot(dilation(letterR, 0.2))
  plot(letterR, add=TRUE, lwd=2, border="red")

  X <- psp(runif(10), runif(10), runif(10), runif(10), window=owin())
  plot(dilation(X, 0.1))
  plot(X, add=TRUE, col="red")

# }

Run the code above in your browser using DataCamp Workspace