RayTransform

class odl.tomo.operators.ray_trafo.RayTransform(*args, **kwargs)[source]

Bases: Operator

Linear X-Ray (Radon) transform operator between L^p spaces.

Attributes:
adjoint

Adjoint of this operator.

domain

Set of objects on which this operator can be evaluated.

geometry
impl

Implementation name string.

inverse

Return the operator inverse.

is_functional

True if this operator's range is a Field.

is_linear

True if this operator is linear.

range

Set in which the result of an evaluation of this operator lies.

Methods

__call__(x[, out])

Return self(x[, out, **kwargs]).

derivative(point)

Return the operator derivative at point.

get_impl([use_cache])

Fetches or instantiates implementation backend for evaluation.

norm([estimate])

Return the operator norm of this operator.

__init__(vol_space, geometry, **kwargs)[source]

Initialize a new instance.

Parameters:
vol_spaceDiscretizedSpace

Discretized reconstruction space, the domain of the forward operator or the range of the adjoint (back-projection).

geometryGeometry

Geometry of the transform that contains information about the data structure.

Other Parameters:
impl{None, 'astra_cuda', 'astra_cpu', 'skimage'}, optional

Implementation back-end for the transform. Supported back-ends:

  • 'astra_cuda': ASTRA toolbox, using CUDA, 2D or 3D

  • 'astra_cpu': ASTRA toolbox using CPU, only 2D

  • 'skimage': scikit-image, only 2D parallel with square reconstruction space.

For the default None, the fastest available back-end is used.

proj_spaceDiscretizedSpace, optional

Discretized projection (sinogram) space, the range of the forward operator or the domain of the adjoint (back-projection). Default: Inferred from parameters.

use_cachebool, optional

If True, data is cached. This gives a significant speed-up at the expense of a notable memory overhead, both on the GPU and on the CPU, since a full volume and a projection dataset are stored. That may be prohibitive in 3D. Default: True

kwargs

Further keyword arguments passed to the projector backend.

Notes

The ASTRA backend is faster if data are given with dtype='float32' and storage order 'C'. Otherwise copies will be needed.