cuboid¶
- odl.phantom.geometric.cuboid(space, min_pt=None, max_pt=None)[source]¶
Rectangular cuboid.
- Parameters:
- space
DiscretizedSpace Space in which the phantom should be created.
- min_ptarray-like of shape
(space.ndim,), optional Lower left corner of the cuboid. If
Noneis given, a quarter of the extent fromspace.min_pttowards the inside is chosen.- max_ptarray-like of shape
(space.ndim,), optional Upper right corner of the cuboid. If
Noneis given,min_ptplus half the extent is chosen.
- space
- Returns:
- phantom
DiscretizedSpaceElement The generated cuboid phantom in
space.
- phantom
Examples
If both
min_ptandmax_ptare omitted, the cuboid lies in the middle of the space domain and extends halfway towards all sides:>>> space = odl.uniform_discr([0, 0], [1, 1], [4, 6]) >>> odl.phantom.cuboid(space) uniform_discr([ 0., 0.], [ 1., 1.], (4, 6)).element( [[ 0., 0., 0., 0., 0., 0.], [ 0., 1., 1., 1., 1., 0.], [ 0., 1., 1., 1., 1., 0.], [ 0., 0., 0., 0., 0., 0.]] )
By specifying the corners, the cuboid can be arbitrarily placed and scaled:
>>> odl.phantom.cuboid(space, [0.25, 0], [0.75, 0.5]) uniform_discr([ 0., 0.], [ 1., 1.], (4, 6)).element( [[ 0., 0., 0., 0., 0., 0.], [ 1., 1., 1., 0., 0., 0.], [ 1., 1., 1., 0., 0., 0.], [ 0., 0., 0., 0., 0., 0.]] )