View source: R/placegrainsfromlib.R
placegrainsfromlib | R Documentation |
Places subsets (grains) of two dimension space randomly on a given point pattern. This is useful for simulating germ-grain models such as Boolean models. Also described here are functions for computing summary properties of the a list of grains.
placegrainsfromlib( pp, grainlib, replace = TRUE, prob = NULL, w = NULL, xy = NULL ) meanarea.grainlib( grainlib, weights = rep(1/length(grainlib), length(grainlib)) ) meansetcov.grainlib( grainlib, weights = rep(1/length(grainlib), length(grainlib)), xy ) covar.grainlib(lambda, grainlib, weights, xy)
pp |
A point pattern (in |
grainlib |
A list of grains as |
replace |
passed directly to |
prob |
A list of probability weights for each grain in the library. Passed directly to |
w |
Optional desired observation window. If this is non-null then any grains with Frame outside the Frame of |
xy |
An |
weights |
Probability of selecting each grain in the library |
lambda |
Intensity of germs of a Boolean model - for computing the covariance of a Boolean model that has grain distribution given by |
Germ-grain models have two components, a point process (called germs) and a process that creates
grains that are centred on the germs.
The point process of germs can be easily simulated using a number of spatstat functions
(e.g. rpoispp
for Boolean models).
To simulate a germ-grain model in a window W the germ process must be simulated in a larger window
because grains centred outside W can intersect W.
The result must then be cropped to W to achieve a realisation of the germ-grain process within W.
placegrainsfromlib
randomly samples from a library of grains (grainlib
) and places these on the points in pp
.
Sampling of the grain is independent of the location of the point in pp
.
It can be used to simulate the grain process in some germ-grain models.
Returns an owin
object.
placegrainsfromlib
: Place grains randomly from a list of grains.
meanarea.grainlib
: Compute mean area of a random grain given by the library
meansetcov.grainlib
: Computes the mean of the set covariance of the grains in grainlib
.
xy
is required because the set covariance function must rasterise the owin
objects.
covar.grainlib
: Compute the covariance of a Boolean model with random grain given by the library
Kassel Liam Hingee
# Simulate a germ-grain model where germs are a Poisson point process # and grains are randomly selected from 3 different disc sizes. grainlib <- solist(disc(radius = 1), disc(radius = 1.9), disc(radius = 0.2)) bufferdist <- 2 #chosen to be larger than the largest radius in library w <- owin(xrange = c(0, 10), yrange = c(0, 10)) # Simulate the germ process in the window plus a buffer region around window pp <- rpoispp(lambda = 0.1, win = dilation(w, bufferdist), nsim = 1, drop = TRUE) xi_withbuffer <- placegrainsfromlib(pp, grainlib) # Simulation of germ-grain model is the part within the window xi <- intersect.owin(xi_withbuffer, w) # Computation of properties from parameters lambda <- 0.1 discr <- 10 weights <- c(0.9999, 0.0001) grainlib <- solist(disc(r = discr), disc(r = 2*discr)) meanarea.grainlib(grainlib, weights) truecovar <- covar.grainlib(lambda, grainlib, weights, xy = as.mask(w, eps = 2))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.