Flat1dDetector.surface_deriv

Flat1dDetector.surface_deriv(self, param)[source]

Return the surface derivative at param.

This is a constant function evaluating to axis everywhere.

Parameters
paramfloat or array-like

Parameter value(s) at which to evaluate.

Returns
derivnumpy.ndarray

Array representing the derivative vector(s) at param. If param is a single parameter, the returned array has shape (2,), otherwise param.shape + (2,).

Examples

The method works with a single parameter, resulting in a single vector:

>>> part = odl.uniform_partition(0, 1, 10)
>>> det = Flat1dDetector(part, axis=[1, 0])
>>> det.surface_deriv(0)
array([ 1.,  0.])
>>> det.surface_deriv(1)
array([ 1.,  0.])

It is also vectorized, i.e., it can be called with multiple parameters at once (or an n-dimensional array of parameters):

>>> det.surface_deriv([0, 1])
array([[ 1.,  0.],
       [ 1.,  0.]])
>>> det.surface_deriv(np.zeros((4, 5))).shape
(4, 5, 2)