1. A non-transitory computer-readable storage medium storing computer program instructions which, when executed by a processor, cause the processor to process image data defining an image of a vascular structure of temporal vascular arcades of a retina to estimate a location of a fovea of the retina in the image by: receiving the image data; transforming the received image data such that the vascular structure in the image defined by the transformed image data is more circular than the vascular structure in the image defined by the received image data; calculating, for each pixel of a plurality of pixels of the transformed image data, a respective local orientation vector indicative of an orientation of any blood vessel present in the image at or adjacent to the pixel; calculating a normalised local orientation vector for each pixel of the plurality of pixels by normalising the local orientation vector calculated for pixel of the plurality of pixels so that a magnitude of the normalised local orientation vector at each pixel of the plurality of pixels takes a common predetermined value; operating on an array of accumulators, wherein each accumulator in the array is associated with a respective pixel of the transformed image data, by: for each pixel of the plurality of pixels, adding a respective value to an accumulator associated with a pixel of the transformed image data that is offset from the pixel of the plurality of pixels by the predetermined value in a predetermined direction relative to a direction of the local orientation vector at the pixel of the plurality of pixels; and smoothing the values in the accumulators; and estimating the location of the fovea in the image of the retina using a location of a pixel of the transformed image data which is associated with a respective accumulator having accumulated an accumulated value which is within a predetermined range of an extremum of the accumulated values in the accumulators.