uniform_grid_fromintv¶
- odl.discr.grid.uniform_grid_fromintv(intv_prod, shape, nodes_on_bdry=True)[source]¶
Return a grid from sampling an interval product uniformly.
The resulting grid will by default include
intv_prod.min_pt
andintv_prod.max_pt
as grid points. If you want a subdivision into equally sized cells with grid points in the middle, useuniform_partition
instead.- Parameters:
- intv_prod
IntervalProd
Set to be sampled.
- shapeint or sequence of ints
Number of nodes per axis. Entries corresponding to degenerate axes must be equal to 1.
- nodes_on_bdrybool or sequence, optional
If a sequence is provided, it determines per axis whether to place the last grid point on the boundary (
True
) or shift it by half a cell size into the interior (False
). In each axis, an entry may consist in a single bool or a 2-tuple of bool. In the latter case, the first tuple entry decides for the left, the second for the right boundary. The length of the sequence must bearray.ndim
.A single boolean is interpreted as a global choice for all boundaries.
- intv_prod
- Returns:
- sampling
RectGrid
Uniform sampling grid for the interval product.
- sampling
See also
uniform_grid
Create a uniform grid directly.
odl.discr.partition.uniform_partition_fromintv
divide interval product into equally sized subsets
Examples
>>> rbox = odl.IntervalProd([-1.5, 2], [-0.5, 3]) >>> grid = uniform_grid_fromintv(rbox, (3, 3)) >>> grid.coord_vectors (array([-1.5, -1. , -0.5]), array([ 2. , 2.5, 3. ]))
To have the nodes in the "middle", use
nodes_on_bdry=False
:>>> grid = uniform_grid_fromintv(rbox, (2, 2), nodes_on_bdry=False) >>> grid.coord_vectors (array([-1.25, -0.75]), array([ 2.25, 2.75]))