1. A method for enhancing an input image comprising: (a) receiving an input image; (b) filtering said input image with a first non-linear filter that attenuates regions of said input image proximate edges to an extent less than regions of said input image not said proximate said edges to provide a first filtered image; (c) processing said first filtered image by determining a comparison between said first filtered image and said input image to provide a difference filtered image; (d) filtering said difference filtered image with a second non-linear filter that reduces the amount of noise in said difference filtered image in a manner not dependent on the content of said difference filtered image to provide a second filtered image; (e) processing said second filtered image by determining a comparison between said second filtered image and said input image to provide an enhanced output image.