distfun
Distance Map as a Function
Compute the distance function of an object, and return it as a function.
Usage
distfun(X, ...) ## S3 method for class 'ppp':
distfun(X, ..., k=1)
## S3 method for class 'psp':
distfun(X, ...)
## S3 method for class 'owin':
distfun(X, ..., invert=FALSE)
Arguments
- X
- Any suitable dataset representing a two-dimensional
object, such as a point pattern (object of class
"ppp"
), a window (object of class"owin"
) or a line segment pattern (object of class"psp"
). - ...
- Extra arguments are ignored.
- k
- An integer. The distance to the
k
th nearest point will be computed. - invert
- If
TRUE
, compute the distance transform of the complement ofX
.
Details
The f(x,y)
is the shortest distance from $(x,y)$ to $A$.
The command f <- distfun(X)
returns a function
in the Rlanguage, with arguments x,y
, that represents the
distance function of X
. Evaluating the function f
in the form v <- f(x,y)
, where x
and y
are any numeric vectors of equal length containing coordinates of
spatial locations, yields the values of the distance function at these
locations.
This should be contrasted with the related command distmap
which computes the distance function of X
on a grid of locations, and returns the distance
values in the form of a pixel image.
The result of f <- distfun(X)
also belongs to the class
"funxy"
and to the special class "distfun"
.
It can be printed and plotted immediately as shown in the Examples.
A distfun
object can be converted to a pixel image
using as.im
.
Value
- A
function
with argumentsx,y
. The function also belongs to the class"distfun"
which has a method forprint
. It also belongs to the class"funxy"
which has methods forplot
,contour
andpersp
.
See Also
Examples
data(letterR)
f <- distfun(letterR)
f
plot(f)
f(0.2, 0.3)
plot(distfun(letterR, invert=TRUE), eps=0.1)
d <- distfun(cells)
d2 <- distfun(cells, k=2)
d(0.5, 0.5)
d2(0.5, 0.5)