Learn R Programming

spatstat (version 1.11-4)

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)

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).

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). 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.

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