Usage
slider3d(dat.array, SMvector, outlines = NULL, surp = NULL,
sur.path = "sur", sur.name = NULL, meshlist = NULL, ignore = NULL,
sur.type = "ply", tol = 1e-05, deselect = FALSE, inc.check = TRUE,
recursive = TRUE, iterations = 0, initproc = TRUE, speed = TRUE,
pairedLM = 0, weights = NULL, mc.cores = parallel::detectCores(),
fixRepro = TRUE)
Arguments
dat.array
Input k x m x n real array, where k is
the number of points, m is the number of dimensions, and
n is the sample size. Ideally the dimnames[[3]] vector
contains the names of the surface model (without file
extension) - e.g. if the model is named "s
SMvector
A vector containing the landmarks on the
curve(s) and surfaces that are allowed to slide
outlines
A vector (or if threre are several
curves) a list of vectors (containing the rowindices) of
the (Semi-)landmarks forming the curve(s) in the
successive position on the curve - including the
beginning and end points, that are not allowed to slide.
surp
A vector containing Semilandmarks positioned
on surfaces.
sur.path
Path to the surface models (e.g. ply,
obj, stl files)
sur.name
character vector: containing the
filenames of the corresponding surfaces - e.g. if the
dat.array[,,i] belongs to surface_i.ply, sur.name[i]
would be surface_i.ply. Only necessary if dat.array does
not contain surface names.
meshlist
list containing triangular meshes of
class 'mesh3d', for example imported with
mesh2ply or file2mesh in the
same order as the specimen in the array ignore
vector containing indices of landmarks that
are to be ignored. Indices of outlines/surfaces etc will
be updated automatically.
sur.type
character:if all surfaces are of the same
file format and the names stored in dat.array, the file
format will be specified here.
tol
numeric: Threshold for convergence in the
sliding process
deselect
Logical: if TRUE, the SMvector is
interpreted as those landmarks, that are not allowed to
slide.
inc.check
Logical: if TRUE, the program stops when
convergence criterion starts increasing and reports
result from last iteration.
speed
Logical: if TRUE, only a partial procrustes
fit will be performed - this is faster and can be
required, when large samples are processed.
recursive
Logical: if TRUE, during the iterations
of the sliding process, the outcome of the previous
iteration will be used. Otherwise the original
configuration will be used in all iterations.
iterations
integer: select manually the max.
number of iterations that will be performed during the
sliding process (usefull, when there is very slow
convergence). 0 means iteration until convergence.
initproc
requests initial Procrustes fit before
sliding.
pairedLM
A X x 2 numeric matrix with the indices
of the rows containing paired Landmarks. E.g. the left
column contains the lefthand landmarks, while the right
side contains the corresponding right hand landmarks. -
This will ideally create symmetric mean
weights
vector: assign a weight to each landmark:
the smaller the value is, the less it will be affected by
sliding. 0 = fix. This is highly experimental!!!
mc.cores
integer: determines how many cores to use
for the computation. The default is autodetect. But in
case, it doesn't work as expected cores can be set
manually. In Windows, parallel processing is disabled.
fixRepro
logical: if TRUE, fix landmarks
will also be projected onto the surface. If you have
landmarks not on the surface, select
fixRepro=FALSE