Estimates the empty space function \(F_3(r)\) from a three-dimensional point pattern.

```
F3est(X, ..., rmax = NULL, nrval = 128, vside = NULL,
correction = c("rs", "km", "cs"),
sphere = c("fudge", "ideal", "digital"))
```

X

Three-dimensional point pattern (object of class `"pp3"`

).

…

Ignored.

rmax

Optional. Maximum value of argument \(r\) for which \(F_3(r)\) will be estimated.

nrval

Optional. Number of values of \(r\) for which
\(F_3(r)\) will be estimated. A large value of `nrval`

is required to avoid discretisation effects.

vside

Optional. Side length of the voxels in the discrete approximation.

correction

Optional. Character vector specifying the edge correction(s) to be applied. See Details.

sphere

Optional. Character string specifying how to calculate the theoretical value of \(F_3(r)\) for a Poisson process. See Details.

A function value table (object of class `"fv"`

) that can be
plotted, printed or coerced to a data frame containing the function values.

A small value of `vside`

and a large value of `nrval`

are required for reasonable accuracy.

The default value of `vside`

ensures that the total number of
voxels is `2^22`

or about 4 million.
To change the default number of voxels, see
`spatstat.options("nvoxel")`

.

For a stationary point process \(\Phi\) in three-dimensional space, the empty space function is $$ F_3(r) = P(d(0,\Phi) \le r) $$ where \(d(0,\Phi)\) denotes the distance from a fixed origin \(0\) to the nearest point of \(\Phi\).

The three-dimensional point pattern `X`

is assumed to be a
partial realisation of a stationary point process \(\Phi\).
The empty space function of \(\Phi\) can then be estimated using
techniques described in the References.

The box containing the point
pattern is discretised into cubic voxels of side length `vside`

.
The distance function \(d(u,\Phi)\) is computed for
every voxel centre point
\(u\) using a three-dimensional version of the distance transform
algorithm (Borgefors, 1986). The empirical cumulative distribution
function of these values, with appropriate edge corrections, is the
estimate of \(F_3(r)\).

The available edge corrections are:

`"rs"`

:the reduced sample (aka minus sampling, border correction) estimator (Baddeley et al, 1993)

`"km"`

:the three-dimensional version of the Kaplan-Meier estimator (Baddeley and Gill, 1997)

`"cs"`

:the three-dimensional generalisation of the Chiu-Stoyan or Hanisch estimator (Chiu and Stoyan, 1998).

Alternatively `correction="all"`

selects all options.

The result includes a column `theo`

giving the
theoretical value of \(F_3(r)\) for
a uniform Poisson process (Complete Spatial Randomness).
This value depends on the volume of the sphere of radius `r`

measured in the discretised distance metric.
The argument `sphere`

determines how this will be calculated.

If

`sphere="ideal"`

the calculation will use the volume of an ideal sphere of radius \(r\) namely \((4/3) \pi r^3\). This is not recommended because the theoretical values of \(F_3(r)\) are inaccurate.If

`sphere="fudge"`

then the volume of the ideal sphere will be multiplied by 0.78, which gives the approximate volume of the sphere in the discretised distance metric.If

`sphere="digital"`

then the volume of the sphere in the discretised distance metric is computed exactly using another distance transform. This takes longer to compute, but is exact.

Baddeley, A.J, Moyeed, R.A., Howard, C.V. and Boyde, A.
Analysis of a three-dimensional point pattern with replication.
*Applied Statistics* **42** (1993) 641--668.

Baddeley, A.J. and Gill, R.D. (1997)
Kaplan-Meier estimators of interpoint distance
distributions for spatial point processes.
*Annals of Statistics* **25**, 263--292.

Borgefors, G. (1986)
Distance transformations in digital images.
*Computer Vision, Graphics and Image Processing*
**34**, 344--371.

Chiu, S.N. and Stoyan, D. (1998)
Estimators of distance distributions for spatial patterns.
*Statistica Neerlandica* **52**, 239--246.

```
# NOT RUN {
# }
# NOT RUN {
X <- rpoispp3(42)
Z <- F3est(X)
if(interactive()) plot(Z)
# }
```

Run the code above in your browser using DataLab