pytomography.projections.forward_projection - PyTomography 0.3.3 documentation

Hide navigation sidebar
Hide table of contents sidebar
Back to top
Toggle table of contents sidebar

# `pytomography.projections.forward_projection`

## Module Contents

### Classes

`ForwardProjectionNet` | Implements a forward projection of mathematical form \(g_j = \sum_{i} c_{ij} f_i\) where \(f_i\) is an object, \(g_j\) is the corresponding image, and \(c_{ij}\) is the system matrix given by the various phenonemon modeled (e.g. atteunation/PSF).

class pytomography.projections.forward_projection.ForwardProjectionNet(obj2obj_nets, im2im_nets, object_meta, image_meta, device=None)

  Bases: `pytomography.projections.projection.ProjectionNet`

  Implements a forward projection of mathematical form \(g_j = \sum_{i} c_{ij} f_i\) where \(f_i\) is an object, \(g_j\) is the corresponding image, and \(c_{ij}\) is the system matrix given by the various phenonemon modeled (e.g. atteunation/PSF).

  Parameters:

    - obj2obj_nets (list[pytomography.mappings.MapNet]) –

    - im2im_nets (list[pytomography.mappings.MapNet]) –

    - object_meta (pytomography.metadata.ObjectMeta) –

    - image_meta (pytomography.metadata.ImageMeta) –

    - device (str) –

  forward(object, angle_subset=None)

    Implements forward projection on an object

    Parameters:

      - object (torch.tensor[batch_size, Lx, Ly, Lz]) – The object to be forward projected

      - angle_subset (list, optional) – Only uses a subset of angles (i.e. only certain values of \(j\) in formula above) when back projecting. Useful for ordered-subset reconstructions. Defaults to None,

      - used. (which assumes all angles are) –

    Returns:

      Forward projected image where Ltheta is specified by self.image_meta and angle_subset.

    Return type:

      torch.tensor[batch_size, Ltheta, Lx, Lz]