Last chance! 50% off unlimited learning
Sale ends in
as.im(X, W, ...)
X
is a function.X
when X
is a function."im"
.x
into a pixel image
object of class "im"
(see im.object
). Currently X
may be any of the following:
"im"
. This object is just returned."owin"
(seeowin.object
).
This window is first converted to a binary image mask
byas.mask
. Then the pixel entriesTRUE
andFALSE
are converted to1
andNA
respectively.
The result is returned as an object of class"im"
.function(x, y, ...)
which is to be evaluated to yield the image pixel values.
In this case, the additional argumentW
must be
a window object. This window will be converted to
a binary image mask. Then the functionX
will be evaluated
in the formX(x, y, ...)
wherex
andy
arevectorscontaining the$x$and$y$coordinates
of all the pixels in the image mask. This must return a numeric vector
of the same length as the input vectors, giving the pixel values.win
.x, y, z
in the format expected by
the standardR
functionscontour.default
andimage.default
.
That is,z
is a matrix of pixel values,x
andy
are vectors of$x$and$y$coordinates respectively,
andz[i,j]
is the pixel value for the location(x[i],y[j])
.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)
Run the code above in your browser using DataLab