CircularDetector
- class odl.applications.tomo.geometry.detector.CircularDetector(partition, axis, radius, check_bounds=True)[source]
Bases:
DetectorA 1D detector on a circle section in 2D space.
The circular section that corresponds to the angular partition is rotated to be aligned with a given axis and shifted to cross the origin. Note, the partition angle increases in the clockwise direction, by analogy to flat detectors.
- __init__(partition, axis, radius, check_bounds=True)[source]
Initialize a new instance.
Parameters
- partition1-dim.
RectPartition Partition of the parameter interval, corresponding to the angular sections along the line.
- axis
array-like, shape(2,) Fixed axis along which this detector is aligned.
- radiusnonnegative float
Radius of the circle.
- check_boundsbool, optional
If
True, methods computing vectors check input arguments. Checks are vectorized and add only a small overhead.
Examples
Initialize a detector with circle radius 2 and extending to 90 degrees on both sides of the origin (a half circle).
>>> part = odl.uniform_partition(-np.pi / 2, np.pi / 2, 10) >>> det = CircularDetector(part, axis=[1, 0], radius=2) >>> det.axis array([ 1., 0.]) >>> det.radius 2.0 >>> np.allclose(det.surface_normal(0), [0, -1]) True
- partition1-dim.