# owin.object

##### Class owin

A class `owin`

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

##### Details

In the `"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.
`"mask"`

: a binary image (a logical matrix)
set to `TRUE`

for pixels inside the window and
`FALSE`

outside the window.
}
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`

,
`bounding.box`

,
`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`

.

##### Warnings

In a window of type `"mask"`

, the
row index corresponds to increasing $y$ coordinate,
and the column index corresponds to increasing $x$ coordinate.

##### See Also

`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`

,
`bounding.box`

,
`diameter`

,
`eroded.areas`

,
`bdist.points`

,
`bdist.pixels`

##### Examples

```
w <- owin()
w <- owin(c(0,1), c(0,1))
# the unit square
w <- owin(c(0,1), c(0,2))
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
```

*Documentation reproduced from package spatstat, version 1.17-0, License: GPL (>= 2)*