ome.api
Interface ThumbnailStore

All Superinterfaces:
ServiceInterface, StatefulServiceInterface
All Known Implementing Classes:
ThumbnailBean

public interface ThumbnailStore
extends StatefulServiceInterface

Provides methods for dealing with thumbnails. Provision is provided to retrieve thumbnails using the on-disk cache (provided by ROMIO) or on the fly.

NOTE: The calling order for the service is as follows:

  1. setPixelsId()
  2. any of the thumbnail accessor methods or resetDefaults()

Since:
3.0
Version:
3.0 (Internal version: $Rev: 4599 $ $Date: 2009-07-10 13:42:01 +0100 (Fri, 10 Jul 2009) $)
Author:
Chris Allan      callan@blackcat.ca

Method Summary
 void createThumbnail(Integer sizeX, Integer sizeY)
          Creates a thumbnail for a pixels set using a given set of rendering settings (RenderingDef) in the on-disk cache.
 void createThumbnails()
          Creates thumbnails for a pixels set using a given set of rendering settings (RenderingDef) in the on-disk cache for every sizeX/sizeY combination already cached.
 void createThumbnailsByLongestSideSet(Integer size, Set<Long> pixelsIds)
          Creates thumbnails for a number of pixels sets using a given set of rendering settings (RenderingDef) in the on-disk cache.
 byte[] getThumbnail(Integer sizeX, Integer sizeY)
          Retrieves a thumbnail for a pixels set using a given set of rendering settings (RenderingDef).
 byte[] getThumbnailByLongestSide(Integer size)
          Retrieves a thumbnail for a pixels set using a given set of rendering settings (RenderingDef).
 byte[] getThumbnailByLongestSideDirect(Integer size)
          Retrieves a thumbnail for a pixels set using a given set of rendering settings (RenderingDef).
 Map<Long,byte[]> getThumbnailByLongestSideSet(Integer size, Set<Long> pixelsIds)
          Retrieves a number of thumbnails for pixels sets using given sets of rendering settings (RenderingDef).
 byte[] getThumbnailDirect(Integer sizeX, Integer sizeY)
          Retrieves a thumbnail for a pixels set using a given set of rendering settings (RenderingDef).
 byte[] getThumbnailForSectionByLongestSideDirect(int theZ, int theT, Integer size)
          Retrieves a thumbnail for a pixels set using a given set of rendering settings (RenderingDef) for a particular section.
 byte[] getThumbnailForSectionDirect(int theZ, int theT, Integer sizeX, Integer sizeY)
          Retrieves a thumbnail for a pixels set using a given set of rendering settings (RenderingDef) for a particular section.
 Map<Long,byte[]> getThumbnailSet(Integer sizeX, Integer sizeY, Set<Long> pixelsIds)
          Retrieves a number of thumbnails for pixels sets using given sets of rendering settings (RenderingDef).
 void resetDefaults()
          Resets the rendering definition for the active pixels set to its default settings.
 boolean setPixelsId(long pixelsId)
          This method manages the state of the service; it must be invoked before using any other methods.
 void setRenderingDefId(long renderingDefId)
          This method manages the state of the service; it should be invoked directly after setPixelsId.
 boolean thumbnailExists(Integer sizeX, Integer sizeY)
          Checks if a thumbnail of a particular size exists for a pixels set.
 
Methods inherited from interface ome.api.StatefulServiceInterface
activate, close, getCurrentEventContext, passivate
 

Method Detail

setPixelsId

boolean setPixelsId(long pixelsId)
This method manages the state of the service; it must be invoked before using any other methods. As the
ThumbnailStore
relies on the
RenderingEngine
, a valid rendering definition must be available for it to work.

Parameters:
pixelsId - an Pixels id.
Returns:
true if a RenderingDef exists for the Pixels set, otherwise false
Throws:
ApiUsageException - if no pixels object exists with the ID pixelsId.

setRenderingDefId

void setRenderingDefId(long renderingDefId)
This method manages the state of the service; it should be invoked directly after setPixelsId. If it is not invoked with a valid rendering definition ID before using the thumbnail accessor methods execution continues as if renderingDefId were set to null.

Parameters:
renderingDefId - an RenderingDef id. null specifies the user's currently active rendering settings to be used.
Throws:
ValidationException - if no rendering definition exists with the ID renderingDefId.

getThumbnail

byte[] getThumbnail(Integer sizeX,
                    Integer sizeY)
Retrieves a thumbnail for a pixels set using a given set of rendering settings (RenderingDef). If the thumbnail exists in the on-disk cache it will be returned directly, otherwise it will be created as in #getThumbDirect(), placed in the on-disk cache and returned.

Parameters:
sizeX - the X-axis width of the thumbnail. null specifies the default size of 48.
sizeY - the Y-axis width of the thumbnail. null specifies the default size of 48.
Returns:
a JPEG thumbnail byte buffer.
Throws:
ApiUsageException - if:
  • sizeX > pixels.sizeX
  • sizeX is negative
  • sizeY > pixels.sizeY
  • sizeY is negative
  • setPixelsId() has not yet been called
See Also:
getThumbnailDirect()

getThumbnailSet

Map<Long,byte[]> getThumbnailSet(Integer sizeX,
                                 Integer sizeY,
                                 Set<Long> pixelsIds)
Retrieves a number of thumbnails for pixels sets using given sets of rendering settings (RenderingDef). If the thumbnails exist in the on-disk cache they will be returned directly, otherwise they will be created as in #getThumbDirect(), placed in the on-disk cache and returned. Unlike the other thumbnail retrieval methods, this method may be called without first calling #setPixelsId().

Parameters:
sizeX - the X-axis width of the thumbnail. null specifies the default size of 48.
sizeY - the Y-axis width of the thumbnail. null specifies the default size of 48.
pixelsIds - the Pixels sets to retrieve thumbnails for.
Returns:
a Map whose keys are pixels ids and values are JPEG thumbnail byte buffers or null if an exception was thrown while attempting to retrieve the thumbnail for that particular Pixels set.
See Also:
getThumbnail()

getThumbnailByLongestSideSet

Map<Long,byte[]> getThumbnailByLongestSideSet(Integer size,
                                              Set<Long> pixelsIds)
Retrieves a number of thumbnails for pixels sets using given sets of rendering settings (RenderingDef). If the Thumbnails exist in the on-disk cache they will be returned directly, otherwise they will be created as in getThumbnailByLongestSideDirect(java.lang.Integer). The longest side of the image will be used to calculate the size for the smaller side in order to keep the aspect ratio of the original image. Unlike the other thumbnail retrieval methods, this method may be called without first calling #setPixelsId().

Parameters:
size - the size of the longest side of the thumbnail requested. null specifies the default size of 48.
pixelsIds - the Pixels sets to retrieve thumbnails for.
Returns:
a Map whose keys are pixels ids and values are JPEG thumbnail byte buffers or null if an exception was thrown while attempting to retrieve the thumbnail for that particular Pixels set.
See Also:
getThumbnailSet()

getThumbnailByLongestSide

byte[] getThumbnailByLongestSide(Integer size)
Retrieves a thumbnail for a pixels set using a given set of rendering settings (RenderingDef). If the thumbnail exists in the on-disk cache it will bereturned directly, otherwise it will be created as in #getThumbDirect(), placed in the on-disk cache and returned. The longest side of the image will be used to calculate the size for the smaller side in order to keep the aspect ratio of the original image.

Parameters:
size - the size of the longest side of the thumbnail requested. null specifies the default size of 48.
Returns:
a JPEG thumbnail byte buffer.
Throws:
ApiUsageException - if:
  • size > pixels.sizeX and pixels.sizeY
  • setPixelsId() has not yet been called
See Also:
getThumbnail()

getThumbnailDirect

byte[] getThumbnailDirect(Integer sizeX,
                          Integer sizeY)
Retrieves a thumbnail for a pixels set using a given set of rendering settings (RenderingDef). The Thumbnail will always be created directly, ignoring the on-disk cache.

Parameters:
sizeX - the X-axis width of the thumbnail. null specifies the default size of 48.
sizeY - the Y-axis width of the thumbnail. null specifies the default size of 48.
Returns:
a JPEG thumbnail byte buffer.
Throws:
ApiUsageException - if:
  • sizeX > pixels.sizeX
  • sizeX is negative
  • sizeY > pixels.sizeY
  • sizeY is negative
  • setPixelsId() has not yet been called
See Also:
getThumbnail()

getThumbnailForSectionDirect

byte[] getThumbnailForSectionDirect(int theZ,
                                    int theT,
                                    Integer sizeX,
                                    Integer sizeY)
Retrieves a thumbnail for a pixels set using a given set of rendering settings (RenderingDef) for a particular section. The Thumbnail will always be created directly, ignoring the on-disk cache.

Parameters:
theZ - the optical section (offset across the Z-axis) to use.
theT - the timepoint (offset across the T-axis) to use.
sizeX - the X-axis width of the thumbnail. null specifies the default size of 48.
sizeY - the Y-axis width of the thumbnail. null specifies the default size of 48.
Returns:
a JPEG thumbnail byte buffer.
Throws:
ApiUsageException - if:
  • sizeX > pixels.sizeX
  • sizeX is negative
  • sizeY > pixels.sizeY
  • sizeY is negative
  • theZ is out of range
  • theT is out of range
  • setPixelsId() has not yet been called
See Also:
getThumbnail()

getThumbnailByLongestSideDirect

byte[] getThumbnailByLongestSideDirect(Integer size)
Retrieves a thumbnail for a pixels set using a given set of rendering settings (RenderingDef). The Thumbnail will always be created directly, ignoring the on-disk cache. The longest side of the image will be used to calculate the size for the smaller side in order to keep the aspect ratio of the original image.

Parameters:
size - the size of the longest side of the thumbnail requested. null specifies the default size of 48.
Returns:
a JPEG thumbnail byte buffer.
Throws:
ApiUsageException - if:
  • size > pixels.sizeX and pixels.sizeY
  • setPixelsId() has not yet been called
See Also:
getThumbnailDirect()

getThumbnailForSectionByLongestSideDirect

byte[] getThumbnailForSectionByLongestSideDirect(int theZ,
                                                 int theT,
                                                 Integer size)
Retrieves a thumbnail for a pixels set using a given set of rendering settings (RenderingDef) for a particular section. The Thumbnail will always be created directly, ignoring the on-disk cache. The longest side of the image will be used to calculate the size for the smaller side in order to keep the aspect ratio of the original image.

Parameters:
theZ - the optical section (offset across the Z-axis) to use.
theT - the timepoint (offset across the T-axis) to use.
size - the size of the longest side of the thumbnail requested. null specifies the default size of 48.
Returns:
a JPEG thumbnail byte buffer.
Throws:
ApiUsageException - if:
  • size > pixels.sizeX and pixels.sizeY
  • setPixelsId() has not yet been called
See Also:
getThumbnailDirect()

createThumbnail

void createThumbnail(Integer sizeX,
                     Integer sizeY)
Creates a thumbnail for a pixels set using a given set of rendering settings (RenderingDef) in the on-disk cache.

Parameters:
sizeX - the X-axis width of the thumbnail. null specifies the default size of 48.
sizeY - the Y-axis width of the thumbnail. null specifies the default size of 48.
Throws:
ApiUsageException - if:
  • sizeX > pixels.sizeX
  • sizeX is negative
  • sizeY > pixels.sizeY
  • sizeY is negative
  • setPixelsId() has not yet been called
See Also:
getThumb(), getThumbDirect()

createThumbnailsByLongestSideSet

void createThumbnailsByLongestSideSet(Integer size,
                                      Set<Long> pixelsIds)
Creates thumbnails for a number of pixels sets using a given set of rendering settings (RenderingDef) in the on-disk cache. Unlike the other thumbnail creation methods, this method may be called without first calling #setPixelsId(). This method will not reset or modify rendering settings in any way. If rendering settings for a pixels set are not present, thumbnail creation for that pixels set will not be performed.

Parameters:
size - the size of the longest side of the thumbnail requested. null specifies the default size of 48.
pixelsIds - the Pixels sets to retrieve thumbnails for.
Throws:
ApiUsageException - if:
  • size > pixels.sizeX and pixels.sizeY
  • size is negative
See Also:
createThumbnail(), createThumbnails()

createThumbnails

void createThumbnails()
Creates thumbnails for a pixels set using a given set of rendering settings (RenderingDef) in the on-disk cache for every sizeX/sizeY combination already cached.

See Also:
getThumb(), getThumbDirect()

thumbnailExists

boolean thumbnailExists(Integer sizeX,
                        Integer sizeY)
Checks if a thumbnail of a particular size exists for a pixels set.

Parameters:
sizeX - the X-axis width of the thumbnail. null specifies use the default size of 48.
sizeY - the Y-axis width of the thumbnail. null specifies user the default size of 48.
Throws:
ApiUsageException - if:
  • sizeX is negative
  • sizeY is negative
  • setPixelsId() has not yet been called
See Also:
getThumb(), getThumbDirect()

resetDefaults

void resetDefaults()
Resets the rendering definition for the active pixels set to its default settings.



OmeroJava Api

Version: Beta-4.2.0-r7571-b29

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