Keypoints are points with local image features that can be used for matching multiple images, in other words, for finding pairs of corresponding points in the images. As opposed to anatomical landmarks, it is not necessary to have information about the correspondence among different keypoints detected from an image. Keypoints used for image matching are determined after the target images are acquired, though which anatomical landmarks that are to be detected are determined in advance. Scale-invariant feature transform (SIFT) is one of the most popular algorithms for detecting keypoints and for describing their features. The details of SIFT can be found in the literature [71, 72].
The SIFT algorithm consists of two steps: Keypoints are detected at the first step and then local image features are described for each of the detected keypoints. At the first step, not only the spatial location but also the scale are detected for each keypoint. Here, the scale represents the size of the local structure around the keypoint: For example, keypoints are often detected on center lines of blood vessels, and the scale of each keypoint detected on the center line will approximately equal to the radius squared of the blood vessel. The theoretical foundation of the keypoint detection comes from the research field of the scale-space analysis . At the second step, a histogram of the gradient directions observed in a local region around each keypoint is computed as the image feature. It should be noted that the histogram of the gradient directions includes some information about the curvatures of constant-level surfaces around each keypoint because the gradients are perpendicular to the level surfaces. Analogous to SIFT features, many other image features that are computed based on image gradients, including histograms of oriented gradients (HOG)  and Speeded Up Robust Features (SURF) , can be used for image description.