June 22nd, 2013, 03:42 AM
Help FFT 3D
I'm new to this forum.
I would like an FFT 3D algorithm in c and some documentation for this algorithm in order to use it in an exercise. I'm in hurry, so every reply is welcome.
June 22nd, 2013, 07:27 AM
June 24th, 2013, 07:48 AM
Sorry I've posted my thread as "urgent"!
I'm in a hurry and I didn't read the terms very well. Now I've changed that. I couldn't read the answer above as it was redirecting me to the page of terms that says not to title a post as "urgent" even if it is for us.
Could you please someone answer this question? I'd like an FFT 3D algorithm in C with some documentation - directions on how to implement it in my program.
Thanks in advance.
June 24th, 2013, 09:04 AM
It's a mistake many make, once.
Originally Posted by TilemahosG
Hint - that was the intended target of the link that was left. The aim, presumably being, to sharpen one's attention(yours) on the expectations and rules that the community imposes on forum posters.
FFT is FFT is FFT. To do an FFT on a sound-sample, one takes a 'window' of samples and processes them into 'buckets'.
To do the same to a 2d image, one first decides on the signals to be transformed - i.e hue, luminance or saturation channels - perhaps even the r, g or b channels. In either case, you have a number of different signals that you can sample for increasing values of X. You repeat the same process for each scan-line in the image. When complete, you repeat the process, albeit in the vertical direction - i.e from top to bottom.
So, a 1d FFT involves one signal, in 1 dimension. a 2d fft involves one signal, in two dimensions (x and y in my example).
Guess what? a 3d FFT is simply performed 3 times - once for each dimension.
Google is your friend more than anyone here is. Ask it for some help! It'll be happy to expand on what I've said. Besides, it already knows where available code is. Ask it, instead of asking someone else to ask it for you.. ;)
June 24th, 2013, 04:25 PM
So, I found an FFT 3D Algorithm in google.
I tested it and I think it isn't working.
My idea of testing an FFT 3D Algorithm is:
1) Initializing an 3D Array (randomly)
2) FFT this Array
3) Reverse FFT the FFTed Array
4) Comparing the initial and the final array
If they are equal then it's OK, else it's not OK
Is there any mistake in my idea of testing the algorithm?