You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/nufft.rst
+54-8Lines changed: 54 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,6 @@
1
1
.. include:: <isonum.txt>
2
2
.. _NUFFT:
3
+
3
4
====================
4
5
The NUFFT Operator
5
6
====================
@@ -96,6 +97,10 @@ Extension of the Acquisition model
96
97
----------------------------------
97
98
The MRI acquisition model can be extended in two main ways. First by taking into account Parallel Imaging, where multiple coils are receiving data, each with a dedicated sensitivity profile.
98
99
100
+
.. tip::
101
+
MRI-NUFFT provides the `FourierOperator` interface to implement all the physical model described below. See :ref:`nufft-interface` for the standard, and :class:`FourierOperatorBase <mrinufft.operators.base.FourierOperatorBase>`
102
+
103
+
99
104
Parallel Imaging Model
100
105
~~~~~~~~~~~~~~~~~~~~~~
101
106
@@ -124,6 +129,7 @@ Where :math:`S_1, \dots, S_L` are the sensitivity maps of each coil. Such sensit
124
129
TODO Add ref to SENSE and CG-Sense
125
130
126
131
.. _nufft-orc:
132
+
127
133
Off-resonance correction model
128
134
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
129
135
@@ -152,13 +158,23 @@ Yielding the following model, where :math:`L \ll M, N` regular Fourier transform
The coefficients :math:`B=(b_{m, \ell}) \in\mathbb{C}^{M\times L}` and :math:`C=(c_\ell, n) \in\mathbb{C}^{L\times N}` can be (optimally) estimated for any given :math:`L` by solving the following matrix factorisation problem [3]_:
161
+
The coefficients :math:`B=(b_{m, \ell}) \in\mathbb{C}^{M\times L}` and :math:`C=(c_\ell, n) \in\mathbb{C}^{L\times N}` can be (optimally) estimated for any given :math:`L` by solving the following matrix factorisation problem [4]_:
Where :math:`E_{mn} = e^{i\Delta\omega_0(u_n)t_m}`.
168
+
169
+
.. note::
170
+
171
+
The estimation of the B and C methods are provided in the :py:mod:`mrinufft.extras.field_map` module.
172
+
Other methods like MTI [5]_ and MFI [6]_ are also available.
173
+
174
+
.. tip::
175
+
176
+
You can use the method :func:`.with_off_resonance_correction <mrinufft.operators.base.FourierOperatorBase.with_off_resonance_correction>` to augment an existing operator with off-resonance correction capability.
177
+
162
178
163
179
164
180
.. TODO Add Reference to the Code doing this.
@@ -219,8 +235,10 @@ the projection operator :math:`\boldsymbol{\Phi}` commutes with the Fourier tran
219
235
220
236
that is, computation now involves :math:`K \ll T` Fourier Transform operations, each with the same sampling trajectory, which can be computed by levaraging efficient NUFFT implementations for conventional static MRI.
221
237
222
-
The Non Uniform Fast Fourier Transform
223
-
======================================
238
+
.. _nufft-algo:
239
+
240
+
The Non Uniform Fast Fourier Transform in practice
In order to lower the computational cost of the Non-Uniform Fourier Transform, the main idea is to move back to a regular grid where an FFT would be performed (going from a typical :math:`O(MN)` complexity to :math:`O(M\log(N))`). Thus, the main steps of the *Non-Uniform Fast Fourier Transform* are for the type 1:
@@ -229,20 +247,46 @@ In order to lower the computational cost of the Non-Uniform Fourier Transform, t
229
247
2. Perform the (I)FFT on this image
230
248
3. Downsampling to the final grid, and apply some bias correction.
231
249
232
-
This package exposes interfaces to the main NUFFT libraries available. The choice of the spreading method (ie the interpolation kernel) in step 1. and the correction applied in step 3. are the main theoretical differences between the methods.
250
+
This package exposes interfaces to the main NUFFT libraries available (See :mod:`mrinufft.operators.interfaces`). The choice of the spreading method (ie the interpolation kernel) in step 1. and the correction applied in step 3. are the main theoretical differences between the methods.
233
251
234
252
Type 2 transforms perform those steps in reversed order.
235
253
236
-
.. TODO Add Reference to all the NUFFT methods article
237
-
Maybe to Fessler never-going-to-be-published book.
238
-
239
254
240
255
Density Compensation
241
256
====================
242
257
243
258
259
+
In non-uniform sampling, such as radial or spiral MRI, the acquired k-space samples :math:`k_m` are not equally spaced. As a result, each sample does not contribute equally to the final image. To account for the non-uniform sampling density, a set of weights :math:`w_m`—called the density compensation function (DCF)—is applied to the measured data :math:`y_m`.
260
+
261
+
In the adjoint NUFFT (type 2), which maps from non-uniform k-space onto the image grid, the operation can be mathematically written as:
- :math:`x_n` is the reconstructed pixel value at position :math:`x_n`,
270
+
- :math:`y_m` are the measured non-uniform k-space data,
271
+
- :math:`w_m` is the density compensation weight for sample :math:`m`,
272
+
- :math:`k_m` is the k-space sampling location.
273
+
274
+
The choice of :math:`w_m` depends on the trajectory:
275
+
276
+
- **Analytical weights**: For simple trajectories (e.g., radial), :math:`w_m` may have closed forms.
277
+
- **Voronoi weights**: :math:`w_m` corresponds to the area/volume of Voronoi cells around each sample :math:`k_m`.
278
+
- **Iterative methods**: For arbitrary trajectories, :math:`w_m` can be estimated via iterative algorithms that minimize reconstruction artifacts.
279
+
280
+
The DCF is typically applied before the NNUFFT ensuring each k-space measurement contributes proportionally to its neighborhood. Proper density compensation is crucial for artifact-free, quantitatively accurate image reconstruction.
281
+
282
+
.. note::
283
+
In ``mri-nufft``, density compensation can be specified when initializing the NUFFT operator (via the ``density`` argument) as either a precomputed array, a method name (e.g., ``'voronoi'``, ``'pipe'``), or by providing your own function.
284
+
See :class:`FourierOperatorBase <mrinufft.operators.base.FourierOperatorBase>` and the ``compute_density`` API for more details. Several geometry-based and NUFFT-based DCF methods are available in the :mod:`mrinufft.density` module.
244
285
286
+
.. tip::
287
+
For consistent scaling, density compensation weights should be normalized, so that the total signal energy is preserved across different trajectories and density choices. If you supply your own weights (See the for instance the normalization done for the :func:`pipe <mrinufft.operators.interfaces.cufinufft.MRICufinufft.pipe>` method)
245
288
289
+
246
290
Other Application
247
291
=================
248
292
Apart from MRI, The NUFFT operator is also used for:
@@ -261,3 +305,5 @@ References
261
305
.. [2] Noll, D. C., Meyer, C. H., Pauly, J. M., Nishimura, D. G., Macovski, A., "A homogeneity correction method for magnetic resonance imaging with time-varying gradients", IEEE Transaction on Medical Imaging (1991), pp. 629-637.
262
306
.. [3] Fessler, J. A., Lee, S., Olafsson, V. T., Shi, H. R., Noll, D. C., "Toeplitz-based iterative image reconstruction for MRI with correction for magnetic field inhomogeneity", IEEE Transactions on Signal Processing 53.9 (2005), pp. 3393–3402.
263
307
.. [4] D. F. McGivney et al., "SVD Compression for Magnetic Resonance Fingerprinting in the Time Domain," IEEE Transactions on Medical Imaging (2014), pp. 2311-2322.
308
+
.. [5] D. C. Noll, C. H. Meyer, J. M. Pauly, D. G. Nishimura and A. Macovski, "A homogeneity correction method for magnetic resonance imaging with time-varying gradients," in IEEE Transactions on Medical Imaging, vol. 10, no. 4, pp. 629-637, Dec. 1991, doi: 10.1109/42.108599
309
+
.. [6] Man, L.-C., Pauly, J.M. and Macovski, A. (1997), Multifrequency interpolation for fast off-resonance correction. Magn. Reson. Med., 37: 785-792. https://doi.org/10.1002/mrm.1910370523
0 commit comments