pytomography.projectors.shared.kem_system_matrix#

Module Contents#

Classes#

KEMSystemMatrix

Given a KEM transform \(K\) and a system matrix \(H\), implements the transform \(HK\) (and backward transform \(K^T H^T\))

class pytomography.projectors.shared.kem_system_matrix.KEMSystemMatrix(system_matrix, kem_transform)[source]#

Bases: pytomography.projectors.system_matrix.SystemMatrix

Given a KEM transform \(K\) and a system matrix \(H\), implements the transform \(HK\) (and backward transform \(K^T H^T\))

Parameters:
  • system_matrix (SystemMatrix) – System matrix corresponding to a particular imaging system

  • kem_transform (KEMTransform) – Transform used to go from coefficient image to real image of predicted counts.

forward(object, angle_subset=None)[source]#

Forward transform \(HK\)

Parameters:
  • object (torch.tensor) – Object to be forward projected

  • angle_subset (Sequence, optional) – Angles to forward projected; if none, project to all angles. Defaults to None.

Returns:

Corresponding projections generated from forward projection

Return type:

torch.tensor

backward(proj, angle_subset=None, return_norm_constant=False)[source]#

Backward transform \(K^T H^T\)

Parameters:
  • proj (torch.tensor) – Projection data to be back projected

  • angle_subset (Sequence, optional) – Angles corresponding to projections; if none, then all projections from self.proj_meta are contained. Defaults to None.

  • return_norm_constant (bool, optional) – Additionally returns \(K^T H^T 1\) if true; defaults to False.

Returns:

Corresponding object generated from back projection.

Return type:

torch.tensor