Visit DIX: German-Spanish-German dictionary | diccionario Alemán-Castellano-Alemán | Spanisch-Deutsch-Spanisch Wörterbuch |
This chapter discusses all the methods that have been used to align two tensorfields with a nonrigid registration. The following series of steps are used:
For simplicity in this section any field is called a three dimensional image with values at position . The values can therefore be any of the types scalar, tensor or eigensystem. The stationary image is and the moving . The transformation from to is denoted :
(7.2) |
(7.3) |
The displacement field is
(7.4) |
A point at position in in the stationary image has a neighborhood which is a small window of size . A neighborhood of a point at position in of size is referred to as . These notation conventions are summarized in Figure 7.1. Furthermore a collection of n points with is denoted .
Every point for which is known can be displaced to a new location . If is known for every point the whole image can be displaced. The resulting image though will have points which have not been assigned a value from . That is, the function is not directly invertible, since is not necessarily onto and not necessarily one to one.
As a result an image is expected that has values everywhere. Instead of interpolating the points to get missing values for the matching procedure can be inverted to get a function . This second approach is used here. Thus points are selected in the stationary image . When the corresponding points have been found and the displacement field interpolated this leads to a displacement approximated by from the stationary to the moving image. Now for every position in a resulting image the position where the values came from is known, and the transform is onto, so that is empty.
A point on a line for example cannot be unambiguously matched to a point on a line in the second image if no additional information is provided. A corner instead has a unique counterpart in both images and can therefore be matched uniquely, of course only if the corner is present in both images. A measure of cornerness tells how much structure there is around a certain point.
In the scalar case the
derivatives of the image are computed and the outer product of the
resulting vector is built, which is by definition the correlation matrix . With the derivatives
(7.6) |
(7.7) |
(7.8) |
can be seen as a tensor of order 2. The eigenvalues can be illustrated by an ellipsoid. The rounder the ellipsoid the bigger the cornerness, i.e. the measure close-sphere in Equation 4.15 is a measure for cornerness in this case.
For any symmetric matrix the trace is the sum of the eigenvalues
(7.9) |
(7.10) |
Ruiz and co-workers [15] propose to use points above a threshold
(7.11) |
Here a modified version is used, where the two thresholds are
incorporated in one formula. The structure is then defined as
Using the expectance causes blurring of the point-selection since high
values are diffused. The trace of has a non-zero value without
averaging and is an edge detector [1], as
There are now several options to improve the point-selection. Before the process is started an anisotropic filter can be applied to enhance edges. After using a point-selection as described the result can be masked with the trace of (not !) to undo the blurring effect of the expectance computation. Finally the local maxima of a region of the function 7.13 can be selected to get single voxel positions.
In the case of tensorfields the points should be extracted from a
structure with six independent values. For each independent component
of the tensor a matrix
can be computed and the sum over the components of
these matrix used as a
final matrix
(7.15) |
(7.16) |
The parameters for the point-selection in the program
nonrigidreg are described in Table A.3 in page .
For each selected point in a neighborhood is selected. At the same position in the moving image a search window is selected, i.e. an area where the corresponding point is assumed to lie. For each point in this search-window a neighborhood is compared to the neighborhood and a value measuring the result of the comparison assigned to . Two different measurements of similarity for scalar data are implemented.
Instead of simply selecting the best matching value the resulting vectors NCC() respectively LSE() are sorted so that NCC(), LSE() are the best and NCC(), LSE() the worst matches. Before accepting a match the sorted vectors can be analyzed. If the best and worst match are too close to each other, i.e. NCC() NCC(), there is not enough structure in the search-window so that the match should be ignored. Furthermore if there are several equally or almost equally good matches the displacement field in the neighborhood should be considered and matching should additionally be based on smoothness of the over-all displacement field. Only the first approach has been implemented.
In a second step, when for all points
a
correspondence has been found, the displacements are checked.
Overlapping displacements, i.e. displacement vectors that cross each
other are eliminated since the tissue of a subject should not be
folded.
Whenever two displacements cross each other the shorter
displacement is kept and the larger removed.
In order to obtain a displacement field for the whole volume, the sparse displacements obtained at single locations have to be interpolated. This section describes the selected interpolation method. It is assumed that the sparse displacement field has an unknown underlying random field. References [35] and [38] give a good introduction and a simple example on how to use Kriging.
Kriging interpolation originates from geostatistics and is known to be the best linear unbiased estimator because it is theoretically capable of minimizing the estimation error variance while being a completely unbiased estimation procedure [34].
Kriging is a modified linear regression technique that estimates a value at a point by assuming that the value is spatially related to the known values in a neighborhood near that point. Kriging computes the value for the unknown data point using a weighted linear sum of known data values. The weights are chosen to minimize the estimation error variance and to maintain unbiasedness in the sampling. Unlike other techniques for scalar values, Kriging bases its estimates upon a dynamic, not static, neighborhood point configuration and treats those points as regionalized variables instead of random variables. Regionalized variables assume the existence of regions of influence in the data. In Kriging each region is analyzed to determine the correlation or interdependence among the data in the region and this is encoded through a function called a variogram. For the unknown value at the position within the neighborhood of known points with known values the basic Kriging equation is:
(7.19) |
is the actual value at a point , and is the number of known points used to compute . The 's are the regionalized variables and the 's the weights. Unlike other techniques which also use a weighted sums, in Kriging the weights are not selected based solely upon the distance between sampled and unsampled points. Kriging does not assume that the variability of the data is linear [33].
Optimal weights are determined by enforcing the error expectation in the estimate be zero
(7.20) |
and the error variance be minimal
(7.21) |
where is the expected value or mean and
the
mean-square-error of the dissimilarity between the two variables
and .
These two conditions make the best linear unbiased
estimator and are the base equations to derive the Kriging system of
equations. Furthermore the unbiasedness implies that the weights must
sum up to one:
(7.22) |
(7.23) |
In addition, there may be a discontinuity at the origin, the so-called nugget effect. This means that the fitted model does not pass through the origin, but intersects the y-axis at a positive value of , which is . This quantity is an estimate of , the residual, that represents spatially uncorrelated noise associated with any value of a random variable at . This terminology is illustrated in Figure 7.3.
The relationship between the variogram and the covariance is given by [36]
Table 7.1 is a collection of different parametric correlation functions. Figure 7.4 shows the semivariogram (Equation 7.24) for the functions in Table 7.1 with and .
In most cases the variogram is unknown and is approximated by a process called structural analysis. As there is no prior information on the resulting displacement field this approach is not applicable. Instead different variogram models are implemented so that the best model can be empirically determined by comparing the results of the registration process.
An example interpolation is shown where a synthetic example is randomly sampled at 10% and interpolated using the linear variogram model and two different neighborhoods (see Figure 7.5).
|
Three different local transformations are presented and discussed here. The first is proposed in reference [15]. is the tensor in image that is displaced by to a new position . The transformation is . Then the local transformation is applied on to get the final tensor at the position .
(7.25) |
(7.26) |
(7.27) |
As can be seen, the shape of some tensors has been changed quite a bit.
(7.31) |
Again, as was done for the rigid transformation, it is argued here to use this transformation when nonrigidly aligning the tensor images. When aligning two different subjects the structures should not be changed. In the scalar case gray-values are displaced to the new position but their value is not changed. Equivalently in the case of tensors, a local rotation is part of the transformation but changing the shape is not obvious and meaningful in all cases. The meaning of any local change would have to be studied for each application separately and even separately for each tissue, so that it is safest to not apply any strain. Also, if the point-extraction and the matching part of the nonrigid registration are based on measurements of the tensors that depend on the shape, changing the shape after the transformation leads to a change of the similarity. This can make the chosen displacement appear wrong after the local transformation.
|
|
|
|
The implementation allows to choose between any of the described local
transformations (see Table A.3).
The size of the search-window is adapted to the current scale. For the lowest scale it is the specified search-window, divided by the number of scales times the scale-factor. When moving towards higher levels the search-window is a bit larger than twice the scale-factor, since any larger displacement should have been found in the lower levels.
Measuring the results, i.e. the improvement from
(7.32) |
(7.33) |
For the binary test data measuring the improvement is trivial and
boils down to be the number of voxel positions that have different
values in each image. The same principle can be used when matching
segmented data. Here the number of positions with different classes in each image is
a meaningful measure for dissimilarity. In grayscale data counting
positions where the graylevels are different is not very suggestive
since this will be the case almost everywhere in the body. Of course
the number should decrease as the border of the body should be better
aligned after the registration, but this will be a small
percentage. The total distance
(7.34) |
(7.35) |
When registering medical data the goal is to align the structures of
one data set to the other data set. Ideally the structures in both data
sets and are known, e.g. by segmenting the data. The
displaced structures can then be compared.
Different tests are documented in Table 7.2. The parameters used are explained in Table A.3 in Appendix A.6. The process for the case of the chessboard is illustrated in Figure 7.11 and for the segmented baby brain in Figure 7.12.
|
|