constructing a 1D using ifft

조회 수: 2 (최근 30일)
Azza Ahmed
Azza Ahmed 2012년 12월 19일
Hi there,
I get confused with all the website explaining how to construct an image from k-space using inverse fourier transform. I understand I need use abs(ifftshift(ifft(sig))) in order to produce a 2D image. Can someone please tell what I need to use in order to get a 1D image instead?
Best wishes
AA
  댓글 수: 2
Matt J
Matt J 2012년 12월 19일
I assume you really meant
abs(ifftshift(ifft2(sig)))
Azza Ahmed
Azza Ahmed 2012년 12월 20일
I guess you are right. But I found some people constructing a 2D using : abs(ifftshift(ifft(fftshift(sig)))) not abs(ifftshift(ifft2(sig))) and this where I am confused.

댓글을 달려면 로그인하십시오.

채택된 답변

Matt J
Matt J 2012년 12월 19일
편집: Matt J 2012년 12월 19일
As long as sig is 1D, you should be getting 1D output.
>> sig=1:5; %1D signal
>> abs(ifftshift(ifft(sig))) %1D output
ans =
0.5257 0.5257 0.8507 3.0000 0.8507

추가 답변 (1개)

Image Analyst
Image Analyst 2012년 12월 19일
What is k-space? Do you mean "frequency space," or the "Fourier domain"? And your code will give a 1D "image" - it does not produce a 2D image. If you are dealing with 2D images, you would use the "2" version, such as fft2() and ifft2(). Why do you think you're getting a 2D image when you use those 1D functions like you showed? What does "whos" show for your output?
  댓글 수: 2
Azza Ahmed
Azza Ahmed 2012년 12월 20일
Yes, indeed. I am constructing a 1D from my output. But why do people sometime use abs(ifftshift(ifft(fftshift(sig)))) to construct a 2D?
Highly appreciate your help with this
AA
Image Analyst
Image Analyst 2012년 12월 20일
sig must have already been run through fftshift(). And you don't get a 2D image from that so you'd have to do it for every line and every column of your image - that essentially what fft2() does. Don't bother with that unnecessary complicated way of doing it, just use fft2 and make it easy.

댓글을 달려면 로그인하십시오.

태그

Community Treasure Hunt

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

Start Hunting!

Translated by