This function is a wrapper to make it easier to perform
  pixel-by-pixel calculations in an image.   Pixel images in spatstat
  are represented by objects of class "im"
  (see im.object). These are essentially matrices of
  pixel values, with extra attributes recording the pixel dimensions,
  etc.
  Suppose X is a pixel image. Then eval.im(X+3)
  will add 3 to the value of every pixel in X, and return
  the resulting pixel image.
  Suppose X and Y are two pixel images with compatible
  dimensions: they have the same number of pixels, the same physical
  size of pixels, and the same bounding box. Then
  eval.im(X + Y) will add the corresponding pixel values in
  X and Y, and return the resulting pixel image.
  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.im 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 pixel image in the expression.
  All images must have compatible dimensions.