as.cimg.function | R Documentation |
Similar to as.im.function from the spatstat package, but simpler. Creates a grid of pixel coordinates x=1:width,y=1:height and (optional) z=1:depth, and evaluates the input function at these values.
## S3 method for class ''function''
as.cimg(
obj,
width,
height,
depth = 1,
spectrum = 1,
standardise = FALSE,
dim = NULL,
...
)
obj |
a function with arguments (x,y), or (x,y,cc), or (x,y,z), etc. Must be vectorised; see examples. |
width |
width of the image (in pixels) |
height |
height of the image (in pixels) |
depth |
depth of the image (in pixels). Default 1. |
spectrum |
number of colour channels. Defaut 1. |
standardise |
coordinates are scaled and centered (see doc for pixel.grid) |
dim |
a vector of image dimensions (can be used instead of width, height, etc.) |
... |
ignored |
an object of class cimg
Simon Barthelme
im = as.cimg(function(x,y) cos(sin(x*y/100)),100,100)
plot(im)
#The following is just a rectangle at the center of the image
im = as.cimg(function(x,y) (abs(x) < .1)*(abs(y) < .1) ,100,100,standardise=TRUE)
plot(im)
#Since coordinates are standardised the rectangle scales with the size of the image
im = as.cimg(function(x,y) (abs(x) < .1)*(abs(y) < .1) ,200,200,standardise=TRUE)
plot(im)
#A Gaussian mask around the center
im = as.cimg(function(x,y) dnorm(x,sd=.1)*dnorm(y,sd=.3) ,dim=dim(boats),standardise=TRUE)
im = im/max(im)
plot(im*boats)
#A Gaussian mask for just the red channel
fun = function(x,y,cc) ifelse(cc==1,dnorm(x,sd=.1)*dnorm(y,sd=.3),0)
im = as.cimg(fun,dim=dim(boats),standardise=TRUE)
plot(im*boats)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.