Evaluate Expression Involving Pixel Images on Linear Network
Evaluates any expression involving one or more pixel images on a linear network, and returns a pixel image on the same linear network.
eval.linim(expr, envir, harmonize=TRUE, warn=TRUE)
expr |
An expression in the R language,
involving the names of objects of class |
envir |
Optional. The environment in which to evaluate the expression. |
harmonize |
Logical. Whether to resolve inconsistencies between the pixel grids. |
warn |
Logical. Whether to issue a warning if the pixel grids were inconsistent. |
This function a wrapper to make it easier to perform
pixel-by-pixel calculations. It is one of several functions
whose names begin with eval
which work on objects of
different types. This particular function is designed to work with
objects of class "linim"
which represent
pixel images on a linear network.
Suppose X
is a pixel image on a linear network (object of
class "linim"
. Then eval.linim(X+3)
will add 3 to the value of every pixel in X
, and return
the resulting pixel image on the same linear network.
Suppose X
and Y
are two pixel images on the same
linear network, with compatible pixel dimensions. Then
eval.linim(X + Y)
will add the corresponding pixel values in
X
and Y
, and return the resulting pixel image
on the same linear network.
In general, expr
can be any expression in the R language involving
(a) the names of pixel images, (b) scalar
constants, and (c) functions which are vectorised.
See the Examples.
First eval.linim
determines which of the variable names
in the expression expr
refer to pixel images. Each such name
is replaced by a matrix containing the pixel values. The expression is
then evaluated. The result should be a matrix; it is taken as
the matrix of pixel values.
The expression expr
must be vectorised.
There must be at least one linear pixel image in the expression.
All images must have compatible dimensions.
If harmonize=FALSE
, images that are incompatible will cause an error.
If harmonize=TRUE
, images that have incompatible dimensions
will be resampled so that they are compatible; if warn=TRUE
,
a warning will be issued.
An image object of class "linim"
.
Adrian Baddeley Adrian.Baddeley@curtin.edu.au and Rolf Turner r.turner@auckland.ac.nz
M <- as.mask.psp(as.psp(simplenet)) Z <- as.im(function(x,y) {x-y}, W=M) X <- linim(simplenet, Z) X Y <- linfun(function(x,y,seg,tp){y^2+x}, simplenet) Y <- as.linim(Y) eval.linim(X + 3) eval.linim(X - Y) eval.linim(abs(X - Y)) Z <- eval.linim(sin(X * pi) + Y)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.