Generate a random point pattern, a simulated realisation of the Matern Cluster Process.

```
rMatClust(kappa, scale, mu, win = owin(c(0,1),c(0,1)),
nsim=1, drop=TRUE,
saveLambda=FALSE, expand = scale, ...,
poisthresh=1e-6, saveparents=TRUE)
```

kappa

Intensity of the Poisson process of cluster centres. A single positive number, a function, or a pixel image.

scale

Radius parameter of the clusters.

mu

Mean number of points per cluster (a single positive number) or reference intensity for the cluster points (a function or a pixel image).

win

Window in which to simulate the pattern.
An object of class `"owin"`

or something acceptable to `as.owin`

.

nsim

Number of simulated realisations to be generated.

drop

Logical. If `nsim=1`

and `drop=TRUE`

(the default), the
result will be a point pattern, rather than a list
containing a point pattern.

saveLambda

Logical. If `TRUE`

then the random intensity corresponding to
the simulated parent points will also be calculated and saved,
and returns as an attribute of the point pattern.

expand

Numeric. Size of window expansion for generation of
parent points. Defaults to `scale`

which is the cluster
radius.

…

Passed to `clusterfield`

to control the image
resolution when `saveLambda=TRUE`

.

poisthresh

Numerical threshold below which the model will be treated as a Poisson process. See Details.

saveparents

Logical value indicating whether to save the locations of the parent points as an attribute.

A point pattern (an object of class `"ppp"`

) if `nsim=1`

,
or a list of point patterns if `nsim > 1`

.

Additionally, some intermediate results of the simulation are returned
as attributes of this point pattern (see
`rNeymanScott`

). Furthermore, the simulated intensity
function is returned as an attribute `"Lambda"`

, if
`saveLambda=TRUE`

.

This algorithm generates a realisation of
Matern's cluster process,
a special case of the Neyman-Scott process, inside the window `win`

.

In the simplest case, where `kappa`

and `mu`

are single numbers, the algorithm
generates a uniform Poisson point process of “parent” points
with intensity `kappa`

. Then each parent point is
replaced by a random cluster of “offspring” points,
the number of points per cluster being Poisson (`mu`

)
distributed, and their
positions being placed and uniformly inside
a disc of radius `scale`

centred on the parent point.
The resulting point pattern
is a realisation of the classical
“stationary Matern cluster process”
generated inside the window `win`

.
This point process has intensity `kappa * mu`

.

The algorithm can also generate spatially inhomogeneous versions of the Matern cluster process:

The parent points can be spatially inhomogeneous. If the argument

`kappa`

is a`function(x,y)`

or a pixel image (object of class`"im"`

), then it is taken as specifying the intensity function of an inhomogeneous Poisson process that generates the parent points.The offspring points can be inhomogeneous. If the argument

`mu`

is a`function(x,y)`

or a pixel image (object of class`"im"`

), then it is interpreted as the reference density for offspring points, in the sense of Waagepetersen (2007). For a given parent point, the offspring constitute a Poisson process with intensity function equal to`mu/(pi * scale^2)`

inside the disc of radius`scale`

centred on the parent point, and zero intensity outside this disc. Equivalently we first generate, for each parent point, a Poisson (\(M\)) random number of offspring (where \(M\) is the maximum value of`mu`

) placed independently and uniformly in the disc of radius`scale`

centred on the parent location, and then randomly thin the offspring points, with retention probability`mu/M`

.Both the parent points and the offspring points can be inhomogeneous, as described above.

Note that if `kappa`

is a pixel image, its domain must be larger
than the window `win`

. This is because an offspring point inside
`win`

could have its parent point lying outside `win`

.
In order to allow this, the simulation algorithm
first expands the original window `win`

by a distance `expand`

and generates the Poisson process of
parent points on this larger window. If `kappa`

is a pixel image,
its domain must contain this larger window.

The intensity of the Matern cluster
process is `kappa * mu`

if either `kappa`

or `mu`

is a single number. In the general
case the intensity is an integral involving `kappa`

, `mu`

and `scale`

.

The Matern cluster process model
with homogeneous parents (i.e. where `kappa`

is a single number)
can be fitted to data using `kppm`

.
Currently it is not possible to fit the
Matern cluster process model
with inhomogeneous parents.

If the pair correlation function of the model is very close
to that of a Poisson process, deviating by less than
`poisthresh`

, then the model is approximately a Poisson process,
and will be simulated as a Poisson process with intensity
`kappa * mu`

, using `rpoispp`

.
This avoids computations that would otherwise require huge amounts
of memory.

Matern, B. (1960)
*Spatial Variation*.
Meddelanden fraan
Statens Skogsforskningsinstitut,
volume 59, number 5. Statens Skogsforskningsinstitut, Sweden.

Matern, B. (1986)
*Spatial Variation*.
Lecture Notes in Statistics 36, Springer-Verlag, New York.

Waagepetersen, R. (2007)
An estimating function approach to inference for
inhomogeneous Neyman-Scott processes.
*Biometrics* **63**, 252--258.

`rpoispp`

,
`rThomas`

,
`rCauchy`

,
`rVarGamma`

,
`rNeymanScott`

,
`rGaussPoisson`

,
`kppm`

,
`clusterfit`

.

# NOT RUN { # homogeneous X <- rMatClust(10, 0.05, 4) # inhomogeneous ff <- function(x,y){ 4 * exp(2 * abs(x) - 1) } Z <- as.im(ff, owin()) Y <- rMatClust(10, 0.05, Z) YY <- rMatClust(ff, 0.05, 3) # }