Matrix description of general motion correction applied to multishot images

Authors


  • Presented in part as abstracts at the 2nd International Workshop on Parallel-MRI, Zürich, 2004, and MIUA, London, Sept. 2004.

Abstract

Motion of an object degrades MR images, as the acquisition is time-dependent, and thus k-space is inconsistently sampled. This causes ghosts. Current motion correction methods make restrictive assumptions on the type of motions, for example, that it is a translation or rotation, and use special properties of k-space for these transformations. Such methods, however, cannot be generalized easily to nonrigid types of motions, and even rotations in multiple shots can be a problem. Here, a method is presented that can handle general nonrigid motion models. A general matrix equation gives the corrupted image from the ideal object. Thus, inversion of this system allows us to get the ideal image from the corrupted one. This inversion is possible by efficient methods mixing Fourier transforms with the conjugate gradient method. A faster but empirical inversion is discussed as well as methods to determine the motion. Simulated three-dimensional affine data and two-dimensional pulsation data and in vivo nonrigid data are used for demonstration. All examples are multishot images where the object moves between shots. The results indicate that it is now possible to correct for nonrigid types of motion that are representative of many types of patient motion, although computation times remain an issue. Magn Reson Med, 2005. © 2005 Wiley-Liss, Inc.

Motion of an object can degrade MR images and imposes constraints on scan parameters that can in turn compromise image quality. The cause of the degradation is that the acquisition is time-dependent, and the Fourier transform of the image seen during acquisition changes due to the deformation of the object. This causes inconsistencies in k-space and hence ghosts in the image.

Standard motion correction methods make assumptions on the type of motions, for example, that it is a translation or a rotation, and use formulas on Fourier transforms to correct the data (1–3). We assume here that these data are acquired in shots. When the data positions at each shot are known, an empirical motion correction method could be used to spatially transform the ghosted image by the transformation corresponding to a shot, pick the k-space lines corresponding to that shot, and repeat this operation for all shots (this is a version of the method used in (1)). We could then rebuild an image by inverse Fourier transform. This method is in general incorrect, as shown by the difference between translations and rotations. Correcting translation requires only pointwise phase changes in k-space. On the other hand, correcting rotations requires knowledge of the data at neighboring k-space positions and these are acquired at different times. Before applying the Fourier rotation theorem, we would need to “synchronize” neighboring values. Furthermore, complicated motions such as nonrigid deformations cannot have a simple description in Fourier space. Here, however, we show that it is possible to correct complicated motions, including nonrigid motions. We give a full mathematical description of the problems involved; the motion corruption is entirely described by a large matrix acting on the space of images. Thus, inversion of this matrix should correct the motion's effects. This approach is of theoretical interest, but its practical value depends on how easily we can find a solution of the linear system. It turns out that with some careful linear algebra, not only are we able to invert in a generalized sense, but also this inversion can be done efficiently in practice. For this we use the LSQR algorithm, which is a robust implementation of the conjugate gradient of the normal equation (see (4)).

This leaves the question of finding what motion actually happened. Different cost functions have been designed to quantify how much an image has been corrupted (1, 5, 6). We explore different cost functions in conjunction with our motion correction. Optimization of such cost functions means repeating the matrix inversion iteratively. However, inverting matrices repeatedly may be prohibitive even if it is practicable on a one-off basis. We therefore also investigate the use of the empirical method described above. The matrix equation allows us to find when this approximation is correct. We show three-dimensional random affine and pulsatile nonrigid motion corrections on simulated data and an example of nonrigid correction of in vivo data (moving legs).

THEORY

We need a method to handle motion-corrupted MR images when we know the motion; this is a necessity to correct for unknown motions with an optimization method. Some MR techniques, such as navigators, allow us to find the motion directly, but then also require an algorithm to correct this motion. Here we describe how motion introduces ghosts in an MR image and how we can recover the original image from the ghosted one. We then discuss strategies to find the unknown motion.

Motion Ghosting

Spatial transformations induce linear image transformations on the images whose field of view (FOV) is transformed. For an image s, the transformed image is the image whose intensities at a pixel are the intensities of s at the (inverse) transformed pixels (see (7) 3.3.2). The linear operations on images are defined pixelwise.

Transformation Matrices.

The effect of a spatial transformation on images can be represented as a sum of linear image transformations and can thus be written as matrix multiplication. In the extreme case, each image transformation operates on a single pixel, moving the pixel value from one location to another. We write ut for the matrix acting on image space that corresponds to a spatial deformation dependent on time t. If the spatial transformation can be inverted, we write umath image for the matrix of the transformation induced by the inverse spatial transformation. This matrix is to be distinguished from the inverse matrix of ut, which will not necessarily exist. But, for an image s whose signal remains in the FOV, umath imageuts = s. We use lowercase letters for objects related to image space and capital letters for objects related to k-space.

Aliasing

Aliasing is an image space consequence of subsampling in the Fourier domain. As such, it can be represented by a matrix. We define a shot to be a subsample of k-space and make the assumption that all the corresponding Fourier components are acquired simultaneously, or in a very short time in comparison to any processes causing change to the object. In other words shots correspond to time steps. A partition of k-space in ns shots leads to ns matrices At that project to the corresponding shot positions and sum to the identity matrix when k-space is fully covered. The aliasing matrices at are defined to be FHAtF, where Fourier transformation is represented by F and FH is the conjugate transpose (hermitian conjugate) of F.

For rectangular FOVs, and subsampling along one spatial dimension, the computation factors along dimensions, and the matrices at have a sparse block structure corresponding to the standard ghosts.

Motion during acquisition

We are now going to give the exact formula for the effect of any motion during acquisition in k-space. Suppose ut describes the spatial transformation at time t, and At is the sampling of k-space at this time. The observed image s is related to the ideal object image s0 by the sequence in Algorithm 1. The expressions in curly braces are the corresponding matrix form. From this algorithm, we obtain a simple matrix description of the motion corruption: the motion corrupted image is a superposition of aliased views of the object in different positions, namely,

equation image(1)

The formula here is the key insight as it introduces the matrix g=Σmath imageatut that entirely describes the effect of motions on signals acquired in the Fourier domain. We call this matrix the ghosting matrix (hence the choice of notation). Inversion of this matrix would recover an object's image from its motion corrupted view, whatever the motion and time-sampling pattern in k-space. The matrix is large, of size n1n2 × n1n2 for n1×n2 images, but Algorithm 1 is an efficient implementation of multiplication by equation image. A k-space version of Eq. (1) would be S = (ΣtAtUt)S0 = ��S0 where Ut = FutFH is the k-space representation of motion at time t.

Table  . Algorithm 1: Motion Corruption and Its Representation as Matrix–Vector Multiplication
1: S = 0 
2: fort = 0 ns − 1 do 
3: Spatially transform s0.{uts0}
4: Fourier transform.{Futs0}
5: Extract the lines corresponding to shot t.{AtFuts0}
6: Set these lines in S.{S = S + AtFuts0}
7: end for 
8: Let s be the inverse Fourier transform of S.{s = ΣtFHAtFuts0}

Empirical Inverses

The empirical motion correction method mentioned in the Introduction amounts to Algorithm 1 with the motions ut replaced by their inverses umath image. We write equation image for the corresponding matrix, which we call the empirical inverse. This algorithm is incorrect in the sense that in general equation images = equation imageequation images0s0. The mathematical reason is that a sum of inverses is not the inverse of the sum. The physical reason is that the shot lines corresponding to t were indeed transformed by a known spatial transformation, but only these lines, and this algorithm applies the transformation to the whole image. It is easy to see that if the aliasing matrices at and the spatial transformations matrices ut, commute for all t,t′, then equation image inverts equation image(assuming umath imageuts0 = s0).

equation image

Spatial transformations whose transformation matrices commute with aliasing matrices are then special in that they allow for a fast exact reconstruction. This means that aliasing first and then transforming must amount to the same as transforming first and then aliasing. This could happen, for example, when the direction of motion is exactly in the direction of the aliasing. The empirical inverse appears valid in our in vivo leg example where a leg moves in the phase encode direction, but invalid in the pulsation simulation.

For simple cartesian shots taking every nsth line, the tth shot aliasing matrix has nonzero components (at)mn = ei(mn)t/N/ns only if m, and n are separated by an nsth fraction of FOV, in other words if m = n is a multiple of N/ns. The product of this matrix with an image interpreted as vector is the aliased image, as would be obtained by transforming to k-space, zeroing the lines not acquired during that shot, and transforming back to image space. Thus, the matrices (at) are sparse with nonzero components that are complex with magnitude 1/ns and shot-dependent phase, when nm. In the absence of motion, when the aliased images from all the shots in a fully sampled image are summed, the aliased images add destructively to give an alias-free image. Motion perturbs this cancelation. For the interested reader, here is a short derivation of the matrix components of at (for simplicity the computation is along one dimension, in higher dimensions the matrix would have a block structure): (At)lk = δlkδlmodmath image; and (F)kn = equation image (t = 0…ns − 1, k, l, n = 0 … N − 1). It follows that (at)mn = (FHAtF)mn = Σmath imageequation image = equation image. The last sum is a geometric series summing to N/ns if mn is a multiple of N/ns and zero otherwise.

Generalized Inverses

Algorithms such as the approximate inverse above are empirical. The advantage of knowing the explicit matrix equation image is that the search for inversion can be much more systematic. Indeed, mathematical constructions of generalized inverses are available (see (8), especially Chap, 5 and 6). The conjugate gradient method is the basis of many modern methods for the solution of such large sparse linear systems. For an invertible matrix the conjugate gradient iterates would always converge to the unique solution, in a finite number of steps. It uses only matrix–vector product operations, and we have a very efficient implementation of this product in Algorithm 1. Conjugate gradient based algorithms (so-called Krylov methods) work even for a noninvertible matrix, in the sense that they will converge to a generalized inverse solution (9). We benefit from this property here, as the matrices cannot in general be assumed invertible. This can be caused by data moving out of the FOV, thus being lost. In a different context of medical imaging, this property of the conjugate gradient for noninvertible matrices was used in (10) to produce brain surface mappings.

Unknown Motions

The previous section introduced a matrix framework for the correction of ghosted images, implictly assuming known motions. Therefore, the remaining problem is how to find this motion. This question has already been studied in some detail, see for example, (1, 2, 3, 5). First we must choose a motion model.

Motion Models

Our approach to motion correction in MR is very similar to standard registrations, in that we generate motions picked from a specific class corresponding to a set of parameters, apply some operations to an image, and assess the image. The motion model (rigid versus nonrigid) is an important issue for registration and thus, also for this approach to MR motion correction. Here, we would like to avoid the difficulties associated with nonrigid motions described by thousands of parameters in order to avoid confusing the issues related to MR motion correction with unsolved issues from registration (see (7)). For this reason, we use here special nonrigid motion models with a low number of parameters. We model specific types of motions, like a pulsating object, which we describe as one-parameter radial deformation, or one leg moving relative to the other, which we describe as a one-parameter piecewise translation.

Once we have chosen a model, a template for motion correction could be as follows:

  • 1generate guessed set of motions per time step, from the chosen model;
  • 2transform the image by this guessed motion. This is where the two methods discussed under Motion Ghosting play a role. We use either the generalized inverse method using conjugate gradient methods or the empirical inverse equation image, and
  • 3assess this image, normally using some cost function.

We have already discussed step 2, and step 1 is handled by an optimization routine, once the model for the motions has been chosen. We discuss now step 3, the cost functions.

Motion Correction Cost Functions: Assessing a Guess

If the current estimate is not correct, the image will still contain ghosts. It then makes sense to look for a cost function that ranks images according to how ghosted they are. The ghosts are due to aliases, which do not cancel out, because of the motions, as described in Eq. [1]. Most cost functions use somehow the entropy function, which for densities pk is − Σkpklogpk.

Image Entropy.

The image entropy has been successfully used in motion correction (1). It is the entropy of the densities p(x) = s(x)/(Σx|s(x)|2)1/2. The image entropy should not be confused with the entropy of the normalized histogram, which is often used in image registration. The difference between the method described here and that in (1) is that by performing spatial transformations in the image domain we are not limited to specific types of motions, and we use the inversion of the ghosting matrix to generate corrected images.

Gradient Entropy.

The entropy of the gradient image ranked best in a comparison of autocorrection cost functions (5). With q(x) = |∇s(x)|/(Σx|∇s(x)|2)1/2, the cost function is defined as − Σxq(x)logq(x).

Joint Entropy.

The analogy with image registration may also suggest cost functions. The histogram-based joint entropy, and related information theoretic measures, are examples of cost functions that allow us to compare the images with images that have different intensity distributions (see also (11)). Here we think of lower resolution images sref, such as body coil images, or an image from another faster sequence. The cost function is − Σa,bh(a,b) log h(a,b), where h(a,b) is the normalized number of voxels that have intensity a in s and b in sref.

METHODS

Solution of the Linear System

For numerical computations, we use Matlab (The Mathworks), and for the solution of the singular linear systems we use the LSQR routine, which implements in exact arithmetic the conjugate gradient of the normal equation (4). This routine allows the replacement of explicit matrix–vector multiplications by a user-defined function, which is what we use for the multiplication by equation image(Algorithm 1). It also avoids the need to store explicitly the matrix. It makes such operations extremely fast considering the size of the matrix. Computationally, this method has some analogies with the method used in (12) to reconstruct images with nonregular subsampling with SENSE, but also image restoration techniques related to space-variant point spread functions, used, for example, for the Hubble space telescope; see (13). A technical detail, but of crucial importance for practical implementations, is that the algorithm requires the definition of the matrix–vector product equation images, for which we use the algorithm described above, but also the multiplication by the conjugate transpose matrix equation imageHs. The transpose of a product is the product of transposes in inverse order; the aliasing matrices are hermitian, thus equation imageH = Σtumath imageat and we need a way to describe the transpose of the matrix associated to a spatial transformation. As the role of target and source points are swapped, for this we use the inverse spatial transformation umath image. Strictly, we should also multiply by the Jacobian of the transformation, but in our examples, this approximation gave satisfying results. A simple image transformation using nearest neighbor interpolation would just permute intensities between pixels, without affecting signal magnitude, making the column of the matrices ut orthogonal to each other, or zero if the pixel moves out of the FOV; this corresponds to unit Jacobian. The equations can be accommodated for nonunity Jacobian, for example, from a local scaling, at the expense of its computation obviously.

Simulated 3D Motion: Arbitrary Affine Motions

Three-dimensional pseudo-shots are generated by picking every nsth component of the linearly indexed 3D k-space. We generate arbitrary affine transformations by generating random 4 × 4 matrices and then setting the lowest row to the required [0, 0, 0, 1]. This is done for each pseudo-shot. The random matrices are generated by adding matrix perturbations to the identity matrix. The perturbations are sampled from a matrix uniform normal distribution with mean zero and standard deviation 0.1.

Simulated Nonrigid Motion: Radial Pulsation

We simulate a radial distortion by mapping the distance ρ = |xx0| to ρ0(ρ/ρ0)1+α, where x0 is the center of the image and ρ0 is the distance from the center to a side of the FOV. When α is positive, this means that after deformation points are pulled toward the origin, and when α is negative they are pushed away. This nonrigid deformation has two advantages for simulations. It depends only on the parameter α (or two parameters if the center is varied too), and the inverse mapping ρ to ρ(1/(1+α))ρmath image is known analytically. By making the parameter α dependent on shot number, we can simulate a pulsatile motion. Here, we set αt = αmath image/2 sin(πt/ns), so that α is maximal at half the total number of shots, where it is equal to αmath image/2. The values at other shots increase up to this shot and then decrease back to 0.

Nonrigid Motion: Piecewise Translation

To describe motions such as the motion of legs (as in our in vivo data), we define a motion model where two portions of the images are translated by different amounts. Part of the neighboring space is translated by a varying amount, so that the overall motion is continuous. Explicitly: if x (coordinate along some direction) is between x1 and x2, it is translated by u1; if it is between x3 and x4, it is translated by u2. In between, x is translated by an amount interpolated linearly between ui and 0 over a distance δ. We assume that the translation parameters are time dependent and thus vary with shot number.

In Vivo Data

A 16-echo TSE 256×256 image of a volunteer's legs was acquired, with one leg moving in one step between specific shots toward the other leg. The phase encode direction is horizontal in the images. The horizontal direction is also the approximate direction of motion. Here, we assumed it was known that the motion was in one step, namely between the 8th and 9th shots. This simplification allows us to work with one parameter, the displacement at that step. The images displayed are sum of squares from 6 coil images, but the motion correction is applied to the individual coil images. To prevent fat dominating the contrast, the maximum intensity in the display is set at 60% of the original maximum value. We describe the motion of the legs with the piecewise translation described in the previous paragraph. The unknown parameter is u2, the motion of the lower leg. The other parameters are set as follows: x1 = 5, x2 = 108, x3 = 114, x4 = 256, with u1 = 0 and δ = 2, all in pixel units.

Computational Issues

As mentioned in the previous section, when shots are defined as every nsth line of k-space, the aliasing matrices have a very simple, sparse structure. Thus, the cost of matrix multiplication by these matrices is low, or order O (N) where N is the total number of voxels. On the other hand, the linear operation corresponding to this matrix multiplication is a standard aliasing and thus can be implemented by a Fourier transform, of cost O (N log N), a virtually costless subsampling, and inverse Fourier transform, overall a cost O (N log N). Therefore, this specific operation could be performed faster in image space. The spatial transformations could also be written explicitly with the help of a sparse matrix for ut. The matrix ut is sparse because the support of interpolations is bounded. Thus, the ghosting matrix can either be computed explicitly or its operation on images computed implicitly, as is done here. However, this time which elements are nonzero is unpredictable and depends on t. This requires complicated bookkeeping and dynamic allocation of memory depending on interpolation type. On the other hand, the implicit implementation performs simply an image transformation and thus uses standard readily available techniques. Overall, we found that the total cost of using the implicit method outperformed the explicit matrix representations, in particular in terms of memory usage. All computations were performed on a single processor laptop with 3.06 GHZ CPU speed and 512 MB RAM, but note that the method would be easily parallelizable, as each shot can be processed independently of the others.

RESULTS

The aim of our experiments is to check that the matrix framework we have developed can be used in practice to correct for motion. We also want to make sure that the autocorrection cost functions have indeed a minimum where we want it to be, namely when the motion is the correct one. We use the same subsections as in Theory, one on the known motion problem (simulations) and then one on unknown motions (in vivo data).

Motion Ghosting

In this subsection, we construct simulations by generating motions for each shot and producing a ghosted image. We then try to reconstruct the original nonghosted image. This means that we test the matrix inversion by the LSQR algorithm. With this, we are able to show that the reconstruction by generalized inversion of equation image using LSQR works even for limiting cases, which to our knowledge have not yet been been treated. This does not yet involve a ghosting cost function. As we chose motion models that could be made dependent on one parameter, we are also able to display cost functions as a function of one such parameter. In this section, we show the joint entropy cost function. The image and gradient entropy will be used in the next section.

Reconstruction Examples

We show an example of reconstruction in three dimensions, where the image has been corrupted in four shots by random affine motions and by a nonrigid pulsation (Figs. 1a and b). Each shot corresponds to one-quarter of the 3D k-space. This uses a three-dimensional Fourier transform. We use a white cube (128×128×128) as image for this example (see Fig. 1). The reconstruction (LSQR generalized inverse) took approximately 30 min for the affine motion and 40 min for the nonrigid motion. These homogeneous data were chosen to enhance the irregularities in the reconstruction and thus allow better assessment of its limitations. Most ghosts disappear after application of the LSQR-based generalized inversion. We remind the reader that one cannot assume that the matrices are invertible and that their sizes make it impossible to use direct inversion methods. Also, interpolation must be used to describe the motions. For all these reasons, one should not expect a perfect reconstruction.

Figure 1.

Three-dimensional example (simulation). There were four “shots” (subdivisions of the 3D Fourier domain) with (a) arbitrary affine motion at each shot and (b) pulsating motion. We use here a simple cube as it allows us to see the effects more clearly. Three panel views (left) motion corrupted; (right) corrected.

Another simulation is a two-dimensional deformation of a brain using the nonrigid pulsatile motion model described under Method (Fig. 2). The motion at each shot is shown in Fig. 2e for a square checkerboard image. The reconstruction by the empirical inverse method does not give useful results (Fig. 2b), whereas the LSQR inversion in Fig. 2c is visually nearly identical to the ideal image (Fig. 2d). We also show joint entropies calculated between a reference image and images corrected by matrix inversion with LSQR and empirical inversion (Fig. 3b), as function of αmath image/2 ranging from 0 to 1. This plot shows a clear minimum at α = 0.5, the correct value, when the LSQR-based method is used. The reference image is a simulated low-resolution image (Fig. 3a) obtained by keeping only the 32×32 center of the k-space of the 128×128 gold-standard image. Such images might be acquired for forming coil sensitivity profiles.

Figure 2.

Nonrigid example (simulation), which simulates a pulsation in 16 shots. (a) The motion-corrupted image; (b) the correction by empirical inverse equation image; (c) the correction by the LSQR algorithm; (d) the gold-standard image. (e) The deformation at each of the 16 shots on a square checkerboard image.

Figure 3.

(a) A low-resolution image used to measure the joint entropy. (b) The joint entropy as function of maximal radial deformation; solid line, using LSQR generalized inversion (left y-axis); hyphenated line, using empirical inverse (right y-axis).

Unknown Motion: In Vivo Data

We show here in vivo examples of a correction of a large nonrigid motion; a leg moves while the other one remains fixed (Fig. 4a). The motion of the lower leg was first estimated to be a 21-pixel movement of the left leg by visually assessing corrected images, in a preliminary stage. This motion can also be computed by counting the number of pixels between ghosts, but the displacement was later confirmed by the cost function profiles, for the image and gradient image entropy (Fig. 4d). The corrected images are in Fig. 4b for the empirical inverse and in Fig. 4c for the generalized inverse using LSQR. Although some residual ghosts are still visible in both reconstructions, the left leg, which in the ghosted image could not even be clearly identified has clear and identifiable features. The empirical inverse for this example ran 60 times faster (3.3s against 190 s). We reiterate that this empirical inversion is a valid method only in special cases, but its speed makes it possible to use it prior to the more correct LSQR-based inversion. Figures 4 and 5 show clearly that both methods to solve Eq. [1] produce a good quality image, here for a displacement of 21 pixels, and the cost functions agree on a very sharp minimum at the position where the images look visually best. We attribute the difference in minimum cost functions between Fig. 5a and b to the different effect of the reconstruction algorithms on the (irrelevant) noisy air region between the legs. The correct nonghosted image is not necessarily the global minimum, as shown by Fig. 5b. This is also a known phenomenon in image registration, where a global minimum of registration cost functions could be reached, for example, by nonoverlap of the images.

Figure 4.

Moving legs (in vivo): a leg moving relatively to the other in 16 shots. (a) Motion-corrupted image (sum of squares of coil data). (b) The image corrected by empirical inversion, (c) the image corrected by generalized inversion (LSQR). Both (b) and (c) assume a motion of 21 pixels by the lower leg happening in one step at the 8th shot (sum of squares of corrected coil data).

Figure 5.

(a) The gradient image entropy (solid line, left y-axis) and image entropy (hyphenated line, right y-axis) as a function of the displacement applied to the lower leg. The cost function is computed on the sum of square images, here using empirical inverse equation image; (b) the same cost function pattern for the images corrected with LSQR.

Remarks about Quantitative Issues

In the simulation in Fig. 2c, the errors must come from the reconstruction algorithm only as we use the exact known motion. Quantitative tests over errors in motion, interpolation, or number of shots did not reveal unexpected trends. The absence of the gold standard in vivo does not allow direct quantitative statements about errors, but the example shows that errors in the motion do not make the motion correction unfeasible, as the motion we applied is unlikely to be entirely correct. Small rotations, translations, and small nonrigid deformations are likely to have been present. For the present work, we did not want to try a too-complicated motion model and considered that the improvement from Fig. 4a to b or c was dramatic enough to support the use of the proposed algorithms.

DISCUSSION

We consider Eq. [1] together with the LSQR-based inversion to be the key of this paper; it gives the equation describing the effect of motion on an acquisition in the Fourier domain, without a priori restricting the type of motion. Mathematically, our LSQR-based reconstruction solves the problem of Fourier transformation of data that has also been modified by transformation depending on the spatial frequency. Indeed, the standard Fourier transform is a sum of the form Σneikns(n), a sum of spatial terms modulated by spatial harmonics, where our examples correspond to the more general Σneiknsk(n) (where sk(n) = (uks) (n) also depends on the spatial frequency). Thus, a possible generalization would be to replace the time-dependent spatial transformations uk by other frequency-dependent transformations of the image intensities. Other generalisations would modify other members of the sums. All our examples were standard multishots, but the algorithm remains valid for any generalized shots in the sense of some k-space positions, in analogy with (12). Another possible generalization would modify the sampling matrices At, for example, to take into account modifications to the point spread function.

We have also discussed cost functions that allow the estimation of the motion by optimization. The improvement over our previous work (2) is that the use of Algorithm 1 makes the motion correction available on a wider range of possible transformations, and thus more flexible. As aliasing causes ghosts in regions of the image that normally would not contain any signal, we expect the cost function to detect the motion correctly, as long as the reference image has signal in approximately the correct region, independent of modality. Other possible cost functions are described in (5). Note that optimization of autofocus cost functions is not the only method by which motion may be known in MRI. To mention two such methods, navigator techniques are becoming ever more sophisticated (14), and precomputed motion models using-principal component analysis, such as breathing models, are also becoming available (15, 16). We mention briefly additional coil-based cost functions, which use the difference between the images from different combinations of coils in parallel imaging. This cost function was used successfully in previous examples when the object moves relative to the coil (2).

Some limitations of our method have been mentioned when they appeared in the text, but it may be useful to summarize them here and suggest some methods to address these limitations. (i) Phase changes, (e.g., with non-motion-compensated gradients) or some other corruption of data may not correspond easily to a description by an image space motion. However, as long as the physical process causing them is understood, it may be possible to incorporate such corruptions in the ghosting matrix. The system can then again in theory be solved by the LSQR method or other conjugate gradient based methods. Such methods have actually been implemented successfully for nonlinear phase corrections in diffusion weighted EPI images; see (17, 18). (ii) Severe motion occuring during the shot might be corrected by splitting the shot in two or more artificial subshots. An automatic detection of large motion, like the self-navigators in (19), may be useful in this context. If data have to be discarded, the framework can be used with coil sensitivity information to cope with nonuniform sampling. (iii) Through-plane motion makes 2D methods incorrect, but compensation in 3D imaging is possible, and we demonstrated the method for a 3D data set. Computation times, however, need to be improved. (iv) A parameterization of the motion is required, ideally with a small number of parameters. In the absence of other information, a parameterization using splines may be derived in a similar way to nonrigid registration.

We do not expect in general the correct solution to be necessarily the global minimum, whatever the cost function (such a cost function would be the ultimate motion correction cost function). Interpolation in particular may cause some difficulties, as each shot will have its own interpolation. This implies that a good starting estimate will increase the chances of success.

Our results can thus be summarized as an explicit representation of the effect of motion on MR images by matrices, showing that the motion corrupted image is a superposition of aliased views of the object; methods for the reconstruction of the image from this singular matrix; assessment of cost functions quantifying the amount of ghosts in an image, with suggestion of some novel cost functions. In particular, the LSQR-based reconstruction is extremely powerful. We consider that this and derived methods make it possible to consider that correcting nonrigid motions (potentially 3D) happening during acquisition becomes a real possibility and should not necessarily lead to rejection of the data.

Acknowledgements

We thank K. Pruessman for fruitful discussions and the reviewers for useful and constructive suggestions.

Ancillary