spatstat (version 1.64-1)

complement.owin: Take Complement of a Window


Take the set complement of a window, within its enclosing rectangle or in a larger rectangle.


complement.owin(w, frame=as.rectangle(w))



an object of class "owin" describing a window of observation for a point pattern.


Optional. The enclosing rectangle, with respect to which the set complement is taken.


Another object of class "owin" representing the complement of the window, i.e. the inside of the window becomes the outside.


This yields a window object (of class "owin", see owin.object) representing the set complement of w with respect to the rectangle frame.

By default, frame is the enclosing box of w (originally specified by the arguments xrange and yrange given to owin when w was created). If frame is specified, it must be a rectangle (an object of class "owin" whose type is "rectangle") and it must be larger than the enclosing box of w. This rectangle becomes the enclosing box for the resulting window.

If w is a rectangle, then frame must be specified. Otherwise an error will occur (since the complement of w in itself is empty).

For rectangular and polygonal windows, the complement is computed by reversing the sign of each boundary polygon, while for binary masks it is computed by negating the pixel values.

See Also

owin, owin.object


Run this code
   # rectangular
   a <- owin(c(0,1),c(0,1))
   b <- owin(c(-1,2),c(-1,2))
   bmina <- complement.owin(a, frame=b)
   # polygonal
   w <- Window(demopat)
   outside <- complement.owin(w)
   # mask
   w <- as.mask(Window(demopat))
   outside <- complement.owin(w)
# }

Run the code above in your browser using DataCamp Workspace