# constructing a 1D using ifft

3 views (last 30 days)
Azza Ahmed on 19 Dec 2012
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 CommentsShowHide 1 older comment
Azza Ahmed on 20 Dec 2012
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.

Sign in to comment.

### Accepted Answer

Matt J on 19 Dec 2012
Edited: Matt J on 19 Dec 2012
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
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### More Answers (1)

Image Analyst on 19 Dec 2012
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 CommentsShowHide 1 older comment
Image Analyst on 20 Dec 2012
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.

Sign in to comment.

### Categories

Find more on Fourier Analysis and Filtering 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!