How to enhance and denoise an FFT diffraction image?

17 visualizzazioni (ultimi 30 giorni)
I have generated an FFT diffraction profile of a crystal. In the image I want to highlight or enhance only the primary (or brightest 1st order) diffraction spots that take the shape of a distorted hexagon. Please see attached image and image data. I also want to get rid of the cross ("+" shaped) lines from the image. Is there a code available to perform such image enhancement and/or denoising? Thank you in advance for your help!

Risposta accettata

Image Analyst
Image Analyst il 4 Mar 2024
If you want only the spectrum from within the green circle regions, you can just zero out everything outside of those. You can either use drawcircle to manually do it (demo attached), or find some automatic way to find the spikes. See attached demos.
The "crosses" are caused by the finite size of your image and the fact that the intensity at the top of the image is substantially different than the bottom. To reduce that you can use a Hamming window to taper down the intensity near the edges. However if you're zeroing out everything outside of the green circles, there won't be a mismatch at the top and bottom since the intensities will now be zero.
  1 Commento
ct8
ct8 il 11 Apr 2024 alle 21:56
Thank you! I needed to tweak the code a bit and it works for my purpose. @Image Analyst you are the best!

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by