R: Allard-Fraley Estimator of Cluster Feature

clusterset {spatstat.core} | R Documentation

## Allard-Fraley Estimator of Cluster Feature

### Description

Detect high-density features in a spatial point pattern using the (unrestricted) Allard-Fraley estimator.

### Usage

      clusterset(X, what=c("marks", "domain"),
                ..., verbose=TRUE,
                fast=FALSE,
                exact=!fast)

### Arguments

`X` | A dimensional spatial point pattern (object of class `"ppp"`).
`what` | Character string or character vector specifying the type of result. See Details.
`verbose` | Logical value indicating whether to print progress reports.
`fast` | Logical. If `FALSE` (the default), the Dirichlet tile areas will be computed exactly using polygonal geometry, so that the optimal choice of tiles will be computed exactly. If `TRUE`, the Dirichlet tile areas will be approximated using pixel counting, so the optimal choice will be approximate.
`exact` | Logical. If `TRUE`, the Allard-Fraley estimator of the domain will be computed exactly using polygonal geometry. If `FALSE`, the Allard-Fraley estimator of the domain will be approximated by a binary pixel mask. The default is initially set to `FALSE`.
`...` | Optional arguments passed to `as.mask` to control the pixel resolution if `exact=FALSE`.

### Details

Allard and Fraley (1997) developed a technique for recognising features of high density in a spatial point pattern in the presence of random clutter.

This algorithm computes the unrestricted Allard-Fraley estimator. The Dirichlet (Voronoi) tessellation of the point pattern `X` is computed. The smallest `m` Dirichlet cells are selected, where the number `m` is determined by a maximum likelihood criterion.

- If `fast=FALSE` (the default), the areas of the tiles of the Dirichlet tessellation will be computed exactly using polygonal geometry. This ensures that the optimal selection of tiles is computed exactly.

- If `fast=TRUE`, the Dirichlet tile areas will be approximated by counting pixels. This is faster, and is usually correct (depending on the pixel resolution, which is controlled by the arguments `...`).

The type of result depends on the character vector `what`.

- If `what="marks"` the result is the point pattern `X` with a vector of marks labelling each point with a value `yes` or `no` depending on whether the corresponding Dirichlet cell is selected by the Allard-Fraley estimator. In other words each point of `X` is labelled as either a cluster point or a non-cluster point.

- If `what="domain"`, the result is the Allard-Fraley estimator of the cluster feature set, which is the union of all the selected Dirichlet cells, represented as a window (object of class `"owin"`).

- If `what=c("marks", "domain")` the result is a list containing both of the results described above.

Computation of the Allard-Fraley set estimator depends on the argument `exact`.

- If `exact=TRUE` (the default), the Allard-Fraley set estimator will be computed exactly using polygonal geometry. The result is a polygonal window.

- If `exact=FALSE`, the Allard-Fraley set estimator will be approximated by a binary pixel mask. This is faster than the exact computation. The result is a binary mask.

### Value

If `what="marks"`, a multitype point pattern (object of class `"ppp"`).

If `what="domain"`, a window (object of class `"owin"`).

If `what=c("marks", "domain")` (the default), a list consisting of a multitype point pattern and a window.

### Author(s)

Adrian Baddeley Adrian.Baddeley@curtin.edu.au

and Rolf Turner r.turner@auckland.ac.nz

### References

Allard, D. and Fraley, C. (1997) Nonparametric maximum likelihood estimation of features in spatial point processes using Voronoi tessellation. Journal of the American Statistical Association 92, 1485–1493.

### See Also

`nnclean`, `sharpen`

### Examples

      opa <- par(mfrow=c(1,2))
      W <- grow.rectangle(as.rectangle(letterR), 1)
      X <- superimpose(runifpoint(300, letterR),
                       runifpoint(50, W), W=W)
      plot(W, main="clusterset(X, 'm')")
      plot(clusterset(X, "marks", fast=TRUE), add=TRUE, chars=c(1, 3), cols=1:2)
      plot(letterR, add=TRUE)
      plot(W, main="clusterset(X, 'd')")
      plot(clusterset(X, "domain", exact=FALSE), add=TRUE)
      plot(letterR, add=TRUE)
      par(opa)

[Package spatstat.core version 2.4-4 Index]