https://github.com/cran/spatstat
Tip revision: f01b7e924951b36fe49fd7c03173cf8b3aee0221 authored by Adrian Baddeley on 09 February 2005, 07:13:20 UTC
version 1.5-9
version 1.5-9
Tip revision: f01b7e9
exactdt.S
#
# exactdt.S
# S function exactdt() for exact distance transform
#
# $Revision: 4.4 $ $Date: 2004/11/15 19:28:30 $
#
"exactdt"<-
function(X, ...)
{
verifyclass(X, "ppp")
w <- as.mask(X$window, ...)
#
nr <- w$dim[1]
nc <- w$dim[2]
#
res <- .C("exact_dt_R",
as.double(X$x),
as.double(X$y),
as.integer(X$n),
as.double(w$xrange[1]),
as.double(w$yrange[1]),
as.double(w$xrange[2]),
as.double(w$yrange[2]),
nr = as.integer(nr),
nc = as.integer(nc),
d = as.double(matrix(0, ncol = nc + 2, nrow = nr + 2)),
i = as.integer(matrix(0, ncol = nc + 2, nrow = nr + 2)),
b = as.double(matrix(0, ncol = nc + 2, nrow = nr + 2)),
PACKAGE="spatstat")
dist <- matrix(res$d, ncol = nc + 2, byrow = TRUE)[2:(nr + 1), 2:(nc +1)]
inde <- matrix(res$i, ncol = nc + 2, byrow = TRUE)[2:(nr + 1), 2:(nc +1)]
bdry <- matrix(res$b, ncol = nc + 2, byrow = TRUE)[2:(nr + 1), 2:(nc +1)]
inde <- inde + 1 # convert from C to S indexing
result <- list(d = dist, i = inde, b = bdry)
append(result, w)
}