# interp.im

##### Interpolate a Pixel Image

Interpolates the values of a pixel image at any desired location in the frame.

##### Usage

`interp.im(Z, x, y=NULL, bilinear=FALSE)`

##### Arguments

- Z
Pixel image (object of class

`"im"`

) with numeric or integer values.- x,y
Vectors of Cartesian coordinates. Alternatively

`x`

can be a point pattern and`y`

can be missing.- bilinear
Logical value specifying the choice of interpolation rule. If

`bilinear=TRUE`

then a bilinear interpolation rule is used. If`bilinear=FALSE`

(the default) then a slightly biased rule is used; this rule is consistent with earlier versions of spatstat.

##### Details

A value at each location `(x[i],y[i])`

will be
interpolated using the pixel values of `Z`

at the four
surrounding pixel centres, by simple bilinear interpolation.

At the boundary (where `(x[i],y[i])`

is not surrounded by
four pixel centres) the value at the nearest pixel
is taken.

The arguments `x,y`

can be anything acceptable to
`xy.coords`

.

##### Value

Vector of interpolated values, with `NA`

for points that lie
outside the domain of the image.

##### Examples

```
# NOT RUN {
opa <- par(mfrow=c(1,2))
# coarse image
V <- as.im(function(x,y) { x^2 + y }, owin(), dimyx=10)
plot(V, main="coarse image", col=terrain.colors(256))
# lookup value at location (0.5,0.5)
V[list(x=0.5,y=0.5)]
# interpolated value at location (0.5,0.5)
interp.im(V, 0.5, 0.5)
interp.im(V, 0.5, 0.5, bilinear=TRUE)
# true value is 0.75
# how to obtain an interpolated image at a desired resolution
U <- as.im(interp.im, W=owin(), Z=V, dimyx=256)
plot(U, main="interpolated image", col=terrain.colors(256))
par(opa)
# }
```

*Documentation reproduced from package spatstat, version 1.59-0, License: GPL (>= 2)*