Learn R Programming

spatstat (version 1.48-0)

dilation: Morphological Dilation

Description

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

Usage

dilation(w, r, ...) "dilation"(w, r, ..., polygonal=NULL, tight=TRUE) "dilation"(w, r, ..., polygonal=TRUE, tight=TRUE) "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
  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 DataLab