indicate_proj_axis

odl.phantom.geometric.indicate_proj_axis(space, scale_structures=0.5)[source]

Phantom indicating along which axis it is projected.

The number (n) of rectangles in a parallel-beam projection along a main axis (0, 1, or 2) indicates the projection to be along the (n-1)the dimension.

Parameters
spaceDiscretizedSpace

Space in which the phantom should be created, must be 2- or 3-dimensional.

scale_structurespositive float in (0, 1], optional

Scales objects (cube, cuboids)

Returns
phantomspace element

Projection helper phantom in space.

Examples

Phantom in 2D space:

>>> space = odl.uniform_discr([0, 0], [1, 1], shape=(8, 8))
>>> phantom = indicate_proj_axis(space).asarray()
>>> print(odl.util.array_str(phantom, nprint=10))
[[ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  1.,  1.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  1.,  1.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  0.,  1.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  1.,  0.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]]
>>> space = odl.uniform_discr([0] * 3, [1] * 3, [8, 8, 8])
>>> phantom = odl.phantom.indicate_proj_axis(space).asarray()
>>> axis_sum_0 = np.sum(phantom, axis=0)
>>> print(odl.util.array_str(axis_sum_0, nprint=10))
[[ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  3.,  3.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  3.,  3.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]]
>>> axis_sum_1 = np.sum(phantom, axis=1)
>>> print(odl.util.array_str(axis_sum_1, nprint=10))
[[ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  2.,  2.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  2.,  2.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  1.,  1.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  1.,  1.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]]
>>> axis_sum_2 = np.sum(phantom, axis=2)
>>> print(odl.util.array_str(axis_sum_2, nprint=10))
[[ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  2.,  2.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  2.,  2.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  0.,  2.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  2.,  0.,  0.,  0.,  0.],
 [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]]