inverse fast-fourier transformation in mri

44 ビュー (過去 30 日間)
William Ngaleu
William Ngaleu 2021 年 8 月 24 日
コメント済み: Mehri Mehrnia 2023 年 8 月 18 日
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

回答 (2 件)

Gargi Patil
Gargi Patil 2021 年 9 月 3 日
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');
  1 件のコメント
Mehri Mehrnia
Mehri Mehrnia 2023 年 8 月 18 日
why you have used (log(1+abs()) for fftshow?

サインインしてコメントする。


William Ngaleu
William Ngaleu 2021 年 9 月 6 日
Thanks for your respond. But the problem is: by programming i don't have the variable "fftimage". I have got the kspace through other transformations and i want to "reconstruct" (or construct) the image from that kspace. To resume i want to do the ifft of the kspace without having an initial image.
  2 件のコメント
Gargi Patil
Gargi Patil 2021 年 9 月 6 日
Hi William,
To obtain the original image, the code to find the ifft of an image can be referred to:
%Take ifft of image
inverse = abs(ifft2(kpsaceImage));
inverse = mat2gray(inverse);
Here the variable kspaceImage refers to the image in the file attached to the question.
Johannes Fischer
Johannes Fischer 2021 年 9 月 13 日
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)));

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMRI についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by