mrpro.algorithms.reconstruction.Reconstruction

class mrpro.algorithms.reconstruction.Reconstruction(*args, **kwargs)[source]

Bases: Module, ABC

A Reconstruction.

__init__(*args, **kwargs) None

Initialize internal Module state, shared by both nn.Module and ScriptModule.

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.

Parameters:

kdata – k-space data

Return type:

image data

abstract forward(kdata: KData) IData[source]

Apply the reconstruction.

recalculate_csm(kdata: ~mrpro.data._kdata.KData.KData, csm_calculation: ~collections.abc.Callable[[~mrpro.data.IData.IData], ~mrpro.data.CsmData.CsmData] = <bound method CsmData.from_idata_walsh of <class 'mrpro.data.CsmData.CsmData'>>, noise: ~mrpro.data.KNoise.KNoise | None | ~typing.Literal[False] = None) Self[source]

Update (in place) the CSM from KData.

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

  • csm_calculation – Function to calculate csm expecting idata as input and returning csmdata. For examples have a look at the CsmData class e.g. from_idata_walsh or from_idata_inati.

  • noise – 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 to determine trajectory and recon/encoding matrix from.

csm: CsmData | None

Coil Sensitivity Data.

dcf: DcfData | None

Density Compensation Data.

fourier_op: LinearOperator

Fourier Operator.

noise: KNoise | None

Noise Data used for prewhitening.