im.object

0th

Percentile

Class of Images

A class "im" to represent a two-dimensional pixel image.

Keywords
spatial, attribute
Details

An object of this class represents a two-dimensional pixel image. It specifies

• the dimensions of the rectangular array of pixels

• $x$ and $y$ coordinates for the pixels

• a numeric value (grey value'') at each pixel

If X is an object of type im, it contains the following elements:

 v matrix of values dim dimensions of matrix v xrange range of $x$ coordinates of image window yrange range of $y$ coordinates of image window xstep width of one pixel ystep height of one pixel xcol vector of $x$ coordinates of centres of pixels

Users are strongly advised not to manipulate these entries directly.

Objects of class "im" may be created by the functions im and as.im. Image objects are also returned by various functions including distmap, Kmeasure, setcov, eval.im and cut.im.

Image objects may be displayed using the methods plot.im, image.im, persp.im and contour.im. There are also methods print.im for printing information about an image, summary.im for summarising an image, mean.im for calculating the average pixel value, hist.im for plotting a histogram of pixel values, quantile.im for calculating quantiles of pixel values, and cut.im for dividing the range of pixel values into categories.

Pixel values in an image may be extracted using the subset operator [.im. To extract all pixel values from an image object, use as.matrix.im. The levels of a factor-valued image can be extracted and changed with levels and levels<-.

Calculations involving one or more images (for example, squaring all the pixel values in an image, converting numbers to factor levels, or subtracting one image from another) can often be done easily using eval.im. To find all pixels satisfying a certain constraint, use solutionset.

Note carefully that the entry v[i,j] gives the pixel value at the location (xcol[j],yrow[i]. That is, the row index of the matrix v corresponds to increasing y coordinate, while the column index of mat corresponds to increasing x coordinate. Thus yrow has one entry for each row of v and xcol has one entry for each column of v. Under the usual convention in R, a correct display of the image would be obtained by transposing the matrix, e.g. image.default(xcol, yrow, t(v)), if you wanted to do it by hand.

Warnings

The internal representation of images is likely to change in future releases of spatstat. Do not address the entries in an image directly. To extract all pixel values from an image object, use as.matrix.im.