affine.owin
Apply Affine Transformation To Window
Applies any affine transformation of the plane (linear transformation plus vector shift) to a window.
Usage
# S3 method for owin
affine(X, mat=diag(c(1,1)), vec=c(0,0), …, rescue=TRUE)
Arguments
- X
Window (object of class
"owin"
).- mat
Matrix representing a linear transformation.
- vec
Vector of length 2 representing a translation.
- rescue
Logical. If
TRUE
, the transformed window will be processed byrescue.rectangle
.- …
Optional arguments passed to
as.mask
controlling the pixel resolution of the transformed window, ifX
is a binary pixel mask.
Details
The window 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
.
Value
Another window (of class "owin"
) representing the
result of applying the affine transformation.
See Also
Examples
# NOT RUN {
# shear transformation
shear <- matrix(c(1,0,0.6,1),ncol=2)
X <- affine(owin(), shear)
# }
# NOT RUN {
plot(X)
# }
# NOT RUN {
data(letterR)
affine(letterR, shear, c(0, 0.5))
affine(as.mask(letterR), shear, c(0, 0.5))
# }