Pattern reconstruction

## Usage

```
reconstruct_pattern(
pattern,
method = "homo",
n_random = 1,
e_threshold = 0.01,
max_runs = 10000,
no_change = Inf,
annealing = 0.01,
weights = c(1, 1),
r_length = 255,
r_max = NULL,
stoyan = 0.15,
return_input = TRUE,
simplify = FALSE,
verbose = TRUE,
plot = FALSE
)
```

## Arguments

- pattern
ppp object with pattern.

- method
Character with specifying the method. Either

`"homo"`

,`"cluster"`

or`"hetero"`

.- n_random
Integer with number of randomizations.

- e_threshold
Double with minimum energy to stop reconstruction.

- max_runs
Integer with maximum number of iterations if

`e_threshold`

is not reached.- no_change
Integer with number of iterations at which the reconstruction will stop if the energy does not decrease.

- annealing
Double with probability to keep relocated point even if energy did not decrease.

- weights
Vector with weights used to calculate energy. The first number refers to Gest(r), the second number to pcf(r).

- r_length
Integer with number of intervals from

`r=0`

to`r=rmax`

for which the summary functions are evaluated.- r_max
Double with maximum distance used during calculation of summary functions. If

`NULL`

, will be estimated from data.- stoyan
Coefficient for Stoyan's bandwidth selection rule.

- return_input
Logical if the original input data is returned.

- simplify
Logical if only pattern will be returned if

`n_random=1`

and`return_input=FALSE`

.- verbose
Logical if progress report is printed.

- plot
Logical if pcf(r) function is plotted and updated during optimization.

## Details

The functions randomizes the observed pattern by using pattern reconstruction as described in Tscheschel & Stoyan (2006) and Wiegand & Moloney (2014). The algorithm shifts a point to a new location and keeps the change only, if the deviation between the observed and the reconstructed pattern decreases. The pair correlation function and the nearest neighbour distance function are used to describe the patterns.

The reconstruction can be stopped automatically if for n steps the energy does not
decrease. The number of steps can be controlled by `no_change`

and is set to
`no_change = Inf`

as default to never stop automatically.

The weights must be 0 < sum(weights) <= 1. To weight both summary functions identical,
use `weights = c(1, 1)`

.

`spatstat`

sets `r_length`

to 513 by default. However, a lower value decreases
the computational time, while increasing the "bumpiness" of the summary function.

The arguments `n_points`

and `window`

are used for `method="homo"`

only.

## References

Kirkpatrick, S., Gelatt, C.D.Jr., Vecchi, M.P., 1983. Optimization by simulated annealing. Science 220, 671–680. <https://doi.org/10.1126/science.220.4598.671>

Tscheschel, A., Stoyan, D., 2006. Statistical reconstruction of random point patterns. Computational Statistics and Data Analysis 51, 859–871. <https://doi.org/10.1016/j.csda.2005.09.007>

Wiegand, T., Moloney, K.A., 2014. Handbook of spatial point-pattern analysis in ecology. Chapman and Hall/CRC Press, Boca Raton. ISBN 978-1-4200-8254-8