ome.services
Class RenderingBean

java.lang.Object
  extended by ome.services.RenderingBean
All Implemented Interfaces:
Serializable, ServiceInterface, StatefulServiceInterface, RenderingEngine

@Transactional(readOnly=true)
public class RenderingBean
extends Object
implements RenderingEngine, Serializable

Provides the RenderingEngine service. This class is an Adapter to wrap the Renderer so to make it thread-safe.

The multi-threaded design of this component is based on dynamic locking and confinement techniques. All access to the component's internal parts happens through a RenderingEngineImpl object, which is fully synchronized. Internal parts are either never leaked out or given away only if read-only objects. (The only exception are the CodomainMapContext objects which are not read-only but are copied upon every method invocation so to maintain safety.)

Finally the RenderingEngine component doesn't make use of constructs that could compromise liveness.

Since:
3.0-M3
Version:
$Revision$, $Date$
Author:
Andrea Falconi, a.falconi at dundee.ac.uk, Chris Allan, callan at blackcat.ca, Jean-Marie Burel, j.burel at dundee.ac.uk, Josh Moore, josh.moore at gmx.de
See Also:
RenderingEngine, Serialized Form

Field Summary
protected static String NULL_RENDERER
          Message if the rendering engine is not ready.
 
Constructor Summary
RenderingBean(PixelsService dataService, LocalCompress compress, Executor ex, SecuritySystem secSys)
          Compression service Bean injector.
 
Method Summary
 void activate()
          Completely restore this service for active use from whatever passivation it has implemented.
 void addCodomainMap(CodomainMapContext mapCtx)
          Implemented as specified by the RenderingEngine interface.
 void close()
          signals the end of the service lifecycle.
protected  void errorIfInvalidState()
           
protected  void errorIfNullPixels()
          Throws an ApiUsageException if the pixels are not set.
protected  void errorIfNullRenderer()
          Reloads the rendering engine if null and has been made passive or throws an ApiUsageException if the rendering engine is not set.
protected  void errorIfNullRenderingDef()
          Throws an ApiUsageException if the rendering settings are not set.
 List getAvailableFamilies()
          Implemented as specified by the RenderingEngine interface.
 List getAvailableModels()
          Implemented as specified by the RenderingEngine interface.
 double getChannelCurveCoefficient(int w)
          Implemented as specified by the RenderingEngine interface.
 ome.model.enums.Family getChannelFamily(int w)
          Implemented as specified by the RenderingEngine interface.
 boolean getChannelNoiseReduction(int w)
          Implemented as specified by the RenderingEngine interface.
 double[] getChannelStats(int w)
          Implemented as specified by the RenderingEngine interface.
 double getChannelWindowEnd(int w)
          Implemented as specified by the RenderingEngine interface.
 double getChannelWindowStart(int w)
          Implemented as specified by the RenderingEngine interface.
 float getCompressionLevel()
          Implemented as specified by the RenderingEngine interface.
 EventContext getCurrentEventContext()
          Implemented as specified by the RenderingEngine interface.
 int getDefaultT()
          Implemented as specified by the RenderingEngine interface.
 int getDefaultZ()
          Implemented as specified by the RenderingEngine interface.
 ome.model.enums.RenderingModel getModel()
          Implemented as specified by the RenderingEngine interface.
 ome.model.core.Pixels getPixels()
          Implemented as specified by the RenderingEngine interface.
 double getPixelsTypeLowerBound(int w)
          Implemented as specified by the RenderingEngine interface.
 double getPixelsTypeUpperBound(int w)
          Implemented as specified by the RenderingEngine interface.
 ome.model.display.QuantumDef getQuantumDef()
          Implemented as specified by the RenderingEngine interface.
 long getRenderingDefId()
          Returns the id of the RederingDef loaded by either RenderingEngine.lookupRenderingDef(long) or RenderingEngine.loadRenderingDef(long).
 int getResolutionLevel()
           
 int getResolutionLevels()
           
 int[] getRGBA(int w)
          Implemented as specified by the RenderingEngine interface.
 Class<? extends ServiceInterface> getServiceInterface()
          Returns the service corresponding to this class.
 int[] getTileSize()
           
 boolean isActive(int w)
          Implemented as specified by the RenderingEngine interface.
 boolean isPixelsTypeSigned()
          Implemented as specified by the RenderingEngine interface.
 void load()
          Implemented as specified by the RenderingEngine interface.
 void loadRenderingDef(long renderingDefId)
          Implemented as specified by the RenderingEngine interface.
 void lookupPixels(long pixelsId)
          Implemented as specified by the RenderingEngine interface.
 boolean lookupRenderingDef(long pixelsId)
          Implemented as specified by the RenderingEngine interface.
 void passivate()
          Perform whatever passivation is possible or throw an exception.
 void removeCodomainMap(CodomainMapContext mapCtx)
          Implemented as specified by the RenderingEngine interface.
 RGBBuffer render(PlaneDef pd)
          Implemented as specified by the RenderingEngine interface.
 int[] renderAsPackedInt(PlaneDef pd)
          Implemented as specified by the RenderingEngine interface.
 int[] renderAsPackedIntAsRGBA(PlaneDef pd)
          Implemented as specified by the RenderingEngine interface.
 byte[] renderCompressed(PlaneDef pd)
          Implemented as specified by the RenderingEngine interface.
 int[] renderProjectedAsPackedInt(int algorithm, int timepoint, int stepping, int start, int end)
          Implemented as specified by the RenderingEngine interface.
 byte[] renderProjectedCompressed(int algorithm, int timepoint, int stepping, int start, int end)
          Implemented as specified by the RenderingEngine interface.
 boolean requiresPixelsPyramid()
           
 void resetDefaults()
          Implemented as specified by the RenderingEngine interface.
 void resetDefaultsNoSave()
          Implemented as specified by the RenderingEngine interface.
 void saveCurrentSettings()
          Implemented as specified by the RenderingEngine interface.
 void setActive(int w, boolean active)
          Implemented as specified by the RenderingEngine interface.
 void setChannelWindow(int w, double start, double end)
          Implemented as specified by the RenderingEngine interface.
 void setCodomainInterval(int start, int end)
          Implemented as specified by the RenderingEngine interface.
 void setCompressionLevel(float percentage)
          Implemented as specified by the RenderingEngine interface.
 void setDefaultT(int t)
          Implemented as specified by the RenderingEngine interface.
 void setDefaultZ(int z)
          Implemented as specified by the RenderingEngine interface.
 void setModel(ome.model.enums.RenderingModel model)
          Implemented as specified by the RenderingEngine interface.
 void setOverlays(Map<byte[],Integer> overlays)
          Implemented as specified by the RenderingEngine interface.
 void setQuantizationMap(int w, ome.model.enums.Family family, double coefficient, boolean noiseReduction)
          Implemented as specified by the RenderingEngine interface.
 void setQuantumStrategy(int bitResolution)
          Implemented as specified by the RenderingEngine interface.
 void setResolutionLevel(int resolutionLevel)
           
 void setRGBA(int w, int red, int green, int blue, int alpha)
          Implemented as specified by the RenderingEngine interface.
 void updateCodomainMap(CodomainMapContext mapCtx)
          Implemented as specified by the RenderingEngine interface.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NULL_RENDERER

protected static final String NULL_RENDERER
Message if the rendering engine is not ready.

See Also:
Constant Field Values
Constructor Detail

RenderingBean

public RenderingBean(PixelsService dataService,
                     LocalCompress compress,
                     Executor ex,
                     SecuritySystem secSys)
Compression service Bean injector.

Parameters:
compressionService - an ICompress.
Method Detail

getServiceInterface

public Class<? extends ServiceInterface> getServiceInterface()
Returns the service corresponding to this class.

Returns:
See above.

getRenderingDefId

public long getRenderingDefId()
Description copied from interface: RenderingEngine
Returns the id of the RederingDef loaded by either RenderingEngine.lookupRenderingDef(long) or RenderingEngine.loadRenderingDef(long).

Specified by:
getRenderingDefId in interface RenderingEngine

passivate

@Transactional(readOnly=true)
public void passivate()
Description copied from interface: StatefulServiceInterface
Perform whatever passivation is possible or throw an exception. A good passivation method will free up as much memory as possible, most likely by storing it to disk. A call to passivate should be safe even if the service is already passivated.

Specified by:
passivate in interface StatefulServiceInterface

activate

@Transactional(readOnly=true)
public void activate()
Description copied from interface: StatefulServiceInterface
Completely restore this service for active use from whatever passivation it has implemented. A call to activate should be safe even if the service is already activated.

Specified by:
activate in interface StatefulServiceInterface

close

public void close()
Description copied from interface: StatefulServiceInterface
signals the end of the service lifecycle. Resources such as Sessions can be released. All further calls will throw an exception.

Specified by:
close in interface StatefulServiceInterface

lookupPixels

public void lookupPixels(long pixelsId)
Implemented as specified by the RenderingEngine interface.

Specified by:
lookupPixels in interface RenderingEngine
Parameters:
pixelsId - The pixels set ID.
See Also:
RenderingEngine.lookupPixels(long)

lookupRenderingDef

public boolean lookupRenderingDef(long pixelsId)
Implemented as specified by the RenderingEngine interface.

Specified by:
lookupRenderingDef in interface RenderingEngine
Parameters:
pixelsId - The pixels set ID.
Returns:
true if a RenderingDef exists for the Pixels set, otherwise false.
See Also:
RenderingEngine.lookupRenderingDef(long)

loadRenderingDef

public void loadRenderingDef(long renderingDefId)
Implemented as specified by the RenderingEngine interface.

Specified by:
loadRenderingDef in interface RenderingEngine
Parameters:
renderingDefId - The rendering definition ID.
See Also:
RenderingEngine.loadRenderingDef(long)

load

public void load()
Implemented as specified by the RenderingEngine interface.

Specified by:
load in interface RenderingEngine
See Also:
RenderingEngine.load()

setOverlays

public void setOverlays(Map<byte[],Integer> overlays)
Implemented as specified by the RenderingEngine interface.

Specified by:
setOverlays in interface RenderingEngine
Parameters:
overlays - Binary mask to color map.
See Also:
RenderingEngine#setOverlays()

getCurrentEventContext

public EventContext getCurrentEventContext()
Implemented as specified by the RenderingEngine interface. TODO

Specified by:
getCurrentEventContext in interface StatefulServiceInterface
See Also:
StatefulServiceInterface.getCurrentEventContext()

render

public RGBBuffer render(PlaneDef pd)
Implemented as specified by the RenderingEngine interface.

Specified by:
render in interface RenderingEngine
Parameters:
pd - Selects a plane orthogonal to one of the X, Y, or Z axes.
Returns:
An RGB image ready to be displayed on screen.
See Also:
RenderingEngine.render(PlaneDef)

renderAsPackedInt

public int[] renderAsPackedInt(PlaneDef pd)
Implemented as specified by the RenderingEngine interface.

Specified by:
renderAsPackedInt in interface RenderingEngine
Parameters:
pd - Selects a plane orthogonal to one of the X, Y, or Z axes.
Returns:
An RGB image ready to be displayed on screen.
See Also:
RenderingEngine.render(PlaneDef)

renderAsPackedIntAsRGBA

public int[] renderAsPackedIntAsRGBA(PlaneDef pd)
Implemented as specified by the RenderingEngine interface.

Specified by:
renderAsPackedIntAsRGBA in interface RenderingEngine
Parameters:
pd - Selects a plane orthogonal to one of the X, Y, or Z axes.
Returns:
An RGB image ready to be displayed on screen, using packed int in the format RGBA, note that java uses colour format of ARGB.
See Also:
RenderingEngine.render(PlaneDef)

renderCompressed

public byte[] renderCompressed(PlaneDef pd)
Implemented as specified by the RenderingEngine interface.

Specified by:
renderCompressed in interface RenderingEngine
Parameters:
pd - Selects a plane orthogonal to one of the X, Y, or Z axes.
Returns:
A compressed RGBA JPEG for display.
See Also:
RenderingEngine#renderCompressed()

renderProjectedAsPackedInt

public int[] renderProjectedAsPackedInt(int algorithm,
                                        int timepoint,
                                        int stepping,
                                        int start,
                                        int end)
Implemented as specified by the RenderingEngine interface.

Specified by:
renderProjectedAsPackedInt in interface RenderingEngine
Parameters:
algorithm - IProjection#MAXIMUM_INTENSITY, IProjection#MEAN_INTENSITY or IProjection#SUM_INTENSITY.
stepping - Stepping value to use while calculating the projection. For example, stepping=1 will use every optical section from start to end where stepping=2 will use every other section from start to end to perform the projection.
start - Optical section to start projecting from.
end - Optical section to finish projecting.
Returns:
A packed-integer RGBA rendered image of the projected pixels.
See Also:
RenderingEngine#renderProjectedAsPackedInt()

renderProjectedCompressed

public byte[] renderProjectedCompressed(int algorithm,
                                        int timepoint,
                                        int stepping,
                                        int start,
                                        int end)
Implemented as specified by the RenderingEngine interface.

Specified by:
renderProjectedCompressed in interface RenderingEngine
Parameters:
algorithm - IProjection#MAXIMUM_INTENSITY, IProjection#MEAN_INTENSITY or IProjection#SUM_INTENSITY.
stepping - Stepping value to use while calculating the projection. For example, stepping=1 will use every optical section from start to end where stepping=2 will use every other section from start to end to perform the projection.
start - Optical section to start projecting from.
end - Optical section to finish projecting.
Returns:
A compressed RGBA rendered JPEG image of the projected pixels.
See Also:
RenderingEngine#renderProjectedCompressed()

resetDefaults

public void resetDefaults()
Implemented as specified by the RenderingEngine interface.

Specified by:
resetDefaults in interface RenderingEngine
See Also:
RenderingEngine.resetDefaults()

resetDefaultsNoSave

public void resetDefaultsNoSave()
Implemented as specified by the RenderingEngine interface.

Specified by:
resetDefaultsNoSave in interface RenderingEngine
See Also:
RenderingEngine.resetDefaults()

setCompressionLevel

public void setCompressionLevel(float percentage)
Implemented as specified by the RenderingEngine interface.

Specified by:
setCompressionLevel in interface RenderingEngine
Parameters:
percentage - A percentage compression level from 1.00 (100%) to 0.01 (1%).
See Also:
RenderingEngine#setCompressionLevel()

getCompressionLevel

public float getCompressionLevel()
Implemented as specified by the RenderingEngine interface.

Specified by:
getCompressionLevel in interface RenderingEngine
Returns:
See above.
See Also:
RenderingEngine.getCompressionLevel()

saveCurrentSettings

@Transactional(readOnly=false)
public void saveCurrentSettings()
Implemented as specified by the RenderingEngine interface.

Specified by:
saveCurrentSettings in interface RenderingEngine
See Also:
RenderingEngine.saveCurrentSettings()

getChannelCurveCoefficient

public double getChannelCurveCoefficient(int w)
Implemented as specified by the RenderingEngine interface.

Specified by:
getChannelCurveCoefficient in interface RenderingEngine
Parameters:
w - The channel index.
Returns:
See above.
See Also:
RenderingEngine.getChannelCurveCoefficient(int)

getChannelFamily

public ome.model.enums.Family getChannelFamily(int w)
Implemented as specified by the RenderingEngine interface.

Specified by:
getChannelFamily in interface RenderingEngine
Parameters:
w - The channel index.
Returns:
See above.
See Also:
RenderingEngine.getChannelFamily(int)

getChannelNoiseReduction

public boolean getChannelNoiseReduction(int w)
Implemented as specified by the RenderingEngine interface.

Specified by:
getChannelNoiseReduction in interface RenderingEngine
Parameters:
w - The channel index.
Returns:
See above.
See Also:
RenderingEngine.getChannelNoiseReduction(int)

getChannelStats

public double[] getChannelStats(int w)
Implemented as specified by the RenderingEngine interface.

Specified by:
getChannelStats in interface RenderingEngine

getChannelWindowEnd

public double getChannelWindowEnd(int w)
Implemented as specified by the RenderingEngine interface.

Specified by:
getChannelWindowEnd in interface RenderingEngine
Parameters:
w - The channel index.
Returns:
See above.
See Also:
RenderingEngine.getChannelWindowEnd(int)

getChannelWindowStart

public double getChannelWindowStart(int w)
Implemented as specified by the RenderingEngine interface.

Specified by:
getChannelWindowStart in interface RenderingEngine
Parameters:
w - The channel index.
Returns:
See above.
See Also:
RenderingEngine.getChannelWindowStart(int)

getRGBA

public int[] getRGBA(int w)
Implemented as specified by the RenderingEngine interface.

Specified by:
getRGBA in interface RenderingEngine
Parameters:
w - The channel index.
Returns:
See above
See Also:
RenderingEngine.getRGBA(int)

isActive

public boolean isActive(int w)
Implemented as specified by the RenderingEngine interface.

Specified by:
isActive in interface RenderingEngine
Parameters:
w - The channel index.
Returns:
See above.
See Also:
RenderingEngine.isActive(int)

getDefaultT

public int getDefaultT()
Implemented as specified by the RenderingEngine interface.

Specified by:
getDefaultT in interface RenderingEngine
Returns:
See above.
See Also:
RenderingEngine.getDefaultT()

getDefaultZ

public int getDefaultZ()
Implemented as specified by the RenderingEngine interface.

Specified by:
getDefaultZ in interface RenderingEngine
Returns:
See above.
See Also:
RenderingEngine.getDefaultZ()

getModel

public ome.model.enums.RenderingModel getModel()
Implemented as specified by the RenderingEngine interface.

Specified by:
getModel in interface RenderingEngine
Returns:
See above.
See Also:
RenderingEngine.getModel()

getQuantumDef

public ome.model.display.QuantumDef getQuantumDef()
Implemented as specified by the RenderingEngine interface.

Specified by:
getQuantumDef in interface RenderingEngine
Returns:
See above.
See Also:
RenderingEngine.getQuantumDef()

getPixels

public ome.model.core.Pixels getPixels()
Implemented as specified by the RenderingEngine interface.

Specified by:
getPixels in interface RenderingEngine
Returns:
See above.
See Also:
RenderingEngine.getPixels()

getAvailableModels

public List getAvailableModels()
Implemented as specified by the RenderingEngine interface.

Specified by:
getAvailableModels in interface RenderingEngine
Returns:
See above.
See Also:
RenderingEngine.getAvailableModels()

getAvailableFamilies

public List getAvailableFamilies()
Implemented as specified by the RenderingEngine interface.

Specified by:
getAvailableFamilies in interface RenderingEngine
Returns:
See above.
See Also:
RenderingEngine.getAvailableFamilies()

addCodomainMap

public void addCodomainMap(CodomainMapContext mapCtx)
Implemented as specified by the RenderingEngine interface.

Specified by:
addCodomainMap in interface RenderingEngine
Parameters:
mapCtx - The context to add.
See Also:
RenderingEngine.updateCodomainMap(CodomainMapContext), RenderingEngine.removeCodomainMap(CodomainMapContext)

removeCodomainMap

public void removeCodomainMap(CodomainMapContext mapCtx)
Implemented as specified by the RenderingEngine interface.

Specified by:
removeCodomainMap in interface RenderingEngine
Parameters:
mapCtx - The context to remove.
See Also:
RenderingEngine.addCodomainMap(CodomainMapContext), RenderingEngine.updateCodomainMap(CodomainMapContext)

updateCodomainMap

public void updateCodomainMap(CodomainMapContext mapCtx)
Implemented as specified by the RenderingEngine interface.

Specified by:
updateCodomainMap in interface RenderingEngine
Parameters:
mapCtx - The context to update.
See Also:
RenderingEngine.addCodomainMap(CodomainMapContext), RenderingEngine.removeCodomainMap(CodomainMapContext)

setActive

public void setActive(int w,
                      boolean active)
Implemented as specified by the RenderingEngine interface.

Specified by:
setActive in interface RenderingEngine
Parameters:
w - The channel index.
active - Pass true to map the channel, false otherwise.
See Also:
RenderingEngine.setActive(int, boolean)

setChannelWindow

public void setChannelWindow(int w,
                             double start,
                             double end)
Implemented as specified by the RenderingEngine interface.

Specified by:
setChannelWindow in interface RenderingEngine
Parameters:
w - The channel index.
start - The lower bound of the interval.
end - The upper bound of the interval.
See Also:
RenderingEngine.setChannelWindow(int, double, double)

setCodomainInterval

public void setCodomainInterval(int start,
                                int end)
Implemented as specified by the RenderingEngine interface.

Specified by:
setCodomainInterval in interface RenderingEngine
Parameters:
start - The lower bound of the interval.
end - The upper bound of the interval.
See Also:
RenderingEngine.setCodomainInterval(int, int)

setDefaultT

public void setDefaultT(int t)
Implemented as specified by the RenderingEngine interface.

Specified by:
setDefaultT in interface RenderingEngine
Parameters:
t - The value to set.
See Also:
RenderingEngine.setDefaultT(int)

setDefaultZ

public void setDefaultZ(int z)
Implemented as specified by the RenderingEngine interface.

Specified by:
setDefaultZ in interface RenderingEngine
Parameters:
z - The value to set.
See Also:
RenderingEngine.setDefaultZ(int)

setModel

public void setModel(ome.model.enums.RenderingModel model)
Implemented as specified by the RenderingEngine interface.

Specified by:
setModel in interface RenderingEngine
Parameters:
model - Identifies the color space model.
See Also:
RenderingEngine.setModel(RenderingModel)

setQuantizationMap

public void setQuantizationMap(int w,
                               ome.model.enums.Family family,
                               double coefficient,
                               boolean noiseReduction)
Implemented as specified by the RenderingEngine interface.

Specified by:
setQuantizationMap in interface RenderingEngine
Parameters:
w - The channel index.
family - The mapping family.
coefficient - The coefficient identifying a curve in the family.
noiseReduction - Pass true to turn the noise reduction algorithm on, false otherwise.
See Also:
RenderingEngine.setQuantizationMap(int, Family, double, boolean)

setQuantumStrategy

public void setQuantumStrategy(int bitResolution)
Implemented as specified by the RenderingEngine interface.

Specified by:
setQuantumStrategy in interface RenderingEngine
Parameters:
bitResolution - The bit resolution defining associated to the strategy.
See Also:
RenderingEngine.setQuantumStrategy(int)

setRGBA

public void setRGBA(int w,
                    int red,
                    int green,
                    int blue,
                    int alpha)
Implemented as specified by the RenderingEngine interface.

Specified by:
setRGBA in interface RenderingEngine
Parameters:
w - The channel index.
red - The red component. A value between 0 and 255.
green - The green component. A value between 0 and 255.
blue - The blue component. A value between 0 and 255.
alpha - The alpha component. A value between 0 and 255.
See Also:
RenderingEngine.setRGBA(int, int, int, int, int)

isPixelsTypeSigned

public boolean isPixelsTypeSigned()
Implemented as specified by the RenderingEngine interface.

Specified by:
isPixelsTypeSigned in interface RenderingEngine
Returns:
See above.
See Also:
RenderingEngine.isPixelsTypeSigned()

getPixelsTypeLowerBound

public double getPixelsTypeLowerBound(int w)
Implemented as specified by the RenderingEngine interface.

Specified by:
getPixelsTypeLowerBound in interface RenderingEngine
Parameters:
w - The channel index.
Returns:
See above.
See Also:
RenderingEngine.getPixelsTypeLowerBound(int)

getResolutionLevel

public int getResolutionLevel()
Specified by:
getResolutionLevel in interface RenderingEngine

getResolutionLevels

public int getResolutionLevels()
Specified by:
getResolutionLevels in interface RenderingEngine

getTileSize

public int[] getTileSize()
Specified by:
getTileSize in interface RenderingEngine

requiresPixelsPyramid

public boolean requiresPixelsPyramid()
Specified by:
requiresPixelsPyramid in interface RenderingEngine

setResolutionLevel

public void setResolutionLevel(int resolutionLevel)
Specified by:
setResolutionLevel in interface RenderingEngine

getPixelsTypeUpperBound

public double getPixelsTypeUpperBound(int w)
Implemented as specified by the RenderingEngine interface.

Specified by:
getPixelsTypeUpperBound in interface RenderingEngine
Parameters:
w - The channel index.
Returns:
See above.
See Also:
RenderingEngine.getPixelsTypeUpperBound(int)

errorIfInvalidState

protected void errorIfInvalidState()

errorIfNullPixels

protected void errorIfNullPixels()
Throws an ApiUsageException if the pixels are not set.


errorIfNullRenderingDef

protected void errorIfNullRenderingDef()
Throws an ApiUsageException if the rendering settings are not set.


errorIfNullRenderer

protected void errorIfNullRenderer()
Reloads the rendering engine if null and has been made passive or throws an ApiUsageException if the rendering engine is not set.



OmeroJava Api

Version: 4.3.4-dbcbce5a-b4

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