R: Apply Affine Transformation To Line Segment Pattern

affine.psp {spatstat} | R Documentation

## Apply Affine Transformation To Line Segment Pattern

### Description

Applies any affine transformation of the plane (linear transformation plus vector shift) to a line segment pattern.

### Usage

     ## S3 method for class 'psp'
    affine(X, mat=diag(c(1,1)), vec=c(0,0), ...)

### Arguments

`X` | Line Segment pattern (object of class `"psp"`).
`mat` | Matrix representing a linear transformation.
`vec` | Vector of length 2 representing a translation.
`...` | Arguments passed to `affine.owin` affecting the handling of the observation window, if it is a binary pixel mask.

### Details

The line segment pattern, and its window, are subjected first to the linear transformation represented by `mat` (multiplying on the left by `mat`), and are then translated by the vector `vec`.

The argument `mat` must be a nonsingular 2 * 2 matrix.

This is a method for the generic function `affine`.

### Value

Another line segment pattern (of class `"psp"`) representing the result of applying the affine transformation.

### Author(s)

Adrian Baddeley Adrian.Baddeley@curtin.edu.au

and Rolf Turner r.turner@auckland.ac.nz

### See Also

`affine`, `affine.owin`, `affine.ppp`, `affine.im`, `flipxy`, `rotate`, `shift`

### Examples

      oldpar <- par(mfrow=c(2,1))
      X <- psp(runif(10), runif(10), runif(10), runif(10), window=owin())
      plot(X, main="original")
      # shear transformation
      Y <- affine(X, matrix(c(1,0,0.6,1),ncol=2))
      plot(Y, main="transformed")
      par(oldpar)
      #
      # rescale y coordinates by factor 0.2
      affine(X, diag(c(1,0.2)))

[Package spatstat version 1.54-0 Index]