mrpro.algorithms.csm.walsh
- mrpro.algorithms.csm.walsh(coil_images: Tensor, smoothing_width: SpatialDimension[int] | int) Tensor [source]
Calculate a coil sensitivity map (csm) using an iterative version of the Walsh method.
This function computes CSMs from a set of complex coil images assuming spatially slowly changing sensitivity maps using Walsh’s method [WAL2000].
The algorithm follows these steps:
Compute Pointwise Covariance: Calculate the covariance matrix of the coil images at each voxel to capture inter-coil signal relationships.
Apply Smoothing Filter: Smooth the covariance matrices across spatial dimensions using a uniform filter of specified width to reduce noise and enforce spatial consistency.
Dominant Eigenvector Estimation via Power Iteration: Perform power iterations to approximate the dominant eigenvector of the covariance matrix at each voxel, representing the principal component of the signal.
Normalize Sensitivity Maps: Normalize the resulting eigenvectors to produce the final CSMs.
This function works on a single set of coil images. The input should be a tensor with dimensions
(coils, z, y, x)
. The output will have the same dimensions. Either apply this function individually to each set of coil images, or seefrom_idata_walsh
which performs this operation on a whole dataset [WAL2000].This implementation is inspired by ismrmrd-python-tools.
- Parameters:
coil_images (
Tensor
) – images for each coil elementsmoothing_width (
Union
[SpatialDimension
[int
],int
]) – width of the smoothing filter
References