Given a window W of any geometric type (rectangular,
polygonal or binary mask), this function returns a polygonal window
that represents the same spatial domain.
If W is a rectangle, it is converted to a polygon with
4 vertices.
If W is already polygonal, it is returned unchanged, by default.
However if repair=TRUE then the validity of the polygonal coordinates
will be checked (for example to check the boundary is not self-intersecting)
and repaired if necessary, so that the result could be different
from W.
If W is a binary mask, then each pixel in the
mask is replaced by a small square or rectangle, and the union of these
squares or rectangles is computed. The result is a polygonal window
that has only horizontal and vertical edges.
(Use simplify.owin to remove the staircase
appearance, if desired).