// Slow Fourier Transform //----------------------------------------------------- // "Brute Force" Fourier Transform // Very naive implementation of usual DFTs, // the slowest DFT you can find. // Neither symmetry/parity/memoize nor "butterfly" trick, // just raw and slow Discrete Fourier Transform. // Unusable with large arrays! // Actually, large is quite small :-) // Direct+inverse transform took 13 sec for 800 pixels // on a (old) Pentium4 1.6Ghz. macro "LineFTTest" { if (selectionType != 5) exit("Line selection required!"); x=getProfile(); n=x.length; setBatchMode(true); T0=getTime(); F=slowRFT1D(x); ift=slowIFT1D(F); T1=getTime(); setBatchMode(false); name = "[SlowFT]"; showStatus("Direct and inverse transform of "+n+" values took "+(T1-T0)/100+ "seconds"); run("New... ", "name="+name+" type=Table"); f = name; print(f,"\\Headings:x\tReF=Re(FT(x))\tImF=Im(FT(x))\tRe(IFT(F))\tIm(IFT(F)"); for(i=0;i