Mean shift is a filter which acts as edge preserving filter similarly to non local mean or anisotropic diffusion. 

Mean shift can be used for denoising, segmentation or clustering. Two parameters are to be tuned, a spatial size of a patch and a gray level or color distance on which the algorithm is applied.