Detector

class odl.tomo.geometry.detector.Detector(partition, space_ndim=None, check_bounds=True)[source]

Bases: object

Abstract detector class.

A detector is described by

  • a set of parameters for surface parametrization (including sampling),

  • a function mapping a surface parameter to the location of a detector point relative to its reference point,

  • optionally a surface measure function.

Most implementations implicitly assume that an N-dimensional detector is embedded in an (N+1)-dimensional space, but subclasses can override this behavior.

Attributes:
check_bounds

If True, methods computing vectors check input arguments.

grid

Sampling grid of the parameters.

ndim

Number of dimensions of the parameters (= surface dimension).

params

Surface parameter set of this detector.

partition

Partition of the detector parameter set into subsets.

shape

Number of subsets (pixels) of the detector per axis.

size

Total number of pixels.

space_ndim

Number of dimensions of the embedding space.

Methods

surface(param)

Parametrization of the detector reference surface.

surface_deriv(param)

Partial derivative(s) of the surface parametrization.

surface_measure(param)

Density function of the surface measure.

surface_normal(param)

Unit vector perpendicular to the detector surface at param.

__init__(partition, space_ndim=None, check_bounds=True)[source]

Initialize a new instance.

Parameters:
partitionRectPartition

Partition of the detector parameter set (pixelization). It determines dimension, parameter range and discretization.

space_ndimpositive int, optional

Number of dimensions of the embedding space. Default: partition.ndim + 1

check_boundsbool, optional

If True, methods computing vectors check input arguments. Checks are vectorized and add only a small overhead.