mrpro.algorithms.reconstruction.Reconstruction

class mrpro.algorithms.reconstruction.Reconstruction[source]

Bases: Module, ABC

A Reconstruction.

dcf: DcfData | None

Density Compensation Data.

csm: CsmData | None

Coil Sensitivity Data.

noise: KNoise | None

Noise Data used for prewhitening.

fourier_op: LinearOperator

Fourier Operator.

__call__(kdata: KData) IData[source]

Apply the reconstruction.

abstract forward(kdata: KData) IData[source]

Apply the reconstruction.

direct_reconstruction(kdata: KData) IData[source]

Direct reconstruction of the MR acquisition.

Here we use \(S^H F^H W\) to calculate the image data using the coil sensitivity operator \(S\), the Fourier operator \(F\), and the density compensation operator \(W\). \(S\) and \(W\) are optional: If they have not been set in this instance, no coil combination or density compensation, respectively, will be performed.

Parameters:

kdata (KData) – k-space data

Returns:

image data

recalculate_csm(kdata: KData, csm_calculation: Callable[[IData], CsmData] = CsmData.from_idata_walsh, noise: KNoise | None | Literal[False] = None) Self[source]

Update (in place) the CSM from KData.

Parameters:
  • kdata (KData) – k-space data used for adjoint reconstruction (including DCF-weighting if available), which is then used for CSM estimation.

  • csm_calculation (Callable[[IData], CsmData], default: CsmData.from_idata_walsh) – Function to calculate csm expecting idata as input and returning csmdata. For examples have a look at the CsmData.

  • noise (Union[KNoise, None, Literal[False]], default: None) – Noise measurement for prewhitening. If None, self.noise (if previously set) is used. If False, no prewithening is performed even if self.noise is set. Use this if the kdata is already prewhitened.

recalculate_fourierop(kdata: KData) Self[source]

Update (in place) the Fourier Operator, e.g. for a new trajectory.

Also recalculates the DCF.

Parameters:

kdata (KData) – k-space data to determine trajectory and recon/encoding matrix from.