Tell me more ×
Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. It's 100% free, no registration required.

I have a dataset with two columns (width and length, both in milimeter). When I make a scatter plot (please refer to the first figure), I see location of defects in a plane. I want to find if the location of the defect has some kind of pattern or it is just a noise. For that I was suggested to use 2D fft to recognize pattern. I don't have any background in 2D fft but I read some articles and used matlab function fft2. I get a plot (please refer to the second figure) which I dont I understand so much at this moment. Can any one has hint to get me going? A nice article could also be of help. I read the following article as well.

http://www.qsimaging.com/ccd_noise_interpret_ffts.html

Thanks in advance!

enter image description here

enter image description here

share|improve this question
2  
What are the two graphs you have provided, is the first the data you are analysing, and the second the 2d FFT output? – trumpetlicks Nov 8 '12 at 13:28
3  
Also, how does does result are you expecting look like for a given dataset? Is it a simple "yes" or "no" ("yes" meaning there is a pattern to the defect)? – EitanT Nov 8 '12 at 13:29
4  
@Chris When you realize you posted in the wrong stackexchange site, you DO NOT cross-post. You can flag your own post, and write in the comment "I think this should be posted on DSP.SE, sorry". Our lovely moderators will take care of it for you... What you did just now, cross posting, requires somebody to again flag your question, say "cross-posted", and the mods have to take care of it again. Which is ... okay... if the question has no answers yet, but if answers happened on one or both sites, it would be very hard to impossible to merge them. – penelope Nov 8 '12 at 16:02
1  
Heh, I actually think this question is more appropriate for stats.se! You have a set of points in a plane, and want a test for whether or not they are "randomly" distributed (what ever that would mean in this particular case). Sounds like a statistics problem! Anyway ... I admit to not understanding your fft plot. What are the axes, and what are you plotting? I would think you want to plot something like the magnitude of the fft over the u-v plane, and hope to see some big spikes in the data. Maybe look for points that are much larger than the median value? – Dan Becker Nov 8 '12 at 17:59
1  
You really need to explain more about what you're doing. What are you measuring? What is a "defect" and where do they appear in your first image? Why do you think an FFT will help? – endolith Nov 8 '12 at 18:01
show 3 more comments

migrated from stackoverflow.com Nov 8 '12 at 19:24

1 Answer

DFT is a great tool to find periodic patterns in signals. However, you should understand what kind of period you want to find. If you want to find a series of points that lie on a regular grid (with even spacing), or more mathematically speaking, a subset of points $(x_i,y_i)$, such that there exists $(dx,dy)$ for which the following equations hold:

$x_i = x_1 + dx*i $
$ y_i =y_1 + dy*j $

(The patterns can also be rotated, and DFT will still find them).

You should compute a 2D histogram of your data, with large number of bins, and run DFT on it. Afterwards, you should look for a peak in any location expect the DC. An ideal noise should have no patters, thus the contrast of the frequencies responses should be very low.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.