This preserves sharp edges by systematically looping through each pixel and adjusting weights to the adjacent pixels accordingly.
% bif = bilateral filter
% im = input image
% sigd = domain parameter for spatial kernel
% sigr = range parmeter for intensity kernel
% n = noise intensity
% out = output image
% Code Developed BY : Suraj Kamya
% Other files used in this function
% rpadd = another function is used
% PSN = Peak Signal to noise ratio
% IEF = Image Enhancement Factor
% For ex.