Package ome.io.nio
Class InMemoryPlanarPixelBuffer
- java.lang.Object
-
- ome.io.nio.InMemoryPlanarPixelBuffer
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,PixelBuffer
public class InMemoryPlanarPixelBuffer extends java.lang.Object implements PixelBuffer
Class implementation of the PixelBuffer interface for in memory planar pixel data. It does not support indexing the pixel data as one large array as the data is underlying modeled as a 5-dimensional array. It is also read-only.- Since:
- 3.0
- See Also:
PixelBuffer
-
-
Constructor Summary
Constructors Constructor Description InMemoryPlanarPixelBuffer(ome.model.core.Pixels pixels, byte[][][][] planes)Constructs an in memory pixel buffer based on a defined dimensionality.
-
Method Summary
All Methods Instance Methods Concrete 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
-
calculateMessageDigest
public byte[] calculateMessageDigest() throws java.io.IOExceptionDescription copied from interface:PixelBufferCalculates a SHA-1 message digest for the entire pixel buffer.- Specified by:
calculateMessageDigestin interfacePixelBuffer- Returns:
- byte array containing the message digest.
- Throws:
java.io.IOException- if there is a problem reading from the pixel buffer.
-
checkBounds
public void checkBounds(java.lang.Integer x, java.lang.Integer y, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t) throws DimensionsOutOfBoundsExceptionDescription copied from interface:PixelBufferChecks 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.- Specified by:
checkBoundsin interfacePixelBuffer- 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.
-
close
public void close() throws java.io.IOExceptionDescription copied from interface:PixelBufferCloses the buffer, cleaning up file state.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein interfacePixelBuffer- Throws:
java.io.IOException- if an I/O error occurs.
-
getByteWidth
public int getByteWidth()
Description copied from interface:PixelBufferReturns the byte width for the pixel buffer.- Specified by:
getByteWidthin interfacePixelBuffer- Returns:
- See above.
-
getId
public long getId()
Description copied from interface:PixelBufferRetrieves the identifier of this pixel buffer- Specified by:
getIdin interfacePixelBuffer
-
getPath
public java.lang.String getPath()
Description copied from interface:PixelBufferRetrieves the full path to this pixel buffer on disk- Specified by:
getPathin interfacePixelBuffer- Returns:
- fully qualified path.
-
getHypercubeSize
public 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 DimensionsOutOfBoundsExceptionDescription copied from interface:PixelBufferRetrieves a the size of a hypercube from this pixel buffer.- Specified by:
getHypercubeSizein interfacePixelBuffer- 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:
DimensionsOutOfBoundsException
-
getHypercube
public 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, DimensionsOutOfBoundsExceptionDescription copied from interface:PixelBufferRetrieves a hypercube from this pixel buffer.- Specified by:
getHypercubein interfacePixelBuffer- 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
public 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, DimensionsOutOfBoundsExceptionDescription copied from interface:PixelBufferRetrieves a hypercube from the given pixels directly.- Specified by:
getHypercubeDirectin interfacePixelBuffer- 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
-
getPlane
public ome.util.PixelData getPlane(java.lang.Integer z, java.lang.Integer c, java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsExceptionDescription copied from interface:PixelBufferRetrieves a particular 2D image plane from this pixel buffer.- Specified by:
getPlanein interfacePixelBuffer- 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 withPixelBuffer.checkBounds(Integer, Integer, Integer, Integer, Integer).
-
getPlaneDirect
public byte[] getPlaneDirect(java.lang.Integer z, java.lang.Integer c, java.lang.Integer t, byte[] buffer) throws java.io.IOException, DimensionsOutOfBoundsExceptionDescription copied from interface:PixelBufferRetrieves a particular 2D image plane from this pixel buffer.- Specified by:
getPlaneDirectin interfacePixelBuffer- 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 withPixelBuffer.checkBounds(Integer, Integer, Integer, Integer, Integer).
-
getPlaneOffset
public java.lang.Long getPlaneOffset(java.lang.Integer z, java.lang.Integer c, java.lang.Integer t) throws DimensionsOutOfBoundsExceptionDescription copied from interface:PixelBufferRetrieves the offset for a particular 2D image plane in this pixel buffer.- Specified by:
getPlaneOffsetin interfacePixelBuffer- 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 withPixelBuffer.checkBounds(Integer, Integer, Integer, Integer, Integer).
-
getPlaneRegion
public 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, DimensionsOutOfBoundsExceptionDescription copied from interface:PixelBufferRetrieves a particular region of a 2D image plane from this pixel buffer.- Specified by:
getPlaneRegionin interfacePixelBuffer- 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 withPixelBuffer.checkBounds(Integer, Integer, Integer, Integer, Integer).
-
getPlaneRegionDirect
public 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, DimensionsOutOfBoundsExceptionDescription copied from interface:PixelBufferRetrieves a region from a given plane directly.- Specified by:
getPlaneRegionDirectin interfacePixelBuffer- 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:
PixelBuffer.getRegionDirect(Integer, Long, byte[])
-
getPlaneSize
public java.lang.Long getPlaneSize()
Description copied from interface:PixelBufferRetrieves the in memory size of a 2D image plane in this pixel buffer.- Specified by:
getPlaneSizein interfacePixelBuffer- Returns:
- 2D image plane size in bytes (sizeX*sizeY*ByteWidth).
-
getRegion
public ome.util.PixelData getRegion(java.lang.Integer size, java.lang.Long offset) throws java.io.IOExceptionDescription copied from interface:PixelBufferRetrieves a region from this pixel buffer.- Specified by:
getRegionin interfacePixelBuffer- 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:
PixelBuffer.getRegionDirect(Integer, Long, byte[])
-
getRegionDirect
public byte[] getRegionDirect(java.lang.Integer size, java.lang.Long offset, byte[] buffer) throws java.io.IOExceptionDescription copied from interface:PixelBufferRetrieves a region from this pixel buffer directly.- Specified by:
getRegionDirectin interfacePixelBuffer- 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:
PixelBuffer.getRegion(Integer, Long)
-
getRow
public ome.util.PixelData getRow(java.lang.Integer y, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsExceptionDescription copied from interface:PixelBufferRetrieves a particular row or scanline from this pixel buffer.- Specified by:
getRowin interfacePixelBuffer- 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 withPixelBuffer.checkBounds(Integer, Integer, Integer, Integer, Integer).- See Also:
PixelBuffer.getRowDirect(Integer, Integer, Integer, Integer, byte[])
-
getCol
public ome.util.PixelData getCol(java.lang.Integer x, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsExceptionDescription copied from interface:PixelBufferRetrieves a particular column from this pixel buffer.- Specified by:
getColin interfacePixelBuffer- 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 withPixelBuffer.checkBounds(Integer, Integer, Integer, Integer, Integer).- See Also:
PixelBuffer.getColDirect(Integer, Integer, Integer, Integer, byte[])
-
getRowDirect
public byte[] getRowDirect(java.lang.Integer y, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t, byte[] buffer) throws java.io.IOException, DimensionsOutOfBoundsExceptionDescription copied from interface:PixelBufferRetrieves a particular row or scanline from this pixel buffer.- Specified by:
getRowDirectin interfacePixelBuffer- 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 withPixelBuffer.checkBounds(Integer, Integer, Integer, Integer, Integer).- See Also:
PixelBuffer.getRow(Integer, Integer, Integer, Integer)
-
getColDirect
public byte[] getColDirect(java.lang.Integer x, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t, byte[] buffer) throws java.io.IOException, DimensionsOutOfBoundsExceptionDescription copied from interface:PixelBufferRetrieves a particular column from this pixel buffer.- Specified by:
getColDirectin interfacePixelBuffer- 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 withPixelBuffer.checkBounds(Integer, Integer, Integer, Integer, Integer).- See Also:
PixelBuffer.getCol(Integer, Integer, Integer, Integer)
-
getRowOffset
public java.lang.Long getRowOffset(java.lang.Integer y, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t) throws DimensionsOutOfBoundsExceptionDescription copied from interface:PixelBufferRetrieves the offset for a particular row or scanline in this pixel buffer.- Specified by:
getRowOffsetin interfacePixelBuffer- 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 withPixelBuffer.checkBounds(Integer, Integer, Integer, Integer, Integer).
-
getRowSize
public java.lang.Integer getRowSize()
Description copied from interface:PixelBufferRetrieves the in memory size of a row or scanline of pixels in this pixel buffer.- Specified by:
getRowSizein interfacePixelBuffer- Returns:
- row or scanline size in bytes (sizeX*ByteWidth)
-
getColSize
public java.lang.Integer getColSize()
Description copied from interface:PixelBufferRetrieves the in memory size of a column of pixels in this pixel buffer.- Specified by:
getColSizein interfacePixelBuffer- Returns:
- column size in bytes (sizeY*ByteWidth)
-
getSizeC
public int getSizeC()
Description copied from interface:PixelBufferRetrieves the size in C of this pixel buffer- Specified by:
getSizeCin interfacePixelBuffer
-
getSizeT
public int getSizeT()
Description copied from interface:PixelBufferRetrieves the size in T of this pixel buffer- Specified by:
getSizeTin interfacePixelBuffer
-
getSizeX
public int getSizeX()
Description copied from interface:PixelBufferRetrieves the size in X of this pixel buffer- Specified by:
getSizeXin interfacePixelBuffer
-
getSizeY
public int getSizeY()
Description copied from interface:PixelBufferRetrieves the size in Y of this pixel buffer- Specified by:
getSizeYin interfacePixelBuffer
-
getSizeZ
public int getSizeZ()
Description copied from interface:PixelBufferRetrieves the size in Z of this pixel buffer- Specified by:
getSizeZin interfacePixelBuffer
-
getStack
public ome.util.PixelData getStack(java.lang.Integer c, java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsExceptionDescription copied from interface:PixelBufferRetrieves the the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel buffer.- Specified by:
getStackin interfacePixelBuffer- 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 withPixelBuffer.checkBounds(Integer, Integer, Integer, Integer, Integer).
-
getStackDirect
public byte[] getStackDirect(java.lang.Integer c, java.lang.Integer t, byte[] buffer) throws java.io.IOException, DimensionsOutOfBoundsExceptionDescription copied from interface:PixelBufferRetrieves the the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel buffer.- Specified by:
getStackDirectin interfacePixelBuffer- 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 withPixelBuffer.checkBounds(Integer, Integer, Integer, Integer, Integer).
-
getStackOffset
public java.lang.Long getStackOffset(java.lang.Integer c, java.lang.Integer t) throws DimensionsOutOfBoundsExceptionDescription copied from interface:PixelBufferRetrieves the offset for the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel buffer.- Specified by:
getStackOffsetin interfacePixelBuffer- 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 withPixelBuffer.checkBounds(Integer, Integer, Integer, Integer, Integer).
-
getStackSize
public java.lang.Long getStackSize()
Description copied from interface:PixelBufferRetrieves 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.- Specified by:
getStackSizein interfacePixelBuffer- Returns:
- stack size in bytes (sizeX*sizeY*sizeZ*ByteWidth).
-
getTimepoint
public ome.util.PixelData getTimepoint(java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsExceptionDescription copied from interface:PixelBufferRetrieves the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.- Specified by:
getTimepointin interfacePixelBuffer- 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 withPixelBuffer.checkBounds(Integer, Integer, Integer, Integer, Integer).
-
getTimepointDirect
public byte[] getTimepointDirect(java.lang.Integer t, byte[] buffer) throws java.io.IOException, DimensionsOutOfBoundsExceptionDescription copied from interface:PixelBufferRetrieves the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.- Specified by:
getTimepointDirectin interfacePixelBuffer- 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 withPixelBuffer.checkBounds(Integer, Integer, Integer, Integer, Integer).
-
getTimepointOffset
public java.lang.Long getTimepointOffset(java.lang.Integer t) throws DimensionsOutOfBoundsExceptionDescription copied from interface:PixelBufferRetrieves the in memory size of the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.- Specified by:
getTimepointOffsetin interfacePixelBuffer- 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 withPixelBuffer.checkBounds(Integer, Integer, Integer, Integer, Integer).
-
getTimepointSize
public java.lang.Long getTimepointSize()
Description copied from interface:PixelBufferRetrieves the in memory size of the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.- Specified by:
getTimepointSizein interfacePixelBuffer- Returns:
- timepoint size in bytes (sizeX*sizeY*sizeZ*sizeC*ByteWidth).
-
getTotalSize
public java.lang.Long getTotalSize()
Description copied from interface:PixelBufferRetrieves the in memory size of the entire pixel buffer.- Specified by:
getTotalSizein interfacePixelBuffer- Returns:
- total size of the pixel size in bytes (sizeX*sizeY*sizeZ*sizeC*sizeT*ByteWidth).
-
isFloat
public boolean isFloat()
Description copied from interface:PixelBufferReturns whether or not the pixel buffer has floating point pixels.- Specified by:
isFloatin interfacePixelBuffer- Returns:
trueif the pixel buffer as floating point,falseotherwise
-
isSigned
public boolean isSigned()
Description copied from interface:PixelBufferReturns whether or not the pixel buffer has signed pixels.- Specified by:
isSignedin interfacePixelBuffer- Returns:
- See above.
-
setPlane
public 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.BufferOverflowExceptionDescription copied from interface:PixelBufferSets a particular 2D image plane in this pixel buffer.- Specified by:
setPlanein interfacePixelBuffer- 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 withPixelBuffer.checkBounds(Integer, Integer, Integer, Integer, Integer).java.nio.BufferOverflowException- ifbuffer.length > {@link #getPlaneSize()}.
-
setPlane
public void setPlane(byte[] buffer, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsException, java.nio.BufferOverflowExceptionDescription copied from interface:PixelBufferSets a particular 2D image plane in this pixel buffer.- Specified by:
setPlanein interfacePixelBuffer- 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 withPixelBuffer.checkBounds(Integer, Integer, Integer, Integer, Integer).java.nio.BufferOverflowException- ifbuffer.length > {@link #getPlaneSize()}.
-
setRegion
public void setRegion(java.lang.Integer size, java.lang.Long offset, byte[] buffer) throws java.io.IOException, java.nio.BufferOverflowExceptionDescription copied from interface:PixelBufferSets a region in this pixel buffer.- Specified by:
setRegionin interfacePixelBuffer- 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
public void setRegion(java.lang.Integer size, java.lang.Long offset, java.nio.ByteBuffer buffer) throws java.io.IOException, java.nio.BufferOverflowExceptionDescription copied from interface:PixelBufferSets a region in this pixel buffer.- Specified by:
setRegionin interfacePixelBuffer- 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
public 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.BufferOverflowExceptionDescription copied from interface:PixelBufferSets a particular row or scanline in this pixel buffer.- Specified by:
setRowin interfacePixelBuffer- 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 withPixelBuffer.checkBounds(Integer, Integer, Integer, Integer, Integer).java.nio.BufferOverflowException- ifbuffer.length > {@link #getRowSize()}.
-
setStack
public 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.BufferOverflowExceptionDescription copied from interface:PixelBufferSets the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel buffer.- Specified by:
setStackin interfacePixelBuffer- 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 withPixelBuffer.checkBounds(Integer, Integer, Integer, Integer, Integer).java.nio.BufferOverflowException- ifbuffer.length > {@link #getStackSize()}.
-
setStack
public void setStack(byte[] buffer, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsException, java.nio.BufferOverflowExceptionDescription copied from interface:PixelBufferSets the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel buffer.- Specified by:
setStackin interfacePixelBuffer- 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 withPixelBuffer.checkBounds(Integer, Integer, Integer, Integer, Integer).java.nio.BufferOverflowException- ifbuffer.length > {@link #getStackSize()}.
-
setTimepoint
public void setTimepoint(java.nio.ByteBuffer buffer, java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsException, java.nio.BufferOverflowExceptionDescription copied from interface:PixelBufferSets the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.- Specified by:
setTimepointin interfacePixelBuffer- 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 withPixelBuffer.checkBounds(Integer, Integer, Integer, Integer, Integer).java.nio.BufferOverflowException- ifbuffer.length > {@link #getTimepointSize()}.
-
setTimepoint
public void setTimepoint(byte[] buffer, java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsException, java.nio.BufferOverflowExceptionDescription copied from interface:PixelBufferSets the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.- Specified by:
setTimepointin interfacePixelBuffer- 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 withPixelBuffer.checkBounds(Integer, Integer, Integer, Integer, Integer).java.nio.BufferOverflowException- ifbuffer.length > {@link #getTimepointSize()}.
-
getTile
public 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.IOExceptionDescription copied from interface:PixelBufferRetrieves a tile from this pixel buffer.- Specified by:
getTilein interfacePixelBuffer- 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:
PixelBuffer.getTileDirect(Integer, Integer, Integer, Integer, Integer, Integer, Integer, byte[])
-
getTileDirect
public 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.IOExceptionDescription copied from interface:PixelBufferRetrieves a tile from this pixel buffer.- Specified by:
getTileDirectin interfacePixelBuffer- 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:
PixelBuffer.getTile(Integer, Integer, Integer, Integer, Integer, Integer, Integer)
-
setTile
public 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.BufferOverflowExceptionDescription copied from interface:PixelBufferSets a tile in this pixel buffer.- Specified by:
setTilein interfacePixelBuffer- 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.
-
getResolutionLevel
public int getResolutionLevel()
Description copied from interface:PixelBufferRetrieves the active resolution level.- Specified by:
getResolutionLevelin interfacePixelBuffer- Returns:
- The active resolution level. The level will be non-negative and less
than
PixelBuffer.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.
-
getResolutionLevels
public int getResolutionLevels()
Description copied from interface:PixelBufferRetrieves the number of resolution levels that the backing pixels pyramid contains.- Specified by:
getResolutionLevelsin interfacePixelBuffer- Returns:
- The number of resolution levels. This value does not necessarily indicate either the presence or absence of a pixels pyramid.
-
getResolutionDescriptions
public java.util.List<java.util.List<java.lang.Integer>> getResolutionDescriptions()
Description copied from interface:PixelBufferReturn 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]]- Specified by:
getResolutionDescriptionsin interfacePixelBuffer- Returns:
- a list of lists containing sizeX, sizeY for each resolution level
-
getTileSize
public java.awt.Dimension getTileSize()
Description copied from interface:PixelBufferRetrieves the tile size for the pixel store.- Specified by:
getTileSizein interfacePixelBuffer- Returns:
- The dimension of the tile or
nullif the pixel buffer is not tiled.
-
setResolutionLevel
public void setResolutionLevel(int resolutionLevel)
Description copied from interface:PixelBufferSets the active resolution level.- Specified by:
setResolutionLevelin interfacePixelBuffer- Parameters:
resolutionLevel- The resolution level to be used by the pixel buffer. The level should be non-negative and less thanPixelBuffer.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.
-
-