MATLAB: How can i got best denoisy image and which modifications are needed? (you can take any grayimage for testing)

denoisingImage Processing Toolbox

i added noise using n=0+40*randn(size(grayimage)) in grayimage(noisy=grayimage+n). then i have removed noise using medfilt2(noisy, [3 3]); but i have not got best result, so how can i got best denoisy image and which modifications are needed? (you can take any grayimage for testing)
[medfilt2(noisy, [3 3]) works well for salt & pepper noise.]

Best Answer

There are a number of noise reduction methods that are better than median filter. Some of the more famous ones include BM3D, non-local means, K-SVD, K-LLD, UINTA, etc. Other simpler, less sophisticated methods include sigma filters, bilateral filters, mean shift, etc. Try them all! Some are even available in the File Exchange.