MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Fourier Transforms


Chris,

Generally easy to write your own 2D Fourier Transform. The following function works fairly well. It's a little old but still works well.

fourier2d[in_]:=Block[{nr,nc,r,c,out},
   {nr,nc}=Dimensions[in];
     {r,c}={Floor[nr/2]-1,Floor[nc/2]-1};    
       out=RotateLeft[Transpose[RotateLeft[in,r]],c];
       out=N[Fourier[out]];
       out=RotateRight[
           Transpose[RotateRight[out,r]],c];
       out=Chop[out]]

Regards.

Cliff


Christopher Arthur <caa0012 at unt.edu> wrote: Mathematica's numerical package for fourier transforms is 
well-developed for the classical one-dimensional fourier transform.  If 
there would be, however, support for multidimensional transforms, then 
its documentation is not easy to find in the help browser.  
Furthermore, NIntegrate seems to choke quickly in its default mode if 
we give it a form that is similar to these transforms.  Can someone 
recommend a technique for this?  Suppose a two-dimensional transform 
would be sufficient.  Chris Arthur





  • Prev by Date: Re: Strange results from Mathematica
  • Next by Date: Re: Problem wit cubic spline
  • Previous by thread: Fourier Transforms
  • Next by thread: Version 4.0 of BIOKMOD is available