MRIStackedNUFFT#
- class mrinufft.operators.stacked.MRIStackedNUFFT(samples, shape, backend, smaps, z_index='auto', n_coils=1, n_batchs=1, squeeze_dims=False, **kwargs)[source]#
Bases:
FourierOperatorBase
Stacked NUFFT Operator for MRI.
The dimension of stacking is always the last one.
- Parameters:
samples (array-like) – Sample locations in a 2D kspace
shape (tuple) – Shape of the image.
z_index (array-like) – Cartesian z index of masked plan. if “auto” the z_index is computed from the samples, if they are 3D, using the last coordinate.
backend (str or FourierOperatorBase) – Backend to use. If str, a NUFFT operator is initialized with str being a registered backend. If FourierOperatorBase, operator is checked for compatibility and used as is notably one should have:
n_coils = self.n_coils*len(z_index), squeeze_dims=True, smaps=None
smaps (array-like) – Sensitivity maps.
n_coils (int) – Number of coils.
n_batchs (int) – Number of batchs.
**kwargs (dict) – Additional arguments to pass to the backend.
Methods
__init__
Adjoint operator.
check_shape
Validate the shapes of the image or k-space data against operator shapes.
compute_density
Compute the density compensation weights and set it.
compute_smaps
Compute the sensitivity maps and set it.
data_consistency
Compute the gradient data consistency.
Return the Lipschitz constant of the operator.
make_autograd
Make a new Operator with autodiff support.
Forward operator.
with_autograd
Return a Fourier operator with autograd capabilities.
with_off_resonance_correction
Return a new operator with Off Resonnance Correction.
Attributes
autograd_available
available
backend
cpx_dtype
Return complex floating precision of the operator.
density
Density compensation of the operator.
Return dtype.
interfaces
n_coils
Number of coils for the operator.
Return number of samples.
ndim
Number of dimensions in image space of the operator.
norm_factor
Normalization factor of the operator.
Return samples as a N_slice x N_samples x 3 array.
shape
Shape of the image space of the operator.
smaps
Sensitivity maps of the operator.
uses_density
Return True if the operator uses density compensation.
uses_sense
Return True if the operator uses sensitivity maps.
- property dtype#
Return dtype.
- property n_samples#
Return number of samples.
- get_lipschitz_cst(max_iter=10)[source]#
Return the Lipschitz constant of the operator.
- Parameters:
max_iter (int) – number of iteration to compute the lipschitz constant.
**kwargs – Extra arguments givent
- Returns:
Spectral Radius
- Return type:
Notes
This uses the Iterative Power Method to compute the largest singular value of a minified version of the nufft operator. No coil or B0 compensation is used, but includes any computed density.
- property samples#
Return samples as a N_slice x N_samples x 3 array.
Built from the 2D samples and the z_index normalized to [-0.5, 0.5).