pytomography.transforms.PET.attenuation
#
Module Contents#
Classes#
im2im mapping used to model the effects of attenuation in PET. |
Functions#
|
Converts an attenuation map of \(\text{cm}^{-1}\) to a probability of photon detection projection (detector pair oriented along x axis). Note that this requires the attenuation map to be at the energy of photons being emitted (511keV). |
- pytomography.transforms.PET.attenuation.get_prob_of_detection_matrix(CT, dx)[source]#
Converts an attenuation map of \(\text{cm}^{-1}\) to a probability of photon detection projection (detector pair oriented along x axis). Note that this requires the attenuation map to be at the energy of photons being emitted (511keV).
- Parameters:
CT (torch.tensor) – Tensor of size [batch_size, Lx, Ly, Lz] corresponding to the attenuation coefficient in \({\text{cm}^{-1}}\)
dx (float) – Axial plane pixel spacing.
- Returns:
Tensor of size [batch_size, 1, Ly, Lz] corresponding to probability of photon being detected at a detector pairs oriented along the x axis.
- Return type:
torch.tensor
- class pytomography.transforms.PET.attenuation.PETAttenuationTransform(CT)[source]#
Bases:
pytomography.transforms.Transform
im2im mapping used to model the effects of attenuation in PET.
- Parameters:
CT (torch.tensor) – Tensor of size [batch_size, Lx, Ly, Lz] corresponding to the attenuation coefficient in \({\text{cm}^{-1}}\) at a photon energy of 511keV.
device (str, optional) – Pytorch device used for computation. If None, uses the default device pytomography.device Defaults to None.
- configure(object_meta, image_meta)[source]#
Function used to initalize the transform using corresponding object and image metadata
- Parameters:
object_meta (ObjectMeta) – Object metadata.
image_meta (ImageMeta) – Image metadata.
- Return type:
None
- __call__(image, norm_constant=None, mode='forward_project')[source]#
Applies attenuation modeling to a PET image.
- Parameters:
image (torch.Tensor) – Tensor of size [batch_size, Ltheta, Lr, Lz] which transform is appplied to
norm_constant (torch.Tensor | None, optional) – A tensor used to normalize the output during back projection. Defaults to None.
mode (str, optional) – Whether or not this is being used in forward (‘forward_project’) or backward projection (‘back_project’). Defaults to ‘forward_project’.
- Returns:
Tensor of size [batch_size, Ltheta, Lr, Lz] corresponding to attenuation-corrected image.
- Return type:
torch.tensor