spatstat (version 1.13-0)

intersect.owin: Intersection or Union of Two Windows

Description

Yields the intersection or union of two windows.

Usage

intersect.owin(A, B, ...)
   union.owin(A,B, ...)

Arguments

A
A window object (see Details).
B
A window object.
...
Optional arguments passed to as.mask to control the discretisation, if required.

Value

  • A window object.

Details

The function intersect.owin computes the intersection between the two windows A and B, while union.owin computes their union.

The arguments A and B must be window objects (either objects of class "owin", or data that can be coerced to this class by as.owin).

At present the intersection or union of two polygons is computed by discretising them, yielding a binary image mask. If the intersection or union is empty, an error occurs.

See Also

is.subset.owin, overlap.owin, bounding.box, owin.object

Examples

Run this code
# rectangles
   u <- unit.square()
   v <- owin(c(0.5,3.5), c(0.4,2.5))
# polygon
   data(letterR)
# mask
   m <- as.mask(letterR)

# two rectangles
   intersect.owin(u, v) 
   union.owin(u,v)

# polygon and rectangle
   intersect.owin(letterR, v)
   union.owin(letterR,v)

# mask and rectangle
   intersect.owin(m, v)
   union.owin(m,v)

# mask and polygon
   p <- rotate(v, 0.2)
   intersect.owin(m, p)
   union.owin(m,p)
#
   A <- letterR
   B <- rotate(letterR, 0.2)
   plot(bounding.box(A,B), main="intersection")
   w <- intersect.owin(A, B)
   plot(w, add=TRUE)
   plot(A, add=TRUE)
   plot(B, add=TRUE)

   plot(bounding.box(A,B), main="union")
   w <- union.owin(A,B)
   plot(w, add=TRUE)   
   plot(A, add=TRUE)
   plot(B, add=TRUE)

Run the code above in your browser using DataCamp Workspace