# Detecting and Recognizing a pattern in the 2D-FFT

More theory before I ask a practical question based on the task I have.

I've discovered that performing a 2D-FFT (python or matlab implementations) on some test imagery I have results in a unique pattern. This pattern has so far been easily visually recognizable, but not numerically. The pattern appears as straight lines of some length in the 2D fft, when plotted.

I've tried to perform a Hough transform, stepping through the angles of where the lines are expected to be. While somewhat functional I haven't made a good implementation that works.

In talking with some ML folks, they suggested what every cool kid is doing- machine learning and training. Unfortunately I just don't have the data to do that. I was looking at trying to synthetically create some with POV-ray but that's beyond the scope I think I can afford to learn.

The closest I've seen for pattern recognition is based on character recognition, using an FFT (which link escapes me). But even then in that effort they're training lots of characters. I think this is the point that I'm failing- how do you extract out the shapes to train on?

All of the ML tutorials I've pushed through didn't have FFT in them; although I could substitute, I'd need a working dataset to feed in. Although transforming the Iris example into 2d-fft space might be an interesting effort....

If you've experience with extracting features from a 2D fft and could point me to examples to learn from, I'd be grateful.

Also tried: Gaussian filter to suppress frequencies in the 2D, Sobel, Canny (that's still in progress), Radon, Hough, and a few short other pattern matches/phase correlation. White paper/examples are probably the most valuable to me here. Thank you.

Edit: This is NOT my application here, but I found an example on a published website that is similar to, but not perfect, related to my questions. I hope the visualization makes things easier. Try not to read too much into the activity on the page (defect and crack/scratch detection). On this page, there is an image of multiple scratches and a 'filtered FFT' is done. That would be a good example (mine aren't filtered) of trying to recognize that 'x' present in the 2nd row, 3rd image.

• Maybe adding a picture of your FFT would help. – user253751 Feb 13 at 10:23
• Found an example, @user253751 . Not a perfect match but similar too. I can't find the paper on character recognition sadly that I hoped to provide. – J.Hirsch Feb 13 at 15:22
• Can you define a matched filter with the expected shape of the signature? – AnonSubmitter85 Feb 13 at 17:10
• @AnonSubmitter85 I could, but I wouldn't be able to consider it generalized. And I'd be afraid I'd miss things too- although the extraction of that feature would be considerably easier. I've hesitated on doing so as that might solve the initial problem but not solve my knowledge gap. – J.Hirsch Feb 13 at 20:53
• Can you provide some more details around what the source of the original images is? It might help with providing specific methods for recovering the pattern. – A_A Feb 18 at 8:51