spatstat (version 1.42-2)

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 class 'owin':
dilation(w, r, \dots, polygonal=NULL, tight=TRUE)
 ## S3 method for class 'ppp':
dilation(w, r, \dots, polygonal=TRUE, tight=TRUE)
 ## S3 method for class 'psp':
dilation(w, r, \dots, 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.
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=F

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 "..." 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. 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 DataCamp Workspace