spatstat.core (version 2.1-2)

clusterfield: Field of clusters


Calculate the superposition of cluster kernels at the location of a point pattern.


clusterfield(model, locations = NULL, …)

# S3 method for character clusterfield(model, locations = NULL, …)

# S3 method for function clusterfield(model, locations = NULL, …, mu = NULL)

# S3 method for kppm clusterfield(model, locations = NULL, …)



Cluster model. Either a fitted cluster model (object of class "kppm"), a character string specifying the type of cluster model, or a function defining the cluster kernel. See Details.


A point pattern giving the locations of the kernels. Defaults to the centroid of the observation window for the "kppm" method and to the center of a unit square otherwise.

Additional arguments passed to density.ppp or the cluster kernel. See Details.


Mean number of offspring per cluster. A single number or a pixel image.


A pixel image (object of class "im").


The actual calculations are preformed by density.ppp and arguments are passed thereto for control over the pixel resolution etc. (These arguments are then passed on to pixellate.ppp and as.mask.)

For the function method the given kernel function should accept vectors of x and y coordinates as its first two arguments. Any additional arguments may be passed through the .

The function method also accepts the optional parameter mu (defaulting to 1) specifying the mean number of points per cluster (as a numeric) or the inhomogeneous reference cluster intensity (as an "im" object or a function(x,y)). The interpretation of mu is as explained in the simulation functions referenced in the See Also section below.

For the character method model must be one of: model="Thomas" for the Thomas process, model="MatClust" for the Matern cluster process, model="Cauchy" for the Neyman-Scott cluster process with Cauchy kernel, or model="VarGamma" for the Neyman-Scott cluster process with Variance Gamma kernel. For all these models the parameter scale is required and passed through as well as the parameter nu when model="VarGamma". This method calls clusterfield.function so the parameter mu may also be passed through and will be interpreted as explained above.

The kppm method extracts the relevant information from the fitted model (including mu) and calls clusterfield.function.

See Also

density.ppp and kppm

Simulation algorithms for cluster models: rCauchy rMatClust rThomas rVarGamma


  # method for fitted model
  fit <- kppm(redwood~1, "Thomas")
  clusterfield(fit, eps = 0.01)

  # method for functions
  kernel <- function(x,y,scal) { 
      r <- sqrt(x^2 + y^2)
      ifelse(r > 0,
             dgamma(r, shape=5, scale=scal)/(2 * pi * r),
  X <- runifpoint(10)
  clusterfield(kernel, X, scal=0.05)
# }