I am starting with the following image: STM image

For the curious, it is an STM scanned image of graphite. I am hoping to find some kind of periodic structure in the image related to the honeycomb structure of graphite.I followed the instructions in this post in how to do the 2D Fourier transform and look at the magnitude spectrum of the image. I cropped the center part (ignoring the axes and color information) out and analyzed that picture to end up with:
magnitude spectrum

Now, I can see the kind of hexagonal structure I want to see, and I want to filter out some of the other bright areas. This leads me to my two main questions:

  1. Does mathematica allow for easy band-pass filtering? I need to filter out the low and high frequency noise in the image. I can do it manually if necessary.
  2. How do I transform the image back from the magnitude spectrum to the regular image? My hope is that, after filtering, the structure will be more apparent and visible when converted back to the traditional image. The color-coding for height is irrelevant for my purposes.

EDIT: I also have access to the original data that composes my image. It comes in a list of x,y,z pairs where the z coordinate is the relative height used for color coding:

  • $\begingroup$ Welcome to Mathematica.SE! I suggest that: 1) You take the introductory Tour now! 2) When you see good questions and answers, vote them up by clicking the gray triangles, because the credibility of the system is based on the reputation gained by users sharing their knowledge. Also, please remember to accept the answer, if any, that solves your problem, by clicking the checkmark sign! 3) As you receive help, try to give it too, by answering questions in your area of expertise. $\endgroup$ – bbgodfrey Apr 26 '15 at 16:59
  • $\begingroup$ Try BandpassFilter in the docs? reference.wolfram.com/language/ref/BandpassFilter.html? $\endgroup$ – dr.blochwave Apr 26 '15 at 19:25
  • 3
    $\begingroup$ Can you get hold of the original data? The image you are working from has gone through resampling, colour mapping, what appears to be simulated lighting, and worst of all jpeg compression. The signal you are looking for has probably been destroyed. $\endgroup$ – Simon Woods Apr 26 '15 at 20:15
  • 1
    $\begingroup$ You should not try to transform the magnitude spectrum back to an image, because by working on the magnitudes only you have lost all phase information and the original image cannot be recovered from this. Use Fourier to get the complex-valued result consisting of magnitude and phase information. Zero out any parts of it that you don't like. Then, return to real space using InverseFourier. But, I agree with Simon: if this picture is your source data, it is a fool's errand (it has been downsampled to a ridiculous extent). Use the original STM data instead. $\endgroup$ – Oleksandr R. Apr 26 '15 at 20:49
  • $\begingroup$ @SimonWoods I can get the original data that makes up the pictures. I'll post a sample of what my data looks like in the raw format as well and would be happy to accept an answer helping with that! $\endgroup$ – jkeuhlen Apr 27 '15 at 1:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.