2D fft DC shift
On Mon, 24 Sep 2001, M. Edward Borasky wrote:
The simplest way to get the "hot spot" in the middle is to pre-multiply the 2D FFT *input* pointwise by a checkerboard pattern of -1s and +1s. For example, if your input is a b c d e f g h i j k l m n o p you would submit -a b -c d e -f g -h -i j -k l m -n o -p as input to your 2D FFT. This is from memory; someone with access to an image processing textbook please correct me if I'm wrong!!!
I looked in Gonzalez & Wintz (1977) Digital Image Processing and found: p.53 "the origin of the Fourier transform of f(x,y) can be moved to the centre of the corresponding N x N frequency square simply by multiplying f(x,y) by -1^(x+y)" So from the sound of it you do something like (in proper R syntax) g(x,y)<- f(x,y)* -1^(x+y) fft(g(x,y)) If you get this to work I would appreciate some simple R code that - generates a 2D image (e.g. a square) - creates 2D centred amplitude or power spectrum Bill -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._