pip_fft - perform the Fourier transform of the whole field
Note, we still can apply all the intensity and phase filters in the Fourier-space. The whole grid size in the angular frequency domain corresponds to 2*pi*lamda/2x where dx is the grid step. One step in the frequency domain corresponds to where x is the total size of the grid. SAO filters do not know about all these transformations, so the user should take care about setting the proper size (using the relations mentioned) of the filter (still in linear units) in the frequency domain.
In many cases, the frequency spectrum occupies only few sampling intervals. In this case filtering mask has to be defined only on a few grid points, making precision definition of the mask impossible (too few points). In this case, interpolation into a grid with maximum possible dimensionality is advised, to define the filter mask with a higher precision.
f1=begin(0.01,1e-6,200); f2=circ_ap(f1,0.003); f3=random(f2,"pha",3); f4=fresnel(f3,1); field_plot(f4); f5=pip_fft(f4,1); f6=circ_ap(f5,0.0005); f7=pip_fft(f6,-1); field_plot(f7);
Chen jingyuan, Gan guangyong (IAPCM, Beijing,China.)