The disclosure relates to 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 retina to determine a location of an anatomical feature of the retina in the image by receiving the image data; calculating, for each of a plurality of pixels of the image data, a respective local orientation vector indicative of the orientation of any blood vessel present in the image; calculating a normalized local orientation vector for each of the plurality of pixels; operating on an array of accumulators, wherein each accumulator in the array is associated with a respective pixel of the image data; and determining the location of the anatomical feature in the image of the retina using the location of a pixel of the image data which is associated with an accumulator having accumulated an accumulated value.