medicinal-imaging/lecture/3. Signal Processing/code_signal_processing.jl

47 lines
554 B
Julia
Raw Normal View History

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