mr2.algorithms.csm.walsh
- mr2.algorithms.csm.walsh(coil_images: Tensor, smoothing_width: SpatialDimension[int] | int, align_phase: bool = True) Tensor[source]
Calculate a coil sensitivity map (csm) using Walsh’s method [WAL2000].
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.
Phase Alignment (Optional): If
align_phaseis True, aligns the eigenvectors’ global phase to a reference derived from the coil data [INA2013]. This prevents phase singularities that otherwise cause destructive interference when spatially interpolating or downsampling the maps.
This function supports one or more sets of coil images with leading dimensions. The input should be a tensor with dimensions
(..., coils, z, y, x). Prefer usingCsmDatawhen sensitivity estimation should stay synchronized with MR2 data containers and metadata.- Parameters:
- Returns:
csm – Coil sensitivity map, shape
(..., coils, z, y, x).
References