I am trying to calculate the amplitude of FFT vs wavelength for some experiments. I had put a question here previously on how to compute the FFT of an image. Thanks to everyone who provided the direction. I have prepared the program with some modifications and have computed the FFT. First here's the link to the previous question: Previous question on calculation of FFT
Here's the raw data:
I have computed the following code to calculate the FFT:
data = MeanFilter[img,0] fft1 = Fourier[ImageData[data][[All, All, 2]]]; Floor[Dimensions[fft1]/2]]; fft1 = RotateLeft[fft1, Floor[Dimensions[fft1]/2]];
I have analyzed the image and found it to be a RGBA image.I have used this code to evaluate the FFT for other two channels 1 and 3 and then added up the absolute part of FFT. Once we get the FFT pattern, which looks like this . My target is to compute the amplitude vs wavelength which will effectively give me the period of these patterns. What I wish to do is to average the FFT over circles. As from my previous post you can see that I tried to do that defining a circle of a certain radius with the no. of pixels being the radius. However, I want to know is it a good method? The result is now what I expected.
If you want to exactly know what I am aiming for here's an example. (ref:) And the portion which matches well with what I want to do.