Description Usage Arguments Details Value Author(s) References Examples
Simulation of Poisson germgrain processes with either spheres, spheroids or spherocylinders as grains
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19  simPoissonSystem(
theta,
lam,
size = "const",
shape = "const",
orientation = "rbetaiso",
type = c("prolate", "oblate", "spheres", "cylinders"),
rjoint = NULL,
box = list(c(0, 1)),
mu = c(0, 0, 1),
dz = 0,
n = c(0, 1, 0),
intersect = c("original", "full", "only", "digi"),
delta = 0.01,
intern = FALSE,
perfect = FALSE,
pl = 0,
label = "N"
)

theta 
list of simulation parameters which must consist of elements: 
lam 
mean number of objects per unit volume 
size 
name of the size distribution function 
shape 
name of the shape distribution function 
orientation 
name of direction distribution function 
type 
type of grain, either " 
rjoint 
userdefined function, which specifies the (joint) distribution of the size, shape and orientation 
box 
simulation box 
mu 
main orientation axis, 
dz 
distance of the intersecting plane to the origin 
n 
normal vector defining the intersecting plane 
intersect 
options for type of return values: " 
delta 
lattice constant for discretization, set to 
intern 
logical, 
perfect 
logical, 
pl 
integer, print level and return value type, see details 
label 
character, a label set to each generated object, set to ' 
The function can simulate a Poisson germgrain process according to the parameter theta
within a predefined (3D) box.
The positions of the germs follow a uniform distribution according to a Poisson process with mean intensity parameter lam
.
The function either randomly generates type="prolate"
or type="oblate"
spheroids, spheres or spherocylinders.
The argument size
sets the name of the distribution function for the size/length of the objects, i.e. the major semiaxis
lengths in case of spheroids, radii for spheres or the lengths of the main axis of rotation for spherocylinders including the end caps.
The following direction (orientation) distributions of the spheroids' majoraxis, respectively, cylinders' main axis are available:
a uniform distribution ("runifdir
"), distribution ("rbetaiso
") and the "von MisesFisher" ("rvMisesFisher
")
distribution. The two last ones depend on the concentration parameter kappa
which is set as part of the parameter list theta
, see examples below.
The direction distributions generate random spherical coordinates (\vartheta, φ) w.r.t. a fixed main orientation axis mu
with polar angle \vartheta\in[0,π/2) and azimuthal angle φ\in[0,2π). The simulations are always performed within a bounding 3D box which consists of a list specifying the ranges of each dimension corresponding to the lower and upper limits of the box in each direction. If the
argument box
contains only a single range, i.e. box=list(c(0,1))
, this limit isassumed for the remaining dimensions which is then simply replicated.
The optional argument rjoint
defines a (joint) distribution function which can be any function provided by the user in order to generate
the required distributional parameters for the spheroids or spherocylinders. For an indepth example of usage please see the workflow in 'simSpheroids.R'
and 'simCylinders.R'.
In addition, the function supports an exact simulation type [2] of the grains. In case of spheroids and spherocylinders setting size="rbinorm"
declares a bivariate sizeshape distribution for which the exact simulation is available. More specifically, for a bivariate normal random vector [X,Y]
with correlation parameter ρ, the length of the major semiaxis of a spheroid is given by a=exp(x) with a (logittransformed) shape parameter
as s=1/(1+exp(y)) and thus a scaled minor semiaxis length c=a*s. The modification leads to a lognormally distributed length of the
major semiaxis. Consequently, in case of spherocylinders, the lognormally distributed length is len=h+2*r where h
is the height and
r=len/2*s the radius. The main direction u
of a spheroid or spherocylinder is determined by the major axis independent of size and shape.
Further, the following univariate distributions of the major semiaxis a
, respectively, length len
and shape s
are available:
'rbeta
', 'rgamma
', 'rlnorm
' and 'runif
'. One can also use 'const
' for simulations with constant lengths or shapes.
Note that only simulations with size distributions 'rbinorm
' or 'rlnorm
' can use the exact type of simulation.
For spheres any distribution of the radii can be specified as a name of a userdefined function in the argument size
as long as the formal named
function parameters match the actual names of the parameters exactly as defined in theta
. Besides this, all other distributions given above are
also available. Using 'const
' simulates spheres of constant radii.
The argument pl>=0
denotes both the print level of intermediate output and by the same time the type of the return value. If pl=10
,
then an abbreviated list of spheroids or spheres is returned to speed up computation. Note that, the current implementation does not include routines
for unfolding the joint sizeshapeorientation distribution of spherocylinders so far.
list of 3D objects depending on the chosen return type defined by the argument intersect
M. Baaske
Ohser, J. and Schladitz, K. 3D images of materials structures WileyVCH, 2009
C. Lantu\acute{\textrm{e}}joul. Geostatistical simulation. Models and algorithms. Springer, Berlin, 2002. Zbl 0990.86007
1 2 3 4 5 6 7 8 9 10 11 12 13 14  # intensity parameter
lam < 100
# simulation bounding box
box < list("xrange"=c(0,5),"yrange"=c(0,5),"zrange"=c(0,5))
# log normal size distribution with a constant shape factor and
# concentration parameter (\code{kappa=1}) for the orientation, see reference [1]
theta < list("size"=list("meanlog"=2.5,"sdlog"=0.5),
"shape"=list("s"=0.5),
"orientation"=list("kappa"=1))
S < simPoissonSystem(theta,lam,size="rlnorm",box=box,type="oblate",pl=1)
length(S)

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.