1. A method of providing gradient preservation of an input image, comprising the steps of: computing gradient field of said input image resulting in an input gradient for each pixel of said input image; computing gradient field of a remapped image, wherein said remapped image is said input image remapped, resulting in a remapped gradient for each pixel of said remapped image; comparing said remapped gradient at each pixel of said remapped image to a range of acceptable magnitudes to determine whether excessive radient change has occurred during remapping, wherein said acceptable magnitudes depend on said input gradient at said pixel of said input image; changing values of said remapped gradient at pixels of said remapped image if said values of said gradient magnitude at pixels of said remapped image are not within said range of acceptable magnitudes, wherein said changed values depend on said values of said input gradient and said remapped gradient, resulting in new x and y components of a modified gradient; and reconstructing said input image using said new x and y components of said modified gradient.