MRIfinufft#
- class mrinufft.operators.interfaces.finufft.MRIfinufft(samples, shape, density=False, n_coils=1, n_batchs=1, n_trans=1, smaps=None, squeeze_dims=True, **kwargs)[source]#
Bases:
FourierOperatorCPUMRI Transform Operator using finufft.
- Parameters:
samples (array) – The samples location of shape
Nsamples x N_dimensions. It should be C-contiguous.shape (tuple) – Shape of the image space.
n_coils (int) – Number of coils.
n_batchs (int) – Number of batchs .
n_trans (int) – Number of parallel transform
density (bool or array) –
- Density compensation support.
If a Tensor, it will be used for the density.
If True, the density compensation will be automatically estimated, using the fixed point method.
If False, density compensation will not be used.
smaps (array) – Sensitivity maps of shape
N_coils x *shape.squeeze_dims (bool) – If True, the dimensions of size 1 for the coil and batch dimension will be squeezed.
Methods
__init__adj_opNon Cartesian MRI adjoint operator.
check_shapeValidate the shapes of the image or k-space data against operator shapes.
compute_densityCompute the density compensation weights and set it.
compute_smapsCompute the sensitivity maps and set it.
data_consistencyCompute the gradient data consistency.
get_lipschitz_cstReturn the Lipschitz constant of the operator.
make_autogradMake a new Operator with autodiff support.
make_linopsCreate a Scipy Linear Operator from the NUFFT operator.
opNon Cartesian MRI forward operator.
pinv_solverSolves the linear system Ax = y.
Compute the density compensation weights for a given set of kspace locations.
Toggle between the gradient trajectory and the plan for type 1 transform.
with_autogradReturn a Fourier operator with autograd capabilities.
with_off_resonance_correctionReturn a new operator with Off Resonnance Correction.
Attributes
autograd_availableavailablebackendcpx_dtypeReturn complex floating precision of the operator.
densityDensity compensation of the operator.
dtypeReturn floating precision of the operator.
img_full_shapeFull image shape with batch and coil dimensions.
interfacesksp_full_shapeFull kspace shape with batch and coil dimensions.
n_batchsNumber of coils for the operator.
n_coilsNumber of coils for the operator.
n_samplesReturn the number of samples used by the operator.
ndimNumber of dimensions in image space of the operator.
norm_factorNormalization factor of the operator.
Return the samples used by the operator.
shapeShape of the image space of the operator.
smapsSensitivity maps of the operator.
uses_densityReturn True if the operator uses density compensation.
uses_senseReturn True if the operator uses sensitivity maps.
Examples using
mrinufft.operators.interfaces.finufft.MRIfinufft#- property samples: ndarray[tuple[int, ...], dtype[_ScalarType_co]][source]#
Return the samples used by the operator.
- toggle_grad_traj()[source]#
Toggle between the gradient trajectory and the plan for type 1 transform.
- classmethod pipe(kspace_loc, volume_shape, max_iter=10, osf=2, normalize=True, **kwargs)[source]#
Compute the density compensation weights for a given set of kspace locations.
- Parameters:
kspace_loc (np.ndarray) – the kspace locations
volume_shape (np.ndarray) – the volume shape
max_iter (int default 10) – the number of iterations for density estimation
osf (float or int) – The oversampling factor the volume shape
normalize (bool) – Whether to normalize the density compensation. We normalize such that the energy of PSF = 1