Coil Sensitivity Maps#
- class atommic.collections.common.parts.coil_sensitivity_maps.MaximumEigenvaluePowerMethod(forward_operator: Callable, norm_func: Optional[Callable] = None, max_iter: int = 30)[source]#
Bases:
ABCA class for solving the maximum eigenvalue problem using the Power Method.
The Power Method is an iterative algorithm that can be used to find the largest eigenvalue of a matrix. The algorithm is initialized with a random vector and iteratively updates the vector by multiplying it with the matrix and normalizing it. The algorithm converges to the eigenvector corresponding to the largest eigenvalue. The largest eigenvalue is then estimated by taking the dot product of the eigenvector with the matrix.
- __init__(forward_operator: Callable, norm_func: Optional[Callable] = None, max_iter: int = 30)[source]#
Inits
MaximumEigenvaluePowerMethod.- Parameters
forward_operator (Callable) – The forward operator for the problem.
norm_func (Callable, optional) – An optional function for normalizing the eigenvector. Default is
None.max_iter (int, optional) – Maximum number of iterations to run the algorithm. Default is
30.
- class atommic.collections.common.parts.coil_sensitivity_maps.EspiritCalibration(*args: Any, **kwargs: Any)[source]#
Bases:
ABC,ModuleEstimates sensitivity maps estimated with the ESPIRIT calibration method as described in 1.
We adapted code for ESPIRIT method adapted from 2.
References
- 1
Uecker M, Lai P, Murphy MJ, Virtue P, Elad M, Pauly JM, Vasanawala SS, Lustig M. ESPIRiT–an eigenvalue approach to autocalibrating parallel MRI: where SENSE meets GRAPPA. Magn Reson Med. 2014 Mar;71(3):990-1001. doi: 10.1002/mrm.24751. PMID: 23649942; PMCID: PMC4142121.
- 2
- __init__(threshold: float = 0.05, kernel_size: int = 6, crop: float = 0.95, max_iter: int = 100, fft_centered: bool = False, fft_normalization: str = 'backward', spatial_dims: Sequence[int] = (-2, -1))[source]#
Inits
EstimateSensitivityMap.- Parameters
threshold (float, optional) – Threshold for the calibration matrix. Default: 0.05.
kernel_size (int, optional) – Kernel size for the calibration matrix. Default: 6.
crop (float, optional) – Output eigenvalue cropping threshold. Default: 0.95.
max_iter (int, optional) – Power method iterations. Default: 30.
fft_centered (bool, optional) – Whether to center the FFT. Default is
False.fft_normalization (str, optional) – Normalization to apply to the FFT. Default is
"backward".spatial_dims (Sequence[int], optional) – Spatial dimensions of the input. Default is
(-2, -1).
- calculate_sensitivity_map(acs_mask: torch.Tensor, kspace: torch.Tensor) torch.Tensor[source]#
Calculates sensitivity map given as input the acs_mask and the k-space.
- Parameters
acs_mask (torch.Tensor) – Autocalibration mask.
kspace (torch.Tensor) – K-space.
- Returns
sensitivity_map – Coil sensitivity maps.
- Return type
- forward(acs_mask: torch.Tensor, kspace: torch.Tensor) torch.Tensor[source]#
Forward pass of
EspiritCalibration.- Parameters
acs_mask (torch.Tensor) – Autocalibration mask.
kspace (torch.Tensor) – K-space.
- Returns
sensitivity_map – Coil sensitivity maps.
- Return type