This is the main function in siplab for computing assimilation indices. Optionally, it computes also a free-growing index, and/or the assimilation centroid.
assimilation(plants, pixsize = 0.2, resource = 1, influence =
gnomon_inf, infpar = NULL, asym = Inf, efficiency = flat_eff,
effpar = NULL, plot = TRUE, afree = FALSE, centroid = FALSE)assimilation_pix(plants, pixsize = 0.2, resource = 1, influence =
gnomon_inf, infpar = NULL, asym = Inf, efficiency = flat_eff,
effpar = NULL, plot = TRUE, afree = FALSE, centroid = FALSE)
A spatstat point pattern object (class ppp
). It contains the plants coordinates, and marks with the plant size and possibly other attributes.
Resolution, approximate step size in the pixel grid. Default 0.2.
Either a pixel image (class im
), or a function, or other object that can be converted to a pixel image, specifying the spatial distribution of resource availability. If an image, it should cover the plants
window. It is adjusted to the plants
window size and specified resolution if necessary. Default is 1, a uniform distribution with 1 unit of resource per unit area.
Function for computing influence values. Must take arguments (dx, dy, marks, par)
, where dx
is a vector of points-to plant x-distances, dy
is a vector of points-to plant y-distances, marks
are the plant marks, and par
receives the value of the infpar
argument. Examples are provided in the functions tass_inf()
, etc. (see influence). Default: gnomon_inf
.
Parameter(s) for influence
, a list or vector. Default: list(a=1, b=4, smark=1)
. Here smark=1
indicates that the plant size variable is the first or only item in marks
.
Asymmetry parameter \(\alpha\) in the allotment function. Default is Inf
, which corresponds to one-sided competition (tesselation models). In old versions of siplab this parameter was called partpar
.
Efficiency function for weighting the point-wise resource uptake. Must take arguments (dx, dy, marks)
or (dx, dy, marks, par)
, where dx
is a vector of points-to plant x-distances, dy
is a vector of points-to plant y-distances, marks
are the plant marks, and par
receives the value of the effpar
argument if not NULL
. Examples are provided in the functions tass_eff()
, etc. (see efficiency). The default is flat_eff
, no weighting.
Parameter(s) for efficiency
, usually a list or vector. Default: NULL
.
If TRUE
, the denominator of the allotment function is graphed as a pixel image, to visualize competition pressure (default).
If TRUE
, the free-growing assimilation is also computed. Default is FALSE
.
If TRUE
, the centroid of the plant assimilation distribution is also computed. Default is FALSE
.
Returns the input point pattern plants
, with the marks replaced by a data frame containing the original marks followed by one or more columns containing the computed results. The additional column are the assimilation indices in column aindex
, and optionally the free-growing index in afree
, and/or the x and y centroid coordinates in cx
and cy
.
assimilation()
and assimilation_pix()
are functionally equivalent, but the code in assimilation_pix()
is somewhat clearer and slower. It may be useful for documentation purposes, and as a basis for user modification.
Computation starts with a resource intensity map at a spatial resolution given by pixsize
. Typically the resource distribution is assumed to be uniform (the default). Plants exert competitive pressure depending on size and distance, described by the influence
function. The resource available at each pixel is allotted to plants according to their influence and to an allotment rule parametrized by asym
. Finally, the resource uptake is weighted by the efficiency
function, and is spatially integrated to obtain the plant's assimilation index. Besides size, influence and efficiency functions can include other plant attributes, such as species.
https://github.com/ogarciav/siplab.
Garc<U+00ED>a, O. (2013) “A generic approach to spatial individual-based modelling and simulation of plant communities”. Mathematical and Computational Forestry and Nat.-Res. Sci. (MCFNS) 6(1), 36-47. 2014.
# NOT RUN {
a <- assimilation(finpines, infpar=list(a=1, b=4,
smark="height"), afree=TRUE)
summary(a)
system.time(assimilation_pix(finpines))
system.time(assimilation(finpines))
# }
Run the code above in your browser using DataLab