1. A method of generating a high-resolution image from a set of source low-resolution images comprising: (a) estimating a high-resolution image based on the set of source low-resolution images; (b) transforming the estimated high-resolution image into a set of estimated low-resolution images; (c) comparing the set of source low-resolution images with the set of estimated low-resolution images to generate a set of low-resolution errors; (d) transforming the set of low-resolution errors into a set of high-resolution errors; (e) generating a high-resolution error image based on the set of high-resolution errors; (f) combining the high-resolution error image with the estimated high resolution image to yield an updated estimated high-resolution image; and (g) repeating steps (b) to (f) until the updated estimated high-resolution image is of a desired quality.