Registration is the attempt to compute the difference (rotation and translation) between two images. One of these images is the so called fixed image. It is the original one. The other image is called moving image. It is a somehow rotated and translated image.

Feature-based Registration

 Planar Registration

Planar Registration is done in a 2D area. The displacement is first rotation, then translation. There are different types of displacement. First, there is the Rigid Linear Transform. It is a linear transformation that preserves the length of a point’s vector. The orientation of the latter may change, but the magnitude does not.

Then, there is the Affine Transformation which is an extension of the linear transform. The rotation in this case is Matrix which is multiplied to the moving points. Afterwards, the translation is added as a vector. This results in following formula \vec{b} = R\vec{a}+\vec{d} where \vec{b} is the moving image, R is the rotation matrix and \vec{d} is the translation. If the rotation matrix is the identity matrix the process is called pure translation because there is no rotation. When we now try to invert with given \vec{b} and solve for \vec{a}, we get \vec{a} = R^T \vec{b} - \left[ R^T \vec{d} \right]. So we can say that inverse displacements are also displacements.

There is also the Least Squares Translation. It is the vector between the means ofand. With the mean the zero-mean version of the data can be calculated:

\vec{p_j} = \vec{a_j} - \bar{a} \\ \vec{q_j} = \vec{b_j} - \bar{b}

Figure 2 shows some example data which is rotated by the rotation matrix R and translated by the vector \vec{d}. With the least squares approach the data is converted to the zero-mean version, which can be seen in figure 3. Now the only thing that is left is the rotation. Therefore, you have to find the best \Theta such that \vec{q_j} \approx \left[ \begin{matrix} cos(\Theta) & -sin(\Theta)\\ sin(\Theta) & cos(\Theta) \end{matrix} \right] \vec{p}. But this is more difficult than it looks because with optimization there is no guarantee of a global minimum. The estimation of the nearest orthogonal matrix is very hard. So we try to convert planar vectors to complex numbers. This was already discovered by Argand in 1806. He proposed to convert the zero-mean vectors to row vectors with complex entries:

q_j = q_{j(x)}+iq_{j(y)}\\ p_j = p_{j(x)}+ip_{j(y)}

So the rotation is just the multiplication by a complex number which results in \vec{q} \approx r \vec{p}. The rotation can then be calculated by r \approx \vec{q} \left[ \vec{p}^T \right] [1].

figure 1: rigid linear transform [1]


figure 2: initial data for which to find displacement [1]

figure 3: zero mean version of the data [1] 


Spatial Registration

Unfortunately the complex number trick does not work in 3-dimensional space. But we can also start with the least squares approach. Each zero-mean set is converted to a matrix. The rotation is then the matrix multiplication Q \approx RP with R is an orthogonal matrix (RR^T=I_{3\times3} and det(R) = 1). To solve this the singular value decomposition (SVD) is used which makes use of the square root of matices. In 1978 Sibson rewrote the problem as QQ^T \approx R\left[ PQ^T \right]. He defined the data matrix H=PQ^T and inverse rotation matrix W = R^T to calculate argmax(W^T H). With this maximized value he could find an optimal R^\diamond=\left[ H \left[ H^TH \right]^{-1/2} \right]^T by computing the eigenvalue decomposition. Arun who may be unaware of Sibson, computed the SVD with the idea that H=U\Sigma V^T for orthogonal U and V. The optimal rotation is thenR^\diamond=UV^T. With a known R^\diamond the optimal \vec{d}^\diamond can be found. The spatial registration can also be used for the registration of a part to the whole. Therefore, the ICP algorithm is used. It uses the spatial registration to register the data as well as a nearest neighbor approach to solve the subset problem [1].

Intensity-based Registration

The process is started with the moving image volume I_m on top left and the initial transformation T. The moving image is transformed with the initial transformation: T(I_m)=I'_m. Then the new moving image I'_m is compared to the fixed image volume I_f. For this comparison different similarity measures are available:

  • Sum of Squared Differences (SSD): SSD = {1 \over N}\sum_{i \in \Omega} (I_f(i)-I'_m(i))^2

  • Sum of Absolute Differences (SAD): SAD={1\over N} \sum_{i \in \Omega} \left| I_f(i) - I'_m(i) \right|

  • Normalized Cross Correlation (NCC): NCC= {1\over N} {{\sum_{i\in\Omega}(I_f(i) - \bar{I_f})(I'_m(i)-\bar{I'_m})}\over{\sigma_{I_f}\sigma_{I'_m}}}

  • Mutual Information (MI): MI(X,Y)=\sum_i \sum_j p_{xy}(i,j) log {{p_{xy}(i,j)}\over{p_x(i)p_y(j)}}

SSD and SAD can only be used for intra-modal registration. This is the case because they totally depend on the intensities of the image. The NCC is not independent of the intensities but is already more detached. The last step of the iterative process is optimization of the transformation. In this step the new T for the transformation is calculated: T^\star=\underset{T}{argmin}\:\sigma(I_f, T(I'_m)). For this problem there are many approaches like simplex method, gradient descent, newton’s method or least-squares method [1].

iterative process of intensity based registration [1]

2D/3D-Registration

This registration method is especially used to register pre-interventional 3D images to n 2D intra-interventional (live) images. For registration there are different approaches. First, you can project the 3D data to a 2D plane and register the projected data to the 2D data. Second, you can back-project the n 2D images to a 2.5D image which can be registered with the original 3D data. The third and last option is to reconstruct a 3D image from the n 2D images and also register the 3D images (see table). In table 2, the feasibility of the methods is shown [1].

3D   n x 2D

 

 

projection
--->

 

 

 

2D/2D
<--->

 

 

3D/3D
<--->

 

 

back-projection
<---

 

 

3D/3D
<--->

 

 

reconstruction
<---

 Dimensional correspondence
ProjectionBack-projectionReconstruction


Registration
basis

Feature2D segmentation is problematiconly one
2D image
is available
Intensity  
Gradientfeasible 

Demons Registration

For demons registration you need a source image I_s and a target image I_t. The goal is to find a deformation field u. The problem can be formulated as variational problem \underset{u}{min}\:E(u) where the energy E can be decomposed into a data term and a regularizer. The data term is based on the intesity of the source and target image. Using the diffusion equation the energy E can be minimized by \partial u(x,t)=-(I_w(x)-I_t(x))\nabla I_w(x)+\lambda\Delta u(x). By updating the equation with a Gaussian filter (u(x,t+\tau)=G_{\sigma_e} * (u(x,t)+\tau(I_t(x)-I_w(x))\nabla I_w(x)) where \sigma_e = 2 \sqrt{\lambda\tau}) the model assumes an elastic tissue deformation resulting a the so called elastic demons algorithm. If the Gaussian filter is applied before the update instead of after the update (u(x,t+\tau)=u(x,t)+\tau G_{\sigma_f} * (I_t(x)-I_w(x))\nabla I_w(x)) the algorithm is called fluid demons. The combination of both versions is called elastic-fluid demons and uses this update equation u(x,t+\tau)=G_{\sigma_e} * (u(x,t) + \tau G_{\sigma_f} * F(u, I_w,I_t)) where F(u,I_w,I_t)=(I_t(x)-I_w(x))\nabla I_w(x) [2].

For diffeomorphic demons you cannot use the additive updates. These have to change to compositive because diffeomorphisms are invertible functions that map one smooth surface to another such that both the function and its inverse are smooth. The update equation changes to u(x,t+\tau)=G_{\sigma_e} * (u(x,t) \circ (Id + \tau G_{\sigma_f} * F(u, I_w;I_t))). Diffeomorphisms are elements of a smooth but curved space (hypersurface). Simple addition does not work for diffeomorphisms as it may lead to non-invertible solutions (see figure). That is why computed forces have to be mapped with exponential map resulting in u(x,t+\tau)=G_{\sigma_e} * (u(x,t) \circ exp(\tau G_{\sigma_f} * F(u, I_w;I_t))) [2].

Diffeomorphisms need exponential map [2]

Bibliography

  1. Lecture Slides from CAMP I, Lecture 8, 11 and 12, 2016

  2. Lecture Slides from CAMP II, Lecture 3, 2017

  • Keine Stichwörter

Kommentar

  1. Unbekannter Benutzer (ga38gis) sagt:

    Hey (Lächeln) I like that everyone can set his own focus and so I like that you set your focus on the mathematical part and describe the registration very detailed. There's only one thing to criticize: In my opinion lectures are not good as content sources, for images I think it is okay (sometimes it's hard to find an equivalent one), but for content it should be possible to find a primary source.

    Your articles are nice to read and clearly structured and I like that you always visualize the content with images.