We present an algorithm for geometric matching of graphs embedded in 2D or 3D space. It is applicable for registering any
graph-like structures appearing in biomedical images, such as blood vessels, pulmonary bronchi, nerve fibers, or dendritic
arbors. Our approach does not rely on the similarity of local appearance features, so it is suitable for multimodal registration
with a large difference in appearance. Unlike earlier methods, the algorithm uses edge shape, does not require an initial
pose estimate, can handle partial matches, and can cope with nonlinear deformations and topological differences.
The matching consists of two steps. First, we find an affine transform that roughly aligns the graphs by exploring the
set of all consistent correspondences between the nodes. This can be done at an acceptably low computational expense by
using parameter uncertainties for pruning, backtracking as needed. Parameter uncertainties are updated in a Kalman-like
scheme with each match.
In the second step we allow for a nonlinear part of the deformation, modeled as a Gaussian Process. Short sequences
of edges are grouped into superedges, which are then matched between graphs. This allows for topological differences.
A maximum consistent set of superedge matches is found using a dedicated branch-and-bound solver, which is over 100
times faster than a standard linear programming approach. Geometrical and topological consistency of candidate matches
is determined in a fast hierarchical manner.
We demonstrate the effectiveness of our technique at registering angiography and retinal fundus images, as well as
neural image stacks.