spatstat.geom (version 2.1-0)

affine.im: Apply Affine Transformation To Pixel Image

Description

Applies any affine transformation of the plane (linear transformation plus vector shift) to a pixel image.

Usage

# S3 method for im
affine(X, mat=diag(c(1,1)), vec=c(0,0), …)

Arguments

X

Pixel image (object of class "im").

mat

Matrix representing a linear transformation.

vec

Vector of length 2 representing a translation.

Optional arguments passed to as.mask controlling the pixel resolution of the transformed image.

Value

Another pixel image (of class "im") representing the result of applying the affine transformation.

Details

The image is subjected first to the linear transformation represented by mat (multiplying on the left by mat), and then the result is translated by the vector vec.

The argument mat must be a nonsingular \(2 \times 2\) matrix.

This is a method for the generic function affine.

See Also

affine, affine.ppp, affine.psp, affine.owin, rotate, shift

Examples

# NOT RUN {
  X <- setcov(owin())
  stretch <- diag(c(2,3))
  Y <- affine(X, mat=stretch)
  shear <- matrix(c(1,0,0.6,1),ncol=2, nrow=2)
  Z <- affine(X, mat=shear)
# }