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
- space
DiscretizedSpace
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)
- space
- Returns
- phantom
space
element Projection helper phantom in
space
.
- phantom
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.]]