Distribution Function of Interpoint Distance

Computes the cumulative distribution function of the distance between two independent random points in a given window or windows.

spatial, math
distcdf(W, V=W, …, dW=1, dV=dW, nr=1024, regularise=TRUE)

A window (object of class "owin") containing the first random point.


Optional. Another window containing the second random point. Defaults to W.

Arguments passed to as.mask to determine the pixel resolution for the calculation.

dV, dW

Optional. Probability densities (not necessarily normalised) for the first and second random points respectively. Data in any format acceptable to as.im, for example, a function(x,y) or a pixel image or a numeric value. The default corresponds to a uniform distribution over the window.


Integer. The number of values of interpoint distance \(r\) for which the CDF will be computed. Should be a large value!


Logical value indicating whether to smooth the results for very small distances, to avoid discretisation artefacts.


This command computes the Cumulative Distribution Function \( CDF(r) = Prob(T \le r) \) of the Euclidean distance \(T = \|X_1 - X_2\|\) between two independent random points \(X_1\) and \(X_2\).

In the simplest case, the command distcdf(W), the random points are assumed to be uniformly distributed in the same window W.

Alternatively the two random points may be uniformly distributed in two different windows W and V.

In the most general case the first point \(X_1\) is random in the window W with a probability density proportional to dW, and the second point \(X_2\) is random in a different window V with probability density proportional to dV. The values of dW and dV must be finite and nonnegative.

The calculation is performed by numerical integration of the set covariance function setcov for uniformly distributed points, and by computing the covariance function imcov in the general case. The accuracy of the result depends on the pixel resolution used to represent the windows: this is controlled by the arguments which are passed to as.mask. For example use eps=0.1 to specify pixels of size 0.1 units.

The arguments W or V may also be point patterns (objects of class "ppp"). The result is the cumulative distribution function of the distance from a randomly selected point in the point pattern, to a randomly selected point in the other point pattern or window.

If regularise=TRUE (the default), values of the cumulative distribution function for very short distances are smoothed to avoid discretisation artefacts. Smoothing is applied to all distances shorter than the width of 7 pixels.


An object of class "fv", see fv.object, which can be plotted directly using plot.fv.

See Also

setcov, as.mask.

  • distcdf
 # The unit disc
 B <- disc()
# }
Documentation reproduced from package spatstat, version 1.59-0, License: GPL (>= 2)

Community examples

Looks like there are no examples yet.