[R] Artifacts in pdf() of image() (w/o comments)

Duncan Murdoch murdoch at stats.uwo.ca
Sun Aug 12 14:24:26 CEST 2007


Michael Kubovy wrote:
> Dear r-helpers,
>
> In my previous message there were comments in the code that may have  
> made cutting and pasting awkward. Here it is w/o them.
>
> I have two questions:
>
> (1) The following produces a pdf with artifacts. How do I prevent them?
>   

What artifacts do you see?  It looks like a smoothly varying field when 
produced by R 2.5.1 and viewed in Acrobat Reader 6.0 on Windows.

Duncan Murdoch
> require(grDevices)
> imSize <- 200
> lambda <- 10
> theta <- 15
> sigma <- 40
> x <- 1:imSize
> x0 <- x / imSize -.5
> freq = imSize/lambda
> xf = x0 * freq * 2 * pi
> f <- function(x, y){r <- -((x^2 + y^2)/(sigma ^2)); exp(r)}
> z <- outer(xf, xf, f)
> f1 <- function(x, y){cos(.1 * x)}
> z1 <- outer(xf, xf, f1)
> pdf('gabor.pdf')
> image(xf, xf, z * z1, col = gray(250:1000/1000),
> xlab = '', ylab =  '', bty = 'n', axes = FALSE, asp = 1)
> dev.off()
>
> (2) I would like the output to be clipped to a circle, i.e., anything
> outside the circle tangent to the sides of the square should be
> transparent. How can I do that?
Set the values there to NA?  I'm not sure how ragged that will make the 
edge...



More information about the R-help mailing list