https://github.com/cran/spatstat
Raw File
Tip revision: 34e305ac94ec34250eb2f4fa4eedcaa1566aa82c authored by Adrian Baddeley on 27 September 2006, 00:00:00 UTC
version 1.9-6
Tip revision: 34e305a
rescue.rectangle.R
#
#    rescue.rectangle.R
# 
#    $Revision: 1.3 $   $Date: 2006/03/24 06:21:35 $
#
rescue.rectangle <- function(W) {
  verifyclass(W, "owin")

  if(W$type == "mask" && all(W$m))
     return(owin(W$xrange, W$yrange))

  if(W$type == "polygonal" && length(W$bdry) == 1) {
    x <- W$bdry[[1]]$x
    y <- W$bdry[[1]]$y
    if(length(x) == 4 && length(y) == 4) {
      # could be a rectangle
      veryunique <- function(z) {
        uz <- sort(unique(z))
        close <- (diff(uz) < 2 * .Machine$double.eps)
        uz <- uz[c(TRUE, !close)]
        return(uz)
      }
      ux <- veryunique(x)
      uy <- veryunique(y)
      if(length(ux) == 2 && length(uy) == 2)
        return(owin(ux,uy))
    }
  }
  
  return(W)
}

back to top