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=TRUE, images that have incompatible dimensions
  will be resampled so that they are compatible.
  If harmonize=FALSE, images that are incompatible will cause an error.