Filtering to increase SNR

7 views (last 30 days)
Med_Imager
Med_Imager on 25 May 2012
I have a bunch of images that have been generated after some calculations. The images were originally acquired from a 3T MRI. I want to do some filtering to smooth over the highly pixelated areas. Is anyone familiar with this sort of thing? So far I have used a 'gaussian' and an 'average' filter and both don't significantly increase the SNR.
H = fspecial('gaussian', 3,1);
M_11 = imfilter(M_1,H,'replicate');
Anyone else know of a better approach? Maybe I am doing this all wrong. Is there another Matlab function to do this?
Thanks in advance!

Answers (1)

Image Analyst
Image Analyst on 26 May 2012
What does "pixelated" mean to you? What other areas are there and why aren't those other areas supposed to be filtered?
If averaging doesn't improve the signal to noise, then maybe nothing will because it's like the sledge hammer of noise reduction. It clobbers noise but, unfortunately, pretty much clobbers everything else also. So in smooth areas you should have high noise reduction and high SNR but you're going to lose your signal in non-smooth/edgey areas and have low SNR there. There are better, more sophisticated noise reduction methods than you mentioned but they're complicates. Methods like sigma filter, k nearest neighbors, BM3D, non-local means, K-SVD, K-LLD, etc.

Categories

Find more on Filter Banks in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!