Class CellGrid
java.lang.Object
net.imglib2.img.cell.CellGrid
Defines
AbstractCellImg geometry and translates between image, cell,
and grid coordinates.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classclassprivate class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final int[]private final int[]private final CellGrid.CellDimensionsAndSteps[]Pre-computed dimensions[], steps[], and numPixels for each distinct cell type (inner, X border, Y border, XY border, etc).private final CellGrid.CellIntervalsprivate final long[]private final intprivate final intprivate final long[]private final long[] -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintcellDimension(int d) Get the number of pixels in a standard cell in dimensiond.voidcellDimensions(int[] dimensions) Write the number of pixels in a standard cell in each dimension into the provideddimensionsarray.boolean(package private) voidgetCellAndPixelIndices(long index, long[] indices) From a globalindex(inCellIterationOrder, with flat iteration order of the cells), compute the flattened grid index of the cell containingindex, and the flattened pixel index within the cell.(package private) intgetCellCoordinates(long[] position, int[] cellSteps, long[] cellMin, long[] cellMax) Compute all cell-related coordinates/sizes required by CellRandomAccess.intgetCellDimension(int d, long cellGridPosition) From the position of a cell in the grid, compute the size of the cell in dimensiond.int[]Get the number of pixels in a standard cell in each dimension as a new int[].getCellDimensions(long[] cellGridPosition, long[] cellMin) From the position of a cell in the grid, compute the image position of the first pixel of the cell (the offset of the cell in image coordinates) and the dimensions of the cell.voidgetCellDimensions(long[] cellGridPosition, long[] cellMin, int[] cellDims) From the position of a cell in the grid, compute the image position of the first pixel of the cell (the offset of the cell in image coordinates) and the dimensions of the cell.getCellDimensions(long index, long[] cellMin) From the index of a cell in the grid, compute the image position of the first pixel of the cell (the offset of the cell in image coordinates) and the dimensions of the cell.voidgetCellDimensions(long index, long[] cellMin, int[] cellDims) From the index of a cell in the grid, compute the image position of the first pixel of the cell (the offset of the cell in image coordinates) and the dimensions of the cell.longgetCellGridIndexFlat(long[] cellGridPosition) From the position of a cell in the grid, compute the flattened index of the cell in the grid.voidgetCellGridPositionFlat(long index, long[] cellGridPosition) From the flattened index of a cell in the grid, compute the position of a cell in the grid.voidgetCellInterval(long[] cellGridPosition, long[] cellMin, long[] cellMax) longgetCellMin(int d, long cellGridPosition) From the position of a cell in the grid, compute the image position in dimensiondof the first pixel of the cell (the offset of the cell in image coordinates).voidgetCellPosition(long[] position, long[] cellPos) Get the grid position of the cell containing the element atposition.voidgetCellPosition(long[] position, Positionable cellPos) Get the grid position of the cell containing the element atposition.long[]Get the number of cells in each dimension as a new long[].long[]Get the number of pixels in each dimension as a new long[].(package private) voidgetIndicesFromGridPosition(long[] cellGridPosition, long[] indices) From the grid coordinates of a cell, compute the grid index of the cell, and the global index of the first pixel in the cell.(package private) voidgetIndicesFromGridPosition(Localizable cellGridPosition, long[] indices) From the grid coordinates of a cell, compute the grid index of the cell, and the global index of the first pixel in the cell.longgridDimension(int d) Get the number of cells in dimensiond.voidgridDimensions(long[] dimensions) Write the number of cells in each dimension into the provideddimensionsarray.inthashCode()longimgDimension(int d) Get the number of pixels in dimensiond.voidimgDimensions(long[] dimensions) Write the number of pixels in each dimension into the provideddimensionsarray.(package private) longindexOfFirstPixelInCell(long cellGridIndex) Get the global index of the first pixel in the cell with the givencellGridIndex.(package private) longindexOfFirstPixelInCell(long[] cellGridPosition) Get the global index of the first pixel in the cell with the given grid coordinates.(package private) longindexOfFirstPixelInCell(long cellGridIndex, long[] tmp) Get the global index of the first pixel in the cell with the givencellGridIndex.(package private) longindexOfFirstPixelInCell(Localizable cellGridPosition) Get the global index of the first pixel in the cell with the given grid coordinates.inttoString()
-
Field Details
-
n
private final int n -
dimensions
private final long[] dimensions -
steps
private final long[] steps -
cellDimensions
private final int[] cellDimensions -
numCells
private final long[] numCells -
borderSize
private final int[] borderSize -
hashcode
private final int hashcode -
cellDimensionsAndSteps
Pre-computed dimensions[], steps[], and numPixels for each distinct cell type (inner, X border, Y border, XY border, etc). Indexed by flattened cell type index, where cell type is arranges in a2^ngrid with the inner cell at (0,...,0) etc. -
cellIntervals
-
-
Constructor Details
-
CellGrid
public CellGrid(long[] dimensions, int[] cellDimensions) - Parameters:
dimensions- the dimensions of the image (in pixels, not in cells).cellDimensions- the dimensions of a standard cell (in pixels). Cells on the max border of the image may be cut off and have different dimensions.
-
CellGrid
-
-
Method Details
-
numDimensions
public int numDimensions() -
getGridDimensions
public long[] getGridDimensions()Get the number of cells in each dimension as a new long[]. -
gridDimensions
public void gridDimensions(long[] dimensions) Write the number of cells in each dimension into the provideddimensionsarray. -
gridDimension
public long gridDimension(int d) Get the number of cells in dimensiond. -
getImgDimensions
public long[] getImgDimensions()Get the number of pixels in each dimension as a new long[]. Note, that this is the number of pixels in all cells combined, not the number of cells! -
imgDimensions
public void imgDimensions(long[] dimensions) Write the number of pixels in each dimension into the provideddimensionsarray. Note, that this is the number of pixels in all cells combined, not the number of cells! -
imgDimension
public long imgDimension(int d) Get the number of pixels in dimensiond. Note, that this is the number of pixels in all cells combined, not the number of cells! -
getCellDimensions
public int[] getCellDimensions()Get the number of pixels in a standard cell in each dimension as a new int[]. Cells on the borders of the image may be cut off and have different dimensions. -
cellDimensions
public void cellDimensions(int[] dimensions) Write the number of pixels in a standard cell in each dimension into the provideddimensionsarray. Cells on the max border of the image may be cut off and have different dimensions. -
cellDimension
public int cellDimension(int d) Get the number of pixels in a standard cell in dimensiond. Cells on the max border of the image may be cut off and have different dimensions. -
getCellDimensions
public void getCellDimensions(long index, long[] cellMin, int[] cellDims) From the index of a cell in the grid, compute the image position of the first pixel of the cell (the offset of the cell in image coordinates) and the dimensions of the cell. The dimensions will be the standardcellDimensionsunless the cell is at the border of the image in which case it might be truncated.Note, that this method assumes that the cell grid has flat iteration order. It this is not the case, use
getCellDimensions(long[], long[], int[]).- Parameters:
index- flattened grid coordinates of the cell.cellMin- offset of the cell in image coordinates are written here.cellDims- dimensions of the cell are written here.
-
getCellDimensions
public void getCellDimensions(long[] cellGridPosition, long[] cellMin, int[] cellDims) From the position of a cell in the grid, compute the image position of the first pixel of the cell (the offset of the cell in image coordinates) and the dimensions of the cell. The dimensions will be the standardcellDimensionsunless the cell is at the border of the image in which case it might be truncated.- Parameters:
cellGridPosition- grid coordinates of the cell.cellMin- offset of the cell in image coordinates are written here.cellDims- dimensions of the cell are written here.
-
getCellDimensions
From the index of a cell in the grid, compute the image position of the first pixel of the cell (the offset of the cell in image coordinates) and the dimensions of the cell. The dimensions will be the standardcellDimensionsunless the cell is at the border of the image in which case it might be truncated.Note, that this method assumes that the cell grid has flat iteration order. It this is not the case, use
getCellDimensions(long[], long[], int[]).- Parameters:
index- flattened grid coordinates of the cell.cellMin- offset of the cell in image coordinates are written here.- Returns:
- the dimensions of the cell and derived
stridesand number of pixels.
-
getCellDimensions
From the position of a cell in the grid, compute the image position of the first pixel of the cell (the offset of the cell in image coordinates) and the dimensions of the cell. The dimensions will be the standardcellDimensionsunless the cell is at the border of the image in which case it might be truncated.- Parameters:
cellGridPosition- grid coordinates of the cell.cellMin- offset of the cell in image coordinates are written here.- Returns:
- the dimensions of the cell and derived
stridesand number of pixels.
-
getCellInterval
public void getCellInterval(long[] cellGridPosition, long[] cellMin, long[] cellMax) -
getCellDimension
public int getCellDimension(int d, long cellGridPosition) From the position of a cell in the grid, compute the size of the cell in dimensiond. The size will be the standardcellDimensionsunless the cell is at the border of the image in which case it might be truncated.- Parameters:
d- dimension indexcellGridPosition- grid coordinates of the cell in dimensiond.- Returns:
- size of the cell in dimension
d.
-
getCellMin
public long getCellMin(int d, long cellGridPosition) From the position of a cell in the grid, compute the image position in dimensiondof the first pixel of the cell (the offset of the cell in image coordinates).- Parameters:
d- dimension indexcellGridPosition- grid coordinates of the cell in dimensiond.- Returns:
- offset of the cell in dimension
d(in image coordinates).
-
getCellGridPositionFlat
public void getCellGridPositionFlat(long index, long[] cellGridPosition) From the flattened index of a cell in the grid, compute the position of a cell in the grid.- Parameters:
index- flattened grid coordinates of the cell.cellGridPosition- grid coordinates of the cell are written here.
-
getCellGridIndexFlat
public long getCellGridIndexFlat(long[] cellGridPosition) From the position of a cell in the grid, compute the flattened index of the cell in the grid.- Parameters:
cellGridPosition- grid coordinates of the cell- Returns:
- flattened grid coordinates of the cell.
-
getCellPosition
public void getCellPosition(long[] position, long[] cellPos) Get the grid position of the cell containing the element atposition.- Parameters:
position- position of an element in the image.cellPos- is set to the grid position of the cell containing the element.
-
getCellPosition
Get the grid position of the cell containing the element atposition.- Parameters:
position- position of an element in the image.cellPos- is set to the grid position of the cell containing the element.
-
getCellAndPixelIndices
void getCellAndPixelIndices(long index, long[] indices) From a globalindex(inCellIterationOrder, with flat iteration order of the cells), compute the flattened grid index of the cell containingindex, and the flattened pixel index within the cell.- Parameters:
index- pixel index in flat iteration orderindices- array with 2 elements, which will be set to the flattened cell index (indices[0]), and the flattened pixel index within the cell (indices[1]).
-
getIndicesFromGridPosition
void getIndicesFromGridPosition(long[] cellGridPosition, long[] indices) From the grid coordinates of a cell, compute the grid index of the cell, and the global index of the first pixel in the cell.- Parameters:
cellGridPosition- grid coordinates of a cellindices- array with 2 elements, which will be set to the grid index of the cell (indices[0]), and the global pixel index of the first pixel in the cell (indices[1]).
-
getIndicesFromGridPosition
From the grid coordinates of a cell, compute the grid index of the cell, and the global index of the first pixel in the cell.- Parameters:
cellGridPosition- grid coordinates of a cellindices- array with 2 elements, which will be set to the grid index of the cell (indices[0]), and the global pixel index of the first pixel in the cell (indices[1]).
-
indexOfFirstPixelInCell
long indexOfFirstPixelInCell(long cellGridIndex) Get the global index of the first pixel in the cell with the givencellGridIndex.- Parameters:
cellGridIndex- grid index of a cell- Returns:
- global index of the first pixel in the cell
-
indexOfFirstPixelInCell
long indexOfFirstPixelInCell(long cellGridIndex, long[] tmp) Get the global index of the first pixel in the cell with the givencellGridIndex.- Parameters:
cellGridIndex- grid index of a celltmp- temporary array used to store the gird coordinates of the cell- Returns:
- global index of the first pixel in the cell
-
indexOfFirstPixelInCell
long indexOfFirstPixelInCell(long[] cellGridPosition) Get the global index of the first pixel in the cell with the given grid coordinates.- Parameters:
cellGridPosition- grid coordinates of a cell- Returns:
- global index of the first pixel in the cell
-
indexOfFirstPixelInCell
Get the global index of the first pixel in the cell with the given grid coordinates.- Parameters:
cellGridPosition- grid coordinates of a cell- Returns:
- global index of the first pixel in the cell
-
getCellCoordinates
int getCellCoordinates(long[] position, int[] cellSteps, long[] cellMin, long[] cellMax) Compute all cell-related coordinates/sizes required by CellRandomAccess.- Parameters:
position- current image positioncellSteps- allocation steps for cell are written here.cellMin- offset of the cell in image coordinates are written here.cellMax- is set to the max of the cell in image coordinates are written here.- Returns:
- index within the cell.
-
hashCode
-
equals
-
toString
-
cellIntervals
-