Methods
All algorithms were coded using MATLAB 6.0 and the source code is linked in the Appendix section. First, sample MR images of the brain were obtained (these were provided by Prof. Dwight Nishimura). Random noise was then created using MATLAB and added to the original image to create the noisy image to be filtered.
Original Image Noise Noisy Image



Two such images were created (with different noise components for each) to represent the consecutive image acquisitions required for the SNR estimation method. These images were then manipulated using the steps outlined in the introduction above (see Appendix for source code). The images were filtered using the correlation filter and Wiener filter already described. Additionally, several other spatial filters were implemented to determine their effectiveness in comparison to those already discussed. A median filter that used a 2x2 neighborhood of pixels was used. An average filter over a 3x3 neighborhood was also used. Additionally, a gaussian filter covering a 5x5 neighborhood was tested. Finally, a contrast, or ‘unsharp’, filter was also used. These filters are implemented in the source file ‘ExtraImageFilters.m’ in the Appendix. The results were then tabulated and compared for changes in SNR, CNR, and resolution loss compared to the noisy image.