1. A method of processing an image, the method comprising: determining at least one point spread function for the image; for each point spread function, filtering the image, or at least a portion of the image, using at least one filter based on that point spread function to generate a corresponding filtered image for each filter, wherein if only a single point spread function is determined then a plurality of different filters are used to individually filter the image, or at least a portion of the image, to generate a plurality of different filtered images; determining at least one quality metric for each of the filtered images, wherein the at least one quality metric comprises a first quality metric selected from i) a quality metric associated with a level of artifacts generated in the filtered image by the filtering of the image, ii) a quality metric associated with an amount of residual blurring in the filtered image, or iii) a quality metric associated with a level of sharpness of the filtered image; and selecting a final filtered image from the filtered images based on the at least one quality metric for each of the filtered images.