Introduction to OME-XML Schemas
OME makes extensive use of XML to represent
the information it keeps track of. Not only does OME use XML as an external file format
for representing this information, it also uses XML to
define the kinds of information OME keeps 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
standardized storage of binary data via TIFF. The new format is ideal for storing data for visualization 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:
Some of these documents contain diagrams in the SVG vector graphics format. If your Web browser
doesn't contain native SVG support, Adobe publishes a free SVG plugin for the most
common platforms.
- OME-XML -
The main schema which defines the OME ontology for microscopy. This schema makes use of all of the others. See
Sample.ome for a simple example document.
- 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. See OME Core Types for example documents.
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 OME.
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.
- Modules can also be Perl classes which are loaded by the back-end directly, and don't require execution instructions.
See documentation for
OME::Analysis::Handler.
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 acyclic directed 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.
OME-XML documents can be validated using the
W3C Schema validator