Convolution kernel design and efficient algorithm for sampling density correction



Sampling density compensation is an important step in non-cartesian image reconstruction. One of the common techniques to determine weights that compensate for differences in sampling density involves a convolution. A new convolution kernel is designed for sampling density attempting to minimize the error in a fully reconstructed image. The resulting weights obtained using this new kernel are compared with various previous methods, showing a reduction in reconstruction error. A computationally efficient algorithm is also presented that facilitates the calculation of the convolution of finite kernels. Both the kernel and the algorithm are extended to 3D. Magn Reson Med 61:439–447, 2009. © 2009 Wiley-Liss, Inc.

Non-cartesian sampling methods used in MRI and other modalities continue to play an important part in imaging. Although many techniques have been proposed to overcome the difficulty that arises from nonuniform data, many approaches (including gridding) require a form of data weighting that accounts for the changes in sampling density across k-space. The various methods that have been proposed to calculate appropriate weights for sampling density correction can be grouped into three families of techniques. These basic forms are analytical, algebraic, and convolution approaches.

The analytical methods attempt to define the corresponding area of each sample point which is inversely proportional to the weight. With spiral and radial trajectories, for example, the weight can be calculated by taking the absolute value of the Jacobian determinant of the trajectory with respect to the trajectory's parameters (1, 2). The Jacobian is the result of a continuous coordinate transformations, which can degenerate due to the discrete nature of sampling (1). For a general case the area can be approximated by taking a Voronoi diagram of the trajectory (3). These techniques lack a definition for optimality and their rationale can be purely conceptual.

Most of the algebraic methods represent gridding in an algebraic form, and deduce a solution for the appropriate sampling density weights that minimizes error in the gridded k-space (4–6). Despite the optimality constraints, these techniques do not perform as well when considering the error in the final reconstructed image, at least when not regularized (7). This is often attributed to the system being ill conditioned. It may also be because the optimality is defined as the gridded error in k-space. Hybrid techniques such as (6, 7) combine this form of algebraic gridding and the convolution techniques into a single concept. An additional algebraic method finds appropriate weights that minimize total sidelobe energy in the point spread function (PSF) (8).

Several methods for calculating the compensating weights using a convolution have been proposed, including the earliest form discussed by Jackson (9). Subsequently other methods have improved upon this by using iterative methods. This includes a geometric algorithm proposed in (10), an algorithm that is a first order difference filter (11) and the previously stated algebraic methods of convolution (6, 7).

Each of the convolution schemes attempt to find a solution for the weights such that, when convolved with the kernel, it will provide unity and hence an ideal Modulation Transfer Function (MTF). Stated mathematically each scheme attempts to minimize the error

equation image(1)

where W is the set of weighted sampling points, P is the kernel, and ☆ is the convolution operator. This is equivalent to minimizing the error in the PSF:

equation image(2)

where e, w, and p are the Fourier Transforms of E, W, and P respectively. The ideal point spread function is represented by the delta Dirac function, δ. The actual PSF of the given reconstruction is given by w. Error outside the region of interest is effectively ignored since it is modulated by a profile, p, which tends to zero with radii larger than the field of view (FOV).

In this study, sampling density correction is considered to be completely independent from the gridding. The gridding algorithm (implemented by a convolution interpolation, FFT and deapodization) is an approximation to the direct fourier transform (DFT) (also known as conjugate phase reconstruction in the MRI community). The DFT is also dependent on sampling density correction. The error from the gridding step has been characterized and minimized for even modest oversampling ratios and kernel widths (9, 12). Consequently analysis of error from the different sampling density schemes in this article are calculated by the slower DFT, to eliminate the small, but confounding error introduced by gridding.

Rather than attempting to minimize error in gridded k-space or in the raw PSF, this study attempts to minimize error in the final reconstructed image. While minimizing error in the gridded MTF, PSF and final image seem to accomplish the same goal, the subtle difference between the techniques may result in the discrepancies found in practice.

The goals of this study are to design an appropriate kernel for convolution methods and provide a relatively fast implementation that will enable this process for clinical use. The accuracy of the results from the designed kernel will be compared to state of the art methods for sampling density correction. As an additional criterion, the efficient implementation must be feasible for general 3D imaging trajectories.


Designing a Kernel

Because k-space is finitely sampled, error in Eq. [2] will always exist. If error could be eliminated, then the shape of the profile p would become irrelevant as long as it is zero where the radius is greater than the FOV and positive inside that region. Using Eq. [2], p represents the amount of suppression of error in the PSF. Because error must exist, it becomes of intrinsic value to suppress error appropriately.

It could naturally be assumed that the ideal shape of p would be a circularly symmetric rectangle function since it would minimize error over the entire PSF. However, the error from each part of the PSF is not manifested as frequently as all other parts of the PSF. The profile should be an average contribution of the error from each part of the point spread function to the final image. As an example assume that an image consists of a single off-centered delta function. The error from the PSF that is manifested in the final image (within the FOV) would be from a subset region of the PSF. This subset would be equivalent to a region similar to the FOV, but off-centered appropriately. This amounts to a convolution of the off-centered delta signal with a function that represents the FOV. To extend this to a typical image, the average contribution of error from the PSF is equivalent to the region where signal is expected convolved with the region over which error should be minimized. This process is illustrated in Fig. 1.

Figure 1.

Process outline proposed to design an appropriate kernel. First a profile of the FOV is convolved (*) with itself. Then the Fourier transform results in the kernel.

A common case for 2D imaging is a circular FOV where signal can be expected from anywhere in the FOV and the error should be minimized over this same region. Because both operands are circularly symmetric, the resulting convolution is also circularly symmetric, and can be calculated via the Hankel transform. The transform of a circularly symmetric rectangle function is the jinc function (13). The jinc(x) function is defined as J1(x)/x, and is analogous to the sinc(x). The convolution of two circular rectangle functions would produce a kernel equal to jinc2. Specifically, for normalized k-space coordinates (i.e. |k| ≤ 0.5), the kernel would be

equation image(3)

where F represents the size of the FOV (i.e. given image coordinates r then |r| ≤ F/2). The corresponding profile of error suppression in the PSF is

equation image(4)

A cross section of this profile of error weighting in the PSF is plotted in Fig. 2a. The corresponding jinc2 kernel is shown in Fig. 2b. It is intuitive that the center of the PSF is the most important region, and that the fringes of the PSF contribute less to the final image. This derivation quantifies the natural concept that the PSF varies in importance.

Figure 2.

(a) A crossection of the image space profile for common imaging parameters with corresponding approximations due to a truncated kernel. (b) The 2D Fourier Transform of the image space profile provides the designed kernel for error conditioning, which in the trivial case is the jinc2. Truncations of the kernel are indicated by counting the number of sidelobes.

The kernel diminishes quickly with |k|. Thus the kernel lends itself to truncation at various intervals, decreasing computational requirements. These marked truncation intervals also have an effect on the actual profile of error suppression, as is shown in Fig. 2a. There is a trade off between speed and accuracy, where computational complexity is roughly proportional to the area of the kernel. The theory behind the designed kernel can be tested directly. With more distal truncations, a more accurate profile is created, which in turn would suppress error more appropriately.

The main lobe of the designed kernel, is very similar to a Kaiser–Bessel kernel (under certain parameter values) and suggests that the Kaiser–Bessel kernel can also provide accurate results. Although the Kaiser–Bessel function can provide an appropriate kernel, it must be stretched, as the size used in gridding would not provide optimal suppression of the error in the PSF, leading to undesirable aliasing or blurring in the final image.

The kernel specified by Eq. [3] represents a general kernel that includes no specific a-priori knowledge. If more is known about the origin of the signal then the kernel could be further optimized. This also leads to the fact the “perfect” kernel, and consequently the derived weights, would be entirely dependent on the image itself, which is similar to the solution proposed by (14).

Extension to 3D Kernel Design

Similar to 2D imaging, the theory of kernel design resides on determining the appropriate image space profile. Namely, the profile should be the average contribution of error to the PSF and again would be equivalent to convolving the region of signal with the field of view. Rather than raised discs each of these regions are typically spheres with a diameter of the FOV. The kernel is then the square of a transform of a sphere which for normalized k-space coordinates is

equation image(5)

The associated image space profile is

equation image(6)

As |k| grows, the equation effectively becomes a squared sinusoid modulated by |k|4. Thus the 3D kernel attenuates faster than 2D version and the impact of truncating the kernel is less significant then the 2D case.

Efficient Direct Convolution Algorithm

Although all or many of the differing convolution schemes can benefit from an appropriately designed kernel, this work implements the full iterative technique outlined in (10) or explicitly

equation image(7)

The initial condition W0 may be set to a constant or it may be set to a relative weighting scheme. This method makes no assumptions about trajectory symmetry and can be applied to any trajectory. One important feature of this algorithm is the inherent ability to place relative weights on data. This is important for several different reconstruction techniques including correlation weighting to mitigate motion artifacts (15) and for dynamic imaging. While the convergence of this method is slower than that of conjugate gradient based methods (6), the memory requirements are proportional to the number of points in the trajectory and thus this technique can be extended to 3D without extensive hardware requirements.

One of the main challenges of the direct calculation of Eq. [7] is the prohibitive computation time (10). The majority of the computation time involves checking that any two points are within one kernel radius of each other. The approach presented here divides k-space up into an array of compartments in two dimensions. Every point is then categorized according to where it belongs in k-space, being placed into the corresponding compartment. The absolute bounds of the kernel can be deduced given any compartment. This is illustrated in Fig. 3. The white point need only be compared to points in the lightly shaded region, as the kernel (dark shading) does not extend beyond those compartments. In general efficiency can be estimated by comparing the number of true searches to false searches which is approximately the area of the convolution kernel divided by the area of compartments that are searched. Runtime is relatively proportional to the number of points times the average number of neighboring points.

Figure 3.

The points are organized into corresponding compartments in the array. Because of the bound on the convolution kernel size (dark gray) and due to this compartmentalization, only a subset of the array needs to be traversed (light gray) when calculating the density at any single point (white).

Another enhancement is to perform a ‘forward only’ approach. Because the operation of convolution is a distance metric, the kernel operation is the same comparing one point with another and the converse. Because the previous weight does not change during the current iteration of the density estimation, when the contribution of a neighboring point is calculated for a point, the converse can be done, adding the contribution of the current point to the neighboring points convolution sum. This effectively halves not only the number of true searches but also the number of false searches and therefore decreases run time by half.

Additional performance gains could be made by enforcing circular symmetry constraints to the algorithm as in (8, 16). However, to preserve generality (for motion correction, correlation weighting, etc.) no such constraint is assumed.

Extension to a 3D Algorithm

The compartmentalization scheme can be extended to 3D simply by increasing the dimensions of the array appropriately. The speedup benefits of implementing Eq. [7] using the proposed scheme versus an unorganized implementation is much more significant, as the efficiency is calculated with volumes rather than areas.


Data were synthesized numerically by performing a Fourier Transform on a previously collected image. The root mean-squared error (RMSE) was calculated in the image domain to quantify the performance of the different approaches. The squared error was summed over the supported FOV. Images were reconstructed using a Direct Fourier Transform (DFT), which also requires sampling density compensation. Thus the error that was evident is assumed to be due primarily to the inaccuracies of the weighting scheme or limitations of the trajectory. Gridding was also performed in a separate experiment, merely to deduce the additive error produced in typical reconstructions. The parameters for the implemented gridding were an oversampling ratio of 1.5 using a Kaiser-Bessel kernel (width of 5 and shaping parameter β of 10.09, as determined in (12)).

Synthetic data were created for different imaging matrices. Three different types of trajectories were used to create 256 × 256 images. These were spiral, radial and propeller trajectories. The spiral trajectory included 6,024 points per interleaf and 10 interleaves. The radial trajectory included 321 points per projection and 403 projections. The propeller trajectory used 37 blades that were each 256 by 11. Additionally spiral data were synthesized for a 64 × 64 image, to compare more computationally demanding algorithms. The spiral data contained 10 interleaves, each with 522 points.

Density Compensation Methods

While many papers with respect to sampling density have been published, most comparisons are completed with respect to a few of the methods. While it is not practical to implement all methods at least a key few can be implemented to provide a framework for extended comparisons. For evaluations using spiral trajectories, many comparisons are made against Meyer's weights (17). For general trajectories typical comparisons are made with respect to a selection of Jackson's algorithm (9), Rasche's algorithm (3) and Pipe's algorithm (10). All four of these algorithms were implemented as faithfully as possible. In the case of Jackson's method and Pipe's method, the convolution kernel that is implemented is the same as that of gridding (values above). Pipe's method was carried out for 40 iterations by evaluating Eq. [7] directly.

Four other algorithms were also implemented. Hoge et al. (1) presented a method that uses the Jacobian determinant as a result of coordinate transformation. For radial trajectories, this solution is the Rho filter as derived in (2), where the weight is proportional to the radial distance in k-space. For spiral trajectories, the weighting is simplified into a simple equation based on k-space location and gradient values. For Archimedean spirals, this reduces to Meyer's weights (18). Since propeller is parametrized by three variables, the Jacobian cannot be applied. The algebraic approach that was derived by Rosenfeld (4) was simplified by Sedarat and Nishimura in (5) as weighted compensation factors (WCF). This was implemented for the smaller dataset using 20 iterations of the conjugate gradients squared method (no regularization was applied). In an article by Bydder et al. (7), another method is presented that implements an algebraic form of convolution. Great care was taken with the regularization methods, and their code is provided in the article. The parameters used for Bydder's implementation were as suggested in the article, using a Kaiser–Bessel interpolation kernel with a width of 4 and oversampling ratio of 1.5 and the value of β of 7.89, as proposed in (12). The value w was set to be 0.5. The number of iterations was set to 40 to ensure convergence. More recently Mitsouras et al. (14) proposed an algorithm which uses the cross correlation of the Fourier basis functions to derive a convolution technique. Rather than solving for general weights that can be applied to any image, this method produces a weighting scheme that is highly specific for a given image. For simplicity, the symmetry constrained optimization proposed in (16) is not used and consequently the algorithm could only be implemented on the smaller dataset. As in (14), the same smoothing regularization was used. Similarly, it was implemented with Matlab's least squares solver.

The proposed method was run using the iterative scheme outlined by Eq. [7] to 40 iterations, and unless stated the convolution kernel for weighting was truncated to the first two sidelobes.

To limit the scope of this work at least a few published generalized algorithms are not pursued (8, 11). Their relative performance could be indirectly compared, using the alternatives implemented here and the respective publications (8, 11).

Simulation of a 3D Volume

A fully sampled spiral-projection hybrid (19) dataset was also synthesized for an image volume of 64x64x64 elements. The reference for the simulation was a previously collected T1 volume. The trajectory fills 3D k-space by rotating planes of spirals. Each interleaf contained 952 samples, with five spiral interleaves per plane. To fill the appropriate sphere, 101 planes are required. The proposed 3D convolution algorithm and kernel were implemented using one sidelobe and 20 iterations. Other implementations for sampling density correction are not well documented, but Rasche's algorithm is often extended to 3D and is used for comparison.

To illustrate the ability of the compartmentalization algorithm on larger datasets, a 256 × 256 × 256 spiral-projection trajectory was created (12,022 points per interleaf, 5 interleaves per plane, 403 planes). This was unfeasible to synthesize using the Fourier transform, and only the runtime and memory requirements were tested using this trajectory. Only a single iteration of the proposed algorithm (using one sidelobe) is implemented.


Optimized Kernel

Data were simulated numerically along the spiral trajectory using the Fourier Transform from a previously collected MR image. The reconstructed images using a selection of various algorithms for weighting are presented in Fig. 4 using the same windowing. To account for the sometimes arbitrary scaling that different weighting schemes apply to the final image, each image is scaled to result in the minimum RMSE with respect to the reference image. The difference images with respect to the reference are also shown in the figure. The difference images were multiplied by a factor (determined visually) to use the same window level as the reconstructed images. Each factor appears with the difference image. The calculated RMSE of these reconstructed images and other images that resulted from different weighting schemes appear in the first column of Table 1. Data were also simulated numerically for radial and propeller trajectories. The RMSE of the final reconstructions are also presented in Table 1.

Figure 4.

Numerical simulation using a previous T2 image that creates a 256 × 256 spiral image. Images were reconstructed using weighting algorithms from (a) Meyer, (b) Hoge, (c) Rasche, (d) Bydder, and (e) the proposed method. Each image is accompanied by the corresponding difference image (scaling factor indicated) to the reference. The RMSE of these images appear in Table 1.

Table 1. Error of the Reconstructed Images Using Various Algorithms for Each of the 256 × 256 Trajectories.
  RMSE (103)
  1. The Spiral column includes the error of Fig. 4.

Fig. 4aMeyer12.64
Fig. 4bHoge1.0843.10
Fig. 4cRasche4.778.0322.37
Fig. 4dBydder3.331.593.06
Fig. 4eProposed0.861.201.97

For all three types of trajectories, the proposed method resulted in the least RMSE. Hoge's weights preformed well for the spiral trajectory, but not in the case of the radial trajectory. This might be due to the discrete nature of the sampling scheme versus the transformation of coordinates from continuous parameters. It should be noted that Pipe's method, as it is implemented here, is the same as the proposed method except for the kernel. This exemplifies the importance of kernel choice. Similarly, Jackson's method is the same as Pipe's method except that it is a single iteration rather than 40. For the propeller case, Pipe's algorithm performs worse than Jackson's. This indicates that the algorithm is converging on the wrong solution, because the kernel is inappropriate.

The above algorithms were also implemented using the smaller spiral dataset. Additionally, Sedarat's WCF algorithm and Mitsouras' algorithm were implemented. A selection of the reconstructed images are presented in Fig. 5 with the associated difference images (scaled as noted). The absolute value (or magnitude) of the weights of the first interleaf of each of these five algorithms is plotted in Fig. 6. The weights from the different algorithms are scaled to produce visually similar results. The RMSE of each algorithm is presented in Table 2. This table includes both error using the DFT and using gridding. Note that the additive error from gridding is not constant.

Figure 5.

Numerical simulation using a previous T2 image that creates a 64 × 64 spiral image. Images were reconstructed using weighting algorithms from (a) Hoge, (b) Bydder, (c) Sedarat, (d) Mitsouras, and (e) the proposed method. Each image is accompanied by the corresponding difference image (scaling factor indicated) to the reference. The RMSE of these images appear in Table 2.

Figure 6.

Density compensation functions for the first interleaf of the algorithms in Fig. 5. The magnitude is plotted for Sedarat's and Mitsouras' weights which produce negative and complex values, respectively.

Table 2. Error of the Reconstructed Images Using Various Algorithms for the 64 × 64 Spiral Trajectory With Respect to the Reconstruction Algorithm.
Figure RMSE (103)
  1. The DFT column includes the error of Fig. 5.

Fig. 5aHoge1.972.14
Fig. 5bBydder3.934.06
Fig. 5cSedarat10.2210.26
Fig. 5dMitsouras4.764.84
Fig. 5eProposed1.912.12

The three algebraic methods performed quite differently, with Bydder's implementation resulting in the least error. Mitsouras' weights result in complex values. Four of the 522 values of Sedarat's weights were negative. However, Bydder's weights force nonnegativity (7). Both Sedarat's and Bydder's methods use some form of an intermediate grid, whereas Mitsouras' algorithm implements a convolution onto itself. Although different postulations can be made about the underlying principles of each algebraic algorithm based on these results, other confounding factors are involved. For instance the method of regularization differs greatly from method to method, and indeed the error decreases with increased regularization complexity (Sedarat's contained none, while Bydder's contained the most complex regularization). Bydder's method and the proposed method correlated well with Hoge's weights except for the extremity of k-space as is visible in Fig. 6, while Sedarat's and Mitsouras' weights retain only a basic shape that resembles Hoge's weights.

To test the error with respect to truncation, the spiral data from Fig. 4 were reconstructed using the compensation weights estimated from varying truncations of the designed kernel. The RMSE with respect to the number of sidelobes of the kernel is plotted in Fig. 7. The error decreases with respect to increases in the kernel length. This confirms the hypothesis stated above, that more distal truncations will typically result in more accurate weights, and further confirms the design principles of the proposed kernel.

Figure 7.

RMSE with respect to the number of sidelobes in the convolution kernel as applied to the trajectory of Fig. 4. Accuracy of the implementation increases with the number of sidelobes included in the kernel.

Efficient Direct Convolution Algorithm

Execution time necessary to compute the full convolution method as in Eq. [7] for Fig. 4, was 1.41 seconds, using the proposed method (40 iterations and including the organizational overhead on a single 3.2 GHz processor). Memory requirements were modest at 2.3 MB. Runtime to implement the full convolution method without the proposed compartmentalization was 243.83 sec.

Runtime with respect to the number of compartments covering the width of k-space is plotted in Fig. 8. Notches occur at the threshold when the number of compartments that need to be traversed increases. For instance, the first notch occurs (80 compartments) where the width of a compartment is the width of the convolution kernel, and increases runtime from 1.41 seconds to 2.18 sec. Although efficiency increases with increases in the number of compartments, memory requirements also increase. The cost of additional memory is more frequent cache misses which eventually overcome the additional efficiency. This is visible in Fig. 8 as the left side of every notch increases.

Figure 8.

Runtime necessary to implement the proposed algorithm for Fig. 4e. Runtime is plotted with respect to the number of compartments covering the width of k-space. Notches occur at the threshold when the number of compartments that need to be traversed increases.

Application to 3D

Data were synthesized for the smaller (64 × 64 × 64) 3D trajectory. A single slice from the reconstructions using both Rasche's algorithm and the proposed algorithm are shown in Fig. 9. Rasche's algorithm (a), despite no coincident points, performed poorly. Each volume is scaled to result in the minimum RMS difference with the reference volume. Because of the background haze in Fig. 9a, the image appears attenuated. The RMS error using Rasche's weights was 0.0773. The reconstruction error using the proposed scheme was 0.0091. The density compensation factors for each algorithm are plotted in Fig. 9c. Despite the similarity of the weights of the two algorithms, there is a large discrepancy in the reconstruction error.

Figure 9.

Numerical simulation using a previous T1 image volume for a 64 × 64 × 64 spiral-projection image. A single slice is shown of the volumes reconstructed using weighting algorithms from (a) Rasche and (b) the proposed method. Each image is accompanied by the corresponding difference image (scaling factor indicated) to the reference. The RMSE of these volumetric reconstructions were 0.0773 and 0.0091 respectively. (c) Density compensation functions of the first interleaf of each algorithm.

For the smaller 64 × 64 × 64 spiral-projection trajectory, the proposed method required 174 sec and 22 MB of memory to implement all 20 iterations using one sidelobe. The larger 256 × 256 × 256 spiral-projection trajectory required 1.1 GB of memory and 350 seconds to perform one iteration using one sidelobe.


By analyzing the frequency of error in the final image from each location of the PSF, the importance of each point in the PSF is quantified. By implementing the corresponding kernel into the sampling density algorithm, the resulting profile of the PSF represents error suppression. The designed kernel reduces the error manifested in image reconstruction from non-cartesian trajectories. Profiling the PSF based on this scheme has broader applications beyond sampling density. Various imaging strategies might benefit from analysis that involves the proposed PSF profile.

The implemented kernel was compared with various previous methods, to asses performance. The proposed scheme for sampling density correction reduced the reconstruction error as compared to state of the art methods.

By using the convolution technique of Eq. [7] directly, additional benefits arise. There is no loss in generality. Any trajectory can be used, including overlapping regions, without special cases. The solution can be precondition to enforce weighting samples relative to each other. This facilitates dynamic imaging, correlation weighting, contrast enhancement and motion correction among other methods.

In this study, customized kernels were not investigated. This includes kernels for reduced FOV imaging such as cardiac images, or elliptical FOV applications. Potentially a kernel could be designed that would take into account more information about the signal of interest. It is possible to extend the error conditioning ideas to other convolution and less related techniques, such as some of the algebraic techniques that facilitate a weighting of image space or PSF in some manner (4, 6).

Despite the overhead in coding, the proposed computational algorithm proves very beneficial. It facilitates an accurate form of calculating the sampling density coefficients in an efficient manner. The complexity of the computational optimization is also beneficial in 3D, where appropriate weights for arbitrary 3D trajectories were computed efficiently, without losing the generality of the 2D version.