Package ome.io.nio
Interface PixelBuffer
-
- All Superinterfaces:
java.lang.AutoCloseable,java.io.Closeable
- All Known Implementing Classes:
BfPixelBuffer,BfPyramidPixelBuffer,InMemoryPlanarPixelBuffer,RomioPixelBuffer
public interface PixelBuffer extends java.io.CloseableThis interface declares the I/O responsibilities of a buffer, file or otherwise, that contains a 5-dimensional Pixel array (XYZCT).- Since:
- 3.0
- See Also:
PixelData
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description byte[]calculateMessageDigest()Calculates a SHA-1 message digest for the entire pixel buffer.voidcheckBounds(java.lang.Integer x, java.lang.Integer y, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t)Checks to ensure that no one particular axis has an offset out of bounds.voidclose()Closes the buffer, cleaning up file state.intgetByteWidth()Returns the byte width for the pixel buffer.ome.util.PixelDatagetCol(java.lang.Integer x, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t)Retrieves a particular column from this pixel buffer.byte[]getColDirect(java.lang.Integer x, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t, byte[] buffer)Retrieves a particular column from this pixel buffer.java.lang.IntegergetColSize()Retrieves the in memory size of a column of pixels in this pixel buffer.ome.util.PixelDatagetHypercube(java.util.List<java.lang.Integer> offset, java.util.List<java.lang.Integer> size, java.util.List<java.lang.Integer> step)Retrieves a hypercube from this pixel buffer.byte[]getHypercubeDirect(java.util.List<java.lang.Integer> offset, java.util.List<java.lang.Integer> size, java.util.List<java.lang.Integer> step, byte[] buffer)Retrieves a hypercube from the given pixels directly.java.lang.LonggetHypercubeSize(java.util.List<java.lang.Integer> offset, java.util.List<java.lang.Integer> size, java.util.List<java.lang.Integer> step)Retrieves a the size of a hypercube from this pixel buffer.longgetId()Retrieves the identifier of this pixel bufferjava.lang.StringgetPath()Retrieves the full path to this pixel buffer on diskome.util.PixelDatagetPlane(java.lang.Integer z, java.lang.Integer c, java.lang.Integer t)Retrieves a particular 2D image plane from this pixel buffer.byte[]getPlaneDirect(java.lang.Integer z, java.lang.Integer c, java.lang.Integer t, byte[] buffer)Retrieves a particular 2D image plane from this pixel buffer.java.lang.LonggetPlaneOffset(java.lang.Integer z, java.lang.Integer c, java.lang.Integer t)Retrieves the offset for a particular 2D image plane in this pixel buffer.ome.util.PixelDatagetPlaneRegion(java.lang.Integer x, java.lang.Integer y, java.lang.Integer width, java.lang.Integer height, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t, java.lang.Integer stride)Retrieves a particular region of a 2D image plane from this pixel buffer.byte[]getPlaneRegionDirect(java.lang.Integer z, java.lang.Integer c, java.lang.Integer t, java.lang.Integer count, java.lang.Integer offset, byte[] buffer)Retrieves a region from a given plane directly.java.lang.LonggetPlaneSize()Retrieves the in memory size of a 2D image plane in this pixel buffer.ome.util.PixelDatagetRegion(java.lang.Integer size, java.lang.Long offset)Retrieves a region from this pixel buffer.byte[]getRegionDirect(java.lang.Integer size, java.lang.Long offset, byte[] buffer)Retrieves a region from this pixel buffer directly.java.util.List<java.util.List<java.lang.Integer>>getResolutionDescriptions()Return a list of lists each of which has sizeX, sizeY for the resolution level matching the index of the outer index.intgetResolutionLevel()Retrieves the active resolution level.intgetResolutionLevels()Retrieves the number of resolution levels that the backing pixels pyramid contains.ome.util.PixelDatagetRow(java.lang.Integer y, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t)Retrieves a particular row or scanline from this pixel buffer.byte[]getRowDirect(java.lang.Integer y, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t, byte[] buffer)Retrieves a particular row or scanline from this pixel buffer.java.lang.LonggetRowOffset(java.lang.Integer y, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t)Retrieves the offset for a particular row or scanline in this pixel buffer.java.lang.IntegergetRowSize()Retrieves the in memory size of a row or scanline of pixels in this pixel buffer.intgetSizeC()Retrieves the size in C of this pixel bufferintgetSizeT()Retrieves the size in T of this pixel bufferintgetSizeX()Retrieves the size in X of this pixel bufferintgetSizeY()Retrieves the size in Y of this pixel bufferintgetSizeZ()Retrieves the size in Z of this pixel bufferome.util.PixelDatagetStack(java.lang.Integer c, java.lang.Integer t)Retrieves the the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel buffer.byte[]getStackDirect(java.lang.Integer c, java.lang.Integer t, byte[] buffer)Retrieves the the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel buffer.java.lang.LonggetStackOffset(java.lang.Integer c, java.lang.Integer t)Retrieves the offset for the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel buffer.java.lang.LonggetStackSize()Retrieves the in memory size of the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel buffer.ome.util.PixelDatagetTile(java.lang.Integer z, java.lang.Integer c, java.lang.Integer t, java.lang.Integer x, java.lang.Integer y, java.lang.Integer w, java.lang.Integer h)Retrieves a tile from this pixel buffer.byte[]getTileDirect(java.lang.Integer z, java.lang.Integer c, java.lang.Integer t, java.lang.Integer x, java.lang.Integer y, java.lang.Integer w, java.lang.Integer h, byte[] buffer)Retrieves a tile from this pixel buffer.java.awt.DimensiongetTileSize()Retrieves the tile size for the pixel store.ome.util.PixelDatagetTimepoint(java.lang.Integer t)Retrieves the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.byte[]getTimepointDirect(java.lang.Integer t, byte[] buffer)Retrieves the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.java.lang.LonggetTimepointOffset(java.lang.Integer t)Retrieves the in memory size of the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.java.lang.LonggetTimepointSize()Retrieves the in memory size of the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.java.lang.LonggetTotalSize()Retrieves the in memory size of the entire pixel buffer.booleanisFloat()Returns whether or not the pixel buffer has floating point pixels.booleanisSigned()Returns whether or not the pixel buffer has signed pixels.voidsetPlane(byte[] buffer, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t)Sets a particular 2D image plane in this pixel buffer.voidsetPlane(java.nio.ByteBuffer buffer, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t)Sets a particular 2D image plane in this pixel buffer.voidsetRegion(java.lang.Integer size, java.lang.Long offset, byte[] buffer)Sets a region in this pixel buffer.voidsetRegion(java.lang.Integer size, java.lang.Long offset, java.nio.ByteBuffer buffer)Sets a region in this pixel buffer.voidsetResolutionLevel(int resolutionLevel)Sets the active resolution level.voidsetRow(java.nio.ByteBuffer buffer, java.lang.Integer y, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t)Sets a particular row or scanline in this pixel buffer.voidsetStack(byte[] buffer, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t)Sets the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel buffer.voidsetStack(java.nio.ByteBuffer buffer, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t)Sets the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel buffer.voidsetTile(byte[] buffer, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t, java.lang.Integer x, java.lang.Integer y, java.lang.Integer w, java.lang.Integer h)Sets a tile in this pixel buffer.voidsetTimepoint(byte[] buffer, java.lang.Integer t)Sets the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.voidsetTimepoint(java.nio.ByteBuffer buffer, java.lang.Integer t)Sets the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.
-
-
-
Method Detail
-
close
void close() throws java.io.IOExceptionCloses the buffer, cleaning up file state.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Throws:
java.io.IOException- if an I/O error occurs.
-
checkBounds
void checkBounds(java.lang.Integer x, java.lang.Integer y, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t) throws DimensionsOutOfBoundsExceptionChecks to ensure that no one particular axis has an offset out of bounds.nullmay be passed as the argument to any one of the offsets to ignore it for the purposes of bounds checking.- Parameters:
x- offset across the X-axis of the pixel buffer to check.y- offset across the Y-axis of the pixel buffer to check.z- offset across the Z-axis of the pixel buffer to check.c- offset across the C-axis of the pixel buffer to check.t- offset across the T-axis of the pixel buffer to check.- Throws:
DimensionsOutOfBoundsException- ify,z,cortis out of bounds.
-
getPlaneSize
java.lang.Long getPlaneSize()
Retrieves the in memory size of a 2D image plane in this pixel buffer.- Returns:
- 2D image plane size in bytes (sizeX*sizeY*ByteWidth).
-
getRowSize
java.lang.Integer getRowSize()
Retrieves the in memory size of a row or scanline of pixels in this pixel buffer.- Returns:
- row or scanline size in bytes (sizeX*ByteWidth)
-
getColSize
java.lang.Integer getColSize()
Retrieves the in memory size of a column of pixels in this pixel buffer.- Returns:
- column size in bytes (sizeY*ByteWidth)
-
getStackSize
java.lang.Long getStackSize()
Retrieves the in memory size of the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel buffer.- Returns:
- stack size in bytes (sizeX*sizeY*sizeZ*ByteWidth).
-
getTimepointSize
java.lang.Long getTimepointSize()
Retrieves the in memory size of the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.- Returns:
- timepoint size in bytes (sizeX*sizeY*sizeZ*sizeC*ByteWidth).
-
getTotalSize
java.lang.Long getTotalSize()
Retrieves the in memory size of the entire pixel buffer.- Returns:
- total size of the pixel size in bytes (sizeX*sizeY*sizeZ*sizeC*sizeT*ByteWidth).
-
getHypercubeSize
java.lang.Long getHypercubeSize(java.util.List<java.lang.Integer> offset, java.util.List<java.lang.Integer> size, java.util.List<java.lang.Integer> step) throws DimensionsOutOfBoundsExceptionRetrieves a the size of a hypercube from this pixel buffer.- Parameters:
offset- The offset of each dimension of the pixel buffer.size- The number of pixels to retrieve along each dimension .step- The step size across each dimension .- Returns:
- the size.
- Throws:
java.io.IOException- if there is a problem reading from the pixel buffer.DimensionsOutOfBoundsException
-
getRowOffset
java.lang.Long getRowOffset(java.lang.Integer y, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t) throws DimensionsOutOfBoundsExceptionRetrieves the offset for a particular row or scanline in this pixel buffer.- Parameters:
y- offset across the Y-axis of the pixel buffer.z- offset across the Z-axis of the pixel buffer.c- offset across the C-axis of the pixel buffer.t- offset across the T-axis of the pixel buffer.- Returns:
- offset of the row or scaline.
- Throws:
DimensionsOutOfBoundsException- if offsets are out of bounds after checking withcheckBounds(Integer, Integer, Integer, Integer, Integer).
-
getPlaneOffset
java.lang.Long getPlaneOffset(java.lang.Integer z, java.lang.Integer c, java.lang.Integer t) throws DimensionsOutOfBoundsExceptionRetrieves the offset for a particular 2D image plane in this pixel buffer.- Parameters:
z- offset across the Z-axis of the pixel buffer.c- offset across the C-axis of the pixel buffer.t- offset across the T-axis of the pixel buffer.- Returns:
- offset of the 2D image plane.
- Throws:
DimensionsOutOfBoundsException- if offsets are out of bounds after checking withcheckBounds(Integer, Integer, Integer, Integer, Integer).
-
getStackOffset
java.lang.Long getStackOffset(java.lang.Integer c, java.lang.Integer t) throws DimensionsOutOfBoundsExceptionRetrieves the offset for the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel buffer.- Parameters:
c- offset across the C-axis of the pixel buffer.t- offset across the T-axis of the pixel buffer.- Returns:
- offset of the stack.
- Throws:
DimensionsOutOfBoundsException- if offsets are out of bounds after checking withcheckBounds(Integer, Integer, Integer, Integer, Integer).
-
getTimepointOffset
java.lang.Long getTimepointOffset(java.lang.Integer t) throws DimensionsOutOfBoundsExceptionRetrieves the in memory size of the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.- Parameters:
t- offset across the T-axis of the pixel buffer.- Returns:
- offset of the timepoint.
- Throws:
DimensionsOutOfBoundsException- if offsets are out of bounds after checking withcheckBounds(Integer, Integer, Integer, Integer, Integer).
-
getHypercube
ome.util.PixelData getHypercube(java.util.List<java.lang.Integer> offset, java.util.List<java.lang.Integer> size, java.util.List<java.lang.Integer> step) throws java.io.IOException, DimensionsOutOfBoundsExceptionRetrieves a hypercube from this pixel buffer.- Parameters:
offset- The offset of each dimension of the pixel buffer.size- The number of pixels to retrieve along each dimension .step- The step size across each dimension .- Returns:
- buffer containing the data.
- Throws:
java.io.IOException- if there is a problem reading from the pixel buffer.DimensionsOutOfBoundsException
-
getHypercubeDirect
byte[] getHypercubeDirect(java.util.List<java.lang.Integer> offset, java.util.List<java.lang.Integer> size, java.util.List<java.lang.Integer> step, byte[] buffer) throws java.io.IOException, DimensionsOutOfBoundsExceptionRetrieves a hypercube from the given pixels directly.- Parameters:
offset- The offset of each dimension of the pixel buffer.size- The number of pixels to retrieve along each dimension .step- The step size across each dimension .buffer- pre-allocated buffer,countin size.- Returns:
- buffer containing the data.
- Throws:
java.io.IOException- if there is a problem reading from the pixel buffer.DimensionsOutOfBoundsException
-
getPlaneRegionDirect
byte[] getPlaneRegionDirect(java.lang.Integer z, java.lang.Integer c, java.lang.Integer t, java.lang.Integer count, java.lang.Integer offset, byte[] buffer) throws java.io.IOException, DimensionsOutOfBoundsExceptionRetrieves a region from a given plane directly.- Parameters:
z- offset across the Z-axis of the pixel buffer.c- offset across the C-axis of the pixel buffer.t- offset across the T-axis of the pixel buffer.count- the number of pixels to retrieve.offset- the offset at which to retrievecountpixels.buffer- pre-allocated buffer,countin size.- Returns:
- buffer containing the data which comprises the region of the given 2D image plane. It is guaranteed that this buffer will have been byte swapped.
- Throws:
java.io.IOException- if there is a problem reading from the pixel buffer.DimensionsOutOfBoundsException- See Also:
getRegionDirect(Integer, Long, byte[])
-
getTile
ome.util.PixelData getTile(java.lang.Integer z, java.lang.Integer c, java.lang.Integer t, java.lang.Integer x, java.lang.Integer y, java.lang.Integer w, java.lang.Integer h) throws java.io.IOExceptionRetrieves a tile from this pixel buffer.- Parameters:
z- offset across the Z-axis of the pixel buffer.c- offset across the C-axis of the pixel buffer.t- offset across the T-axis of the pixel buffer.x- Top left corner of the tile, X offset.y- Top left corner of the tile, Y offset.w- Width of the tile.h- Height of the tile.- Returns:
- buffer containing the data which comprises the region of the given 2D image plane. It is guaranteed that this buffer will have been byte swapped.
- Throws:
java.io.IOException- if there is a problem reading from the pixel buffer.- See Also:
getTileDirect(Integer, Integer, Integer, Integer, Integer, Integer, Integer, byte[])
-
getTileDirect
byte[] getTileDirect(java.lang.Integer z, java.lang.Integer c, java.lang.Integer t, java.lang.Integer x, java.lang.Integer y, java.lang.Integer w, java.lang.Integer h, byte[] buffer) throws java.io.IOExceptionRetrieves a tile from this pixel buffer.- Parameters:
z- offset across the Z-axis of the pixel buffer.c- offset across the C-axis of the pixel buffer.t- offset across the T-axis of the pixel buffer.x- Top left corner of the tile, X offset.y- Top left corner of the tile, Y offset.w- Width of the tile.h- Height of the tile.buffer- Pre-allocated buffer of the tile's size.- Returns:
buffercontaining the data which comprises this region. It is guaranteed that this buffer will have been byte swapped. The buffer is essentially directly from disk.- Throws:
java.io.IOException- if there is a problem reading from the pixel buffer.- See Also:
getTile(Integer, Integer, Integer, Integer, Integer, Integer, Integer)
-
getRegion
ome.util.PixelData getRegion(java.lang.Integer size, java.lang.Long offset) throws java.io.IOExceptionRetrieves a region from this pixel buffer.- Parameters:
size- byte width of the region to retrieve.offset- offset within the pixel buffer.- Returns:
- buffer containing the data. It is guaranteed that this buffer
will have its
orderset correctly but not that the backing buffer will have been byte swapped. The buffer is essentially directly from disk. - Throws:
java.io.IOException- if there is a problem reading from the pixel buffer.- See Also:
getRegionDirect(Integer, Long, byte[])
-
getRegionDirect
byte[] getRegionDirect(java.lang.Integer size, java.lang.Long offset, byte[] buffer) throws java.io.IOExceptionRetrieves a region from this pixel buffer directly.- Parameters:
size- byte width of the region to retrieve.offset- offset within the pixel buffer.buffer- pre-allocated buffer of the row's size.- Returns:
buffercontaining the data which comprises this region. It is guaranteed that this buffer will have been byte swapped. The buffer is essentially directly from disk.- Throws:
java.io.IOException- if there is a problem reading from the pixel buffer.- See Also:
getRegion(Integer, Long)
-
getRow
ome.util.PixelData getRow(java.lang.Integer y, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsExceptionRetrieves a particular row or scanline from this pixel buffer.- Parameters:
y- offset across the Y-axis of the pixel buffer.z- offset across the Z-axis of the pixel buffer.c- offset across the C-axis of the pixel buffer.t- offset across the T-axis of the pixel buffer.- Returns:
- buffer containing the data which comprises this row or scanline.
It is guaranteed that this buffer will have its
orderset correctly but not that the backing buffer will have been byte swapped. - Throws:
java.io.IOException- if there is a problem reading from the pixel buffer.DimensionsOutOfBoundsException- if offsets are out of bounds after checking withcheckBounds(Integer, Integer, Integer, Integer, Integer).- See Also:
getRowDirect(Integer, Integer, Integer, Integer, byte[])
-
getCol
ome.util.PixelData getCol(java.lang.Integer x, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsExceptionRetrieves a particular column from this pixel buffer.- Parameters:
x- offset across the X-axis of the pixel buffer.z- offset across the Z-axis of the pixel buffer.c- offset across the C-axis of the pixel buffer.t- offset across the T-axis of the pixel buffer.- Returns:
- buffer containing the data which comprises this column. It is
guaranteed that this buffer will have its
orderset correctly but not that the backing buffer will have been byte swapped. - Throws:
java.io.IOException- if there is a problem reading from the pixel buffer.DimensionsOutOfBoundsException- if offsets are out of bounds after checking withcheckBounds(Integer, Integer, Integer, Integer, Integer).- See Also:
getColDirect(Integer, Integer, Integer, Integer, byte[])
-
getRowDirect
byte[] getRowDirect(java.lang.Integer y, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t, byte[] buffer) throws java.io.IOException, DimensionsOutOfBoundsExceptionRetrieves a particular row or scanline from this pixel buffer.- Parameters:
y- offset across the Y-axis of the pixel buffer.z- offset across the Z-axis of the pixel buffer.c- offset across the C-axis of the pixel buffer.t- offset across the T-axis of the pixel buffer.buffer- pre-allocated buffer of the row's size.- Returns:
buffercontaining the data which comprises this row or scanline. It is guaranteed that this buffer will have been byte swapped.- Throws:
java.io.IOException- if there is a problem reading from the pixel buffer.DimensionsOutOfBoundsException- if offsets are out of bounds after checking withcheckBounds(Integer, Integer, Integer, Integer, Integer).- See Also:
getRow(Integer, Integer, Integer, Integer)
-
getColDirect
byte[] getColDirect(java.lang.Integer x, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t, byte[] buffer) throws java.io.IOException, DimensionsOutOfBoundsExceptionRetrieves a particular column from this pixel buffer.- Parameters:
x- offset across the X-axis of the pixel buffer.z- offset across the Z-axis of the pixel buffer.c- offset across the C-axis of the pixel buffer.t- offset across the T-axis of the pixel buffer.buffer- pre-allocated buffer of the row's size.- Returns:
buffercontaining the data which comprises this column. It is guaranteed that this buffer will have been byte swapped.- Throws:
java.io.IOException- if there is a problem reading from the pixel buffer.DimensionsOutOfBoundsException- if offsets are out of bounds after checking withcheckBounds(Integer, Integer, Integer, Integer, Integer).- See Also:
getCol(Integer, Integer, Integer, Integer)
-
getPlane
ome.util.PixelData getPlane(java.lang.Integer z, java.lang.Integer c, java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsExceptionRetrieves a particular 2D image plane from this pixel buffer.- Parameters:
z- offset across the Z-axis of the pixel buffer.c- offset across the C-axis of the pixel buffer.t- offset across the T-axis of the pixel buffer.- Returns:
- buffer containing the data which comprises this 2D image plane.
It is guaranteed that this buffer will have its
orderset correctly but not that the backing buffer will have been byte swapped. - Throws:
java.io.IOException- if there is a problem reading from the pixel buffer.DimensionsOutOfBoundsException- if offsets are out of bounds after checking withcheckBounds(Integer, Integer, Integer, Integer, Integer).
-
getPlaneRegion
ome.util.PixelData getPlaneRegion(java.lang.Integer x, java.lang.Integer y, java.lang.Integer width, java.lang.Integer height, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t, java.lang.Integer stride) throws java.io.IOException, DimensionsOutOfBoundsExceptionRetrieves a particular region of a 2D image plane from this pixel buffer.- Parameters:
x- offset across the X-axis of the pixel buffer.y- offset across the Y-axis of the pixel buffer.width- The number of pixels to retrieve along the X-axis.height- The number of pixels to retrieve along the Y-axis.z- offset across the Z-axis of the pixel buffer.c- offset across the C-axis of the pixel buffer.t- offset across the T-axis of the pixel buffer.stride- The step size.- Returns:
- buffer containing the data which comprises this 2D image plane.
It is guaranteed that this buffer will have its
orderset correctly but not that the backing buffer will have been byte swapped. - Throws:
java.io.IOException- if there is a problem reading from the pixel buffer.DimensionsOutOfBoundsException- if offsets are out of bounds after checking withcheckBounds(Integer, Integer, Integer, Integer, Integer).
-
getPlaneDirect
byte[] getPlaneDirect(java.lang.Integer z, java.lang.Integer c, java.lang.Integer t, byte[] buffer) throws java.io.IOException, DimensionsOutOfBoundsExceptionRetrieves a particular 2D image plane from this pixel buffer.- Parameters:
z- offset across the Z-axis of the pixel buffer.c- offset across the C-axis of the pixel buffer.t- offset across the T-axis of the pixel buffer.buffer- pre-allocated buffer of the plane's size.- Returns:
buffercontaining the data which comprises this 2D image plane. It is guaranteed that this buffer will have been byte swapped.- Throws:
java.io.IOException- if there is a problem reading from the pixel buffer.DimensionsOutOfBoundsException- if offsets are out of bounds after checking withcheckBounds(Integer, Integer, Integer, Integer, Integer).
-
getStack
ome.util.PixelData getStack(java.lang.Integer c, java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsExceptionRetrieves the the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel buffer.- Parameters:
c- offset across the C-axis of the pixel buffer.t- offset across the T-axis of the pixel buffer.- Returns:
- buffer containing the data which comprises this stack. It is
guaranteed that this buffer will have its
orderset correctly but not that the backing buffer will have been byte swapped. - Throws:
java.io.IOException- if there is a problem reading from the pixel buffer.DimensionsOutOfBoundsException- if offsets are out of bounds after checking withcheckBounds(Integer, Integer, Integer, Integer, Integer).
-
getStackDirect
byte[] getStackDirect(java.lang.Integer c, java.lang.Integer t, byte[] buffer) throws java.io.IOException, DimensionsOutOfBoundsExceptionRetrieves the the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel buffer.- Parameters:
c- offset across the C-axis of the pixel buffer.t- offset across the T-axis of the pixel buffer.buffer- pre-allocated buffer of the stack's size.- Returns:
buffercontaining the data which comprises this stack. It is guaranteed that this buffer will have been byte swapped.- Throws:
java.io.IOException- if there is a problem reading from the pixel buffer.DimensionsOutOfBoundsException- if offsets are out of bounds after checking withcheckBounds(Integer, Integer, Integer, Integer, Integer).
-
getTimepoint
ome.util.PixelData getTimepoint(java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsExceptionRetrieves the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.- Parameters:
t- offset across the T-axis of the pixel buffer.- Returns:
- buffer containing the data which comprises this timepoint. It is
guaranteed that this buffer will have its
orderset correctly but not that the backing buffer will have been byte swapped. - Throws:
java.io.IOException- if there is a problem reading from the pixel buffer.DimensionsOutOfBoundsException- if offsets are out of bounds after checking withcheckBounds(Integer, Integer, Integer, Integer, Integer).
-
getTimepointDirect
byte[] getTimepointDirect(java.lang.Integer t, byte[] buffer) throws java.io.IOException, DimensionsOutOfBoundsExceptionRetrieves the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.- Parameters:
t- offset across the T-axis of the pixel buffer.buffer- pre-allocated buffer of the timepoint's size.- Returns:
buffercontaining the data which comprises this timepoint. It is guaranteed that this buffer will have been byte swapped.- Throws:
java.io.IOException- if there is a problem reading from the pixel buffer.DimensionsOutOfBoundsException- if offsets are out of bounds after checking withcheckBounds(Integer, Integer, Integer, Integer, Integer).
-
setTile
void setTile(byte[] buffer, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t, java.lang.Integer x, java.lang.Integer y, java.lang.Integer w, java.lang.Integer h) throws java.io.IOException, java.nio.BufferOverflowExceptionSets a tile in this pixel buffer.- Parameters:
buffer- A byte array of the data.z- offset across the Z-axis of the pixel buffer.c- offset across the C-axis of the pixel buffer.t- offset across the T-axis of the pixel buffer.x- Top left corner of the tile, X offset.y- Top left corner of the tile, Y offset.w- Width of the tile.h- Height of the tile.- Throws:
java.io.IOException- if there is a problem writing to the pixel buffer.java.nio.BufferOverflowException- if an attempt is made to write off the end of the file.
-
setRegion
void setRegion(java.lang.Integer size, java.lang.Long offset, byte[] buffer) throws java.io.IOException, java.nio.BufferOverflowExceptionSets a region in this pixel buffer.- Parameters:
size- byte width of the region to set.offset- offset within the pixel buffer.buffer- a byte array of the data.- Throws:
java.io.IOException- if there is a problem writing to the pixel buffer.java.nio.BufferOverflowException- ifbuffer.length > size.
-
setRegion
void setRegion(java.lang.Integer size, java.lang.Long offset, java.nio.ByteBuffer buffer) throws java.io.IOException, java.nio.BufferOverflowExceptionSets a region in this pixel buffer.- Parameters:
size- byte width of the region to set.offset- offset within the pixel buffer.buffer- a byte buffer of the data.- Throws:
java.io.IOException- if there is a problem writing to the pixel buffer.java.nio.BufferOverflowException- ifbuffer.length > size.
-
setRow
void setRow(java.nio.ByteBuffer buffer, java.lang.Integer y, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsException, java.nio.BufferOverflowExceptionSets a particular row or scanline in this pixel buffer.- Parameters:
buffer- a byte buffer of the data comprising this row or scanline.y- offset across the Y-axis of the pixel buffer.z- offset across the Z-axis of the pixel buffer.c- offset across the C-axis of the pixel buffer.t- offset across the T-axis of the pixel buffer.- Throws:
java.io.IOException- if there is a problem reading from the pixel buffer.DimensionsOutOfBoundsException- if offsets are out of bounds after checking withcheckBounds(Integer, Integer, Integer, Integer, Integer).java.nio.BufferOverflowException- ifbuffer.length > {@link #getRowSize()}.
-
setPlane
void setPlane(java.nio.ByteBuffer buffer, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsException, java.nio.BufferOverflowExceptionSets a particular 2D image plane in this pixel buffer.- Parameters:
buffer- a byte array of the data comprising this 2D image plane.z- offset across the Z-axis of the pixel buffer.c- offset across the C-axis of the pixel buffer.t- offset across the T-axis of the pixel buffer.- Throws:
java.io.IOException- if there is a problem writing to the pixel buffer.DimensionsOutOfBoundsException- if offsets are out of bounds after checking withcheckBounds(Integer, Integer, Integer, Integer, Integer).java.nio.BufferOverflowException- ifbuffer.length > {@link #getPlaneSize()}.
-
setPlane
void setPlane(byte[] buffer, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsException, java.nio.BufferOverflowExceptionSets a particular 2D image plane in this pixel buffer.- Parameters:
buffer- a byte buffer of the data comprising this 2D image plane.z- offset across the Z-axis of the pixel buffer.c- offset across the C-axis of the pixel buffer.t- offset across the T-axis of the pixel buffer.- Throws:
java.io.IOException- if there is a problem writing to the pixel buffer.DimensionsOutOfBoundsException- if offsets are out of bounds after checking withcheckBounds(Integer, Integer, Integer, Integer, Integer).java.nio.BufferOverflowException- ifbuffer.length > {@link #getPlaneSize()}.
-
setStack
void setStack(java.nio.ByteBuffer buffer, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsException, java.nio.BufferOverflowExceptionSets the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel buffer.- Parameters:
buffer- a byte buffer of the data comprising this stack.c- offset across the C-axis of the pixel buffer.t- offset across the T-axis of the pixel buffer.- Throws:
java.io.IOException- if there is a problem writing to the pixel buffer.DimensionsOutOfBoundsException- if offsets are out of bounds after checking withcheckBounds(Integer, Integer, Integer, Integer, Integer).java.nio.BufferOverflowException- ifbuffer.length > {@link #getStackSize()}.
-
setStack
void setStack(byte[] buffer, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsException, java.nio.BufferOverflowExceptionSets the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel buffer.- Parameters:
buffer- a byte array of the data comprising this stack.z- offset across the Z-axis of the pixel buffer.c- offset across the C-axis of the pixel buffer.t- offset across the T-axis of the pixel buffer.- Throws:
java.io.IOException- if there is a problem writing to the pixel buffer.DimensionsOutOfBoundsException- if offsets are out of bounds after checking withcheckBounds(Integer, Integer, Integer, Integer, Integer).java.nio.BufferOverflowException- ifbuffer.length > {@link #getStackSize()}.
-
setTimepoint
void setTimepoint(java.nio.ByteBuffer buffer, java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsException, java.nio.BufferOverflowExceptionSets the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.- Parameters:
buffer- a byte buffer of the data comprising this timepoint.t- offset across the T-axis of the pixel buffer.- Throws:
java.io.IOException- if there is a problem writing to the pixel buffer.DimensionsOutOfBoundsException- if offsets are out of bounds after checking withcheckBounds(Integer, Integer, Integer, Integer, Integer).java.nio.BufferOverflowException- ifbuffer.length > {@link #getTimepointSize()}.
-
setTimepoint
void setTimepoint(byte[] buffer, java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsException, java.nio.BufferOverflowExceptionSets the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.- Parameters:
buffer- a byte array of the data comprising this timepoint.t- offset across the T-axis of the pixel buffer.- Throws:
java.io.IOException- if there is a problem writing to the pixel buffer.DimensionsOutOfBoundsException- if offsets are out of bounds after checking withcheckBounds(Integer, Integer, Integer, Integer, Integer).java.nio.BufferOverflowException- ifbuffer.length > {@link #getTimepointSize()}.
-
calculateMessageDigest
byte[] calculateMessageDigest() throws java.io.IOExceptionCalculates a SHA-1 message digest for the entire pixel buffer.- Returns:
- byte array containing the message digest.
- Throws:
java.io.IOException- if there is a problem reading from the pixel buffer.
-
getByteWidth
int getByteWidth()
Returns the byte width for the pixel buffer.- Returns:
- See above.
-
isSigned
boolean isSigned()
Returns whether or not the pixel buffer has signed pixels.- Returns:
- See above.
-
isFloat
boolean isFloat()
Returns whether or not the pixel buffer has floating point pixels.- Returns:
trueif the pixel buffer as floating point,falseotherwise
-
getPath
java.lang.String getPath()
Retrieves the full path to this pixel buffer on disk- Returns:
- fully qualified path.
-
getId
long getId()
Retrieves the identifier of this pixel buffer
-
getSizeX
int getSizeX()
Retrieves the size in X of this pixel buffer
-
getSizeY
int getSizeY()
Retrieves the size in Y of this pixel buffer
-
getSizeZ
int getSizeZ()
Retrieves the size in Z of this pixel buffer
-
getSizeC
int getSizeC()
Retrieves the size in C of this pixel buffer
-
getSizeT
int getSizeT()
Retrieves the size in T of this pixel buffer
-
getResolutionLevels
int getResolutionLevels()
Retrieves the number of resolution levels that the backing pixels pyramid contains.- Returns:
- The number of resolution levels. This value does not necessarily indicate either the presence or absence of a pixels pyramid.
-
getResolutionLevel
int getResolutionLevel()
Retrieves the active resolution level.- Returns:
- The active resolution level. The level will be non-negative and less
than
getResolutionLevels(). Resolution level 0 is the smallest resolution and resolution levelgetResolutionLevels() - 1is the largest resolution. This is the inverse of how Bio-Formats indexes resolutions.
-
setResolutionLevel
void setResolutionLevel(int resolutionLevel)
Sets the active resolution level.- Parameters:
resolutionLevel- The resolution level to be used by the pixel buffer. The level should be non-negative and less thangetResolutionLevels(). Resolution level 0 is the smallest resolution and resolution levelgetResolutionLevels() - 1is the largest resolution. This is the inverse of how Bio-Formats indexes resolutions.
-
getTileSize
java.awt.Dimension getTileSize()
Retrieves the tile size for the pixel store.- Returns:
- The dimension of the tile or
nullif the pixel buffer is not tiled.
-
getResolutionDescriptions
java.util.List<java.util.List<java.lang.Integer>> getResolutionDescriptions()
Return a list of lists each of which has sizeX, sizeY for the resolution level matching the index of the outer index. For example, if an image has 2 resolution levels of size 2048x1024 and 1024x512 then this returns: [[2048,1024],[1024,512]]- Returns:
- a list of lists containing sizeX, sizeY for each resolution level
-
-