spatstat (version 1.45-2)

erosionAny: Morphological Erosion of Windows

Description

Compute the morphological erosion of one spatial window by another.

Usage

erosionAny(A, B)

A %(-)% B

Arguments

A,B
Windows (objects of class "owin").

Value

  • Another window (object of class "owin").

Details

The operator A %(-)% B and function erosionAny(A,B) are synonymous: they both compute the morphological erosion of the window A by the window B.

The morphological erosion $A \ominus B$ of region $A$ by region $B$ is the spatial region consisting of all vectors $z$ such that, when $B$ is shifted by the vector $z$, the result is a subset of $A$.

Equivalently $$A \ominus B = ((A^c \oplus (-B))^c$$ where $\oplus$ is the Minkowski sum, $A^c$ denotes the set complement, and $(-B)$ is the reflection of $B$ through the origin, consisting of all vectors $-b$ where $b$ is a point in $B$.

If B is a disc of radius r, then erosionAny(A, B) is equivalent to erosion(A, r). See erosion. The algorithm currently computes the result as a polygonal window using the polyclip library. It will be quite slow if applied to binary mask windows.

See Also

erosion, MinkowskiSum

Examples

Run this code
B <- square(c(-0.1, 0.1))
  RminusB <- letterR %(-)% B
  FR <- grow.rectangle(Frame(letterR), 0.3)
  plot(FR, main="", type="n")
  plot(letterR, add=TRUE, lwd=2, hatch=TRUE, box=FALSE)
  plot(RminusB, add=TRUE, col="blue", box=FALSE)
  plot(shift(B, vec=c(3.49, 2.98)),
       add=TRUE, border="red", lwd=2)

Run the code above in your browser using DataCamp Workspace