I'm trying to implement conjugate synthesis reconstruction technique on matlab
Show older comments
conjugate synthesis summarized by: 1-take a partial k-space(in my case 60%) 2- do IFFT of this partial k space 3- take symmetric data (in my case 10% from the +ve & 10% from the -ve) 4- do IFFT for the symmetric data 5- subtract the phase of the IFFT of symmetric data and the IFFT of the partial k-space(phase correction) 6- do FFT of the result after phase correction and fill the rest of the image by the complex conjugate(in my case the 40% that i did not collect) I'm having wrong result but don;t know why can anyone help me find my mistake? thank you for your time in advance. My code is(you can see the code in the attachment too):
clc;
clear all;
close all;
I=imread('ss.jpg');
I=rgb2gray(I);
I=imresize(I,[100,100]);
[M N]=size(I);
figure;
imshow(I);title('original');
F=fft(I);
F1=fftshift(F);
figure;
imshow(F1);title('fourier')
F2=zeros(M,N);
for i=1:60
for j=1:N
F2(i,j)=F(i,j);
end
end
figure;
imshow(F2);title('60%')
F3=ifft(F2);
figure;
imshow(F3,[]);title('output from 60%');
F4=zeros(M,N);
for i=40:60
for j=1:N
F4(i,j)=F(i,j);
end
end
figure;
imshow(F4);
F5=ifft(F4);
figure;
imshow(F5);
F6=zeros(M,N);
for i=1:M
for j=1:N
F6(i,j)=phase(F5(i,j));
end
end
F7=zeros(M,N);
for i=1:M
for j=1:N
F7(i,j)=phase(F3(i,j));
end
end
F9=F7-F6;
F8=zeros(M,N);
for i=1:M
for j=1:N
F8(i,j)=abs(F3(i,j));
end
end
F10=zeros(M,N);
for i=1:59
for j=1:N
F10(i,j)=( (F8(i,j))*cos(F9(i,j))+ (1i)*((F8(i,j))*sin(F9(i,j))));
end
end
F10 =fft(F10)
F11=zeros(M,N);
for i=1:40
for j=1:N
F11(i,j) = -1*imag(F10(i,j));
end
end
F12=zeros(M,N);
for i=1:40
for j=1:N
F12(i,j) = abs(F10(i,j))+ (1i)*(F11(i,j));
end
end
for i=40:100
for j=1:N
F12([i,j],:)=F12([j,i],:);
end
end
F13 = F10+F12
fft(F13)
figure;
imshow(F13);title('final');
end
Answers (0)
Categories
Find more on Programming in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!