using Images using PyPlot using FFTW N = 64 x = shepp_logan(N) figure(1) clf() subplot(2,2,1) imshow(x) X = fft(x) subplot(2,2,2) imshow(abs.(X)) Y = fftshift(X) subplot(2,2,3) imshow(abs.(Y)) Y[1:div(N,4)+1,:] .= 0.0 Y[3*div(N,4):end,:] .= 0.0 Y[:,1:div(N,4)+1] .= 0.0 Y[:,3*div(N,4):end] .= 0.0 subplot(2,2,4) imshow(abs.(Y)) figure(2) clf() imshow(abs.(ifft(ifftshift(Y)))) function mydft(x) N = length(x) y = zeros(ComplexF64,N) for l=1:N for n=1:N y[l] += x[n]*exp(-2*pi*im*(n-1)*(l-1)/N) end end return y end