nifty.re.multi_grid.grid module#
- class FlatGrid(grid, *, ordering='serial', atLevel=<class 'nifty.re.multi_grid.grid.FlatGridAtLevel'>)[source]#
Bases:
GridSame as
Gridbut with a single global integer index for each voxel.- __init__(grid, *, ordering='serial', atLevel=<class 'nifty.re.multi_grid.grid.FlatGridAtLevel'>)[source]#
- ordering: str#
- class FlatGridAtLevel(grid_at_level, *, all_shapes, all_splits, ordering='nest')[source]#
Bases:
GridAtLevelSame as
GridAtLevelbut with a single global integer index for each voxel.- all_shapes: tuple[NDArray[int64]]#
- all_splits: tuple[NDArray[int64]]#
- grid_at_level: GridAtLevel#
- ordering: str#
- property raw_grids#
- class Grid(*, shape0, splits, atLevel=<class 'nifty.re.multi_grid.grid.GridAtLevel'>)[source]#
Bases:
objectDense grid with periodic boundary conditions.
- atLevel: Callable#
- property depth#
- shape0: NDArray[int64]#
- splits: tuple[NDArray[int64]]#
- class GridAtLevel(shape, splits=None, parent_splits=None)[source]#
Bases:
object- property ndim#
- parent_splits: NDArray[int64] | None#
- property raw_grids#
- shape: NDArray[int64]#
- property size#
- splits: NDArray[int64] | None#
- class MGrid(*grids, atLevel=<class 'nifty.re.multi_grid.grid.MGridAtLevel'>)[source]#
Bases:
GridMulti-dimensional meshgrid product of multiple grids.
- property depth#
- property ngrids#
- class MGridAtLevel(*grids)[source]#
Bases:
GridAtLevelMulti-dimensional meshgrid product of multiple grids.
- grids: tuple[GridAtLevel]#
- property ngrids#
- property parent_splits#
- property raw_grids#
- property shape#
- property splits#
- class OpenGrid(*, shape0, splits, padding, atLevel=<class 'nifty.re.multi_grid.grid.OpenGridAtLevel'>)[source]#
Bases:
GridDense grid with open boundary conditions.
At each level the grid has all required indices for a full refinement/convolution even for those that are not split. However, indices used for padding don’t have children. The coordinates for the refinement/convolution span the full space including any padding on all previous layers.
- __init__(*, shape0, splits, padding, atLevel=<class 'nifty.re.multi_grid.grid.OpenGridAtLevel'>)[source]#
- padding: tuple[NDArray[int64]]#
- class OpenGridAtLevel(shape, splits=None, parent_splits=None, *, padding=None, parent_padding=None, shifts=None, level=None, all_splits=None)[source]#
Bases:
GridAtLevel- __init__(shape, splits=None, parent_splits=None, *, padding=None, parent_padding=None, shifts=None, level=None, all_splits=None)[source]#
- padding: NDArray[int64] | None#
- parent_padding: NDArray[int64] | None#
- shifts: NDArray[int64] | None#
- class SparseGrid(grid, mapping, *, atLevel=<class 'nifty.re.multi_grid.grid.SparseGridAtLevel'>, _check_mapping=True, _debug=False)[source]#
Bases:
FlatGridSame as
FlatGridbut keeping track of the indices that are actually being modeled. This class is especially convenient for open boundary conditions but works for arbitrarily sparsely resolved grids.- __init__(grid, mapping, *, atLevel=<class 'nifty.re.multi_grid.grid.SparseGridAtLevel'>, _check_mapping=True, _debug=False)[source]#
- mapping: tuple[Array]#
- class SparseGridAtLevel(grid_at_level, all_shapes, all_splits, mapping, parent_mapping=None, children_mapping=None, _debug=False)[source]#
Bases:
FlatGridAtLevel- __init__(grid_at_level, all_shapes, all_splits, mapping, parent_mapping=None, children_mapping=None, _debug=False)[source]#
- children_mapping: Array | None = None#
- mapping: Array#
- parent_mapping: Array | None = None#