A class `owin`

to define the ``observation window'' of a point pattern

In a window of type `"mask"`

, the
row index corresponds to increasing \(y\) coordinate,
and the column index corresponds to increasing \(x\) coordinate.

In the spatstat library, a point pattern dataset must include
information about the window or region in which the pattern was
observed. A window is described by an object of class `"owin"`

.
Windows of arbitrary shape are supported.

An object of class `"owin"`

has one of three types:

`"rectangle"` : |
a rectangle in the two-dimensional plane with edges parallel to the axes |

`"polygonal"` : |
a region whose boundary is a polygon or several polygons. The region may have holes and may consist of several disconnected pieces. |

Objects of class `"owin"`

may be created by the function
`owin`

and converted from other types of data by the function
`as.owin`

.

They may be manipulated by the functions
`as.rectangle`

,
`as.mask`

,
`complement.owin`

,
`rotate`

,
`shift`

,
`affine`

,
`erosion`

,
`dilation`

,
`opening`

and
`closing`

.

Geometrical calculations available for windows include
`area.owin`

,
`perimeter`

,
`diameter.owin`

,
`boundingbox`

,
`eroded.areas`

,
`bdist.points`

,
`bdist.pixels`

,
and
`even.breaks.owin`

.
The mapping between continuous coordinates and pixel raster indices
is facilitated by the functions
`raster.x`

,
`raster.y`

and
`nearest.raster.point`

.

There is a `plot`

method for window objects,
`plot.owin`

. This may be useful if you wish to
plot a point pattern's window without the points for graphical
purposes.

There are also methods for
`summary`

and `print`

.

`owin`

,
`as.owin`

,
`as.rectangle`

,
`as.mask`

,
`summary.owin`

,
`print.owin`

,
`complement.owin`

,
`erosion`

,
`dilation`

,
`opening`

,
`closing`

,
`affine.owin`

,
`shift.owin`

,
`rotate.owin`

,
`raster.x`

,
`raster.y`

,
`nearest.raster.point`

,
`plot.owin`

,
`area.owin`

,
`boundingbox`

,
`diameter`

,
`eroded.areas`

,
`bdist.points`

,
`bdist.pixels`

# NOT RUN { w <- owin() w <- owin(c(0,1), c(0,1)) # the unit square w <- owin(c(0,1), c(0,2)) if(FALSE) { plot(w) # plots edges of a box 1 unit x 2 units v <- locator() # click on points in the plot window # to be the vertices of a polygon # traversed in anticlockwise order u <- owin(c(0,1), c(0,2), poly=v) plot(u) # plots polygonal boundary using polygon() plot(as.mask(u, eps=0.02)) # plots discrete pixel approximation to polygon } # }