https://github.com/cran/fields
Raw File
Tip revision: 6c8b30169bba182a68765ee3cb9b4e2ef7d38332 authored by Doug Nychka on 16 November 2011, 00:00:00 UTC
version 6.6.3
Tip revision: 6c8b301
setup.image.smooth.R
# fields, Tools for spatial data
# Copyright 2004-2011, Institute for Mathematics Applied Geosciences
# University Corporation for Atmospheric Research
# Licensed under the GPL -- www.gpl.org/licenses/gpl.html
"setup.image.smooth" <- function(nrow = 64, ncol = 64, 
    dx = 1, dy = 1, kernel.function = double.exp, theta = 1, 
    xwidth = nrow * dx, ywidth = ncol * dx, lambda=NULL,  ...) {
    M2 <- round((nrow + xwidth/dx)/2)
    N2 <- round((ncol + ywidth/dy)/2)
    M <- 2 * M2
    N <- 2 * N2
    xi <- seq( -(M2-1), M2, 1) * dx
    xi <- xi/theta

    yi <- seq( -(N2-1), (N2),1)* dy
    yi <- yi/theta
    dd<- sqrt((matrix(xi, M, N)^2 + matrix(yi, 
        M, N, byrow = TRUE)^2))/theta
    out <- matrix(kernel.function(dd, ...), nrow=M, ncol=N)
    out2<- matrix( 0, M,N)
    out2[M2,N2]<- 1

    W= fft( out)/fft( out2)
    if( !is.null(lambda)){
          # want fft(out) / ( fft(out2)*lambda + fft(out))
         W= W/( lambda/fft(out2) + W)}
          
    list(W = W/(M*N), dx = dx, dy = dy, xwidth = xwidth, 
        ywidth = ywidth, M=M, N=N, m=nrow, n=ncol, lambda=lambda,
        grid=list( x=xi, y=yi))
}
back to top