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.
Suraj Kamya (2020). Bilateral Filter (https://www.mathworks.com/matlabcentral/fileexchange/46561-bilateral-filter), MATLAB Central File Exchange. Retrieved .