How to enhance and denoise an FFT diffraction image?

17 次查看(过去 30 天)
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!

采纳的回答

Image Analyst
Image Analyst 2024-3-4
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 个评论
ct8
ct8 2024-4-11,21:56
Thank you! I needed to tweak the code a bit and it works for my purpose. @Image Analyst you are the best!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Image Filtering and Enhancement 的更多信息

产品


版本

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by