ome.io.bioformats
Class BfPyramidPixelBuffer

java.lang.Object
  extended by ome.io.bioformats.BfPyramidPixelBuffer
All Implemented Interfaces:
Closeable, PixelBuffer

public class BfPyramidPixelBuffer
extends Object
implements PixelBuffer

PixelBuffer implementation which uses Bio-Formats to read pixels data directly from original files.

Since:
OMERO-Beta4.3

Field Summary
static 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
BfPyramidPixelBuffer(ome.model.core.Pixels pixels, String filePath, boolean write)
          We may want a constructor that takes the id of an imported file or that takes a File object?
BfPyramidPixelBuffer(TileSizes sizes, ome.model.core.Pixels pixels, String filePath, boolean write)
          Full constructor taking a TileSizes implementation which defines how large the pyramid tiles will be.
 
Method Summary
 byte[] calculateMessageDigest()
          Calculates a SHA-1 message digest for the entire pixel buffer.
 void checkBounds(Integer x, Integer y, Integer z, Integer c, 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.
 ByteOrder getByteOrder()
          Returns the current pixel byte order.
 int getByteWidth()
          Returns the byte width for the pixel buffer.
 ome.util.PixelData getCol(Integer x, Integer z, Integer c, Integer t)
          Retrieves a particular column from this pixel buffer.
 byte[] getColDirect(Integer x, Integer z, Integer c, Integer t, byte[] buffer)
          Retrieves a particular column from this pixel buffer.
 Integer getColSize()
          Retrieves the in memory size of a column of pixels in this pixel buffer.
 ome.util.PixelData getHypercube(List<Integer> offset, List<Integer> size, List<Integer> step)
          Retrieves a hypercube from this pixel buffer.
 byte[] getHypercubeDirect(List<Integer> offset, List<Integer> size, List<Integer> step, byte[] buffer)
          Retrieves a hypercube from the given pixels directly.
 Integer getHypercubeSize(List<Integer> offset, List<Integer> size, List<Integer> step)
          Retrieves a the size of a hypercube from this pixel buffer.
 long getId()
          Delegates to Pixels.getId().
 String getPath()
          Retrieves the full path to this pixel buffer on disk
 ome.util.PixelData getPlane(Integer z, Integer c, Integer t)
          Retrieves a particular 2D image plane from this pixel buffer.
 byte[] getPlaneDirect(Integer z, Integer c, Integer t, byte[] buffer)
          Retrieves a particular 2D image plane from this pixel buffer.
 Long getPlaneOffset(Integer z, Integer c, Integer t)
          Retrieves the offset for a particular 2D image plane in this pixel buffer.
 ome.util.PixelData getPlaneRegion(Integer x, Integer y, Integer width, Integer height, Integer z, Integer c, Integer t, Integer stride)
          Retrieves a particular region of a 2D image plane from this pixel buffer.
 byte[] getPlaneRegionDirect(Integer z, Integer c, Integer t, Integer count, Integer offset, byte[] buffer)
          Retrieves a region from a given plane directly.
 Integer getPlaneSize()
          Retrieves the in memory size of a 2D image plane in this pixel buffer.
 ome.util.PixelData getRegion(Integer size, Long offset)
          Retrieves a region from this pixel buffer.
 byte[] getRegionDirect(Integer size, Long offset, byte[] buffer)
          Retrieves a region from this pixel buffer directly.
 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(Integer y, Integer z, Integer c, Integer t)
          Retrieves a particular row or scanline from this pixel buffer.
 byte[] getRowDirect(Integer y, Integer z, Integer c, Integer t, byte[] buffer)
          Retrieves a particular row or scanline from this pixel buffer.
 Long getRowOffset(Integer y, Integer z, Integer c, Integer t)
          Retrieves the offset for a particular row or scanline in this pixel buffer.
 Integer getRowSize()
          Retrieves the in memory size of a row or scanline of pixels in this pixel buffer.
 int getSizeC()
          Delegates to Pixels.getSizeC().
 int getSizeT()
          Delegates to Pixels.getSizeT().
 int getSizeX()
          Delegates to Pixels.getSizeX().
 int getSizeY()
          Delegates to Pixels.getSizeY().
 int getSizeZ()
          Delegates to Pixels.getSizeZ().
 ome.util.PixelData getStack(Integer c, 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(Integer c, 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.
 Long getStackOffset(Integer c, 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.
 Integer 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(Integer z, Integer c, Integer t, Integer x, Integer y, Integer w, Integer h)
          Retrieves a tile from this pixel buffer.
 byte[] getTileDirect(Integer z, Integer c, Integer t, Integer x, Integer y, Integer w, Integer h, byte[] buffer)
          Retrieves a tile from this pixel buffer.
 Dimension getTileSize()
          Retrieves the tile size for the pixel store.
 ome.util.PixelData getTimepoint(Integer t)
          Retrieves the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.
 byte[] getTimepointDirect(Integer t, byte[] buffer)
          Retrieves the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.
 Long getTimepointOffset(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.
 Integer 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.
 Integer getTotalSize()
          Retrieves the in memory size of the entire pixel buffer.
 boolean isFloat()
          Returns whether or not the pixel buffer has floating point pixels.
 boolean isSigned()
          Returns whether or not the pixel buffer has signed pixels.
 boolean isWrite()
          Wether or not this instance is in writing-mode.
 void setByteOrder(ByteOrder byteOrder)
          Sets the pixel byte order.
 void setPlane(byte[] buffer, Integer z, Integer c, Integer t)
          Sets a particular 2D image plane in this pixel buffer.
 void setPlane(ByteBuffer buffer, Integer z, Integer c, Integer t)
          Sets a particular 2D image plane in this pixel buffer.
 void setRegion(Integer size, Long offset, byte[] buffer)
          Sets a region in this pixel buffer.
 void setRegion(Integer size, Long offset, ByteBuffer buffer)
          Sets a region in this pixel buffer.
 void setResolutionLevel(int resolutionLevel)
          Sets the active resolution level.
 void setRow(ByteBuffer buffer, Integer y, Integer z, Integer c, Integer t)
          Sets a particular row or scanline in this pixel buffer.
 void setStack(byte[] buffer, Integer z, Integer c, 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(ByteBuffer buffer, Integer z, Integer c, 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, Integer z, Integer c, Integer t, Integer x, Integer y, Integer w, Integer h)
          Sets a tile in this pixel buffer.
 void setTimepoint(byte[] buffer, Integer t)
          Sets the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.
 void setTimepoint(ByteBuffer buffer, Integer t)
          Sets the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel buffer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 String PYR_LOCK_EXT
See Also:
Constant Field Values
Constructor Detail

BfPyramidPixelBuffer

public BfPyramidPixelBuffer(ome.model.core.Pixels pixels,
                            String filePath,
                            boolean write)
                     throws 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:
IOException
loci.formats.FormatException
See Also:
ticket:5083

BfPyramidPixelBuffer

public BfPyramidPixelBuffer(TileSizes sizes,
                            ome.model.core.Pixels pixels,
                            String filePath,
                            boolean write)
                     throws IOException,
                            loci.formats.FormatException
Full constructor taking a TileSizes implementation which defines how large the pyramid tiles will be.

Parameters:
sizes -
pixels -
filePath -
write -
Throws:
IOException
loci.formats.FormatException
Method Detail

isWrite

public boolean isWrite()
Wether 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,
                    Integer z,
                    Integer c,
                    Integer t,
                    Integer x,
                    Integer y,
                    Integer w,
                    Integer h)
             throws IOException,
                    BufferOverflowException
Description copied from interface: PixelBuffer
Sets a tile in this pixel buffer.

Specified by:
setTile in interface PixelBuffer
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:
IOException - if there is a problem writing to the pixel buffer.
BufferOverflowException - if an attempt is made to write off the end of the file.

getByteOrder

public ByteOrder getByteOrder()
Returns the current pixel byte order.

Returns:
See above.

setByteOrder

public void setByteOrder(ByteOrder byteOrder)
Sets the pixel byte order.

Parameters:
byteOrder - The pixel byte order to set.

calculateMessageDigest

public byte[] calculateMessageDigest()
                              throws IOException
Description copied from interface: PixelBuffer
Calculates a SHA-1 message digest for the entire pixel buffer.

Specified by:
calculateMessageDigest in interface PixelBuffer
Returns:
byte array containing the message digest.
Throws:
IOException - if there is a problem reading from the pixel buffer.

checkBounds

public void checkBounds(Integer x,
                        Integer y,
                        Integer z,
                        Integer c,
                        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 interface PixelBuffer
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 - if y, z, c or t is out of bounds.

close

public void close()
           throws IOException
Description copied from interface: PixelBuffer
Closes the buffer, cleaning up file state.

Specified by:
close in interface Closeable
Specified by:
close in interface PixelBuffer
Throws:
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 interface PixelBuffer
Returns:
See above.

getCol

public ome.util.PixelData getCol(Integer x,
                                 Integer z,
                                 Integer c,
                                 Integer t)
                          throws IOException,
                                 DimensionsOutOfBoundsException
Description copied from interface: PixelBuffer
Retrieves a particular column from this pixel buffer.

Specified by:
getCol in interface PixelBuffer
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:
IOException - if there is a problem reading from the pixel buffer.
DimensionsOutOfBoundsException - if offsets are out of bounds after checking with checkBounds().
See Also:
getColDirect()

getColDirect

public byte[] getColDirect(Integer x,
                           Integer z,
                           Integer c,
                           Integer t,
                           byte[] buffer)
                    throws IOException,
                           DimensionsOutOfBoundsException
Description copied from interface: PixelBuffer
Retrieves a particular column from this pixel buffer.

Specified by:
getColDirect in interface PixelBuffer
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:
IOException - if there is a problem reading from the pixel buffer.
DimensionsOutOfBoundsException - if offsets are out of bounds after checking with checkBounds().
See Also:
getCol()

getColSize

public 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 interface PixelBuffer
Returns:
column size in bytes (sizeY*ByteWidth)

getHypercube

public ome.util.PixelData getHypercube(List<Integer> offset,
                                       List<Integer> size,
                                       List<Integer> step)
                                throws IOException,
                                       DimensionsOutOfBoundsException
Description copied from interface: PixelBuffer
Retrieves a hypercube from this pixel buffer.

Specified by:
getHypercube in interface PixelBuffer
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:
IOException - if there is a problem reading from the pixel buffer.
DimensionsOutOfBoundsException

getHypercubeDirect

public byte[] getHypercubeDirect(List<Integer> offset,
                                 List<Integer> size,
                                 List<Integer> step,
                                 byte[] buffer)
                          throws IOException,
                                 DimensionsOutOfBoundsException
Description copied from interface: PixelBuffer
Retrieves a hypercube from the given pixels directly.

Specified by:
getHypercubeDirect in interface PixelBuffer
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:
IOException - if there is a problem reading from the pixel buffer.
DimensionsOutOfBoundsException

getHypercubeSize

public Integer getHypercubeSize(List<Integer> offset,
                                List<Integer> size,
                                List<Integer> step)
                         throws DimensionsOutOfBoundsException
Description copied from interface: PixelBuffer
Retrieves a the size of a hypercube from this pixel buffer.

Specified by:
getHypercubeSize in interface PixelBuffer
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
Delegates to Pixels.getId().

Specified by:
getId in interface PixelBuffer

getPath

public String getPath()
Description copied from interface: PixelBuffer
Retrieves the full path to this pixel buffer on disk

Specified by:
getPath in interface PixelBuffer
Returns:
fully qualified path.

getPlane

public ome.util.PixelData getPlane(Integer z,
                                   Integer c,
                                   Integer t)
                            throws IOException,
                                   DimensionsOutOfBoundsException
Description copied from interface: PixelBuffer
Retrieves a particular 2D image plane from this pixel buffer.

Specified by:
getPlane in interface PixelBuffer
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:
IOException - if there is a problem reading from the pixel buffer.
DimensionsOutOfBoundsException - if offsets are out of bounds after checking with checkBounds().

getPlaneDirect

public byte[] getPlaneDirect(Integer z,
                             Integer c,
                             Integer t,
                             byte[] buffer)
                      throws IOException,
                             DimensionsOutOfBoundsException
Description copied from interface: PixelBuffer
Retrieves a particular 2D image plane from this pixel buffer.

Specified by:
getPlaneDirect in interface PixelBuffer
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:
IOException - if there is a problem reading from the pixel buffer.
DimensionsOutOfBoundsException - if offsets are out of bounds after checking with checkBounds().

getPlaneOffset

public Long getPlaneOffset(Integer z,
                           Integer c,
                           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 interface PixelBuffer
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 with checkBounds().

getPlaneRegion

public ome.util.PixelData getPlaneRegion(Integer x,
                                         Integer y,
                                         Integer width,
                                         Integer height,
                                         Integer z,
                                         Integer c,
                                         Integer t,
                                         Integer stride)
                                  throws IOException,
                                         DimensionsOutOfBoundsException
Description copied from interface: PixelBuffer
Retrieves a particular region of a 2D image plane from this pixel buffer.

Specified by:
getPlaneRegion in interface PixelBuffer
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:
IOException - if there is a problem reading from the pixel buffer.
DimensionsOutOfBoundsException - if offsets are out of bounds after checking with checkBounds().

getPlaneRegionDirect

public byte[] getPlaneRegionDirect(Integer z,
                                   Integer c,
                                   Integer t,
                                   Integer count,
                                   Integer offset,
                                   byte[] buffer)
                            throws IOException,
                                   DimensionsOutOfBoundsException
Description copied from interface: PixelBuffer
Retrieves a region from a given plane directly.

Specified by:
getPlaneRegionDirect in interface PixelBuffer
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 retrieve count 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:
IOException - if there is a problem reading from the pixel buffer.
DimensionsOutOfBoundsException
See Also:
getRegionDirect()

getPlaneSize

public Integer getPlaneSize()
Description copied from interface: PixelBuffer
Retrieves the in memory size of a 2D image plane in this pixel buffer.

Specified by:
getPlaneSize in interface PixelBuffer
Returns:
2D image plane size in bytes (sizeX*sizeY*ByteWidth).

getRegion

public ome.util.PixelData getRegion(Integer size,
                                    Long offset)
                             throws IOException
Description copied from interface: PixelBuffer
Retrieves a region from this pixel buffer.

Specified by:
getRegion in interface PixelBuffer
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:
IOException - if there is a problem reading from the pixel buffer.
See Also:
getRegionDirect()

getRegionDirect

public byte[] getRegionDirect(Integer size,
                              Long offset,
                              byte[] buffer)
                       throws IOException
Description copied from interface: PixelBuffer
Retrieves a region from this pixel buffer directly.

Specified by:
getRegionDirect in interface PixelBuffer
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:
IOException - if there is a problem reading from the pixel buffer.
See Also:
getRegion()

getRow

public ome.util.PixelData getRow(Integer y,
                                 Integer z,
                                 Integer c,
                                 Integer t)
                          throws IOException,
                                 DimensionsOutOfBoundsException
Description copied from interface: PixelBuffer
Retrieves a particular row or scanline from this pixel buffer.

Specified by:
getRow in interface PixelBuffer
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:
IOException - if there is a problem reading from the pixel buffer.
DimensionsOutOfBoundsException - if offsets are out of bounds after checking with checkBounds().
See Also:
getRowDirect()

getRowDirect

public byte[] getRowDirect(Integer y,
                           Integer z,
                           Integer c,
                           Integer t,
                           byte[] buffer)
                    throws IOException,
                           DimensionsOutOfBoundsException
Description copied from interface: PixelBuffer
Retrieves a particular row or scanline from this pixel buffer.

Specified by:
getRowDirect in interface PixelBuffer
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:
IOException - if there is a problem reading from the pixel buffer.
DimensionsOutOfBoundsException - if offsets are out of bounds after checking with checkBounds().
See Also:
getRow()

getRowOffset

public Long getRowOffset(Integer y,
                         Integer z,
                         Integer c,
                         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 interface PixelBuffer
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 with checkBounds().

getRowSize

public 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 interface PixelBuffer
Returns:
row or scanline size in bytes (sizeX*ByteWidth)

getSizeC

public int getSizeC()
Description copied from interface: PixelBuffer
Delegates to Pixels.getSizeC().

Specified by:
getSizeC in interface PixelBuffer

getSizeT

public int getSizeT()
Description copied from interface: PixelBuffer
Delegates to Pixels.getSizeT().

Specified by:
getSizeT in interface PixelBuffer

getSizeX

public int getSizeX()
Description copied from interface: PixelBuffer
Delegates to Pixels.getSizeX().

Specified by:
getSizeX in interface PixelBuffer

getSizeY

public int getSizeY()
Description copied from interface: PixelBuffer
Delegates to Pixels.getSizeY().

Specified by:
getSizeY in interface PixelBuffer

getSizeZ

public int getSizeZ()
Description copied from interface: PixelBuffer
Delegates to Pixels.getSizeZ().

Specified by:
getSizeZ in interface PixelBuffer

getStack

public ome.util.PixelData getStack(Integer c,
                                   Integer t)
                            throws 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 interface PixelBuffer
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:
IOException - if there is a problem reading from the pixel buffer.
DimensionsOutOfBoundsException - if offsets are out of bounds after checking with checkBounds().

getStackDirect

public byte[] getStackDirect(Integer c,
                             Integer t,
                             byte[] buffer)
                      throws 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 interface PixelBuffer
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:
IOException - if there is a problem reading from the pixel buffer.
DimensionsOutOfBoundsException - if offsets are out of bounds after checking with checkBounds().

getStackOffset

public Long getStackOffset(Integer c,
                           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 interface PixelBuffer
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 with checkBounds().

getStackSize

public Integer 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 interface PixelBuffer
Returns:
stack size in bytes (sizeX*sizeY*sizeZ*ByteWidth).

getTile

public ome.util.PixelData getTile(Integer z,
                                  Integer c,
                                  Integer t,
                                  Integer x,
                                  Integer y,
                                  Integer w,
                                  Integer h)
                           throws IOException
Description copied from interface: PixelBuffer
Retrieves a tile from this pixel buffer.

Specified by:
getTile in interface PixelBuffer
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:
IOException - if there is a problem reading from the pixel buffer.
See Also:
getTileDirect()

getTileDirect

public byte[] getTileDirect(Integer z,
                            Integer c,
                            Integer t,
                            Integer x,
                            Integer y,
                            Integer w,
                            Integer h,
                            byte[] buffer)
                     throws IOException
Description copied from interface: PixelBuffer
Retrieves a tile from this pixel buffer.

Specified by:
getTileDirect in interface PixelBuffer
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:
IOException - if there is a problem reading from the pixel buffer.
See Also:
getTile()

getTimepoint

public ome.util.PixelData getTimepoint(Integer t)
                                throws 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 interface PixelBuffer
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:
IOException - if there is a problem reading from the pixel buffer.
DimensionsOutOfBoundsException - if offsets are out of bounds after checking with checkBounds().

getTimepointDirect

public byte[] getTimepointDirect(Integer t,
                                 byte[] buffer)
                          throws 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 interface PixelBuffer
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:
IOException - if there is a problem reading from the pixel buffer.
DimensionsOutOfBoundsException - if offsets are out of bounds after checking with checkBounds().

getTimepointOffset

public Long getTimepointOffset(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 interface PixelBuffer
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 with checkBounds().

getTimepointSize

public Integer 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 interface PixelBuffer
Returns:
timepoint size in bytes (sizeX*sizeY*sizeZ*sizeC*ByteWidth).

getTotalSize

public Integer getTotalSize()
Description copied from interface: PixelBuffer
Retrieves the in memory size of the entire pixel buffer.

Specified by:
getTotalSize in interface PixelBuffer
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 interface PixelBuffer
Returns:

isSigned

public boolean isSigned()
Description copied from interface: PixelBuffer
Returns whether or not the pixel buffer has signed pixels.

Specified by:
isSigned in interface PixelBuffer
Returns:
See above.

setPlane

public void setPlane(ByteBuffer buffer,
                     Integer z,
                     Integer c,
                     Integer t)
              throws IOException,
                     DimensionsOutOfBoundsException,
                     BufferOverflowException
Description copied from interface: PixelBuffer
Sets a particular 2D image plane in this pixel buffer.

Specified by:
setPlane in interface PixelBuffer
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:
IOException - if there is a problem writing to the pixel buffer.
DimensionsOutOfBoundsException - if offsets are out of bounds after checking with checkBounds().
BufferOverflowException - if buffer.length > PixelBuffer.getPlaneSize().

setPlane

public void setPlane(byte[] buffer,
                     Integer z,
                     Integer c,
                     Integer t)
              throws IOException,
                     DimensionsOutOfBoundsException,
                     BufferOverflowException
Description copied from interface: PixelBuffer
Sets a particular 2D image plane in this pixel buffer.

Specified by:
setPlane in interface PixelBuffer
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:
IOException - if there is a problem writing to the pixel buffer.
DimensionsOutOfBoundsException - if offsets are out of bounds after checking with checkBounds().
BufferOverflowException - if buffer.length > PixelBuffer.getPlaneSize().

setRegion

public void setRegion(Integer size,
                      Long offset,
                      byte[] buffer)
               throws IOException,
                      BufferOverflowException
Description copied from interface: PixelBuffer
Sets a region in this pixel buffer.

Specified by:
setRegion in interface PixelBuffer
Parameters:
size - byte width of the region to set.
offset - offset within the pixel buffer.
buffer - a byte array of the data.
Throws:
IOException - if there is a problem writing to the pixel buffer.
BufferOverflowException - if buffer.length > size.

setRegion

public void setRegion(Integer size,
                      Long offset,
                      ByteBuffer buffer)
               throws IOException,
                      BufferOverflowException
Description copied from interface: PixelBuffer
Sets a region in this pixel buffer.

Specified by:
setRegion in interface PixelBuffer
Parameters:
size - byte width of the region to set.
offset - offset within the pixel buffer.
buffer - a byte buffer of the data.
Throws:
IOException - if there is a problem writing to the pixel buffer.
BufferOverflowException - if buffer.length > size.

setRow

public void setRow(ByteBuffer buffer,
                   Integer y,
                   Integer z,
                   Integer c,
                   Integer t)
            throws IOException,
                   DimensionsOutOfBoundsException,
                   BufferOverflowException
Description copied from interface: PixelBuffer
Sets a particular row or scanline in this pixel buffer.

Specified by:
setRow in interface PixelBuffer
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:
IOException - if there is a problem reading from the pixel buffer.
DimensionsOutOfBoundsException - if offsets are out of bounds after checking with checkBounds().
BufferOverflowException - if buffer.length > PixelBuffer.getRowSize().

setStack

public void setStack(ByteBuffer buffer,
                     Integer z,
                     Integer c,
                     Integer t)
              throws IOException,
                     DimensionsOutOfBoundsException,
                     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 interface PixelBuffer
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:
IOException - if there is a problem writing to the pixel buffer.
DimensionsOutOfBoundsException - if offsets are out of bounds after checking with checkBounds().
BufferOverflowException - if buffer.length > PixelBuffer.getStackSize().

setStack

public void setStack(byte[] buffer,
                     Integer z,
                     Integer c,
                     Integer t)
              throws IOException,
                     DimensionsOutOfBoundsException,
                     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 interface PixelBuffer
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:
IOException - if there is a problem writing to the pixel buffer.
DimensionsOutOfBoundsException - if offsets are out of bounds after checking with checkBounds().
BufferOverflowException - if buffer.length > PixelBuffer.getStackSize()().

setTimepoint

public void setTimepoint(ByteBuffer buffer,
                         Integer t)
                  throws IOException,
                         DimensionsOutOfBoundsException,
                         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 interface PixelBuffer
Parameters:
buffer - a byte buffer of the data comprising this timepoint.
t - offset across the T-axis of the pixel buffer.
Throws:
IOException - if there is a problem writing to the pixel buffer.
DimensionsOutOfBoundsException - if offsets are out of bounds after checking with checkBounds().
BufferOverflowException - if buffer.length > PixelBuffer.getTimepointSize().

setTimepoint

public void setTimepoint(byte[] buffer,
                         Integer t)
                  throws IOException,
                         DimensionsOutOfBoundsException,
                         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 interface PixelBuffer
Parameters:
buffer - a byte array of the data comprising this timepoint.
t - offset across the T-axis of the pixel buffer.
Throws:
IOException - if there is a problem writing to the pixel buffer.
DimensionsOutOfBoundsException - if offsets are out of bounds after checking with checkBounds().
BufferOverflowException - if buffer.length > PixelBuffer.getTimepointSize().

getResolutionLevel

public int getResolutionLevel()
Description copied from interface: PixelBuffer
Retrieves the active resolution level.

Specified by:
getResolutionLevel in interface PixelBuffer
Returns:
The active resolution level.

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 interface PixelBuffer
Returns:
The number of resolution levels. This value does not necessarily indicate either the presence or absence of a pixels pyramid.

getTileSize

public Dimension getTileSize()
Description copied from interface: PixelBuffer
Retrieves the tile size for the pixel store.

Specified by:
getTileSize in interface PixelBuffer
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 interface PixelBuffer
Parameters:
resolutionLevel - The resolution level to be used by the pixel buffer.


OmeroJava Api

Version: 4.3.4-dbcbce5a-b4

Copyright © 2009 The University of Dundee. All Rights Reserved.