spatstat.geom (version 2.1-0)

im.apply: Apply Function Pixelwise to List of Images


Returns a pixel image obtained by applying a function to the values of corresponding pixels in several pixel images.


im.apply(X, FUN, …,, check=TRUE)



A list of pixel images (objects of class "im").


A function that can be applied to vectors, or a character string giving the name of such a function.

Additional arguments to FUN.

Logical value specifying what to do when the data include NA values. See Details.


Logical value specifying whether to check that the images in X are compatible (for example that they have the same grid of pixel locations) and to convert them to compatible images if necessary.


A pixel image (object of class "im").


The argument X should be a list of pixel images (objects of class "im"). If the images do not have identical pixel grids, they will be converted to a common grid using

At each pixel location, the values of the images in X at that pixel will be extracted as a vector. The function FUN will be applied to this vector. The result (which should be a single value) becomes the pixel value of the resulting image.

The argument specifies what to do when some of the pixel values are NA.

  • If (the default), the function FUN is never applied to data that include NA values; the result is defined to be NA whenever the data contain NA.

  • If, the function FUN will be applied to all pixel data, including those which contain NA values.

See Also for algebraic operations with images.


  # list of two pixel images
  Y <- solapply(bei.extra, scaletointerval)
  im.apply(Y, max)
  im.apply(Y, sum)

  ## Example with incompatible patterns of NA values
  B <- owin(c(438, 666), c(80, 310))
  Y[[1]][B] <- NA
  opa <- par(mfrow=c(2,2))
  #' Default action: NA -> NA
  plot(im.apply(Y, mean))
  #' Use NA handling in mean.default
  plot(im.apply(Y, mean, na.rm=TRUE,
# }