Skip to content

Reconstruction

Dispatched from unimri.reconstruct(data, method=...); see Architecture → Reconstruction.

Per-coil, single-pass images: Aᴴ(w·y) per coil (no combination).

Cartesian: centered inverse FFT. Non-Cartesian: density-compensated gridding via the adjoint NUFFT. Building block for :func:adjoint and for :func:unimri.calibration.estimate_sensitivity.

The reconstructed-image array shape: (ny, nx) or (nz, ny, nx).

Single-pass reconstruction: gridding (non-Cartesian) or plain iFFT (Cartesian).

Coils are combined by coil_combine ("rss", "sum", or "none"). Returns an array of shape recon_matrix in (z, y, x) order for 3-D / (y, x) for 2-D — with a leading coil axis when coil_combine="none".

CG-SENSE: iterative reconstruction with coil sensitivities, y = A x = F S x.

Solves (Aᴴ A + l2·I) x = Aᴴ y by conjugate gradient (Pruessmann et al., MRM 2001), where A is :class:~unimri.operators.FourierOperator for Cartesian data or :class:~unimri.operators.NUFFTOperator for non-Cartesian data, composed with :class:~unimri.operators.SensitivityOperator. The same solver code handles both, because only A changes with the trajectory.

sensitivity ((n_coils, *image_shape)) is estimated automatically via :func:unimri.calibration.estimate_sensitivity if not supplied.