The transformation T that relates the coordinate systems of the images to be matched is usually a rigid geometric transformation (rotation, translation, scaling). The search space for the matching algorithm depends on the dimension of the images and the transformation model (see the chapter entitled "Spatial Transformation Models"). For 2D registration, Tdepends on 3 or 4 parameters, whereas for 3D registration, T depends on 6 parameters (3 translation values, 3 rotation angles). Incorporation of (isotropic or nonisotropic) scaling requires extension of the number of parameters in T, while distortion may be corrected by making T a nonlinear transformation.
Most authors use standard general-purpose optimization algorithms for the chamfer matching algorithm. The simplex method  is easy to implement and gives quite good performance. This method moves a simplex with M + 1 points through an M-dimensional space, where M is the number of parameters. The simplex is mirrored, expanded, or contracted to catch the minimum like a fish in a net. Many authors also use Powell's method of conjugate gradients. Both algorithms are usually just copied from a standard text book on numerical recipes . For medical applications, the required search range is often limited since both images to be matched are generally centered at the same region of interest. For this reason, the use of more powerful optimization algorithms such as simulated annealing is not required. Similarly, the value of hierarchical search strategies is limited since the images can often easily be brought in reasonable correspondence by a rough prematch, e.g., by aligning the center of gravity of both images. Quite often, the search space is reduced by artificially raising the cost function when one of the search parameters moves outside preset limits. As a rule of thumb, cost function minimization using the simplex or Powell's method requires on the order of 50 cost function evaluations per degree of freedom.
The performance of the registration algorithm depends on the parameters of the optimization procedure. For example, initial search steps on the order of 1 cm translation and 10° rotation give good performance with the simplex algorithm. To reject local minima, it is often useful to restart the minimization algorithm one or more times.
Was this article helpful?