mri.operators.fourier.utils.orc_coefficients
mri.operators.fourier.utils.orc_coefficients#
Functions to compute different kinds of coefficients used in Off-Resonance Correction.
- compute_orc_coefficients(field_map, time_vec, mask, coefficients='svd', num_interpolators=15, weights='full', n_bins=1000)[source]#
This function computes different off-resonance correction weights used in the ORCFFTWrapper, as described in: - :cite: man1997 for Multi-Frequency Interpolation (MFI) - :cite: sutton2003 for Multi-Temporal Interpolation (MTI) - :cite: fessler2005 for (Fast) Singular Value Decomposition (SVD, FSVD)
- Parameters
field_map (numpy.ndarray) – B0 field inhomogeneity map (in Hz)
time_vec (numpy.ndarray) – 1D vector indicating time after pulse in each shot (in s)
mask (numpy.ndarray) – Mask describing the regions to consider during correction
coefficients ({'mfi', 'mti', 'svd', 'fsvd'}) – Computation method used to obtain the interpolation weights.
L (int) – Number of interpolators used for multi-linear correction (default 15)
weights ({'full', 'sqrt', 'log', 'ones'}) – Weightning policy for the field map histogram (default ‘full’)
n_bins (int) – Number of bins for the field map histogram (default 1000)
- Returns
B (numpy.ndarray) – (len(time_vec), L) array correspondig to k-space coefficients
C (numpy.ndarray) – (L, n_bins) array corresponding to volume coefficients
E (numpy.ndarray) – (len(time_vec), n_bins) array corresponding to the target matrix
- _create_histogram(field_map, mask, weights='full', n_bins=1000)[source]#
Create the weighted histogram of the field map covered by the mask
- Parameters
field_map (numpy.ndarray) – B0 field inhomogeneity map (in Hz)
mask (numpy.ndarray) – Mask describing the regions to consider during correction
weights ({'full', 'sqrt', 'log', 'ones'}) – Weightning policy for the field map histogram (default ‘full’)
n_bins (int) – Number of bins for the field map histogram (default 1000)
- Returns
histogram_centers (numpy.ndarray) – Central values of each bin
histogram_counts (numpy.ndarray) – Weights of elements in each bin according to args
- _create_variable_density(centers, counts, L)[source]#
Find a reduced histogram with variable density from previous histogram
- Parameters
centers (numpy.ndarray) – Central value of each bin from previous histogram
counts (numpy.ndarray) – Number of elements in each bin from previous histogram
L (int) – Number of interpolators defining the size of the reduced histogram
- Returns
centers – New bin centers of the reduced histogram
- Return type