1. A method, comprising: receiving an image having a plurality of pixels; selecting an apply patch of the image, the apply patch including first and second pixels of the plurality of pixels, the second pixel being adjacent to the first pixel; selecting a search area of the image, the search area including at least a third pixel of the plurality of pixels; determining a difference value between the first pixel and the third pixel based on the pixels surrounding the first pixel and the third pixel; determining a weight value based on the difference value; assigning the weight value to the third pixel; modifying the first pixel with the weight value assigned to the third pixel; selecting a fourth pixel, the fourth pixel being adjacent to the third pixel; assigning the weight value to the fourth pixel; and modifying the second pixel with the weight value assigned to the fourth pixel, therein filtering the image.