ParallelBeamModel

ParallelBeamModel#

The ParallelBeamModel extends the functionalities provided by mbirjax.Tomography. This class inherits all behaviors and attributes of the TomographyModel and implements projectors specific to parallel beam CT.

Constructor#

class mbirjax.ParallelBeamModel(sinogram_shape, angles, **kwargs)[source]

Bases: TomographyModel

A class designed for handling forward and backward projections in a parallel beam geometry, extending the TomographyModel. This class offers specialized methods and parameters tailored for parallel beam setups.

This class inherits all methods and properties from the TomographyModel and may override some to suit parallel beam geometrical requirements. See the documentation of the parent class for standard methods like setting parameters and performing projections and reconstructions.

Parameters:
  • angles (jnp.ndarray) – A 1D array of projection angles, in radians, specifying the angle of each projection relative to the origin.

  • sinogram_shape (tuple) – Shape of the sinogram as a tuple in the form (views, rows, channels), where ‘views’ is the number of different projection angles, ‘rows’ correspond to the number of detector rows, and ‘channels’ index columns of the detector that are assumed to be aligned with the rotation axis.

  • **kwargs (dict) – Additional keyword arguments that are passed to the TomographyModel constructor. These can include settings and configurations specific to the tomography model such as noise models or image dimensions. Refer to TomographyModel documentation for a detailed list of possible parameters.

Examples

Initialize a parallel beam model with specific angles and sinogram shape: >>> import mbirjax >>> angles = jnp.array([0, jnp.pi/4, jnp.pi/2]) >>> model = mbirjax.ParallelBeamModel((180, 256, 10), angles)

See also

TomographyModel

The base class from which this class inherits.

Parent Class#

TomographyModel