torchkbnufft.functional
fft_filter
- fft_filter(image, kernel, norm='ortho')[source]
FFT-based filtering on an oversampled grid.
This is a wrapper for the operation
\[\text{output} = iFFT(\text{kernel}*FFT(\text{image})) \]where \(iFFT\) and \(FFT\) are both implemented as oversampled FFTs.
Interpolation Functions
kb_spmat_interp
- kb_spmat_interp(image, interp_mats)[source]
Kaiser-Bessel sparse matrix interpolation.
See
KbInterpfor an overall description of interpolation.To calculate the sparse matrix tuple, see
calc_tensor_spmatrix().
kb_spmat_interp_adjoint
- kb_spmat_interp_adjoint(data, interp_mats, grid_size)[source]
Kaiser-Bessel sparse matrix interpolation adjoint.
See
KbInterpAdjointfor an overall description of adjoint interpolation.To calculate the sparse matrix tuple, see
calc_tensor_spmatrix().
kb_table_interp
- kb_table_interp(image, omega, tables, n_shift, numpoints, table_oversamp, offsets)[source]
Kaiser-Bessel table interpolation.
See
KbInterpfor an overall description of interpolation and how to construct the function arguments.- Parameters:
image (
Tensor) – Gridded data to be interpolated to scattered data.omega (
Tensor) – k-space trajectory (in radians/voxel).tables (
List[Tensor]) – Interpolation tables (one table for each dimension).n_shift (
Tensor) – Size for fftshift, usuallyim_size // 2.numpoints (
Tensor) – Number of neighbors to use for interpolation.table_oversamp (
Tensor) – Table oversampling factor.offsets (
Tensor) – A list of offsets, looping over all possible combinations ofnumpoints.
- Return type:
- Returns:
imagecalculated at scattered locations.
kb_table_interp_adjoint
- kb_table_interp_adjoint(data, omega, tables, n_shift, numpoints, table_oversamp, offsets, grid_size)[source]
Kaiser-Bessel table interpolation adjoint.
See
KbInterpAdjointfor an overall description of adjoint interpolation.- Parameters:
data (
Tensor) – Scattered data to be interpolated to gridded data.omega (
Tensor) – k-space trajectory (in radians/voxel).tables (
List[Tensor]) – Interpolation tables (one table for each dimension).n_shift (
Tensor) – Size for fftshift, usuallyim_size // 2.numpoints (
Tensor) – Number of neighbors to use for interpolation.table_oversamp (
Tensor) – Table oversampling factor.offsets (
Tensor) – A list of offsets, looping over all possible combinations ofnumpoints.grid_size (
Tensor) – Size of grid to use for interpolation, typically 1.25 to 2 timesim_size.
- Return type:
- Returns:
datacalculated at gridded locations.
NUFFT Functions
kb_spmat_nufft
- kb_spmat_nufft(image, scaling_coef, im_size, grid_size, interp_mats, norm=None)[source]
Kaiser-Bessel NUFFT with sparse matrix interpolation.
See
KbNufftfor an overall description of the forward NUFFT.To calculate the sparse matrix tuple, see
calc_tensor_spmatrix().- Parameters:
image (
Tensor) – Image to be NUFFT’d to scattered data.scaling_coef (
Tensor) – Image-domain coefficients to pre-compensate for interpolation errors.im_size (
Tensor) – Size of image with length being the number of dimensions.grid_size (
Tensor) – Size of grid to use for interpolation, typically 1.25 to 2 timesim_size.interp_mats (
Tuple[Tensor,Tensor]) – 2-tuple of real, imaginary sparse matrices to use for sparse matrix KB interpolation.norm (
Optional[str]) – Whether to apply normalization with the FFT operation. Options are"ortho"orNone.
- Return type:
- Returns:
imagecalculated at scattered Fourier locations.
kb_spmat_nufft_adjoint
- kb_spmat_nufft_adjoint(data, scaling_coef, im_size, grid_size, interp_mats, norm=None)[source]
Kaiser-Bessel adjoint NUFFT with sparse matrix interpolation.
See
KbNufftAdjointfor an overall description of the adjoint NUFFT.To calculate the sparse matrix tuple, see
calc_tensor_spmatrix().- Parameters:
data (
Tensor) – Scattered data to be iNUFFT’d to an image.scaling_coef (
Tensor) – Image-domain coefficients to compensate for interpolation errors.im_size (
Tensor) – Size of image with length being the number of dimensions.grid_size (
Tensor) – Size of grid to use for interpolation, typically 1.25 to 2 timesim_size.interp_mats (
Tuple[Tensor,Tensor]) – 2-tuple of real, imaginary sparse matrices to use for sparse matrix KB interpolation.norm (
Optional[str]) – Whether to apply normalization with the FFT operation. Options are"ortho"orNone.
- Return type:
- Returns:
datatransformed to an image.
kb_table_nufft
- kb_table_nufft(image, scaling_coef, im_size, grid_size, omega, tables, n_shift, numpoints, table_oversamp, offsets, norm=None)[source]
Kaiser-Bessel NUFFT with table interpolation.
See
KbNufftfor an overall description of the forward NUFFT.- Parameters:
image (
Tensor) – Image to be NUFFT’d to scattered data.scaling_coef (
Tensor) – Image-domain coefficients to pre-compensate for interpolation errors.im_size (
Tensor) – Size of image with length being the number of dimensions.grid_size (
Tensor) – Size of grid to use for interpolation, typically 1.25 to 2 timesim_size.omega (
Tensor) – k-space trajectory (in radians/voxel).tables (
List[Tensor]) – Interpolation tables (one table for each dimension).n_shift (
Tensor) – Size for fftshift, usuallyim_size // 2.numpoints (
Tensor) – Number of neighbors to use for interpolation.table_oversamp (
Tensor) – Table oversampling factor.offsets (
Tensor) – A list of offsets, looping over all possible combinations of numpoints.norm (
Optional[str]) – Whether to apply normalization with the FFT operation. Options are"ortho"orNone.
- Return type:
- Returns:
imagecalculated at scattered Fourier locations.
kb_table_nufft_adjoint
- kb_table_nufft_adjoint(data, scaling_coef, im_size, grid_size, omega, tables, n_shift, numpoints, table_oversamp, offsets, norm=None)[source]
Kaiser-Bessel NUFFT adjoint with table interpolation.
See
KbNufftAdjointfor an overall description of the adjoint NUFFT.- Parameters:
data (
Tensor) – Scattered data to be iNUFFT’d to an image.scaling_coef (
Tensor) – Image-domain coefficients to compensate for interpolation errors.im_size (
Tensor) – Size of image with length being the number of dimensions.grid_size (
Tensor) – Size of grid to use for interpolation, typically 1.25 to 2 timesim_size.omega (
Tensor) – k-space trajectory (in radians/voxel).tables (
List[Tensor]) – Interpolation tables (one table for each dimension).n_shift (
Tensor) – Size for fftshift, usuallyim_size // 2.numpoints (
Tensor) – Number of neighbors to use for interpolation.table_oversamp (
Tensor) – Table oversampling factor.offsets (
Tensor) – A list of offsets, looping over all possible combinations of numpoints.norm (
Optional[str]) – Whether to apply normalization with the FFT operation. Options are"ortho"orNone.
- Return type:
- Returns:
datatransformed to an image.