Package ome.io.bioformats
Class BfPyramidPixelBuffer
- java.lang.Object
-
- ome.io.bioformats.BfPyramidPixelBuffer
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,PixelBuffer
public class BfPyramidPixelBuffer extends java.lang.Object implements PixelBuffer
PixelBuffer
implementation which uses Bio-Formats to read pixels data directly from original files.- Since:
- OMERO-Beta4.3
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
PYR_LOCK_EXT
protected OmeroPixelsPyramidReader
reader
Bio-Formats implementation the delegate uses to read the backing TIFF.protected OmeroPixelsPyramidWriter
writer
Bio-Formats implementation used to write to the backing TIFF.
-
Constructor Summary
Constructors Modifier Constructor Description BfPyramidPixelBuffer(TileSizes sizes, ome.model.core.Pixels pixels, java.lang.String filePath, boolean write)
Full constructor taking aTileSizes
implementation which defines how large the pyramid tiles will be.protected
BfPyramidPixelBuffer(TileSizes sizes, ome.model.core.Pixels pixels, java.lang.String filePath, boolean write, boolean init)
BfPyramidPixelBuffer(ome.model.core.Pixels pixels, java.lang.String filePath, boolean write)
We may want a constructor that takes the id of an imported file or that takes a File object? There should ultimately be some sort of check here that the file is in a/the repository.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
acquireLock()
byte[]
calculateMessageDigest()
Calculates a SHA-1 message digest for the entire pixel buffer.void
checkBounds(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.void
close()
Closes the buffer, cleaning up file state.protected void
closeRaf()
protected void
closeWriter()
This method should never exit without releasing the lock.java.nio.ByteOrder
getByteOrder()
Returns the current pixel byte order.int
getByteWidth()
Returns the byte width for the pixel buffer.ome.util.PixelData
getCol(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.Integer
getColSize()
Retrieves the in memory size of a column of pixels in this pixel buffer.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)
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.Long
getHypercubeSize(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.long
getId()
Retrieves the identifier of this pixel bufferjava.lang.String
getPath()
Retrieves the full path to this pixel buffer on diskome.util.PixelData
getPlane(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.Long
getPlaneOffset(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.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)
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.Long
getPlaneSize()
Retrieves the in memory size of a 2D image plane in this pixel buffer.ome.util.PixelData
getRegion(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.int
getResolutionLevel()
Retrieves the active resolution level.int
getResolutionLevels()
Retrieves the number of resolution levels that the backing pixels pyramid contains.ome.util.PixelData
getRow(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.Long
getRowOffset(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.Integer
getRowSize()
Retrieves the in memory size of a row or scanline of pixels in this pixel buffer.int
getSizeC()
Retrieves the size in C of this pixel bufferint
getSizeT()
Retrieves the size in T of this pixel bufferint
getSizeX()
Retrieves the size in X of this pixel bufferint
getSizeY()
Retrieves the size in Y of this pixel bufferint
getSizeZ()
Retrieves the size in Z of this pixel bufferome.util.PixelData
getStack(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.Long
getStackOffset(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.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.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)
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.Dimension
getTileSize()
Retrieves the tile size for the pixel store.ome.util.PixelData
getTimepoint(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.Long
getTimepointOffset(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.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.java.lang.Long
getTotalSize()
Retrieves the in memory size of the entire pixel buffer.protected void
init(java.lang.String filePath, boolean write)
protected void
initializeReader()
If the pyramid file exists (which the constructor guarantees) then we assume that even if a lock file is present, that it's no longer valid.protected void
initializeWriter(java.lang.String output, java.lang.String compression, boolean bigTiff, int tileWidth, int tileLength)
Initializes the writer.boolean
isFloat()
Returns whether or not the pixel buffer has floating point pixels.boolean
isLittleEndian()
protected boolean
isLockedByOthers()
boolean
isSigned()
Returns whether or not the pixel buffer has signed pixels.boolean
isWrite()
Whether or not this instance is in writing-mode.void
setByteOrder(java.nio.ByteOrder byteOrder)
Sets the pixel byte order.void
setPlane(byte[] buffer, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t)
Sets a particular 2D image plane in this pixel buffer.void
setPlane(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.void
setRegion(java.lang.Integer size, java.lang.Long offset, byte[] buffer)
Sets a region in this pixel buffer.void
setRegion(java.lang.Integer size, java.lang.Long offset, java.nio.ByteBuffer buffer)
Sets a region in this pixel buffer.void
setResolutionLevel(int resolutionLevel)
Sets the active resolution level.void
setRow(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.void
setStack(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.void
setStack(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.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)
Sets a tile in this pixel buffer.void
setTimepoint(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.void
setTimepoint(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.
-
-
-
Field Detail
-
writer
protected OmeroPixelsPyramidWriter writer
Bio-Formats implementation used to write to the backing TIFF.
-
reader
protected OmeroPixelsPyramidReader reader
Bio-Formats implementation the delegate uses to read the backing TIFF.
-
PYR_LOCK_EXT
public static final java.lang.String PYR_LOCK_EXT
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
BfPyramidPixelBuffer
public BfPyramidPixelBuffer(ome.model.core.Pixels pixels, java.lang.String filePath, boolean write) throws java.io.IOException, loci.formats.FormatException
We may want a constructor that takes the id of an imported file or that takes a File object? There should ultimately be some sort of check here that the file is in a/the repository. Upon construction, the pixel buffer is available for reading or writing. However, on the first read, writing will be subsequently disabled.- Throws:
java.io.IOException
loci.formats.FormatException
- See Also:
- ticket 5083
-
BfPyramidPixelBuffer
public BfPyramidPixelBuffer(TileSizes sizes, ome.model.core.Pixels pixels, java.lang.String filePath, boolean write) throws java.io.IOException, loci.formats.FormatException
Full constructor taking aTileSizes
implementation which defines how large the pyramid tiles will be.- Parameters:
sizes
-pixels
-filePath
-write
-- Throws:
java.io.IOException
loci.formats.FormatException
-
BfPyramidPixelBuffer
protected BfPyramidPixelBuffer(TileSizes sizes, ome.model.core.Pixels pixels, java.lang.String filePath, boolean write, boolean init) throws java.io.IOException, loci.formats.FormatException
- Throws:
java.io.IOException
loci.formats.FormatException
-
-
Method Detail
-
init
protected void init(java.lang.String filePath, boolean write) throws java.io.IOException, loci.formats.FormatException
- Throws:
java.io.IOException
loci.formats.FormatException
-
initializeReader
protected void initializeReader() throws java.io.IOException, loci.formats.FormatException
If the pyramid file exists (which the constructor guarantees) then we assume that even if a lock file is present, that it's no longer valid.- Throws:
java.io.IOException
loci.formats.FormatException
-
initializeWriter
protected void initializeWriter(java.lang.String output, java.lang.String compression, boolean bigTiff, int tileWidth, int tileLength) throws loci.formats.FormatException
Initializes the writer. Since the reader location is not present until this instance is closed, otherBfPyramidPixelBuffer
instances may try to also call this method in which caseacquireLock()
will throw aLockTimeout
.- Parameters:
output
- The file where to write the compressed data.compression
- The compression to use.bigTiff
- Passtrue
to set thebigTiff
flag,false
otherwise.- Throws:
java.lang.Exception
- Thrown if an error occurred.loci.formats.FormatException
-
acquireLock
protected void acquireLock()
-
closeRaf
protected void closeRaf()
-
isLockedByOthers
protected boolean isLockedByOthers()
-
closeWriter
protected void closeWriter() throws java.io.IOException
This method should never exit without releasing the lock.- Throws:
java.io.IOException
-
isWrite
public boolean isWrite()
Whether or not this instance is in writing-mode. Any of the calls to reader methods called while this method returns true will close the writer, saving it to disk and preventing any further write methods.
-
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.BufferOverflowException
Description copied from interface:PixelBuffer
Sets a tile in this pixel buffer.- Specified by:
setTile
in 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.
-
getByteOrder
public java.nio.ByteOrder getByteOrder()
Returns the current pixel byte order.- Returns:
- See above.
-
setByteOrder
public void setByteOrder(java.nio.ByteOrder byteOrder)
Sets the pixel byte order.- Parameters:
byteOrder
- The pixel byte order to set.
-
calculateMessageDigest
public byte[] calculateMessageDigest() throws java.io.IOException
Description copied from interface:PixelBuffer
Calculates a SHA-1 message digest for the entire pixel buffer.- Specified by:
calculateMessageDigest
in 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 DimensionsOutOfBoundsException
Description copied from interface:PixelBuffer
Checks to ensure that no one particular axis has an offset out of bounds.null
may be passed as the argument to any one of the offsets to ignore it for the purposes of bounds checking.- Specified by:
checkBounds
in 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
,c
ort
is out of bounds.
-
close
public void close() throws java.io.IOException
Description copied from interface:PixelBuffer
Closes the buffer, cleaning up file state.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in interfacePixelBuffer
- Throws:
java.io.IOException
- if an I/O error occurs.
-
getByteWidth
public int getByteWidth()
Description copied from interface:PixelBuffer
Returns the byte width for the pixel buffer.- Specified by:
getByteWidth
in interfacePixelBuffer
- Returns:
- See above.
-
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, DimensionsOutOfBoundsException
Description copied from interface:PixelBuffer
Retrieves a particular column from this pixel buffer.- Specified by:
getCol
in 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
order
set 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[])
-
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, DimensionsOutOfBoundsException
Description copied from interface:PixelBuffer
Retrieves a particular column from this pixel buffer.- Specified by:
getColDirect
in 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:
buffer
containing 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)
-
getColSize
public java.lang.Integer getColSize()
Description copied from interface:PixelBuffer
Retrieves the in memory size of a column of pixels in this pixel buffer.- Specified by:
getColSize
in interfacePixelBuffer
- Returns:
- column size in bytes (sizeY*ByteWidth)
-
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, DimensionsOutOfBoundsException
Description copied from interface:PixelBuffer
Retrieves a hypercube from this pixel buffer.- Specified by:
getHypercube
in 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, DimensionsOutOfBoundsException
Description copied from interface:PixelBuffer
Retrieves a hypercube from the given pixels directly.- Specified by:
getHypercubeDirect
in 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,count
in size.- Returns:
- buffer containing the data.
- Throws:
java.io.IOException
- if there is a problem reading from the pixel buffer.DimensionsOutOfBoundsException
-
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 DimensionsOutOfBoundsException
Description copied from interface:PixelBuffer
Retrieves a the size of a hypercube from this pixel buffer.- Specified by:
getHypercubeSize
in 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
-
getId
public long getId()
Description copied from interface:PixelBuffer
Retrieves the identifier of this pixel buffer- Specified by:
getId
in interfacePixelBuffer
-
getPath
public java.lang.String getPath()
Description copied from interface:PixelBuffer
Retrieves the full path to this pixel buffer on disk- Specified by:
getPath
in interfacePixelBuffer
- Returns:
- fully qualified path.
-
getPlane
public ome.util.PixelData getPlane(java.lang.Integer z, java.lang.Integer c, java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsException
Description copied from interface:PixelBuffer
Retrieves a particular 2D image plane from this pixel buffer.- Specified by:
getPlane
in 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
order
set 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, DimensionsOutOfBoundsException
Description copied from interface:PixelBuffer
Retrieves a particular 2D image plane from this pixel buffer.- Specified by:
getPlaneDirect
in 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:
buffer
containing 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 DimensionsOutOfBoundsException
Description copied from interface:PixelBuffer
Retrieves the offset for a particular 2D image plane in this pixel buffer.- Specified by:
getPlaneOffset
in 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, DimensionsOutOfBoundsException
Description copied from interface:PixelBuffer
Retrieves a particular region of a 2D image plane from this pixel buffer.- Specified by:
getPlaneRegion
in 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
order
set 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, DimensionsOutOfBoundsException
Description copied from interface:PixelBuffer
Retrieves a region from a given plane directly.- Specified by:
getPlaneRegionDirect
in 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 retrievecount
pixels.buffer
- pre-allocated buffer,count
in 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:PixelBuffer
Retrieves the in memory size of a 2D image plane in this pixel buffer.- Specified by:
getPlaneSize
in 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.IOException
Description copied from interface:PixelBuffer
Retrieves a region from this pixel buffer.- Specified by:
getRegion
in 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
order
set 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.IOException
Description copied from interface:PixelBuffer
Retrieves a region from this pixel buffer directly.- Specified by:
getRegionDirect
in 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:
buffer
containing 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, DimensionsOutOfBoundsException
Description copied from interface:PixelBuffer
Retrieves a particular row or scanline from this pixel buffer.- Specified by:
getRow
in 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
order
set 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[])
-
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, DimensionsOutOfBoundsException
Description copied from interface:PixelBuffer
Retrieves a particular row or scanline from this pixel buffer.- Specified by:
getRowDirect
in 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:
buffer
containing 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)
-
getRowOffset
public java.lang.Long getRowOffset(java.lang.Integer y, java.lang.Integer z, java.lang.Integer c, java.lang.Integer t) throws DimensionsOutOfBoundsException
Description copied from interface:PixelBuffer
Retrieves the offset for a particular row or scanline in this pixel buffer.- Specified by:
getRowOffset
in 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:PixelBuffer
Retrieves the in memory size of a row or scanline of pixels in this pixel buffer.- Specified by:
getRowSize
in interfacePixelBuffer
- Returns:
- row or scanline size in bytes (sizeX*ByteWidth)
-
getSizeC
public int getSizeC()
Description copied from interface:PixelBuffer
Retrieves the size in C of this pixel buffer- Specified by:
getSizeC
in interfacePixelBuffer
-
getSizeT
public int getSizeT()
Description copied from interface:PixelBuffer
Retrieves the size in T of this pixel buffer- Specified by:
getSizeT
in interfacePixelBuffer
-
getSizeX
public int getSizeX()
Description copied from interface:PixelBuffer
Retrieves the size in X of this pixel buffer- Specified by:
getSizeX
in interfacePixelBuffer
-
getSizeY
public int getSizeY()
Description copied from interface:PixelBuffer
Retrieves the size in Y of this pixel buffer- Specified by:
getSizeY
in interfacePixelBuffer
-
getSizeZ
public int getSizeZ()
Description copied from interface:PixelBuffer
Retrieves the size in Z of this pixel buffer- Specified by:
getSizeZ
in interfacePixelBuffer
-
getStack
public ome.util.PixelData getStack(java.lang.Integer c, java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsException
Description copied from interface:PixelBuffer
Retrieves the the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel buffer.- Specified by:
getStack
in 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
order
set 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, DimensionsOutOfBoundsException
Description copied from interface:PixelBuffer
Retrieves the the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel buffer.- Specified by:
getStackDirect
in 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:
buffer
containing 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 DimensionsOutOfBoundsException
Description copied from interface:PixelBuffer
Retrieves 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:
getStackOffset
in 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:PixelBuffer
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.- Specified by:
getStackSize
in interfacePixelBuffer
- Returns:
- stack size in bytes (sizeX*sizeY*sizeZ*ByteWidth).
-
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.IOException
Description copied from interface:PixelBuffer
Retrieves a tile from this pixel buffer.- Specified by:
getTile
in 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.IOException
Description copied from interface:PixelBuffer
Retrieves a tile from this pixel buffer.- Specified by:
getTileDirect
in 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:
buffer
containing 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)
-
getTimepoint
public ome.util.PixelData getTimepoint(java.lang.Integer t) throws java.io.IOException, DimensionsOutOfBoundsException
Description copied from interface:PixelBuffer
Retrieves the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.- Specified by:
getTimepoint
in 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
order
set 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, DimensionsOutOfBoundsException
Description copied from interface:PixelBuffer
Retrieves the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.- Specified by:
getTimepointDirect
in interfacePixelBuffer
- Parameters:
t
- offset across the T-axis of the pixel buffer.buffer
- pre-allocated buffer of the timepoint's size.- Returns:
buffer
containing 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 DimensionsOutOfBoundsException
Description copied from interface:PixelBuffer
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.- Specified by:
getTimepointOffset
in 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:PixelBuffer
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.- Specified by:
getTimepointSize
in interfacePixelBuffer
- Returns:
- timepoint size in bytes (sizeX*sizeY*sizeZ*sizeC*ByteWidth).
-
getTotalSize
public java.lang.Long getTotalSize()
Description copied from interface:PixelBuffer
Retrieves the in memory size of the entire pixel buffer.- Specified by:
getTotalSize
in interfacePixelBuffer
- Returns:
- total size of the pixel size in bytes (sizeX*sizeY*sizeZ*sizeC*sizeT*ByteWidth).
-
isFloat
public boolean isFloat()
Description copied from interface:PixelBuffer
Returns whether or not the pixel buffer has floating point pixels.- Specified by:
isFloat
in interfacePixelBuffer
- Returns:
true
if the pixel buffer as floating point,false
otherwise
-
isSigned
public boolean isSigned()
Description copied from interface:PixelBuffer
Returns whether or not the pixel buffer has signed pixels.- Specified by:
isSigned
in interfacePixelBuffer
- Returns:
- See above.
-
isLittleEndian
public boolean isLittleEndian()
-
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.BufferOverflowException
Description copied from interface:PixelBuffer
Sets a particular 2D image plane in this pixel buffer.- Specified by:
setPlane
in 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.BufferOverflowException
Description copied from interface:PixelBuffer
Sets a particular 2D image plane in this pixel buffer.- Specified by:
setPlane
in 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.BufferOverflowException
Description copied from interface:PixelBuffer
Sets a region in this pixel buffer.- Specified by:
setRegion
in 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.BufferOverflowException
Description copied from interface:PixelBuffer
Sets a region in this pixel buffer.- Specified by:
setRegion
in 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.BufferOverflowException
Description copied from interface:PixelBuffer
Sets a particular row or scanline in this pixel buffer.- Specified by:
setRow
in 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.BufferOverflowException
Description copied from interface:PixelBuffer
Sets the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel buffer.- Specified by:
setStack
in 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.BufferOverflowException
Description copied from interface:PixelBuffer
Sets the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel buffer.- Specified by:
setStack
in 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.BufferOverflowException
Description copied from interface:PixelBuffer
Sets the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.- Specified by:
setTimepoint
in 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.BufferOverflowException
Description copied from interface:PixelBuffer
Sets the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.- Specified by:
setTimepoint
in 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()}
.
-
getResolutionLevel
public int getResolutionLevel()
Description copied from interface:PixelBuffer
Retrieves the active resolution level.- Specified by:
getResolutionLevel
in 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() - 1
is the largest resolution. This is the inverse of how Bio-Formats indexes resolutions.
-
getResolutionLevels
public int getResolutionLevels()
Description copied from interface:PixelBuffer
Retrieves the number of resolution levels that the backing pixels pyramid contains.- Specified by:
getResolutionLevels
in 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:PixelBuffer
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]]- Specified by:
getResolutionDescriptions
in interfacePixelBuffer
- Returns:
- a list of lists containing sizeX, sizeY for each resolution level
-
getTileSize
public java.awt.Dimension getTileSize()
Description copied from interface:PixelBuffer
Retrieves the tile size for the pixel store.- Specified by:
getTileSize
in interfacePixelBuffer
- Returns:
- The dimension of the tile or
null
if the pixel buffer is not tiled.
-
setResolutionLevel
public void setResolutionLevel(int resolutionLevel)
Description copied from interface:PixelBuffer
Sets the active resolution level.- Specified by:
setResolutionLevel
in 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() - 1
is the largest resolution. This is the inverse of how Bio-Formats indexes resolutions.
-
-