Learn R Programming

spatstat (version 1.48-0)

Hest: Spherical Contact Distribution Function

Description

Estimates the spherical contact distribution function of a random set.

Usage

Hest(X, r=NULL, breaks=NULL, ..., W, correction=c("km", "rs", "han"), conditional=TRUE)

Arguments

X
The observed random set. An object of class "ppp", "psp" or "owin". Alternatively a pixel image (class "im") with logical values.
r
Optional. Vector of values for the argument $r$ at which $H(r)$ should be evaluated. Users are advised not to specify this argument; there is a sensible default.
breaks
This argument is for internal use only.
...
Arguments passed to as.mask to control the discretisation.
W
Optional. A window (object of class "owin") to be taken as the window of observation. The contact distribution function will be estimated from values of the contact distance inside W.
correction
Optional. The edge correction(s) to be used to estimate $H(r)$. A vector of character strings selected from "none", "rs", "km", "han" and "best". Alternatively correction="all" selects all options.
conditional
Logical value indicating whether to compute the conditional or unconditional distribution. See Details.

Value

An object of class "fv", see fv.object, which can be plotted directly using plot.fv.Essentially a data frame containing up to six columns:

Details

The spherical contact distribution function of a stationary random set $X$ is the cumulative distribution function $H$ of the distance from a fixed point in space to the nearest point of $X$, given that the point lies outside $X$. That is, $H(r)$ equals the probability that X lies closer than $r$ units away from the fixed point $x$, given that X does not cover $x$.

Let $D = d(x,X)$ be the shortest distance from an arbitrary point $x$ to the set X. Then the spherical contact distribution function is $$H(r) = P(D \le r \mid D > 0)$$ For a point process, the spherical contact distribution function is the same as the empty space function $F$ discussed in Fest.

The argument X may be a point pattern (object of class "ppp"), a line segment pattern (object of class "psp") or a window (object of class "owin"). It is assumed to be a realisation of a stationary random set.

The algorithm first calls distmap to compute the distance transform of X, then computes the Kaplan-Meier and reduced-sample estimates of the cumulative distribution following Hansen et al (1999). If conditional=TRUE (the default) the algorithm returns an estimate of the spherical contact function $H(r)$ as defined above. If conditional=FALSE, it instead returns an estimate of the cumulative distribution function $H*(r) = P(D <= r)$="" which="" includes="" a="" jump="" at="" $r="0$" if="" X has nonzero area.

Accuracy depends on the pixel resolution, which is controlled by the arguments eps, dimyx and xy passed to as.mask. For example, use eps=0.1 to specify square pixels of side 0.1 units, and dimyx=256 to specify a 256 by 256 grid of pixels.

References

Baddeley, A.J. Spatial sampling and censoring. In O.E. Barndorff-Nielsen, W.S. Kendall and M.N.M. van Lieshout (eds) Stochastic Geometry: Likelihood and Computation. Chapman and Hall, 1998. Chapter 2, pages 37-78. Baddeley, A.J. and Gill, R.D. The empty space hazard of a spatial pattern. Research Report 1994/3, Department of Mathematics, University of Western Australia, May 1994.

Hansen, M.B., Baddeley, A.J. and Gill, R.D. First contact distributions for spatial patterns: regularity and estimation. Advances in Applied Probability 31 (1999) 15-33.

Ripley, B.D. Statistical inference for spatial processes. Cambridge University Press, 1988.

Stoyan, D, Kendall, W.S. and Mecke, J. Stochastic geometry and its applications. 2nd edition. Springer Verlag, 1995.

See Also

Fest

Examples

Run this code
   X <- runifpoint(42)
   H <- Hest(X)
   Y <- rpoisline(10)
   H <- Hest(Y)
   H <- Hest(Y, dimyx=256)
   X <- heather$coarse
   plot(Hest(X))
   H <- Hest(X, conditional=FALSE)

   P <- owin(poly=list(x=c(5.3, 8.5, 8.3, 3.7, 1.3, 3.7),
                       y=c(9.7, 10.0, 13.6, 14.4, 10.7, 7.2)))
   plot(X)
   plot(P, add=TRUE, col="red")
   H <- Hest(X, W=P)
   Z <- as.im(FALSE, Frame(X))
   Z[X] <- TRUE
   Z <- Z[P, drop=FALSE]
   plot(Z)
   H <- Hest(Z)

Run the code above in your browser using DataLab