OME Schemas
An introduction to the XML Schemas used by OME
OME makes extensive use of XML to represent the information we keep track of. Not only does OME encourage the use of OME-XML as an external file format for representing this information, it also uses XML to define the kinds of information to keep track of, as well as how this information is generated, and where it comes from.
On Dec 11, 2005, The LOCI team announced a variant form of OME-XML, known as OME-TIFF. This format combines the metadata facilities of OME-XML with the standardised storage of binary data via TIFF. The new format is ideal for storing data for visualisation and analysis. The OME-TIFF specification shows how to read and write OME-TIFF files.
In July 2007 information about the ongoing development of the OME-XML data model was moved to http://www.ome-xml.org/ and this site can now be used obtain the latest developer information. Users can add work tickets to the system detailing any changes they feel should be made. The site also contains details of the changes made for the June 2007 release.
The structure of OME-XML documents is defined using the XML Schema language. There are several schemas used by OME, and most of them can be used independently of each other:
- OME - The main schema which defines the OME ontology for microscopy. This schema makes use of all of the others.
- CA - The schema that defines CustomAttributes. This schema can be used to represent the same information as OME-XML, but in a highly flattened form that uses references instead of a nesting structure. Unlike the OME schema, information contained in CA documents must first be defined as SemanticTypes. The CA schema is the one that the OME back-end deals with directly. OME-XML documents are read and generated by the back-end using XSLT transforms. There are XSLT style-sheets that convert from OME-XML to CA, and from CA to OME-XML.
-
STD - The Semantic Type definition schema. This schema governs how Semantic Types are defined in XML. Once a Semantic Type is defined, data for the defined type can be imported into OME using the
<CustomAttributes>elements in the OME and CA schemas. -
AML - The Analysis Module Library schema. This schema governs how analysis modules are defined in XML. Analysis modules are image analysis algorithms or, more generally, how information is generated in the OME server.
The Analysis module schema makes use of two sub-schemas to define how modules are executed. These schemas are used in the
<ExecutionInstructions>element of the AML schema.- CLI - The Command Line Interface schema is used to specify execution instructions for modules implemented as command-line programs.
- MLI - The Matlab Interface schema is used to specify execution instructions for modules implemented in matlab.
-
In the OME server Modules can also be Perl classes which are loaded by the back-end directly, and don't require execution instructions. Examples of these kinds of modules can be found in the
OME/src/perl2/Analysis/Modules/directory of the source distribution.
- Analysis Chains - The Analysis Chain schema. This schema governs how analysis chains are defined in XML. Analysis chains are how module outputs are connected to inputs of other modules. These chains can be linear or with arbitrarily complex branching. Technically, analysis chains are directed acyclic graphs (DAGs).
- Data History - The Data History schema. Data history describes the data dependency in OME. Similarly to Analysis Chains, a data history can be a linear or arbitrarily branched data dependency, and is also technically an acyclic directed graph.
The Downloads page has example documents and the transforms to convert files.

