inverse fast-fourier transformation in mri
45 views (last 30 days)
Show older comments
Hello dear MATLB users,
i have some problem regarding the ifft in the mri and it would be great if someone could help me. The fact is: i want to move from k-space to the image space using the ifft. I have tried to apply it but it unfortunately doesn't work. Youn could find how my kspace looks like in the attached file.
Thanks.
William
0 Comments
Answers (2)
Gargi Patil
on 3 Sep 2021
Hi,
To find the inverse Fourier transform of an image, I'd recommend using the function ifft2. You can refer to the following code demonstrating the workflow to find the fft and ifft of a demo MATLAB image:
i = imread('peppers.png');
subplot(1,3,1)
imshow(i);
title('Original Image');
%Find fft of image
grayi = rgb2gray(i);
fftimage = fftshift(fft2(grayi));
subplot(1,3,2)
fftshow = mat2gray(log(1+abs(fftimage)));
imshow(fftshow)
title('FFT of Image');
%Take ifft of image
inverse = abs(ifft2(fftimage));
inverse = mat2gray(inverse);
subplot(1,3,3)
imshow(inverse);
title('IFFT of Image');
0 Comments
William Ngaleu
on 6 Sep 2021
2 Comments
Johannes Fischer
on 13 Sep 2021
Remeber to apply fftshift also before the Fourier transform. Matlab assumes that the low frequencies are in the 'top left' corner of your matrix. If you ignore this, your phase information will be wrong. In the kSpace you show, kSpace center is actually in the middle of the matrix.
imageSpace = fftshift(ifft2(fftshift(kSpace)));
See Also
Categories
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!