# Structure factor of fourier transform of an image

In this article authors show crystal and liquid phase from two dimensional crystals by calculating structure factor (Fourier transform of 2D points). I have generated set of points in 2D that represent lattice points of a perfect triangular lattice and a non perfect lattice. (images below)

perfect lattice not perfect lattice I want plot similar results from figure 2 of the article (image below) for both cases perfect and not perfect lattice. Can I do this in mathematica? The plot here shows for totally random points (left), not perfect lattice (middle), and perfect lattice (right)

Thank you.

• Perhaps Fourier[] would work? Jun 16, 2020 at 2:34
• Since you have already generated the points, you should share their coordinates so people can play with concrete ideas and try out proposed solutions. Otherwise you will only get generic suggestions. Jun 16, 2020 at 3:57
• @bills Since points are not on the regular lattice, one cannot use Fourier. I am afraid a brute force implementation of the formula is the only choice. At least it is simple. Jun 16, 2020 at 7:35
• @yarchik One can take Fourier of the ImageData matrix. Jun 16, 2020 at 13:51
• @DanielLichtblau I see what do you mean. I took a physical approach that each black dot is infinitesimally small characterized by the position $\vec r_\alpha$ only. It is clear that if one has just a few dots, the brute force formula will be faster. But very soon FFT will beat it. Would be interesting to compare both methods for reasonably small number of dots. Jun 16, 2020 at 14:37