The omero::api module defines all the central verbs for working with OMERO.blitz.
Arguments and return values consist of those
types defined in the other ice files available here. With no further custom code, it is possible to interoperate with OMERO.blitz simply via the definitions here. Start with the ServiceFactory definition at the end of this file.
Note: Using these types is significantly easier in combination with
the JavaDocs of the OMERO.server, specifically the ome.api package. Where not further noted below, the follow mappings between ome.api argument types and omero::api argument types hold:
ome.api | omero::api |
java.lang.Class | string |
java.util.Set | java.util.List/vector |
IPojo options (Map) | omero::sys::ParamMap |
If null needed | omero::RType subclass |
... | ... |
Bases: Ice.Object
Primary callback interface for interaction between client and server session (“”ServiceFactory””). Where possible these methods will be called one-way to prevent clients from hanging the server.
Heartbeat-request made by the server to guarantee that the client is alive. If the client is still active, then some method should be made on the server to update the last idle time.
The session to which this ServiceFactory is connected has been closed. Almost no further method calls (if any) are possible. Create a new session via omero.client.createSession()
Message that the server will be shutting down in the given number of milliseconds, after which all new and running method invocations will receive a CancelledException.
Bases: IcePy.ObjectPrx
Heartbeat-request made by the server to guarantee that the client is alive. If the client is still active, then some method should be made on the server to update the last idle time.
Bases: omero.api.StatefulServiceInterface
Stateful service for generating OME-XML or OME-TIFF from data stored in OMERO. Intended usage:
ExporterPrx e = sf.createExporter();
// Exporter is currently in the configuration state // Objects can be added by id which should be present // in the output.
e.addImage(1);
// As soon as a generate method is called, the objects // added to the Exporter are converted to the specified // format. The length of the file produced is returned. // No more objects can be added to the Exporter, nor can // another generate method be called.
long length = e.generateTiff();
// As soon as the server-side file is generated, read() // can be called to get file segments. To create another // file, create a second Exporter. Be sure to close all // Exporter instances.
long read = 0 byte[] buf; while (true) { buf = e.read(read, 1000000); // Store to file locally here if (buf.length
Adds a single image with basic metadata to the Exporter for inclusion on the next call to getBytes().
Generates an OME-TIFF file. The return value is the length of the file produced. This method ends configuration.
Generates an OME-XML file. The return value is the length of the file produced.
Returns length bytes from the output file. The file can be safely read until reset() is called.
Bases: omero.api.StatefulServiceInterfacePrx
Adds a single image with basic metadata to the Exporter for inclusion on the next call to getBytes().
Bases: omero.api.ServiceInterface
Administration interface providing access to admin-only functionality as well as JMX-based server access and selected user functions. Most methods require membership in privileged omero.model.ExperimenterGroup groups.
Methods which return omero.model.Experimenter or omero.model.ExperimenterGroup instances fetch and load all related instances of omero.model.ExperimenterGroup or omero.model.Experimenter, respectively.
Adds the given users to the owner list for this group.
omero.model.Experimenters. Not null.
Adds a user to the given groups.
null.
Returns true if the currently logged in user can modify the given omero.model.IObject. This uses the same logic that would be applied during a Hibernate flush to the database.
Used after an omero.ExpiredCredentialException instance is thrown.
Changes the password for the current user by passing the old password.
no password. Exceptions:
SecurityViolation if the oldPassword is incorrect.
Changes the password for the current user.
Warning:This method requires the user to be authenticated with a password and not with a one-time session id. To avoid this problem, use changePasswordWithOldPassword.
See also ticket 911 and ticket 3201
no password. Exceptions:
SecurityViolation if the user is not authenticated
with a password.
Changes the password for the a given user.
the security sub-system. Exceptions:
SecurityViolation if the new password is too weak.
Fetches all omero.model.Experimenter users contained in this group. The returned users will have all fields filled in and all collections unloaded.
omero.model.Experimenter users in this group.
Fetches all omero.model.ExperimenterGroup groups of which the given user is a member. The returned groups will have all fields filled in and all collections unloaded.
omero.model.ExperimenterGroup groups for this user.
Creates and returns a new user in the given groups with password.
omero.model.ExperimenterGroup instances. Can be null. Returns:
id of the newly created
omero.model.Experimenter Not null. Exceptions:
SecurityViolation if the new password is too weak.
Creates and returns a new user in the given groups.
omero.model.ExperimenterGroup instances. Can be null. Returns:
id of the newly created
omero.model.Experimenter Not null.
Creates and returns a new group. The omero.model.Details#setPermissions method should be called on the instance which is passed. The given omero.model.Permissions will become the default for all objects created while logged into this group, possibly modified by the user’s umask settings. If no permissions is set, the default will be omero.model.Permissions#USER_PRIVATE, i.e. a group in which no user can see the other group member’s data.
See also ticket 1434
omero.model.ExperimenterGroup instance. Not null. Returns:
id of the newly created ExperimenterGroup
Creates and returns a new system user. This user will be created with the System (administration) group as default and will also be in the user group.
instance Returns:
id of the newly created
omero.model.Experimenter
Creates and returns a new user. This user will be created with the default group specified.
omero.model.Experimenter
Removes a user by removing the password information for that user as well as all omero.model.GroupExperimenterMap instances.
Removes a group by first removing all users in the group, and then deleting the actual omero.model.ExperimenterGroup instance.
deleted. Not null.
Retrieves the default omero.model.ExperimenterGroup group for the given user id.
no default group is found, an exception will be thrown.
Returns an implementation of omero.sys.EventContext loaded with the security for the current user and thread. If called remotely, not all values of omero.sys.EventContext will be sensible.
instance
Fetches an omero.model.Experimenter and all related omero.model.ExperimenterGroup.
Fetches an omero.model.ExperimenterGroup and all contained omero.model.Experimenter users.
Finds the ids for all groups for which the given omero.model.Experimenter is owner/leader.
Finds the ids for all groups for which the given omero.model.Experimenter is a member.
Retrieves the omero.model.OriginalFile object attached to this user as specified by uploadMyUserPhoto. The return value is order by the most recently modified file first.
Returns the active omero.sys.Roles in use by the server.
instance.
Looks up an omero.model.Experimenter and all related omero.model.ExperimenterGroup by name.
Looks up all omero.model.Experimenter experimenters present and all related omero.model.ExperimenterGroup groups.
Looks up an omero.model.ExperimenterGroup and all contained omero.model.Experimenter users by name.
Looks up all omero.model.ExperimenterGroup groups present and all related omero.model.Experimenter experimenters. The experimenter’s groups are also loaded.
Looks up omero.model.Experimenter experimenters who use LDAP authentication (has set dn on password table).
Looks up all ids of omero.model.Experimenter experimenters who use LDAP authentication (has set dn on password table).
Moves the given objects into the user group to make them visible and linkable from all security contexts.
See also ticket 1794
removes the given users from the owner list for this group.
omero.model.Experimenters. Not null.
Removes an experimenter from the given groups.
The root experimenter is required to be in both the user and system groups. An experimenter may not remove themself from the user or system group. An experimenter may not be a member of only the user group, some other group is also required as the default group. An experimenter must remain a member of some group.
Not null.
Sets the default group for a given user.
for this user. Not null.
Adds the user to the owner list for this group.
Since Beta 4.2 multiple users can be the owner of a group.
omero.model.Experimenter. Not null.
Uses JMX to refresh the login cache if supported. Some backends may not provide refreshing. This may be called internally during some other administrative tasks. The exact implementation of this depends on the application server and the authentication/authorization backend.
Removes the user from the owner list for this group.
Since Beta 4.2 multiple users can be the owner of a group.
omero.model.Experimenter. Not null.
Updates an experimenter if admin or owner of group. Only string fields on the object are taken into account. The root and guest experimenters may not be renamed.
security sub-system.
Updates an experimenter if admin or owner of group. Only string fields on the object are taken into account. The root and guest experimenters may not be renamed.
Before a SecurityViolation would be thrown, however, this method will pass to updateSelf if the current user matches the given experimenter.
Updates an experimenter group if admin or owner of group. Only string fields on the object are taken into account. The root, system and guest groups may not be renamed, nor may the user’s current group.
Allows a user to update his/her own information. This is limited to the fields on Experimenter, all other fields (groups, etc.) are ignored. The experimenter argument need not have the proper id nor the proper omeName (which is immutable). To change the users default group (which is the only other customizable option), use setDefaultGroup
firstName, middleName, lastName, email, and institution are checked. Not null.
Uploads a photo for the user which will be displayed on his/her profile. This photo will be saved as an omero.model.OriginalFile object with the given format, and attached to the user’s omero.model.Experimenter object via an omero.model.FileAnnotation with the namespace: openmicroscopy.org/omero/experimenter/photo (NSEXPERIMENTERPHOTO). If such an omero.model.OriginalFile instance already exists, it will be overwritten. If more than one photo is present, the oldest version will be modified (i.e. the highest updateEvent id).
Note: as outlined in ticket 1794 this photo will be placed in the user group and therefore will be visible to everyone on the system.
written to disk. Returns:
the id of the overwritten or newly created user
photo OriginalFile object.
Bases: omero.api.ServiceInterfacePrx
Returns true if the currently logged in user can modify the given omero.model.IObject. This uses the same logic that would be applied during a Hibernate flush to the database.
Bases: omero.api.ServiceInterface
Access to server configuration. These methods provide access to the state and configuration of the server and its components (e.g. the database). However, it should not be assumed that two subsequent calls to a proxy for this service will go to the same server due to clustering.
Not all possible server configuration is available through this API. Some values (such as DB connection info, ports, etc.) must naturally be set before this service is accessible.
Manages synchronization of the various configuration sources internally. It is therefore important that as far as possible all configuration changes take place via this interface and not, for example, directly via java.util.prefs.Preferences.
Also used as the main developer example for developing (stateless) ome.api interfaces. See source code documentation for more.
Reads the etc/omero.properties file and returns all the key/value pairs that are found there which match the prefix omero.client.
Retrieves configuration values like getConfigValues but only those with the prefix omero.client.
Reads the etc/omero.properties file and returns all the key/value pairs that are found there. Since this file is not to be edited its assumed that these values are in the public domain and so there’s no need to protect them.
Retrieves a configuration value from the backend store. Permissions applied to the configuration value may cause a SecurityViolation to be thrown.
value Returns:
The string value linked to this key, possibly null
if not set. Exceptions:
ApiUsageException if the key is null or invalid. SecurityViolation if the value for the key is not
readable.
Retrieves configuration values from the backend store which match the given regex. Any configuration value which would throw an exception on being loaded is omitted.
configuration values Returns:
a map from the found keys to the linked values.
Checks the database for its time using a SELECT statement.
database time. Exceptions:
InternalException though any call can throw an
InternalException it is more likely that this can occur while contacting the DB. An exception here most likely means (A) a temporary issue with the DB or (B) a SQL dialect issue which must be corrected by the Omero team.
Provides the UUID for this OMERO (database) instance. To make imports and exports function properly, only one physical database should be active with a given instance UUID. All other copies of the database with that UUID are invalid as soon as one modification is made.
This value is stored in the configuration table under the key omero.db.uuid.
Checks the current server for its time. This value may be variant depending on whether the service is clustered or not.
server’s own time.
Provides the release version. OMERO-internal values will be in the form Major.minor.patch, starting with the value 4.0.0 for the 4.0 release, Spring 2009.
Customized values should begin with a alphabetic sequence followed by a hyphen: ACME-0.0.1 and any build information should follow the patch number also with a hyphen: 4.0.0-RC1. These values will be removed by getVersion
Calls setConfigValue if and only if the configuration property is currently equal to the test argument. If the test is null or empty, then the configuration property will be set only if missing.
Sets a configuration value in the backend store. Permissions applied to the configuration value may cause a SecurityViolation to be thrown. If the value is null or empty, then the configuration will be removed in all writable configuration sources. If the configuration is set in a non-modifiable source (e.g. in a property file on the classpath), then a subsequent call to getConfigValue will return that value.
Bases: omero.api.ServiceInterfacePrx
Provides the release version. OMERO-internal values will be in the form Major.minor.patch, starting with the value 4.0.0 for the 4.0 release, Spring 2009.
Customized values should begin with a alphabetic sequence followed by a hyphen: ACME-0.0.1 and any build information should follow the patch number also with a hyphen: 4.0.0-RC1. These values will be removed by getVersion
Bases: omero.api.ServiceInterface
Provides methods for dealing with the core Pojos of OME. Included are: Projects, Datasets, Images.
Read API
The names of the methods correlate to how the function operates:
load: start at container objects and work down toward the leaves, returning hierarchy (Project->Dataset->Image find: start at leaf objects and work up to containers, returning hierarchy get: retrieves only leaves in the hierarchy (currently only Images)
Options Mechanism
The options are used to add some constraints to the generic method e.g. load hierarchy trees images for a given user. This mechanism should give us enough flexibility to extend the API if necessary, e.g. in some cases we might want to retrieve the images with or without annotations
Most methods take such an options map which is built on the client-side using the Parameters class. The currently supported options are:
annotator(Integer): If key exists but value null, annotations are retrieved for all objects in the hierarchy where they exist; if a valid experimenterID, annotations are only retrieved for that user. May not be used be all methods. Default: all annotations leaves(Boolean): if FALSE omits images from the returned hierarchy. May not be used by all methods. Default: true experimenter(Integer): enables filtering on a per-experimenter basis. This option has a method-specific (and possibly context-specific) meaning. Please see the individual methods. group(Integer): enables filtering on a per-group basis. The experimenter value is ignored if present and instead a similar filtering is done using all experimenters in the given group.
Write API
As outlined in TODO, the semantics of the Omero write API are based on three rules:
IObject-valued fields for which isLoaded() returns false are assumed filtered Collection-valued fields that are null are assumed filtered Collection-valued fields for which getDetails().isFiltered(String collectionName) returns true are assumed filtered. TODO: should we accept isFiltered for all fields?
In each of these cases, the server will reload that given field before attempting to save the graph.
For all write calls, the options map (see below) must contain the userId and the userGroupId for the newly created objects. TODO umask.
Creates the specified data object.
A placeholder parent object is created if the data object is to be put in a collection.
For example, if the object is a Dataset, we first create a Project as parent then we set the Dataset parent as follows: //pseudo-code TODO Project p = new Project(id,false); dataset.addProject(p);
then for each parent relationship a DataObject omero.model.ILink is created.
IObject. Supported: Project, Dataset, Annotation, Group, Experimenter. Not null.
options Parameters as above.
Convenience method to save network calls. Loops over the array of IObjects calling createDataObject.
Parameters as above.
Retrieves hierarchy trees in various hierarchies that contain the specified Images.
This method will look for all the containers containing the specified Images and then for all containers containing those containers and on up the container hierarchy.
This method returns a Set with all root nodes that were found. Every root node is linked to the found objects and so on until the leaf nodes, which are omero.model.Image objects. Note that the type of any root node in the returned set can be the given rootNodeType, any of its containees or an omero.model.Image.
For example, say that you pass in the ids of six Images: i1, i2, i3, i4, i5, i6. If the P/D/I hierarchy in the DB looks like this:
Then the returned set will contain p1, d3, i5, i6. All objects will be properly linked up.
Finally, this method will only retrieve the nodes that are connected in a tree to the specified leaf image nodes. Back to the previous example, if d1 contained image img500, then the returned object would not contain img500. In a similar way, if p1 contained ds300 and this dataset weren’t linked to any of the i1, i2, i3, i4, i5, i6 images, then ds300 would not be part of the returned tree rooted by p1.
top-most type which will be searched for Can be omero.model.Project. Not null.
imageIds
Contains the ids of the Images that sit at the bottom of the trees. Not null.
options
Parameters as above. annotator used. experimenter|group may be applied at the top-level only or at each level in the hierarchy, but will not apply to the leaf (Image) level. Returns:
A Set with all root nodes that were
found.
Counts the number of members in a collection for a given object. For example, if you wanted to retrieve the number of Images contained in a Dataset you would pass TODO.
The fully-qualified classname of the object to be tested
property
Name of the property on that class, omitting getters and setters.
ids
Parameters. Unused. Returns:
A map from id integer to count integer
Retrieves images by options.
Parameters as above. No notion of leaves. experimenter|group apply at the Image level and must be present. OPTIONS: - startTime and/or endTime should be Timestamp.valueOf(“YYYY-MM-DD hh:mm:ss.ms”). acquisition data is only relevant for images. Returns:
A set of images.
Given a list of IDs of certain entity types, calculates which filesets are split such that a non-empty proper subset of their images are referenced, directly or indirectly, as being included. The return value lists both the fileset IDs and the image IDs in ascending order, the image ID lists separated by if they were included. Warning: following discussion in trac ticket 11019 the return type may be changed. Arguments:
included the entities included options parameters, presently ignored
Retrieve a user’s (or all users’) images within any given container. For example, all images in project, applying temporal filtering or pagination.
A Class which will have its hierarchy searched for Images. Not null.
rootIds
A set of ids of type rootNodeType Not null.
options
Parameters as above. No notion of leaves. experimenter|group apply at the Image level. OPTIONS: - startTime and/or endTime should be Timestamp.valueOf(“YYYY-MM-DD hh:mm:ss.ms”);
limit and offset are applied at the Image-level. That is, calling with Dataset.class, limit == 10 and offset == 0 will first perform one query to get an effective set of rootNodeIds, then getImages will be called with an effective rootNodeType of Image.class and the new ids.
acquisition data is only relevant for images. Returns:
A set of images.
Retrieves a user’s images.
Parameters as above. No notion of leaves. experimenter|group apply at the Image level and must be present. Returns:
A set of images.
Convenience method for creating links. Functionality also available from createDataObject
Retrieves hierarchy trees rooted by a given node (unless orphan is specified – See below)
This method also retrieves the Experimenters linked to the objects in the tree. Similarly, all Images will be linked to their Pixel objects if included.
Note that objects are never duplicated. For example, if an Experimenter owns all the objects in the retrieved tree, then those objects will be linked to the same instance of omero.model.Experimenter. Or if an Image is contained in more than one Dataset in the retrieved tree, then all enclosing omero.model.Dataset objects will point to the same omero.model.Image object. And so on.
The type of the root node. Can be omero.model.Project, omero.model.Dataset, omero.model.Screen or omero.model.Plate. Cannot be null.
rootIds
The ids of the root nodes. Can be null if an Experimenter is specified in options, otherwise an Exception is thrown to prevent all images in the entire database from being downloaded.
options
Parameters as above. annotator, leaves, orphan, acquisition data used. acquisition data is only relevant for images and taken into account if the images are loaded. If rootNodeIds==null, experimenter|group must be set and filtering will be applied at the Class-level; e.g. to retrieve a user’s Projects, or user’s Datasets. If rootNodeIds!=null, the result will be filtered by the experimenter|group at the Image and intermediate levels if available. Due to the amount of data potentially linked a Screen/Plate, the leaves option is not taken into account when the root node is a omero.model.Screen. orphan implies that objects which are not contained in an object of rootNodeType should also be returned. Returns:
a set of hierarchy trees. The requested node as
root and all of its descendants. The type of the returned value will be rootNodeType, unless orphan is specified in which case objects of type rootNodeType and below may be returned.
Retrieves a collection with all members initialized (loaded). This is useful when a collection has been nulled in a previous query.
public final static String from the IObject.class
options
Parameters. Unused. Returns:
An initialized collection.
Removes links between OmeroDataObjects e.g Project-Dataset, Dataset-Image Note that the objects themselves aren’t deleted, only the Link objects.
Updates a data object.
To link or unlink objects to the specified object, we should call the methods link or unlink. TODO Or do we use for example dataset.setProjects(set of projects) to add. Tink has to be set as follows dataset->project and project->dataset.
Alternatively, you can make sure that the collection is exactly how it should be in the database. If you can’t guarantee this, it’s best to send all your collections back as null
Convenience method to save network calls. Loops over the array of IObjects calling updateDataObject.
Parameters as above. Returns:
created data objects.
Bases: omero.api.ServiceInterfacePrx
Retrieves hierarchy trees rooted by a given node (unless orphan is specified – See below)
This method also retrieves the Experimenters linked to the objects in the tree. Similarly, all Images will be linked to their Pixel objects if included.
Note that objects are never duplicated. For example, if an Experimenter owns all the objects in the retrieved tree, then those objects will be linked to the same instance of omero.model.Experimenter. Or if an Image is contained in more than one Dataset in the retrieved tree, then all enclosing omero.model.Dataset objects will point to the same omero.model.Image object. And so on.
The type of the root node. Can be omero.model.Project, omero.model.Dataset, omero.model.Screen or omero.model.Plate. Cannot be null.
rootIds
The ids of the root nodes. Can be null if an Experimenter is specified in options, otherwise an Exception is thrown to prevent all images in the entire database from being downloaded.
options
Parameters as above. annotator, leaves, orphan, acquisition data used. acquisition data is only relevant for images and taken into account if the images are loaded. If rootNodeIds==null, experimenter|group must be set and filtering will be applied at the Class-level; e.g. to retrieve a user’s Projects, or user’s Datasets. If rootNodeIds!=null, the result will be filtered by the experimenter|group at the Image and intermediate levels if available. Due to the amount of data potentially linked a Screen/Plate, the leaves option is not taken into account when the root node is a omero.model.Screen. orphan implies that objects which are not contained in an object of rootNodeType should also be returned. Returns:
a set of hierarchy trees. The requested node as
root and all of its descendants. The type of the returned value will be rootNodeType, unless orphan is specified in which case objects of type rootNodeType and below may be returned.
Bases: omero.api.ServiceInterface
Administration interface providing access to admin-only functionality as well as JMX-based server access and selected user functions. Most methods require membership in privileged omero.model.ExperimenterGroup groups.
Methods which return omero.model.Experimenter or omero.model.ExperimenterGroup instances fetch and load all related instances of omero.model.ExperimenterGroup or omero.model.Experimenter, respectively.
Creates an omero.model.Experimenter entry in the OMERO DB based on the supplied LDAP username. Arguments:
username
Discovers and lists omero.model.ExperimenterGroups which are present in the remote LDAP server and in the local DB but have the ldap property set to false.
Discovers and lists omero.model.Experimenters who are present in the remote LDAP server and in the local DB but have the ldap property set to false.
Searches unique Distinguished Name - string in LDAP for Common Name equals username. Common Name should be unique under the specified base. If list of cn’s contains more then one DN will return exception.
Name of the Experimenter equals CommonName. Returns:
a Distinguished Name. Never null.
if more then one ‘cn’ under the specified base.
Searches Experimenter by unique Distinguished Name - string in LDAP for Common Name equals username. Common Name should be unique under the specified base. If list of cn’s contains more then one DN will return exception.
Name of the Experimenter equals CommonName. Returns:
an Experimenter. Never null.
if more then one ‘cn’ under the specified base.
Looks up the DN for a group.
if more then one ‘cn’ under the specified base.
Looks up a specific omero.model.ExperimenterGroup in LDAP using the provided group name. It is expected that the group name will be unique in the searched LDAP base tree. If more than one group with the specified name has been found, an exception will be thrown.
if more then one group name matches under the specified base.
Gets config value from properties.
Searches all omero.model.Experimenter list on LDAP for attribute objectClass = person.
Searches all omero.model.Experimenter in LDAP for specified attribute.
empty. Returns:
List of Experimenters.
Searches all omero.model.Experimenter in LDAP for specified attributes. Attributes should be specified in StringSet and their values should be set in equivalent StringSet.
or empty. Returns:
List of Experimenters.
Searches one omero.model.Experimenter in LDAP for specified Distinguished Name.
unique Distinguished Name - string of user, Never null or empty. Returns:
an Experimenter.
Searches Distinguished Name in groups.
attribute. Never null or empty. Returns:
List of groups which contains DN.
Bases: omero.api.ServiceInterfacePrx
Searches all omero.model.Experimenter list on LDAP for attribute objectClass = person.
Bases: omero.api.ServiceInterface
Provides method to interact with acquisition metadata and annotations.
Counts the number of annotation of a given type used by the specified user but not owned by the user.
Counts the number of annotation of a given type.
Returns a map whose key is a tag id and the value the number of Projects, Datasets, and Images linked to that tag.
Loads the specified annotations.
Loads the annotations of a given type used by the specified user but not owned by the user.
Loads all the annotations of given types, that have been attached to the specified rootNodes for the specified annotatorIds. If no types specified, all annotations will be loaded. This method looks for the annotations that have been attached to each of the specified objects. It then maps each rootId onto the set of annotations that were found for that node. If no annotations were found for that node, then the entry will be null. Otherwise it will be a Map containing omero.model.Annotation objects.
The type of the nodes the annotations are linked to. Mustn’t be null.
rootIds
Ids of the objects of type rootType. Mustn’t be null.
annotationType
The types of annotation to retrieve. If null all annotations will be loaded. String of the type omero.model.annotations.*.
annotatorIds
Ids of the users for whom annotations should be retrieved. If null, all annotations returned.
options
Map of all annotations for that node or null.
Loads the logical channels and the acquisition metadata related to them.
Mustn’t be null. Returns:
The collection of loaded logical channels.
Loads the instrument and its components i.e. detectors, objectives, etc.
Finds the original file IDs for the import logs corresponding to the given Image or Fileset IDs.
the root node type, may be omero.model.Image or omero.model.Fileset
ids
the IDs of the entities for which the import log original file IDs are required Returns:
the original file IDs of the import logs
Loads the annotations of a given type linked to the specified objects. It is possible to filter the annotations by including or excluding name spaces set on the annotations.
This method looks for the annotations that have been attached to each of the specified objects. It then maps each rootNodeId onto the set of annotations that were found for that node. If no annotations were found for that node, the map will not contain an entry for that node. Otherwise it will be a Set containing omero.model.Annotation objects. The rootNodeType supported are: Project, Dataset, Image, Pixels, Screen, Plate, PlateAcquisition, Well, Fileset.
Loads all the annotations of a given type. It is possible to filter the annotations by including or excluding name spaces set on the annotations.
Loads the TagSet if the id is specified otherwise loads all the TagSet.
value either a Map or a list of related DataObject.
Loads all the TagSets. Returns a collection of AnnotationAnnotatioLink objects and, if the orphan parameters is true, the TagAnnotation object. Note that the difference between a TagSet and a Tag is made using the NS_INSIGHT_TAG_SET namespace.
Bases: omero.api.ServiceInterfacePrx
Loads the logical channels and the acquisition metadata related to them.
Mustn’t be null. Returns:
The collection of loaded logical channels.
Bases: omero.api.ServiceInterface
Metadata gateway for the omero.api.RenderingEngine and clients. This service provides all DB access that the rendering engine needs as well as Pixels services to a client. It also allows the rendering engine to also be run external to the server (e.g. client-side).
Copies the metadata, and only the metadata linked to a Image object into a new Image object of equal or differing size across one or many of its three physical dimensions or temporal dimension. It is beyond the scope of this method to handle updates or changes to the raw pixel data available through omero.api.RawPixelsStore or to add and link omero.model.PlaneInfo and/or other Pixels set specific metadata. It is also assumed that the caller wishes the pixels dimensions and omero.model.PixelsType to remain the same; changing these is outside the scope of this method. NOTE: As omero.model.Channel objects are only able to apply to a single set of Pixels any annotations or linkage to these objects will be lost.
null if the copy should maintain the same size.
sizeY The new size across the Y-axis.
null if the copy should maintain the same size.
sizeZ The new size across the Z-axis.
null if the copy should maintain the same size.
sizeT The new number of timepoints.
null if the copy should maintain the same number.
channelList The channels that should be copied into
omero.model.StatsInfo for each channel. Returns:
Id of the new Pixels object on success or
null on failure. Exceptions:
ValidationException If the X, Y, Z, T or
channelList dimensions are out of bounds or the Pixels object corresponding to pixelsId is unlocatable.
Copies the metadata, and only the metadata linked to a Pixels object into a new Pixels object of equal or differing size across one or many of its three physical dimensions or temporal dimension. It is beyond the scope of this method to handle updates or changes to the raw pixel data available through omero.api.RawPixelsStore or to add and link omero.model.PlaneInfo and/or other Pixels set specific metadata. It is also assumed that the caller wishes the pixels dimensions and omero.model.PixelsType to remain the same; changing these is outside the scope of this method. NOTE: As omero.model.Channel objects are only able to apply to a single set of Pixels any annotations or linkage to these objects will be lost.
null if the copy should maintain the same size.
sizeY The new size across the Y-axis.
null if the copy should maintain the same size.
sizeZ The new size across the Z-axis.
null if the copy should maintain the same size.
sizeT The new number of timepoints.
null if the copy should maintain the same number.
channelList The channels that should be copied into
methodology that will be used to produce this new Pixels set.
copyStats Whether or not to copy the
omero.model.StatsInfo for each channel. Returns:
Id of the new Pixels object on success or
null on failure. Exceptions:
ValidationException If the X, Y, Z, T or
channelList dimensions are out of bounds or the Pixels object corresponding to pixelsId is unlocatable.
Creates the metadata, and only the metadata linked to an Image object. It is beyond the scope of this method to handle updates or changes to the raw pixel data available through omero.api.RawPixelsStore or to add and link omero.model.PlaneInfo or omero.model.StatsInfo objects and/or other Pixels set specific metadata. It is also up to the caller to update the pixels dimensions.
null on failure. Exceptions:
ValidationException If the channel list is
null or of size == 0.
Retrieves the exhaustive list of enumerations for a given enumeration class.
enumClass.
Bit depth for a given pixel type.
Retrieves a particular enumeration for a given enumeration class.
Loads a specific set of rendering settings. The following objects are pre-linked:
renderingDef.quantization renderingDef.model renderingDef.waveRendering renderingDef.waveRendering.color renderingDef.waveRendering.family renderingDef.spatialDomainEnhancement
matches the ID renderingDefId. Returns:
Rendering definition.
Retrieves all the rendering settings for a given pixels set and the passed user. The following objects are pre-linked:
renderingDef.quantization renderingDef.model renderingDef.waveRendering renderingDef.waveRendering.color renderingDef.waveRendering.family renderingDef.spatialDomainEnhancement
Retrieves the pixels metadata. The following objects are pre-linked:
pixels.pixelsType pixels.pixelsDimensions pixels.channels pixels.channnels.statsInfo pixels.channnels.colorComponent pixels.channnels.logicalChannel pixels.channnels.logicalChannel.photometricInterpretation
Retrieves the rendering settings for a given pixels set and the passed user. The following objects are pre-linked:
renderingDef.quantization renderingDef.model renderingDef.waveRendering renderingDef.waveRendering.color renderingDef.waveRendering.family renderingDef.spatialDomainEnhancement
Retrieves the rendering settings for a given pixels set and the currently logged in user. If the current user has no omero.model.RenderingDef, and the user is an administrator, then a omero.model.RenderingDef may be returned for the owner of the omero.model.Pixels. This matches the behavior of the Rendering service.
The following objects will be pre-linked:
renderingDef.quantization renderingDef.model renderingDef.waveRendering renderingDef.waveRendering.color renderingDef.waveRendering.family renderingDef.spatialDomainEnhancement
Saves the specified rendering settings.
Sets the channel global (all 2D optical sections corresponding to a particular channel) minimum and maximum for a Pixels set.
Bases: omero.api.ServiceInterfacePrx
Retrieves the pixels metadata. The following objects are pre-linked:
pixels.pixelsType pixels.pixelsDimensions pixels.channels pixels.channnels.statsInfo pixels.channnels.colorComponent pixels.channnels.logicalChannel pixels.channnels.logicalChannel.photometricInterpretation
Bases: omero.api.ServiceInterface
Provides methods for performing projections of Pixels sets.
Performs a projection through selected optical sections and optical sections for a given set of time points of a Pixels set. The Image which is linked to the Pixels set will be copied using omero.api.IPixels#copyAndResizeImage.
null, the source Pixels set pixels type will be used.
algorithm MAXIMUM_INTENSITY,
MEAN_INTENSITY or SUM_INTENSITY. NOTE: When performing a SUM_INTENSITY projection, pixel values will be pinned to the maximum pixel value of the destination Pixels type.
tStart Timepoint to start projecting from. tEnd Timepoint to finish projecting. channels List of the channel indexes to use while
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.
zStart Optical section to start projecting from. zEnd Optical section to finish projecting. name Name for the newly created image. If
null the name of the Image linked to the Pixels qualified by pixelsId will be used with a Projection suffix. For example, GFP-H2B Image of HeLa Cells will have an Image name of GFP-H2B Image of HeLa Cells Projection used for the projection. Returns:
The Id of the newly created Image which has been
projected. Exceptions:
ValidationException Where:
algorithm is unknown tStart is out of range tEnd is out of range tStart > tEnd channels is null or has indexes out of range zStart is out of range zEnd is out of range zStart > zEnd the Pixels set qualified by pixelsId is unlocatable.
Performs a projection through the optical sections of a particular wavelength at a given time point of a Pixels set. Arguments:
pixelsId The source Pixels set Id. pixelsType The destination Pixels type. If
null, the source Pixels set pixels type will be used.
algorithm MAXIMUM_INTENSITY,
MEAN_INTENSITY or SUM_INTENSITY. NOTE: When performing a SUM_INTENSITY projection, pixel values will be pinned to the maximum pixel value of the destination Pixels type.
timepoint Timepoint to perform the projection. channelIndex Index of the channel to perform 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.
is equal to the Pixels set 8 sizeX * sizeY * bytesPerPixel in big-endian format. Exceptions:
ValidationException Where:
algorithm is unknown timepoint is out of range channelIndex is out of range start is out of range end is out of range start > end the Pixels set qualified by pixelsId is unlocatable.
Bases: omero.api.ServiceInterfacePrx
Performs a projection through the optical sections of a particular wavelength at a given time point of a Pixels set. Arguments:
pixelsId The source Pixels set Id. pixelsType The destination Pixels type. If
null, the source Pixels set pixels type will be used.
algorithm MAXIMUM_INTENSITY,
MEAN_INTENSITY or SUM_INTENSITY. NOTE: When performing a SUM_INTENSITY projection, pixel values will be pinned to the maximum pixel value of the destination Pixels type.
timepoint Timepoint to perform the projection. channelIndex Index of the channel to perform 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.
is equal to the Pixels set 8 sizeX * sizeY * bytesPerPixel in big-endian format. Exceptions:
ValidationException Where:
algorithm is unknown timepoint is out of range channelIndex is out of range start is out of range end is out of range start > end the Pixels set qualified by pixelsId is unlocatable.
Bases: omero.api.ServiceInterface
Provides methods for directly querying object graphs. As far as is possible, IQuery should be considered the lowest level DB-access (SELECT) interface. Unlike the omero.api.IUpdate interface, using other methods will most likely not leave the database in an inconsistent state, but may provide stale data in some situations.
By convention, all methods that begin with get will never return a null or empty java.util.Collection, but instead will throw a omero.ValidationException.
Searches based on provided example entity. The returned entities will be limited by the omero.sys.Filter object.
Note: findAllbyExample does not operate on the id field. For that, use find, get, findByQuery, or findAllByQuery
Executes a full text search based on Lucene. Each term in the query can also be prefixed by the name of the field to which is should be restricted.
Examples:
owner:root AND annotation:someTag file:xml AND name:hoechst
For more information, see Query Parser Syntax
The return values are first filtered by the security system.
Currently the parameters themselves are unused. But the omero.sys.Parameters#theFilter can be used to limit the number of results returned (omero.sys.Filter#limit) or the user for who the results will be found (omero.sys.Filter#ownerId). Returns:
A list of loaded omero.model.IObject
instances. Never null.
Executes the stored query with the given name. If a query with the name cannot be found, an exception will be thrown.
The queryName parameter can be an actual query String if the StringQuerySource is configured on the server and the user running the query has proper permissions.
Queries can only return lists of omero.model.IObject instances. This means all must be of the form:
select this from SomeModelClass this ...
though the alias this is unimportant. Do not try to return multiple classes in one call like:
select this, that from SomeClass this, SomeOtherClass that ...
nor to project values out of an object:
select this.name from SomeClass this ...
If a page is desired, add it to the query parameters.
Searches a given field matching against a String. Method allows for case sensitive or insensitive searching using the (I)LIKE comparators. Result set will be reduced by the omero.sys.Filter instance.
or as public final static from the entity class, e.g. omero.model.Project#NAME. Not null.
value String used for search. Not null. caseSensitive whether to use LIKE or ILIKE filter filters the result set. Can be null.
Looks up all entities that belong to this class and match filter.
List if none exist.
Searches based on provided example entity. The example entity should uniquely specify the entity or an exception will be thrown.
Note: findByExample does not operate on the id field. For that, use find, get, findByQuery, or findAllByQuery.
Executes the stored query with the given name. If a query with the name cannot be found, an exception will be thrown.
The queryName parameter can be an actual query String if the StringQuerySource is configured on the server and the user running the query has proper permissions.
Searches a given field matching against a String. Method does not allow for case sensitive or insensitive searching since this is essentially a lookup. The existence of more than one result will result in an exception.
or as public final static from the entity class, e.g. omero.model.Project#NAME
value String used for search.
if more than one result.
Looks up an entity by class and id. If no such objects exists, return a null.
Looks up an entity by class and id. If no such object exists, an exception will be thrown.
Return a sequence of omero.RType sequences.
Each element of the outer sequence is one row in the return value. Each element of the inner sequence is one column specified in the HQL.
omero.model.IObject instances are returned wrapped in an omero.RObject instance. Primitives are mapped to the expected omero.RType subclass. Types without an omero.RType mapper if returned will throw an exception if present in the select except where a manual conversion is present on the server. This includes:
omero.model.Permissions instances are serialized to an omero.RMap containing the keys: perms, canAnnotate, canEdit, canLink, canDelete
The quantity types like omero.model.Length are serialized to an omero.RMap containing the keys: value, unit, symbol
As with SQL, if an aggregation statement is used, a group by clause must be added.
Examples:
select i.name, i.description from Image i where i.name like ‘%.dv’
select tag.textValue, tagset.textValue from TagAnnotation tag join tag.annotationLinks l join l.child tagset
select p.pixelsType.value, count(p.id) from Pixel p group by p.pixelsType.value
Refreshes an entire omero.model.IObject graph, recursive loading all data for the managed instances in the graph from the database. If any non-managed entities are detected (e.g. without ids), an omero.ApiUsageException will be thrown.
graph which should have all values re-assigned from the database Returns:
a similar omero.model.IObject graph (with
possible additions and deletions) which is in-sync with the database. Exceptions:
ApiUsageException if any non-managed entities are
found.
Bases: omero.api.ServiceInterfacePrx
Looks up an entity by class and id. If no such object exists, an exception will be thrown.
Bases: omero.api.ServiceInterface
Provides method to apply rendering settings to a collection of images. All methods will receive the id of the pixels set to copy the rendering settings from.
Applies rendering settings to all images in a given Dataset.
to. Returns:
A map with two boolean keys. The value of the
TRUE is a collection of images ID, the settings were successfully applied to. The value of the FALSE is a collection of images ID, the settings could not be applied to. Exceptions:
ValidationException if the rendering settings
from is unlocatable or the dataset to is unlocatable.
Applies rendering settings to a given Image.
to. Returns:
true if the settings were successfully
applied, false otherwise. Exceptions:
ValidationException if the rendering settings
from is unlocatable or the image to is unlocatable.
Applies rendering settings to a given Image.
to. Returns:
true if the settings were successfully
applied, false otherwise. Exceptions:
ValidationException if the rendering settings
from is unlocatable or the image to is unlocatable.
Applies rendering settings to a given Pixels.
to. Returns:
See above.
from is unlocatable or the pixelsto is unlocatable.
Applies rendering settings to all images in all Datasets of a given Project.
to. Returns:
A map with two boolean keys. The value of the
TRUE is a collection of images ID, the settings were successfully applied to. The value of the FALSE is a collection of images ID, the settings could not be applied to. Exceptions:
ValidationException if the rendering settings
from is unlocatable or the project to is unlocatable.
Applies rendering settings to one or many containers. If a container such as Dataset is to be copied to, all images within that Dataset will have the rendering settings applied. Supported container types are:
omero.model.Project omero.model.Dataset omero.model.Image omero.model.Plate omero.model.Screen omero.model.Pixels
TRUE is a collection of images ID, the settings were successfully applied to. The value of the FALSE is a collection of images ID, the settings could not be applied to. Exceptions:
ValidationException if an illegal type
is used.
Creates a new rendering definition object along with its sub-objects.
definition. Returns:
A new, blank rendering definition and sub-objects.
NOTE: the linked Pixels has been unloaded.
Returns the default rendering settings for a given pixels for the current user.
imageId is unlocatable.
Resets the rendering settings of a given group of containers based on the owner’s (essentially a copy). Supported container types are:
omero.model.Project omero.model.Dataset omero.model.Image omero.model.Plate omero.model.Pixels
had their rendering settings reset. Exceptions:
ValidationException if an illegal type
is used.
Resets a Pixels’ default rendering settings back to those that are specified by the rendering engine intelligent pretty good image (PG) logic.
pixelsId is unlocatable.
Resets a dataset’s rendering settings back to those that are specified by the rendering engine intelligent pretty good image (PG) logic.
their rendering settings reset. Exceptions:
ValidationException if the image qualified by
dataSetId is unlocatable.
Resets an image’s default rendering settings back to those that are specified by the rendering engine intelligent pretty good image (PG) logic.
imageId is unlocatable.
Resets a rendering settings back to one or many containers that are specified by the rendering engine intelligent pretty good image (PG) logic. Supported container types are:
omero.model.Project omero.model.Dataset omero.model.Image omero.model.Plate omero.model.Pixels
their rendering settings reset. Exceptions:
ValidationException if an illegal type
is used.
Resets the given rendering settings to those that are specified by the rendering engine intelligent pretty good image (PG) logic for the pixels set linked to that set of rendering settings. NOTE: This method should only be used to reset a rendering definition that has been retrieved via getRenderingSettings(long) as it relies on certain objects being loaded. The rendering settings are not saved.
def.pixels will be unloaded and that the actual linked Pixels set will be provided in the pixels argument.
pixels The Pixels set for def.
Resets the given rendering settings to those that are specified by the rendering engine intelligent pretty good image (PG) logic for the pixels set linked to that set of rendering settings. NOTE: This method should only be used to reset a rendering definition that has been retrieved via getRenderingSettings as it relies on certain objects being loaded. The rendering settings are saved upon completion.
def.pixels will be unloaded and that the actual linked Pixels set will be provided in the pixels argument.
pixels The Pixels set for def.
Resets a the channel windows for one or many containers back to their global minimum and global maximum for the channel. Supported container types are:
omero.model.Project omero.model.Dataset omero.model.Image omero.model.Plate omero.model.Pixels
had their rendering settings reset. Exceptions:
ValidationException if an illegal type
is used.
Checks if the specified sets of pixels are compatible. Returns true if the pixels set is valid, false otherwise.
Resets an Pixels’ default rendering settings back to channel global minimum and maximum.
pixelsId is unlocatable.
Resets a dataset’s rendering settings back to channel global minimum and maximum.
had their rendering settings reset. Exceptions:
ValidationException if the image qualified by
datasetId is unlocatable.
Resets an image’s default rendering settings back to channel global minimum and maximum.
imageId is unlocatable.
Resets a rendering settings back to channel global minimum and maximum for the specified containers. Supported container types are:
omero.model.Project omero.model.Dataset omero.model.Image omero.model.Plate omero.model.Pixels
had their rendering settings reset. Exceptions:
ValidationException if an illegal type
is used.
Bases: omero.api.ServiceInterfacePrx
Checks if the specified sets of pixels are compatible. Returns true if the pixels set is valid, false otherwise.
Bases: omero.api.ServiceInterface
Provides methods for obtaining information for server repository disk space allocation. Could be used generically to obtain usage information for any mount point, however, this interface is prepared for the API to provide methods to obtain usage info for the server filesystem containing the image uploads. For the OMERO server base this is /OMERO. For this implementation it could be anything e.g. /Data1.
Methods that fail or cannot execute on the server will throw an InternalException. This would not be normal and would indicate some server or disk failure.
Returns the free or available space on this file system including nested subdirectories.
space free.
Returns a double of the used space divided by the free space. This method will be called by a client to watch the repository filesystem so that it doesn’t exceed 95% full.
usage fraction.
Returns the total space in bytes for this file system including nested subdirectories.
space used.
Removes all files from the server that do not have an OriginalFile complement in the database, all the Pixels that do not have a complement in the database and all the Thumbnail’s that do not have a complement in the database.
Checks that image data repository has not exceeded 95% disk space use level. Exceptions:
ResourceError If the repository usage has exceeded
while sanity checking the repository.
Bases: omero.api.ServiceInterfacePrx
Returns the total space in bytes for this file system including nested subdirectories.
space used.
Bases: omero.api.ServiceInterface
Interface for working with regions of interest.
Returns all the Rois in an Image, indexed via Shape.
Loads Rois as findByRoi.
Returns all the Rois on the given plane, indexed via Shape.
Loads Rois as findByRoi.
Returns a RoiResult with a single Roi member. Shape linkages are properly created. All Shapes are loaded, as is the Pixels and Image object. TODO: Annotations?
Returns a map from omero.model.FileAnnotation ids to RoiResult instances. Logic is identical to getMeasuredRois, but Roi data will not be duplicated. (i.e. the objects are referentially identical)
Loads the ROIs which are linked to by the given omero.model.FileAnnotation id for the given image.
Calculate the points contained within a given shape
Returns a list of omero.model.FileAnnotation instances with the namespace openmicroscopy.org/measurements which are attached to the omero.model.Plate containing the given image AND which are attached to at least one omero.model.Roi
ownership of the annotation.
Calculate stats for all the shapes within the given Roi.
Calculate the stats for the points within the given Shapes.
Calculate the stats for the points within the given Shape.
Returns the OMERO.tables service via the omero.model.FileAnnotation id returned by getImageMeasurements.
Bases: omero.api.ServiceInterfacePrx
Returns a RoiResult with a single Roi member. Shape linkages are properly created. All Shapes are loaded, as is the Pixels and Image object. TODO: Annotations?
Bases: omero.api.ServiceInterface
Utility service for managing and launching scripts for execution by the Processor API.
Typical usage might include (PYTHON):
sf = client.createSession() svc = sf.getScriptService() scripts = svc.getScripts()
if len(scripts) >= 1: script_id = svc.keys()[-1] else: script_id = svc.uploadScript(‘/test/my_script.py’, SCRIPT_TEXT)
params = svc.getParams(script_id)
# You will need to parse the params to create the proper input inputs = {}
# The last parameter is how long to wait as an RInt proc = svc.runScript(script_id, inputs, None) try: cb = omero.scripts.ProcessCallbackI(client, proc) while not cb.block(1000): # ms. pass cb.close() rv = proc.getResults(0) finally: proc.close(False)
See OMERO.scripts for more information.
Returns true if there is a processor which will run the given script.
Either the script is an official script and this method will return true (though an individual invocation may fail with an omero.ResourceError for some reason) or this is a user script, and a usermode processor must be active which takes the scripts user or group.
Delete the script on the server with id. The file will also be removed from disk.
Modify the text for the given script object.
Get the parameters that the script takes and returns, along with other metadata available from the script.
Get the id of an official script by the script path. The script service ensures that all script paths are unique.
Note: there is no similar method for user scripts (e.g. getUserScriptID) since the path is not guaranteed to be unique.
Get the text from the server for the script with given id.
Get the script from the server with details from OriginalFile Arguments:
scriptID see above
This method returns official server scripts identified with the specified extension as a list of omero.model.OriginalFile objects. These scripts will be executed by the server if submitted via runScript. The input parameters necessary for proper functioning can be retrieved via getParams.
The omero.model.OriginalFile#path value can be used in other official scripts via the language specific import command, since the script directory will be placed on the appropriate environment path variable.
scripts = scriptService.getScripts(“py”) for script in scripts: text = scriptService.getScriptText(script.id.val) path = script.path.val[1:] # First symbol is a “/” path = path.replace(“/”,”.”) print “Possible import: %s” % path
This method returns official server scripts as a list of omero.model.OriginalFile objects. These scripts will be executed by the server if submitted via runScript. The input parameters necessary for proper functioning can be retrieved via getParams.
The omero.model.OriginalFile#path value can be used in other official scripts via the language specific import command, since the script directory will be placed on the appropriate environment path variable.
scripts = scriptService.getScripts() for script in scripts: text = scriptService.getScriptText(script.id.val) # First character is a “/” symbol path = script.path.val[1:] path = path.replace(“/”,”.”) print “Possible import: %s” % path
Returns non-official scripts which have been uploaded by individual users. These scripts will not be run by the server, though a user can start a personal usermode processor which will allow the scripts to be executed. This is particularly useful for testing new scripts.
If ResourceError is thrown, then no Processor is available. Use scheduleJob to create a omero.model.ScriptJob in the Waiting state. A Processor may become available.
try: proc = scriptService.runScript(1, {}, None) except ResourceError: job = scriptService.scheduleScript(1, {}, None)
The ScriptProcess proxy MUST be closed before exiting. If you would like the script execution to continue in the background, pass True as the argument.
try: proc.poll() # See if process is finished finally: proc.close(True) # Detach and execution can continue # proc.close(False) # OR script is immediately stopped.
Like uploadScript but is only callable by administrators. The parameters for the script are also checked.
Upload a user script to the server and return the id. This method checks that a script with that names does not exist and that the script has parameters if possible, i.e. a usermode processor is running which for the current user.
Used internally by processor.py to check if the script attached to the omero.model.Job has a valid script attached, based on the acceptsList and the current security context.
An example of an acceptsList might be Experimenter(myUserId, False), meaning that only scripts belonging to me should be trusted. An empty list implies that the server should return what it would by default trust.
A valid script will be returned if it exists; otherwise null.
Bases: omero.api.ServiceInterfacePrx
This method returns official server scripts as a list of omero.model.OriginalFile objects. These scripts will be executed by the server if submitted via runScript. The input parameters necessary for proper functioning can be retrieved via getParams.
The omero.model.OriginalFile#path value can be used in other official scripts via the language specific import command, since the script directory will be placed on the appropriate environment path variable.
scripts = scriptService.getScripts() for script in scripts: text = scriptService.getScriptText(script.id.val) # First character is a “/” symbol path = script.path.val[1:] path = path.replace(“/”,”.”) print “Possible import: %s” % path
Bases: omero.api.ServiceInterface
omero.model.Session creation service for OMERO. Access to all other services is dependent upon a properly created and still active omero.model.Session.
The session uuid (omero.model.Session#getUuid) can be considered a capability token, or temporary single use password. Simply by possessing it the client has access to all information available to the omero.model.Session.
Note: Both the RMI ome.system.ServiceFactory as well as the Ice omero.api.ServiceFactory use omero.api.ISession to acquire a omero.model.Session. In the Ice case, Glacier2 contacts omero.api.ISession itself and returns a ServiceFactory remote proxy. From both ServiceFactory instances, it is possible but not necessary to access omero.api.ISession.
Closes session and releases all resources. It is preferred that all clients call this method as soon as possible to free memory, but it is possible to not call close, and rejoin a session later.
The current reference count for the session is returned. If the session does not exist, -1. If this call caused the death of the session, then -2.
Allows an admin to create a Session for the give omero.sys.Principal.
Non-null omero.sys.Principal with the target user’s name
timeToLiveMilliseconds
The time that this omero.model.Session has until destruction. This is useful to override the server default so that an initial delay before the user is given the token will not be construed as idle time. A value less than 1 will cause the default max timeToLive to be used; but timeToIdle will be disabled.
Allows an admin to create a omero.model.Session for the given omero.sys.Principal.
Non-null omero.sys.Principal with the target user’s name
timeToLiveMilliseconds
The time that this omero.model.Session has until destruction. Setting the value to 0 will prevent destruction unless the session remains idle.
timeToIdleMilliseconds
The time that this omero.model.Session can remain idle before being destroyed. Setting the value to 0 will prevent idleness based destruction.
Creates a new session and returns it to the user.
Allows a user to open up another session for him/herself with the given defaults without needing to re-enter password.
Retrieves all keys in the omero.model.Session input environment.
Retrieves an entry from the given omero.model.Session input environment.
Retrieves all inputs from the given omero.model.Session input environment.
Like getMyOpenSessions but returns only those sessions with the given agent string.
Like getMyOpenSessions but returns only those sessions started by official OMERO clients.
Returns a list of open sessions for the current user. The list is ordered by session creation time, so that the last item was created last.
Retrieves all keys in the omero.model.Session output environment.
Retrieves an entry from the omero.model.Session output environment.
Retrieves all outputs from the given omero.model.Session input environment.
Retrieves the current reference count for the given uuid. Has the same semantics as getSession.
Retrieves the session associated with this uuid, updating the last access time as well. Throws a RemovedSessionException if not present, or a SessionTimeoutException if expired.
This method can be used as a Session ping.
Places an entry in the given omero.model.Session input environment. If the value is null, the key will be removed.
Places an entry in the given omero.model.Session output environment. If the value is null, the key will be removed.
Bases: omero.api.ServiceInterfacePrx
Creates a new session and returns it to the user.
Bases: omero.api.ServiceInterface
Provides method for sharing - collaboration process for images, datasets, projects.
Turns on the access control lists attached to the given share for the current session. Warning: this will slow down the execution of the current session for all database reads. Writing to the database will not be allowed. If share does not exist or is not accessible (non-members) or is disabled, then an ValidationException is thrown.
Creates omero.model.TextAnnotation comment for omero.model.Session share.
Adds guest email address to the share.
Adds guest email addresses to the share.
Adds new omero.model.IObject item to omero.model.Session share. The entire object graph with the exception of all Details will be loaded into the share. If you would like to load a single object, then pass an unloaded reference.
Adds new omero.model.IObject items to omero.model.Session share. Conceptually calls addObjects for every argument passed, but the graphs will be merged.
Creates omero.model.TextAnnotation comment which replies to an existing comment.
Adds omero.model.Experimenter experimenter to omero.model.Session share.
Adds omero.model.Experimenter experimenters to omero.model.Session share.
Closes omero.model.Session share. No further logins will be possible and all getters (e.g. getMemberShares, getOwnShares, ...) will filter these results if {@code onlyActive} is true.
Creates omero.model.Session share with all related: omero.model.IObject itmes, omero.model.Experimenter members, and guests.
if true, then the share is immediately available for use. If false, then the share is in draft state. All methods on this interface will work for shares except activate. Similarly, the share password cannot be used by guests to login.
Turns off the access control lists with the current share.
Deletes omero.model.Annotation comment from the database.
Gets actual active connections to omero.model.Session share.
Get the email addresses for all share guests.
Get all omero.model.Experimenter users who are a member of the share.
Get a single set containing the omero.model.Experimenter#getOmeName login names of the users as well email addresses for guests.
users Exceptions:
ValidationException
if there is a conflict between email addresses and user names.
Returns a map from share id to comment count.
Looks up all omero.model.Annotation comments which belong to the omero.model.Session share.
Returns the contents of the share keyed by type.
Returns the number of items in the share.
Returns a range of items from the share.
Looks up all omero.model.IObject items belong to the omero.model.Session share.
Gets events for omero.model.Session share per omero.model.Experimenter experimenter for period of time. Returns:
List of events
Returns a map from share id to the count of total members (including the owner). This is represented by omero.model.ShareMember links.
Gets all shares where given omero.model.Experimenter is a member.
if true, then only shares which can be used for login will be returned. All draft shares (see createShare) and closed shares (see closeShare) will be filtered. Returns:
set of shares. Never null. May be empty.
Gets all shares where current omero.model.Experimenter is a member.
if true, then only shares which can be used for login will be returned. All draft shares (see createShare) and closed shares (see closeShare) will be filtered. Returns:
set of shares. Never null. May be empty.
Gets all owned shares for the current omero.model.Experimenter.
if true, then only shares which can be used for login will be returned. All draft shares (see createShare) and closed shares (see closeShare) will be filtered. Returns:
set of shares. Never null. May be empty.
Gets previous connections to omero.model.Session share.
Gets a share as a omero.model.Session with all related: omero.model.Annotation comments, omero.model.Experimenter members, fully loaded. Unlike the other methods on this interface, if the sessionId is unknown, does not throw a omero.ValidationException.
omero.model.Details set or null. The owner in the Details object is the true owner, and the group in the Details has all member users linked. omero.model.Annotation instances of the share are linked to the omero.model.Session. Missing is a list of share guests.
Gets all shares owned by the given omero.model.Experimenter.
if true, then only shares which can be used for login will be returned. All draft shares (see createShare) and closed shares (see closeShare) will be filtered. Returns:
set of shares. Never null. May be empty.
Makes the connection invalid for omero.model.Session share for specified user.
Notifies via email selected members of share.
Removes guest email address from share.
Removes guest email addresses from the share.
Removes existing omero.model.IObject object from the omero.model.Session share.
Remove existing items from the share.
Removes omero.model.Experimenter experimenter from omero.model.Session share.
Removes omero.model.Experimenter experimenters from omero.model.Session share.
Bases: omero.api.ServiceInterfacePrx
Turns on the access control lists attached to the given share for the current session. Warning: this will slow down the execution of the current session for all database reads. Writing to the database will not be allowed. If share does not exist or is not accessible (non-members) or is disabled, then an ValidationException is thrown.
Bases: omero.api.ServiceInterface
Service for the querying of OMERO metadata based on creation and modification time. Currently supported types for querying include:
omero.model.Annotation omero.model.Dataset omero.model.Image omero.model.Project omero.model.RenderingDef
Return maps
The map return values will be indexed by the short type name above: Project, Image, ... All keys which are passed in the StringSet argument will be included in the returned map, even if they have no values. A default value of 0 or the empty list [] will be used. The only exception to this rule is that the null or empty StringSet implies all valid keys.
Parameters
All methods take a omero::sys::Parameters object and will apply the filter object for paging through the data in order to prevent loading too many objects. If the parameters argument is null or no paging is activated, then the default will be: OFFSET=0, LIMIT=50. Filter.ownerId and Filter.groupId will also be AND’ed to the query if either value is present. If both are null, then the current user id will be used. To retrieve for all users, use ownerId == rlong(-1) and groupId == null.
Merging
The methods which take a StringSet and a Parameters object, also have a bool merge argument. This argument defines whether or not the LIMIT applies to each object independently ([“a”,”b”] @ 100 == 200) or merges the lists together chronologically ([“a”,”b”] @ 100 merged == 100).
Time used
Except for Image, IObject.details.updateEvent is used in all cases for determining most recent events. Images are compared via Image.acquisitionDate which is unlike the other properties is modifiable by the user.
A typical invocation might look like (in Python):
timeline = sf.getTimelineService() params = ParametersI().page(0,100) types = [“Project”,”Dataset”]) map = timeline.getByPeriod(types, params, False)
At this point, map will not contain more than 200 objects.
This service is defined only in Blitz and so no javadoc is available in the ome.api package.
TODOS: binning, stateful caching, ...
Queries the same information as getByPeriod, but only returns the counts for the given objects.
Returns the given LIMIT objects of TYPES as ordered by creation/modification times in the Event table, but within the given time window.
Returns the EventLog table objects which are queried to produce the counts above. Note the concept of period inclusion mentioned above.
WORKAROUND WARNING: this method returns non-managed EventLogs (i.e. eventLog.getId() == null) for Image acquisitions.
Return the last LIMIT annotation __Links__ whose parent (IAnnotated) matches one of the parentTypes, whose child (Annotation) matches one of the childTypes (limit of one for the moment), and who namespace matches via ILIKE.
The parents and children will be unloaded. The link will have its creation/update events loaded.
If Parameters.theFilter.ownerId or groupId are set, they will be AND’ed to the query to filter results.
Merges by default based on parentType.
Returns the last LIMIT objects of TYPES as ordered by creation/modification times in the Event table.
Return the last LIMIT comment annotation links attached to a share by __others__.
Note: Currently the storage of these objects is not optimal and so this method may change.
Bases: omero.api.ServiceInterfacePrx
Return the last LIMIT annotation __Links__ whose parent (IAnnotated) matches one of the parentTypes, whose child (Annotation) matches one of the childTypes (limit of one for the moment), and who namespace matches via ILIKE.
The parents and children will be unloaded. The link will have its creation/update events loaded.
If Parameters.theFilter.ownerId or groupId are set, they will be AND’ed to the query to filter results.
Merges by default based on parentType.
Bases: omero.api.ServiceInterface
Access to reflective type information. Also provides simplified access to special types like enumerations.
Deletes enumeration value specified by object.
searched.
Returns a list of classes which implement omero.model.IAnnotated. These can be used in combination with omero.api.Search.
omero.model.IAnnotated implementations
Gets all metadata classes which are IEnum type.
Lookup an enumeration value. As with the get-methods of omero.api.IQuery queries returning no results will through an exception.
found. Returns:
A managed enumeration. Never null.
if omero.model.IEnum is not found.
Gets all metadata classes which are IEnum type with contained objects.
Gets all original values.
Updates enumeration value specified by object.
searched. Returns:
A managed enumeration. Never null.
Updates enumeration value specified by object.
should be searched.
Bases: omero.api.ServiceInterfacePrx
Bases: omero.api.ServiceInterface
Provides methods for directly updating object graphs. IUpdate is the lowest level (level-1) interface which may make changes (INSERT, UPDATE, DELETE) to the database. All other methods of changing the database may leave it in an inconsistent state.
All the save* methods act recursively on the entire object graph, replacing placeholders and details where necessary, and then merging the final graph. This means that the objects that are passed into IUpdate.save* methods are copied over to new instances which are then returned. The original objects should be discarded.
saveAndReturnIds behaves slightly differently in that it does not handle object modifications. The graph of objects passed in can consist ONLY if either newly created objects without ids or of unloaded objects with ids. Note: The ids of the saved values may not be in order. This is caused by persistence-by-transitivity. Hibernate may detect an item later in the array if they are interconnected and therefore choose to save it first.
All methods throw omero.ValidationException if the input objects do not pass validation, and omero.OptimisticLockException if the version of a given has already been incremented.
Initiates full-text indexing for the given object. This may have to wait for the current {@code FullTextThread} to finish. Can only be executed by an admin. Other users must wait for the background Thread to complete.
a persistent IObject to be deleted Exceptions:
ValidationException
if the object does not exist or is nul
Bases: omero.api.ServiceInterfacePrx
Bases: omero.api.StatefulServiceInterface
Allows submission of asynchronous jobs.
NOTE: The calling order for the service is as follows:
submit or attach any of the other methods close
Calling close does not cancel or otherwise change the Job state. See cancelJob.
Returns the current omero.model.JobStatus for the Job id.
if the Job id does not exist.
Marks a job for cancellation. Not every processor will check for the cancelled flag for a running job, but no non-running job will start if it has been cancelled.
Returns the current omero.model.Job
Returns true if the omero.model.Job has thrown an error.
Returns null if the omero.model.Job is not finished, otherwise the omero.RTime for when it completed.
Returns the current message for job. May be set during processing.
Returns true if the omero.model.Job is running, i.e. has an attached process.
Returns the current omero.model.JobStatus. Will never return null.
Sets the job’s message string, and returns the previous value.
Like setStatus but also sets the message.
Updates the omero.model.JobStatus for the current job. The previous status is returned as a string. If the status is CANCELLED, this method is equivalent to cancelJob.
Submits a omero.model.Job and returns its database id. The only fields directly on status which are editable are message, scheduledFor and status. The latter two must be sensible.
Bases: omero.api.StatefulServiceInterfacePrx
Submits a omero.model.Job and returns its database id. The only fields directly on status which are editable are message, scheduledFor and status. The latter two must be sensible.
Bases: omero.api.StatefulServiceInterface
Server-side interface for import.
Bases: omero.api.StatefulServiceInterfacePrx
Bases: omero.api.StatefulServiceInterface
Retrieves a more complete definition of the resolution level in question. The size of this array will be of length getResolutionLevels.
Retrieves the active resolution level. Returns:
The active resolution level.
Retrieves the number of resolution levels that the backing pixels pyramid contains. Returns:
The number of resolution levels. This value does not
necessarily indicate either the presence or absence of a pixels pyramid.
Retrieves the tile size for the pixel store. Returns:
An array of length = 2 where the first
value of the array is the tile width and the second value is the tile height.
Whether or not this raw pixels store requires a backing pixels pyramid to provide sub-resolutions of the data. Returns:
true if the pixels store requires a
pixels pyramid and false otherwise.
Sets the active resolution level. Arguments:
resolutionLevel The resolution level to be used by
the pixel buffer.
Bases: omero.api.StatefulServiceInterfacePrx
Whether or not this raw pixels store requires a backing pixels pyramid to provide sub-resolutions of the data. Returns:
true if the pixels store requires a
pixels pyramid and false otherwise.
Bases: omero.api.StatefulServiceInterface
Raw file gateway which provides access to the OMERO file repository.
Note: methods on this service are protected by a DOWNLOAD restriction.
Checks to see if a raw file exists with the file ID that the service was initialized with.
within the original file repository with the correct ID. Otherwise false. Exceptions:
ResourceError if there is a problem accessing the
file due to permissions errors within the repository or any other I/O error.
Returns the current file id or null if none has been set.
Reads length bytes of data at the position from the raw file into an array of bytes.
Saves the omero.model.OriginalFile associated with the service if it has been modified. The returned valued should replace all instances of the omero.model.OriginalFile in the client.
If save has not been called, omero.api.RawFileStore instances will save the omero.model.OriginalFile object associated with it on close.
See also ticket 1651 and ticket 2161.
This method manages the state of the service. This method will throw a omero.SecurityViolation if for the current user context either the file is not readable or a omero.constants.permissions#DOWNLOAD restriction is in place.
Returns the size of the file on disk (not as stored in the database since that value will only be updated on save. If the file has not yet been written to, and therefore does not exist, a omero.ResourceError will be thrown.
Limits the size of a file to the given length. If the file is already shorter than length, no action is taken in which case false is returned.
Writes length bytes of data from the specified buf byte array starting at at position to the raw file.
Bases: omero.api.StatefulServiceInterfacePrx
This method manages the state of the service. This method will throw a omero.SecurityViolation if for the current user context either the file is not readable or a omero.constants.permissions#DOWNLOAD restriction is in place.
Bases: omero.api.PyramidService
Binary data provider. Initialized with the ID of a omero.model.Pixels instance, this service can provide various slices, stacks, regions of the 5-dimensional (X-Y planes with multiple Z-sections and Channels over Time). The byte array returned by the getter methods and passed to the setter methods can and will be interpreted according to results of getByteWidth, isFloat, and isSigned.
Read-only caveat:
Mutating methods (set*) are only available during the first access. Once the Pixels data has been successfully saved (via the save or close methods on this interface), then the data should be treated read-only. If Pixels data writing fails and the service is inadvertently closed, delete the Pixels object, and create a new one. Any partially written data will be removed.
Calculates a SHA-1 message digest for the entire pixel store. Returns:
byte array containing the message digest.
Returns the byte width for the pixel store. Returns:
See above.
Retrieves a particular column from this pixel store. Arguments:
x offset across the X-axis of the pixel store. z offset across the Z-axis of the pixel store. c offset across the C-axis of the pixel store. t offset across the T-axis of the pixel store.
Retrieves the histogram data for the specified plane and channels. This method can currently only handle non-pyramid images. Arguments:
channels the channels to generate the histogram data for binCount the number of the histogram bins (optional, default: 256) plane the plane (optional, default: whole region of first z/t plane) globalRange use the global minimum/maximum to determine the histogram range, otherwise use plane minimum/maximum value
Retrieves a n-dimensional block from this pixel store. Arguments:
start offset for each dimension within pixel store. size of each dimension (dependent on dimension). step needed of each dimension (dependent on
dimension). Returns:
buffer containing the data.
Returns the current Pixels set identifier. Returns:
See above.
Returns the current Pixels path. Returns:
See above.
Retrieves the offset for a particular 2D image plane in this pixel store. Arguments:
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.
Retrieves a region from a given plane from this pixel store. Arguments:
z offset across the Z-axis of the pixel store. c offset across the C-axis of the pixel store. t offset across the T-axis of the pixel store. count the number of pixels to retrieve. offset the offset at which to retrieve count pixels.
given 2D image plane. It is guaranteed that this buffer will have been byte swapped.
Retrieves the in memory size of a 2D image plane in this pixel store. Returns:
2D image plane size in bytes
sizeX*sizeY*byteWidth.
Retrieves a particular 2D image plane from this pixel store. Arguments:
z offset across the Z-axis of the pixel store. c offset across the C-axis of the pixel store. t offset across the T-axis of the pixel store.
Retrieves a region from this pixel store. Arguments:
size byte width of the region to retrieve. offset offset within the pixel store.
Retrieves the offset for a particular row or scanline in this pixel store. Arguments:
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.
Retrieves the in memory size of a row or scanline of pixels in this pixel store. Returns:
row or scanline size in bytes
Retrieves a particular row or scanline from this pixel store. Arguments:
y offset across the Y-axis of the pixel store. z offset across the Z-axis of the pixel store. c offset across the C-axis of the pixel store. t offset across the T-axis of the pixel store.
or scanline.
Retrieves the offset for the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel store.
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 store.
sizeX*sizeY*byteWidth.
Retrieves the the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel store. Arguments:
c offset across the C-axis of the pixel store. t offset across the T-axis of the pixel store.
Retrieves a tile from this pixel buffer. Arguments:
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.
Retrieves the in memory size of the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel store.
Retrieves the in memory size of the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel store. Returns:
timepoint size in bytes
sizeX*sizeY*sizeZ*sizeC*byteWidth.
Retrieves the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel store. Arguments:
t offset across the T-axis of the pixel store.
Retrieves the in memory size of the entire pixel store. Returns:
total size of the pixel size in bytes
sizeX*sizeY*sizeZ*sizeC*sizeT*byteWidth.
Returns whether or not the pixel buffer has floating point pixels. Returns:
Returns whether or not the pixel store has signed pixels. Returns:
See above.
Prepares the stateful service with a cache of loaded Pixels objects. This method is designed to combat query overhead, where many sets of Pixels are to be read from or written to, by loading all the Pixels sets at once. Multiple calls will result in the existing cache being overwritten.
Save the current state of the pixels, updating the SHA1. This should only be called AFTER all data is successfully set. Future invocations of set methods may be disallowed. This read-only status will allow background processing (generation of thumbnails, compression, etc) to begin. More information under RawPixelsStore.
A null instance will be returned if no save was performed.
Initializes the stateful service for a given Pixels set.
for an original file to back the pixel buffer used by this service. If requests are predominantly write-only or involve the population of a brand new pixel buffer using true here is a safe optimization otherwise false is expected.
See Read-only caveat under RawPixelsStore
Sets a particular 2D image plane in this pixel store. Arguments:
buf a byte array of the data comprising this 2D image plane. z offset across the Z-axis of the pixel store. c offset across the C-axis of the pixel store. t offset across the T-axis of the pixel store.
See Read-only caveat under RawPixelsStore
Sets a region in this pixel buffer. Arguments:
size byte width of the region to set. offset offset within the pixel buffer. buf a byte array of the data.
See Read-only caveat under RawPixelsStore
Sets a particular row or scanline in this pixel store. Arguments:
buf a byte array of the data comprising this row or scanline. y offset across the Y-axis of the pixel store. z offset across the Z-axis of the pixel store. c offset across the C-axis of the pixel store. t offset across the T-axis of the pixel store.
See Read-only caveat under RawPixelsStore
Sets the entire number of optical sections for a single wavelength or channel at a particular timepoint in this pixel store. Arguments:
buf a byte array of the data comprising this stack. c offset across the C-axis of the pixel store. t offset across the T-axis of the pixel store.
See Read-only caveat under RawPixelsStore
Sets a tile in this pixel buffer. Arguments:
buf 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.
end of the file.
See Read-only caveat under RawPixelsStore
Sets the entire number of optical sections for all wavelengths or channels at a particular timepoint in this pixel store. Arguments:
buf a byte array of the data comprising this timepoint. t offset across the T-axis of the pixel buffer.
See Read-only caveat under RawPixelsStore
Bases: omero.api.PyramidServicePrx
Initializes the stateful service for a given Pixels set.
for an original file to back the pixel buffer used by this service. If requests are predominantly write-only or involve the population of a brand new pixel buffer using true here is a safe optimization otherwise false is expected.
See Read-only caveat under RawPixelsStore
Bases: omero.api.PyramidService
Defines a service to render a given pixels set.
A pixels set is a 5D array that stores the pixels data of an image, that is the pixels intensity values. Every instance of this service is paired up to a pixels set. Use this service to transform planes within the pixels set onto an RGB image.
The RenderingEngine allows to fine-tune the settings that define the transformation context — that is, a specification of how raw pixels data is to be transformed into an image that can be displayed on screen. Those settings are referred to as rendering settings or display options. After tuning those settings it is possible to save them to the metadata repository so that they can be used the next time the pixels set is accessed for rendering; for example by another RenderingEngine instance. Note that the display options are specific to the given pixels set and are experimenter scoped — that is, two different users can specify different display options for the same pixels set. (A RenderingEngine instance takes this into account automatically as it is always bound to a given experimenter.)
This service is thread-safe.
Adds the context to the mapping chain. Only one context of the same type can be added to the chain. The codomain transformations are functions from the device space to device space. Each time a new context is added, the second LUT is rebuilt.
Adds the context to the mapping chain. Only one context of the same type can be added to the chain. The codomain transformations are functions from the device space to device space. Each time a new context is added, the second LUT is rebuilt.
Returns the list of mapping families supported by the Rendering engine.
Returns the list of color models supported by the Rendering engine.
Returns the coefficient identifying a map in the family. Each channel has a map associated to it.
Returns the family associated to the specified channel.
Returns true if the noise reduction algorithm used to map the pixels intensity values is turned on, false if the algorithm is turned off. Each channel has an algorithm associated to it.
Returns the upper bound of the pixels intensity interval. Each channel has a pixels intensity interval associated to it.
Returns the lower bound of the pixels intensity interval. Each channel has a pixels intensity interval associated to it.
Returns the list of codomain contexts for the specified channel.
Returns the current compression level for the service.
Returns the default timepoint index.
Returns the index of the default focal section.
Returns the model that dictates how transformed raw data has to be mapped onto a color space.
Returns the maximum value for that channels depending on the pixels type and the original range (globalmax, globalmin)
Returns the minimum value for that channels depending on the pixels type and the original range (globalmax, globalmin)
Returns the omero.model.Pixels set the Rendering engine is for.
Returns the quantization object.
Returns a 4D-array representing the color associated to the specified channel. The first element corresponds to the red component (value between 0 and 255). The second corresponds to the green component (value between 0 and 255). The third corresponds to the blue component (value between 0 and 255). The fourth corresponds to the alpha component (value between 0 and 255).
Returns the id of the omero.model.RenderingDef loaded by either lookupRenderingDef or loadRenderingDef.
Returns true if the channel is mapped, false otherwise.
Returns true if the pixels type is signed, false otherwise.
Loads a specific set of rendering settings that does not necessarily have to be linked to the given Pixels set. However, the rendering settings must be linked to a compatible Pixels set as defined by omero.api.IRenderingSettings#sanityCheckPixels.
exist with the ID renderingDefId or if the RenderingDef is incompatible due to differing pixels sets.
Creates an instance of the rendering engine.
Loads the Pixels set this Rendering Engine is for.
Loads the rendering settings associated to the specified pixels set.
Pixels set, otherwise false.
Removes the specified context from the chain. Each time a new context is removed, the second LUT is rebuilt.
Removes the specified context from the chain. Each time a new context is removed, the second LUT is rebuilt.
Renders the data selected by def according to the current rendering settings. The passed argument selects a plane orthogonal to one of the X, Y, or Z axes. How many wavelengths are rendered and what color model is used depends on the current rendering settings.
X, Y, or Z axes. Returns:
An RGB image ready to be displayed on screen.
If def is null.
Renders the data selected by def according to the current rendering settings and compresses the resulting RGBA composite image.
X, Y or Z axes. Returns:
A compressed RGBA JPEG for display.
If def is null.
Performs a projection through selected optical sections of a particular timepoint with the currently active channels and renders the data for display.
ome.api.IProjection#MEAN_INTENSITY or ome.api.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.
projected pixels. Exceptions:
ValidationException Where:
algorithm is unknown timepoint is out of range start is out of range end is out of range start > end
Performs a projection through selected optical sections of a particular timepoint with the currently active channels, renders the data for display and compresses the resulting RGBA composite image.
ome.api.IProjection#MEAN_INTENSITY or ome.api.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.
projected pixels. Exceptions:
ValidationException Where:
algorithm is unknown timepoint is out of range start is out of range end is out of range start > end
Renders the data selected by def according to the current rendering settings. The passed argument selects a plane orthogonal to one of the X, Y, or Z axes. How many wavelengths are rendered and what color model is used depends on the current rendering settings.
X, Y, or Z axes. Returns:
An RGB image ready to be displayed on screen.
If def is null.
Resets the default settings i.e. the default values internal to the Rendering engine. The settings will be saved.
false otherwise.
Saves the current rendering settings in the database as a new omero.model.RenderingDef and loads the object into the current omero.api.RenderingEngine.
Saves the current rendering settings in the database.
Maps the specified channel if true, unmaps the channel otherwise.
false otherwise.
Returns the pixels intensity interval. Each channel has a pixels intensity interval associated to it.
Sets the sub-interval of the device space i.e. a discrete sub-interval of [0, 255].
Sets the current compression level for the service. (The default is 85%)
(100%) to 0.01 (1%). Exceptions:
ValidationException if the percentage</code
is out of range.
Sets the default timepoint index. This index is used to define a default plane.
Sets the index of the default focal section. This index is used to define a default plane.
Specifies the model that dictates how transformed raw data has to be mapped onto a color space.
Informs the rendering engine that it should render a set of overlays on each rendered frame. These are expected to be binary masks. Arguments:
overlays Binary mask to color map.
Sets the quantization map, one per channel.
noise reduction algorithm on, false otherwise.
Sets the quantization strategy. The strategy is common to all channels.
to the strategy.
Sets the four components composing the color associated to the specified channel.
Updates the specified context. The codomain chain already contains the specified context. Each time a new context is updated, the second LUT is rebuilt.
Bases: omero.api.PyramidServicePrx
Renders the data selected by def according to the current rendering settings. The passed argument selects a plane orthogonal to one of the X, Y, or Z axes. How many wavelengths are rendered and what color model is used depends on the current rendering settings.
X, Y, or Z axes. Returns:
An RGB image ready to be displayed on screen.
If def is null.
Bases: Ice.Object
Bases: IcePy.ObjectPrx
Bases: Ice.Object
Specifies filters used when querying the ROIs.
Bases: IcePy.ObjectPrx
Bases: Ice.Object
Returned by most search methods. The RoiOptions is the options object passed into a method, possibly modified by the server if some value was out of range. The RoiList contains all the Rois which matched the given query.
The individual shapes of the Rois which matched can be found in the indexes. For example, all the shapes on z=1 can by found by:
ShapeList shapes = byZ.get(1);
Shapes which are found on all z or t can be found with:
byZ.get(-1); byT.get(-1);
respectively.
Bases: IcePy.ObjectPrx
Bases: Ice.Object
Container for ShapeStats, one with the combined values, and one per shape.
Bases: IcePy.ObjectPrx
Bases: omero.cmd.Request
Bases: omero.cmd.RequestPrx
Bases: omero.cmd.Response
Bases: omero.cmd.ResponsePrx
Bases: omero.api.StatefulServiceInterface
Central search interface, allowing Web2.0 style queries. Each omero.api.Search instance keeps up with several queries and lazily-loads the results as hasNext, next and results are called. These queries are created by the by* methods.
Each instance also has a number of settings which can all be changed from their defaults via accessors, e.g. setBatchSize or setCaseSentivice.
The only methods which are required for the proper functioning of a Search instance are:
onlyType, onlyTypes OR allTypes Any by* method to create a query
Use of the allTypes method is discouraged, since it is possibly very resource intensive, which is why any attempt to receive results without specifically setting types or allowing all is prohibited.
Returns the number of active queries. This means that activeQueries gives the minimum number of remaining calls to results when batches are not merged.
A path from the target entity which will be added to the current stack of order statements applied to the query.
A path from the target entity which will be added to the current stack of order statements applied to the query.
Permits all types to be returned. For some types of queries, this carries a performance penalty as every database table must be hit.
Applies the next by* method to the previous by* method, so that a call hasNext, next, or results sees only the intersection of the two calls.
For example,
service.onlyType(Image.class); service.byFullText("foo"); service.intersection(); service.byAnnotatedWith(TagAnnotation.class);
will return only the Images with TagAnnotations.
Calling this method overrides a previous setting of _or or _not. If there is no active queries (i.e. activeQueries > 0), then an ApiUsageException will be thrown.
Finds entities annotated with an omero.model.Annotation similar to the example. This does not use Hibernate’s omero.api.IQuery#findByExample Query-By-Example} mechanism, since that cannot handle joins. The fields which are used are:
the main content of the annotation : String, omero.model.OriginalFile#getId, etc.
If the main content is null it is assumed to be a wildcard searched, and only the type of the annotation is searched. Currently, ListAnnotations are not supported.
Passes the query as is to the Lucene backend.
Returns transient (without ID) omero.model.TagAnnotation instances which represent all the omero.model.TagAnnotation tags in the given group. The entities are transient and without ownership since multiple users can own the same tag. This method will override settings for types.
Delegates to omero.api.IQuery#findAllByQuery method to take advantage of the _and, _or, and _not methods, or queue-semantics.
Builds a Lucene query and passes it to the Lucene backend.
Returns transient (without ID) omero.model.TextAnnotation instances which represent terms which are similar to the given terms. For example, if the argument is cell, one return value might have as its textValue: cellular while another has cellularize.
No filtering or fetching is performed.
Builds a Lucene query and passes it to byFullText.
document. May be null.
Creates a query which will return transient (without ID) omero.model.TagAnnotation instances which represent all the omero.model.TagAnnotation tag groups which the given tag belongs to. The entities are transient and without ownership since multiple users can own the same tag group. This method will override settings for types.
Removes all active queries (leaving resetDefaults settings alone), such that activeQueries will return 0.
Provides access to the extra query information (for example Lucene score and boost values) for a single call to results. This method may only be called once for any given call to results.
Provides access to the extra query information (for example Lucene score and boost values) for a single call to next. This method may only be called once for any given call to next.
Adds a fetch clause for loading non-annotation fields of returned entities. Each fetch is a hibernate clause in dot notation.
setting.
Queries the database for all omero.model.Annotation annotations of the given types for all returned instances.
setting.
Returns the current batch size. If setBatchSize has not been called, the default value will be in effect.
results
Returns true if another call to next is valid. A call to next may throw an exception for another reason, however.
Returns the current leading-wildcard setting. If false, byFullText and bySomeMustNone will throw an omero.ApiUsageException, since leading-wildcard searches are quite slow. Use setAllowLeadingWildcard in order to permit this usage.
Returns the current case sensitivity setting. If setCaseSentivice has not been called, the default value will be in effect.
Returns the current merged-batches setting. If setMergedBatches has not been called, the default value will be in effect.
Returns the current return-unloaded setting. If true, all returned entities will be unloaded. If setReturnUnloaded has not been called, the default value will be in effect.
Returns the current use-projection setting. If true, the client must be careful with all results that are returned. See setUseProjections for more. If setUseProjections has not been called, the default value will be in effect.
Returns the next entity from the current query. If the previous call returned the last entity from a given query, the first entity from the next query will be returned and activeQueries decremented. Since this method only returns the entity itself, a single call to currentMetadata may follow this call to gather the extra metadata which is returned in the map via results.
Restricts entities by who has not annotated them with an omero.model.Annotation matching the other filters. As notOwnedBy, the omero.model.Details#getOwner and omero.model.Details#getGroup information is combined with an AND condition.
restriction is removed.
Uses the omero.model.Details#getOwner and omero.model.Details#getGroup information to restrict the entities which will be returned. If both are non-null, the two restrictions are joined by an AND.
restriction is removed.
Applies the next by* method to the previous by* method, so that a call hasNext, next, or results sees only the intersection of the two calls.
For example,
service.onlyType(Image.class); service.byFullText("foo"); service.complement(); service.byAnnotatedWith(TagAnnotation.class);
will return all the Images not annotated with TagAnnotation. Calling this method overrides a previous setting of _or or _and. If there is no active queries (i.e. activeQueries > 0), then an ApiUsageException will be thrown.
Restricts entities by the time in which any annotation (which matches the other filters) was added them. This matches the omero.model.Details#getCreationEvent creation event of the omero..model.Annotation.
infinity.
Restricts entities by who has annotated them with an omero.model.Annotation matching the other filters. As onlyOwnedBy, the omero.model.Details#getOwner and omero.model.Details#getGroup information is combined with an AND condition.
restriction is removed.
Restricts entities to having an omero.model.Annotation of all the given types. This is useful in combination with the other onlyAnnotated* methods to say, e.g., only annotated with a file by user X. By default, this value is null and imposes no restriction. Passing an empty array implies an object that is not annotated at all.
Note: If the semantics were OR, then a client would have to query each class individually, and compare all the various values, checking which ids are where. However, since this method defaults to AND, multiple calls (optionally with isMergedBatches and isReturnUnloaded) and combine the results. Duplicate ids are still possible so a set of some form should be used to collect the results.
removed.
Restricts the time between which an entity may have been created.
infinity.
Restricts the set of ids which will be checked. This is useful for testing one of the given restrictions on a reduced set of objects.
restriction is removed.
Restricts the time between which an entity may have last been modified.
infinity.
Uses the omero.model.Details#getOwner and omero.model.Details#getGroup information to restrict the entities which will be returned. If both are non-null, the two restrictions are joined by an AND.
restriction is removed.
Restricts the search to a single type. All return values will match this type.
Restricts searches to a set of types. The entities returned are guaranteed to be one of these types.
Applies the next by* method to the previous by* method, so that a call hasNext, next or results sees only the union of the two calls.
For example,
service.onlyType(Image.class); service.byFullText("foo"); service.or(); service.onlyType(Dataset.class); service.byFullText("foo");
will return both Images and Datasets together.
Calling this method overrides a previous setting of _and or _not. If there is no active queries (i.e. activeQueries > 0), then an omero.ApiUsageException will be thrown.
Unsupported operation.
Resets all settings (non-query state) to the original default values, as if the instance had just be created.
Returns up to getBatchSize batch size number of results along with the related query metadata. If isMergedBatches batches are merged then the results from multiple queries may be returned together.
Permits full-text queries with a leading query if true.
Sets the maximum number of results that will be returned by one call to results. If batches are not merged, then results may often be less than the batch size. If batches are merged, then only the last call to results can be less than batch size.
Note: some query types may not support batching at the query level, and all instances must then be loaded into memory simultaneously.
results
Sets the case sensitivity on all queries where case-sensitivity is supported.
Set whether or not results from two separate queries can be returned in the same call to results.
Determines if all results should be returned as unloaded objects. This is particularly useful for creating lists for further querying via omero.api.IQuery. This value overrides the setUseProjections setting.
Determines if Lucene queries should not hit the database. Instead all values which are stored in the index will be loaded into the object, which includes the id. However, the entity will not be marked unloaded and therefore it is especially important to not allow a projection-instance to be saved back to the server. This can result in DATA LOSS.
Removes the current stack of order statements.
Bases: omero.api.StatefulServiceInterfacePrx
Returns the number of active queries. This means that activeQueries gives the minimum number of remaining calls to results when batches are not merged.
Bases: omero.cmd.Session
Starting point for all OMERO.blitz interaction.
A ServiceFactory once acquired can be used to create any number
of service proxies to the server. Most services implement ServiceInterface or its subinterface StatefulServiceInterface.
Returns a list of string ids for currently active services. This will _not_ keep services alive, and in fact checks for all expired services and removes them.
Marks the session for closure rather than detachment, which will be triggered by the destruction of the Glacier2 connection via router.destroySession()
Closing the session rather the detaching is more secure, since all resources are removed from the server and can safely be set once it is clear that a client is finished with those resources.
Allows looking up any stateful service by name.
See Constants.ice for examples of services. If a service has been added by third-parties, createByName can be used even though no concrete method is available.
Marks the session for detachment rather than closure, which will be triggered by the destruction of the Glacier2 connection via router.destroySession()
This is the default and allows a lost session to be reconnected, at a slight security cost since the session will persist longer and can be used by others if the UUID is intercepted.
Allows looking up any stateless service by name.
See Constants.ice for examples of services. If a service has been added by third-parties, getByName can be used even though no concrete method is available.
Provides a list of all valid security contexts for this session. Each of the returned omero.model.IObject instances can be passed to setSecurityContext.
Returns true if the given service is alive.
Except for fatal server or session errors, this method should never throw an exception.
Requests that the given services be marked as alive. It is possible that one of the services has already timed out, in which case the returned long value will be non-zero.
Specifically, the bit representing the 0-based index will be 1:
if (retval & 1<<idx == 1<<idx) { // not alive }
Except for fatal server or session errors, this method should never throw an exception.
Sets the single callback used by the ServiceFactory to communicate with the client application. A default callback is set by the omero::client object on session creation which should suffice for most usage.
See the client object’s documentation in each language mapping for ways to use the callback.
Changes the security context for the current session.
A security context limits the set of objects which will
be returned by all queries and restricts what updates can be made.
Current valid values for security context:
omero.model.ExperimenterGroup - logs into a specific group omero.model.Share - uses IShare to activate a share
Passing an unloaded version of either object type will change
the way the current session operates. Note: only objects which are returned by the getSecurityContexts method are considered valid. Any other instance will cause an exception to be thrown.
Example usage in Python:
sf = client.createSession() objs = sf.getSecurityContexts() old = sf.setSecurityContext(objs[-1])
Re-validates the password for the current session. This prevents
See methods that mention “HasPassword”.
Returns a reference to a back-end manager. The omero.grid.SharedResources service provides look ups for various facilities offered by OMERO:
OMERO.scripts OMERO.tables
These facilities may or may not be available on first request.
Subscribe to a given topic. The topic must exist and the user must have sufficient permissions for that topic. Further the proxy object must match the required type for the topic as encoded in the topic name.
Bases: omero.cmd.SessionPrx
Provides a list of all valid security contexts for this session. Each of the returned omero.model.IObject instances can be passed to setSecurityContext.
Bases: Ice.Object
Service marker similar to ome.api.ServiceInterface. Any object which IS-A ServiceInterface but IS-NOT-A StatefulServiceInterface (below) is by definition a “”stateless service”“
Bases: IcePy.ObjectPrx
Bases: Ice.Object
Contains a discrete representation of the geometry of an omero::model::Shape. The x and y array are of the same size with each pair of entries representing a single point in the 2D plane.
Bases: IcePy.ObjectPrx
Bases: Ice.Object
Contains arrays, one entry per channel, of the statistics for a given shape. All arrays are the same size, except for the channelIds array, which specifies the ids of the logical channels which compose this Shape. If the user specified no logical channels for the Shape, then all logical channels from the Pixels will be in channelIds.
Bases: IcePy.ObjectPrx
Bases: omero.api.ServiceInterface
Service marker for stateful services which permits the closing of a particular service before the destruction of the session.
Load a service implementation from disk if it was previously passivated. It is unnecessary to call this method since activation happens automatically, but calling this may prevent a short lapse when the service is first accessed after passivation.
It is safe to call this method at any time, even when the service is not passivated.
Frees all resources – passivated or active – for the given stateful service and removes its name from the object adapter. Any further method calls will fail with a Ice::NoSuchObjectException.
Note: with JavaEE, the close method was called publically, and internally this called destroy(). As of the OmeroBlitz migration, this functionality has been combined.
To free clients from tracking the mapping from session to stateful service, each stateful service can returns its own context information.
Causes the blitz server to store the service implementation to disk to free memory. This is typically done automatically by the server when a pre-defined memory limit is reached, but can be used by the client if it clear that a stateful service will not be used for some time.
Activation will happen automatically whether passivation was done manually or automatically.
Bases: omero.api.ServiceInterfacePrx
Causes the blitz server to store the service implementation to disk to free memory. This is typically done automatically by the server when a pre-defined memory limit is reached, but can be used by the client if it clear that a stateful service will not be used for some time.
Activation will happen automatically whether passivation was done manually or automatically.
Bases: omero.api.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:
setPixelsId any of the thumbnail accessor methods or resetDefaults
Creates a thumbnail for a pixels set using a given set of rendering settings (RenderingDef) in the on-disk cache.
null specifies the default size of 48.
sizeY the Y-axis width of the thumbnail.
null specifies the default size of 48. Exceptions:
ApiUsageException
if:
sizeX > pixels.sizeX sizeX is negative sizeY > pixels.sizeY sizeY is negative setPixelsId has not yet been called
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.
requested. null specifies the default size of 48.
pixelsIds the Pixels sets to retrieve thumbnails for.
if:
size > pixels.sizeX and pixels.sizeY size is negative
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.
Return the id of the omero.model.RenderingDef loaded in this instance.
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.
requested. null specifies the default size of 48. Exceptions:
ApiUsageException
if:
size > pixels.sizeX and pixels.sizeY setPixelsId has not yet been called
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. 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.
requested. null specifies the default size of 48.
pixelsIds the Pixels sets to retrieve thumbnails for.
thumbnail byte buffers or null if an exception was thrown while attempting to retrieve the thumbnail for that particular Pixels set.
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 getThumbnailDirect, 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.
requested. null specifies the default size of 48. Exceptions:
ApiUsageException if:
size > pixels.sizeX and pixels.sizeY setPixelsId has not yet been called
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.
null specifies the default size of 48.
sizeY the Y-axis width of the thumbnail.
null specifies the default size of 48. Exceptions:
ApiUsageException
if:
sizeX > pixels.sizeX sizeX is negative sizeY > pixels.sizeY sizeY is negative setPixelsId has not yet been called
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.
requested. null specifies the default size of 48. Exceptions:
ApiUsageException
if:
size > pixels.sizeX and pixels.sizeY setPixelsId has not yet been called
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.
null specifies the default size of 48.
sizeY the Y-axis width of the thumbnail.
null specifies the default size of 48. Exceptions:
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
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 getThumbnailDirect, placed in the on-disk cache and returned. Unlike the other thumbnail retrieval methods, this method may be called without first calling setPixelsId.
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.
thumbnail byte buffers or null if an exception was thrown while attempting to retrieve the thumbnail for that particular Pixels set.
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 getThumbnailDirect, placed in the on-disk cache and returned.
null specifies the default size of 48.
sizeY the Y-axis width of the thumbnail.
null specifies the default size of 48. Exceptions:
ApiUsageException
if:
sizeX > pixels.sizeX sizeX is negative sizeY > pixels.sizeY sizeY is negative setPixelsId has not yet been called
This returns the last available in progress state for a thumbnail. Its return value is only expected to be valid after the call to any of the individual thumbnail retrieval methods. Returns:
true if the image is in the process of
being imported or a pyramid is being generated for it.
Resets the rendering definition for the active pixels set to its default settings.
This method manages the state of the service; it must be invoked before using any other methods. As the omero.api.ThumbnailStore relies on the omero.api.RenderingEngine, a valid rendering definition must be available for it to work.
the ID pixelsId. Returns:
true if a
omero.model.RenderingDef exists for the omero.model.Pixels set, otherwise false
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.
an omero.model.RenderingDef id. null specifies the user’s currently active rendering settings to be used. Exceptions:
ValidationException
if no rendering definition exists with the ID renderingDefId.
Checks if a thumbnail of a particular size exists for a pixels set.
null specifies the default size of 48.
sizeY the Y-axis width of the thumbnail.
null specifies the default size of 48. Exceptions:
ApiUsageException
if:
sizeX is negative sizeY is negative setPixelsId has not yet been called
Bases: omero.api.StatefulServiceInterfacePrx
This method manages the state of the service; it must be invoked before using any other methods. As the omero.api.ThumbnailStore relies on the omero.api.RenderingEngine, a valid rendering definition must be available for it to work.
the ID pixelsId. Returns:
true if a
omero.model.RenderingDef exists for the omero.model.Pixels set, otherwise false