Orfeo Toolbox 3.20
Registration is a technique aimed to align two objects using a particular transformation.
A typical example of registration is to have two medical images from the same patient taken at different dates. It is very likely that the patient assume a different position during each acquisition. A registration procedure would allow to take both images and find a spatial transformation to find the corresponding pixel from one image into the other.
Another typical example of registration is to have a geometrical model of an organ, let's say a bone. This model can be used to find the corresponding structure in a medical image. In this case, a spatial transformation is needed to find the correct location of the structure in the image.
The Insight Toolkit takes full advantage of the power provided by generic programming. Thanks to that, it have been possible to create an abstraction of the particular problems that the toolkit is intended to solve.
The registration problem have been decomposed in a set of basic elements. They are:
A particular registration method is defined by selecting specific implemementations of each one of these basic elements. In order to determine the registration method appropriated for a particular problem, is will be useful to answer the following questions:
Currently the Target an Reference objects can be of type itkImage and itkPointSet. Methods have been instantiated for a variety of Image to Image and PointSet to Image registration cases.
This is a rapid description of the transforms implemented in the toolkit
Metrics are probably the most critical element of a registration problem. The metric defines what the goal of the process is, they measure how well the Target object is matched by the Reference object after the transform has been applied to it. The Metric should be selected in function of the types of objects to be registered and the expected kind of missalignment. Some metrics has a rather large capture region, which means that the optimizer will be able to find his way to a maximum even if the missalignment is high. Typicaly large capture regions are associated with low precision for the maximum. Other metrics can provide high precision for the final registration, but usually require to be initialized quite close to the optimal value.
Unfortunately there are no clear rules about how to select a metric, other that trying some of them in different conditions. In some cases could be and advantage to use a particular metric to get an initial approximation of the transformation, and then switch to another more sensitive metric to achieve better precision in the final result.
Metrics are depend on the objects they compare. The toolkit currently offers Image To Image and PointSet to Image metrics as follows:
The following optimization methods are available:
The evaluation of a metric can be very expensive in computing time. An approach often used to improve performance is to register first reduced resolution versions of the target and reference objects. The resulting transform is used as the starting point for a second registration process performed in progresively higher resolution objects.
It is usual to create first a sequence of reduced resolution version of the objects, this set of objects is called a pyramid representation. A Multiresolution method is basically a set of consecutive registration process, each one performed at a particular level of the pyramid, and using as initial transform the resulting transform of the previous process.
Multiresolution offers the double advantage of increasing performance and at the same time improving the stability of the optimization by smoothing out local minima and increasing the capture region of the process.