pytomography.transforms.PET.psf
#
Module Contents#
Classes#
proj2proj transform used to model the effects of PSF blurring in PET. The smoothing kernel is assumed to be independent of \(\theta\) and \(z\), but is dependent on \(r\). |
Functions#
|
|
|
|
|
- class pytomography.transforms.PET.psf.PETPSFTransform(kerns)[source]#
Bases:
pytomography.transforms.Transform
proj2proj transform used to model the effects of PSF blurring in PET. The smoothing kernel is assumed to be independent of \(\theta\) and \(z\), but is dependent on \(r\).
- Parameters:
kerns (Sequence[callable]) – A sequence of PSF kernels applied to the Lr dimension of the projections with shape [batch_size, Lr, Ltheta, Lz]
- configure(object_meta, proj_meta)[source]#
Function used to initalize the transform using corresponding object and proj metadata
- Parameters:
object_meta (ObjectMeta) – Object metadata.
proj_meta (ProjMeta) – Projection metadata.
- Return type:
None
- forward(proj)[source]#
Applies the forward projection of PSF modeling \(B:\mathbb{V} \to \mathbb{V}\) to a PET proj.
- Parameters:
proj (torch.tensor]) – Tensor of size [batch_size, Ltheta, Lr, Lz] corresponding to the projections
- Returns:
Tensor of size [batch_size, Ltheta, Lr, Lz] corresponding to the PSF corrected projections.
- Return type:
torch.tensor
- backward(proj, norm_constant=None)[source]#
Applies the back projection of PSF modeling \(B^T:\mathbb{V} \to \mathbb{V}\) to PET projections .
- Parameters:
proj (torch.tensor]) – Tensor of size [batch_size, Ltheta, Lr, Lz] corresponding to the projections norm_constant (torch.tensor, optional): A tensor used to normalize the output during back projection. Defaults to None.
norm_constant (torch.Tensor | None) –
- Returns:
Tensor of size [batch_size, Ltheta, Lr, Lz] corresponding to the PSF corrected projections.
- Return type:
torch.tensor