mrinufft.extras#
Extra utilities for non Cartesian MRI.
This modules notably provides way to estimate sensitivity maps and off-resonance correction.
Most of this module is accessible through the following registry :
coil sensitivity maps:
get_smaps():Key
Function
"low_frequency""espirit"off-resonance correction:
get_orc_factorization():least-square optimization methods:
get_optimizer():Key
Function
"lsqr""lsmr""cg"
Tip
You can register your own methods to the registries using the following decorators:
register_smaps(),register_orc(),register_optim().
This registry system is also available when using a non-Cartesian Fourier operator
For example:
from mrinufft import get_operator
from mrinufft.extras import register_smaps
# get a non-Cartesian Fourier operator
# with espirit sensitivity maps and off-resonance correction
fourier_op = get_operator("nufft", trajectory=trajectory, smaps="espirit")
fourier_op_orc = fourier_op.with_off_resonance_correction(
interpolators={"name":"svd", "L":10}
)
# select the least-square solver to use for pseudo-inverse computation.
img = fourier_op_orc.pinv_solver(kspace_data, solver="lsqr")
Custom registered functions can be used as well:
@register_smaps("awesome")
def awesome_smaps(kspace_data, trajectory, **kwargs):
...
fourier_op = get_operator("nufft", trajectory=trajectory, smaps="awesome")
# using the function is equivalent:
fourier_op = get_operator("nufft", trajectory=trajectory, smaps=awesome_smaps)
Functions
ESPIRIT algorithm on Cartesian data. |
|
Perform conjugate gradient (CG) optimization for image reconstruction. |
|
Coil compression using principal component analysis on k-space data. |
|
Compute off-resonance correction coefficients using Mixed-Frequency-Interpolator. |
|
Compute off-resonance correction coefficients using Mixed Time interpolator (MTI). |
|
Compute off-resonance correction coefficients using an SVD. |
|
ESPIRIT algorithm on non-Cartesian data. |
|
Compute n-dimensional FFT along the last |
|
Perform simple analytical Fast Spin Echo simulation. |
|
Get M0, T1 and T2 parametric maps from a brainweb crisp segmentation. |
|
Create a complex-valued field-map in rad/s. |
|
Get the optimizer function from its name. |
|
Get the orc_factorization function from its name. |
|
Get the smaps function from its name. |
|
Compute n-dimensional IFFT along the last |
|
Compute the norm of the residual in the image domain. |
|
Compute the regularized least squares loss for MRI reconstruction. |
|
Calculate low-frequency sensitivity maps. |
|
Solve a regularized linear least-squares problem with the LSMR algorithm [1]_. |
|
Solve a regularized linear least-squares problem with the LSQR algorithm [1]_. |
|
Make radial B0 map. |
|
Make homogeneous T2* map. |