Learn R Programming

spatstat (version 1.12-1)

as.im: Convert to Pixel Image

Description

Converts various kinds of data to a pixel image

Usage

as.im(X, W=as.mask(as.owin(X), dimyx=dimyx), ...,
        dimyx=NULL, na.replace=NULL)

Arguments

X
Data to be converted to a pixel image.
W
Window object which determines the spatial domain of the image
...
Additional arguments passed to X when X is a function.
dimyx
Optional. Dimensions for the pixel array. An integer, or vector of 2 integers c(ny, nx).
na.replace
Optional value to replace NA entries in the output image.

Value

  • An image object of class "im".

Details

This function converts the data X into a pixel image object of class "im" (see im.object).

Currently X may be any of the following:

  • a pixel image object, of class"im".
  • a window object, of class"owin"(seeowin.object). The result is an image with all pixel entries equal to1inside the windowX, andNAoutside.
  • a single number (or a single logical, complex, factor or character value). The result is an image with all pixel entries equal to this constant value inside the windowW(andNAoutside, unless the argumentna.replaceis given). ArgumentWis required.
  • a function of the formfunction(x, y, ...)which is to be evaluated to yield the image pixel values. In this case, the additional argumentWmust be present. This window will be converted to a binary image mask. Then the functionXwill be evaluated in the formX(x, y, ...)wherexandyarevectorscontaining the$x$and$y$coordinates of all the pixels in the image mask, and...are any extra arguments given. This function must return a vector or factor of the same length as the input vectors, giving the pixel values.
  • a list with entriesx, y, zin the format expected by the standardRfunctionsimage.defaultandcontour.default. That is,zis a matrix of pixel values,xandyare vectors of$x$and$y$coordinates respectively, andz[i,j]is the pixel value for the location(x[i],y[j]).

The spatial domain (enclosing rectangle) of the pixel image is determined by the argument W. If W is absent, the spatial domain is determined by X. When X is a function or a single numerical value, W is required. The pixel array dimensions of the final resulting image are determined by (in priority order)

  • the argumentdimyxif present;
  • the pixel dimensions of the windowW, if it is present and if it is a binary mask;
  • the pixel dimensions ofXif it is an image, a binary mask, or alist(x,y,z);
  • the default pixel dimensions, controlled byspatstat.options.

Note that if dimyx is given, this will override the pixel dimensions of X if it has them. Thus, as.im can be used to change an image's pixel dimensions.

If the argument na.replace is given, then all NA entries in the image will be replaced by this value. The resulting image is then defined everwhere on the full rectangular domain, instead of a smaller window. Here na.replace should be a single value, of the same type as the other entries in the image.

Examples

Run this code
data(demopat)
  # window object
  W <- demopat$window
  plot(W)
  Z <- as.im(W)
  image(Z)
  # function
  Z <- as.im(function(x,y) {x^2 + y^2}, unit.square())
  image(Z)
  # function with extra arguments
  f <- function(x, y, x0, y0) {
      sqrt((x - x0)^2 + (y-y0)^2)
  }
  Z <- as.im(f, unit.square(), x0=0.5, y0=0.5)
  image(Z)
  # Revisit the Sixties
  data(letterR)
  Z <- as.im(f, letterR, x0=2.5, y0=2)
  image(Z)
  # usual convention in S
  stuff <- list(x=1:10, y=1:10, z=matrix(1:100, nrow=10))
  Z <- as.im(stuff)
  # convert to finer grid
  Z <- as.im(Z, dimyx=256)

Run the code above in your browser using DataLab