• Login
  • Help/Guide
  • About Trac
  • Preferences
  • Wiki
  • Timeline
  • Roadmap
  • Browse Source
  • View Tickets
  • Search

Context Navigation

  • Last Change
  • Annotate
  • Revision Log

root/Xml/Working/ome.xsd

Revision 225, 91.6 kB (checked in by andrew, 2 months ago)

Backup of working copy changes

Line 
1<?xml version = "1.0" encoding = "UTF-8"?>
2<!--
3        #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4        #
5        # Copyright (C) 2002-2008 Open Microscopy Environment
6        #       Massachusetts Institute of Technology,
7        #       National Institutes of Health,
8        #       University of Dundee,
9        #       University of Wisconsin at Madison
10        #
11        #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12-->
13<!--
14        #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15        # Written by: Ilya G. Goldberg, Andrew J Patterson
16        #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17-->
18<xsd:schema xmlns="http://www.openmicroscopy.org/Schemas/OME/2008-02"
19        targetNamespace="http://www.openmicroscopy.org/Schemas/OME/2008-02"
20        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
21        xmlns:AML="http://www.openmicroscopy.org/Schemas/AnalysisModule/2008-02"
22        xmlns:STD="http://www.openmicroscopy.org/Schemas/STD/2008-02"
23        xmlns:Bin="http://www.openmicroscopy.org/Schemas/BinaryFile/2008-02"
24        xmlns:CA="http://www.openmicroscopy.org/Schemas/CA/2008-02"
25        xmlns:SPW="http://www.openmicroscopy.org/Schemas/SPW/2008-02"
26        xmlns:SA="http://www.openmicroscopy.org/Schemas/SA/2008-02"
27        xmlns:xml="http://www.w3.org/XML/1998/namespace"
28        version="2"
29        elementFormDefault="qualified">
30        <xsd:import namespace="http://www.openmicroscopy.org/Schemas/AnalysisModule/2008-02" schemaLocation="http://www.openmicroscopy.org/Schemas/AnalysisModule/2008-02/AnalysisModule.xsd"/>
31        <xsd:import namespace="http://www.openmicroscopy.org/Schemas/STD/2008-02" schemaLocation="http://www.openmicroscopy.org/Schemas/STD/2008-02/STD.xsd"/>
32        <xsd:import namespace="http://www.openmicroscopy.org/Schemas/BinaryFile/2008-02" schemaLocation="http://www.openmicroscopy.org/Schemas/BinaryFile/2008-02/BinaryFile.xsd"/>
33        <xsd:import namespace="http://www.openmicroscopy.org/Schemas/CA/2008-02" schemaLocation="CA.xsd"/>
34        <xsd:import namespace="http://www.openmicroscopy.org/Schemas/SPW/2008-02" schemaLocation="http://www.openmicroscopy.org/Schemas/SPW/2008-02/SPW.xsd"/>
35        <xsd:import namespace="http://www.openmicroscopy.org/Schemas/SA/2008-02" schemaLocation="SA.xsd"/>
36        <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
37       
38        <xsd:annotation>
39                <xsd:documentation>
40                        Open Microscopy Environment
41                        OME XML Schema February 2008 - Update Version 2 May 2008
42                        Author:  Ilya G. Goldberg, Andrew J Patterson
43                        Copyright 2002 - 2008 OME. All rights reserved.
44                </xsd:documentation>
45        </xsd:annotation>
46        <xsd:element name="OME"> <!-- top level definition -->
47                <xsd:annotation>
48                        <xsd:documentation>
49                                The OME element is a container for all information objects accessible by OME.  These information objects include descriptions of the imaging experiments
50                                and the people who perform them, descriptions of the microscope, the resulting images and how they were acquired, the analyses performed on those images,
51                                and the analysis results themselves.
52                                An OME file may contain any or all of this information.
53                        </xsd:documentation>
54                </xsd:annotation>
55                <xsd:complexType>
56                        <xsd:sequence>
57                                <xsd:element ref="Project" minOccurs="0" maxOccurs="unbounded"/>
58                                <xsd:element ref="Dataset" minOccurs="0" maxOccurs="unbounded"/>
59                                <xsd:element ref="Experiment" minOccurs="0" maxOccurs="unbounded"/>
60                                <xsd:element ref="SPW:Plate" minOccurs="0" maxOccurs="unbounded"/>
61                                <xsd:element ref="SPW:Screen" minOccurs="0" maxOccurs="unbounded"/>
62                                <xsd:element ref="Experimenter" minOccurs="0" maxOccurs="unbounded"/>
63                                <xsd:element ref="Group" minOccurs="0" maxOccurs="unbounded"/>
64                                <xsd:element ref="Instrument" minOccurs="0" maxOccurs="unbounded"/>
65                                <xsd:element ref="Image" minOccurs="0" maxOccurs="unbounded"/>
66                                <xsd:element ref="STD:SemanticTypeDefinitions" minOccurs="0" maxOccurs="1"/>
67                                <xsd:element ref="AML:AnalysisModuleLibrary" minOccurs="0" maxOccurs="1"/>
68                                <xsd:element ref="CA:CustomAttributes" minOccurs="0" maxOccurs="1"/>
69                                <xsd:element ref="SA:StructuredAnnotations" minOccurs="0" maxOccurs="1"/>
70                        </xsd:sequence>
71                        <xsd:attribute name="UUID" type="UniversallyUniqueIdentifier" use="optional"/>
72                </xsd:complexType>
73        </xsd:element>
74        <xsd:element name="Image"> <!-- top level definition -->
75                <xsd:annotation>
76                        <xsd:documentation>
77                                This element describes the actual image and its meta-data.
78                                The elements that are references (ending in Ref) refer to elements defined outside of the Image element.
79                                If any of the required Image attributes are missing, its guaranteed to be an invalid document.
80                                The required elements are CreationDate and Pixels.
81                                ExperimenterRef is required for all Images with well formed LSIDs.
82                                ImageType is a vendor-specific designation of the type of image this is.
83                                Examples of ImageType include 'STK', 'SoftWorx', etc.
84                                The Name attributes are in all cases the name of the element instance. In this case, the name of the image,
85                                not necessarily the filename.
86                                PixelSize* is in microns.
87                                TimeIncrement is used for time series that have a global timing specification instead of per-timepoint timing info.
88                                For example in a video stream.  The unit is seconds.
89                                Similarly, WaveStart and WaveIncrement are used in spectral images like FTIR.  These are both positive integers.
90                        </xsd:documentation>
91                </xsd:annotation>
92                <xsd:complexType>
93                        <xsd:sequence>
94                                <xsd:element ref="CreationDate" minOccurs="0" maxOccurs="1"/>
95                                <xsd:element ref="ExperimenterRef" minOccurs="0" maxOccurs="1"/>
96                                <xsd:element ref="Description" minOccurs="0" maxOccurs="1"/>
97                                <xsd:element ref="ExperimentRef" minOccurs="0" maxOccurs="1"/>
98                                <xsd:element ref="GroupRef" minOccurs="0" maxOccurs="1"/>
99                                <xsd:element ref="DatasetRef" minOccurs="0" maxOccurs="unbounded"/>
100                                <xsd:element ref="InstrumentRef" minOccurs="0" maxOccurs="1"/>
101                                <xsd:element ref="ObjectiveRef" minOccurs="0" maxOccurs="1"/>
102                                <xsd:element ref="ImagingEnvironment" minOccurs="0" maxOccurs="1"/>
103                                <xsd:element ref="Thumbnail" minOccurs="0" maxOccurs="1"/>
104                                <xsd:element ref="LogicalChannel" minOccurs="0" maxOccurs="unbounded"/>
105                                <xsd:element ref="DisplayOptions" minOccurs="0" maxOccurs="1"/>
106                                <xsd:element ref="StageLabel" minOccurs="0" maxOccurs="1"/>
107                                <xsd:element ref="Pixels" minOccurs="1" maxOccurs="unbounded"/>
108                                <xsd:element ref="Region" minOccurs="0" maxOccurs="unbounded"/>
109                                <xsd:element ref="CA:CustomAttributes" minOccurs="0" maxOccurs="1"/>
110                                <xsd:element ref="ROI" minOccurs="0" maxOccurs="unbounded"/>
111                                <xsd:element ref="MicrobeamManipulation" minOccurs="0" maxOccurs="unbounded"/>
112                        </xsd:sequence>
113                        <xsd:attribute name="ID" use="required" type="ImageID"/>
114                        <xsd:attribute name="Name" use="optional" type="xsd:string"/>
115                        <xsd:attribute name="DefaultPixels" use="required" type="PixelsID">
116                                <xsd:annotation>
117                                        <xsd:documentation>
118                                                More than one Pixels element may be associated with an Image.
119                                                An Image will however have one "primary" set of Pixels specified with this attribute.
120                                        </xsd:documentation>
121                                </xsd:annotation>
122                        </xsd:attribute>
123                        <xsd:attribute name="AcquiredPixels" use="optional" type="PixelsID">
124                                <xsd:annotation>
125                                        <xsd:documentation>
126                                                Optional.
127                                                More than one Pixels element may be associated with an Image.
128                                                This attribute indicates the original acquired pixels.
129                                        </xsd:documentation>
130                                </xsd:annotation>
131                        </xsd:attribute>
132                </xsd:complexType>
133        </xsd:element>
134        <xsd:element name="CreationDate" type="xsd:dateTime"> <!-- top level definition -->
135                <xsd:annotation>
136                        <xsd:documentation>
137                                The creation date of the Image - when the Image was acquired.
138                                The element contains a string in the ISO 8601 dateTime format (i.e. 1988-04-07T18:39:09)
139                        </xsd:documentation>
140                </xsd:annotation>
141        </xsd:element>
142        <xsd:element name="Pixels"> <!-- top level definition -->
143                <xsd:annotation>
144                        <xsd:documentation>
145                                The Image will be unreadable if any of the required Pixel attributes are missing.
146                                The Pixels themselves are stored within the file compressed by plane, and encoded in Base64.
147                                The Pixels element must contain a list of BinData, each containing a single plane of pixels.
148                                These Pixels elements, when read in document order, must produce a 5-D pixel array
149                                of the size specified in this element, and in the dimension order specified by 'DimensionOrder'.
150                        </xsd:documentation>
151                </xsd:annotation>
152                <xsd:complexType>
153                        <xsd:sequence>
154                                <xsd:choice minOccurs="1" maxOccurs="1">
155                                        <xsd:element ref="Bin:BinData" minOccurs="1" maxOccurs="unbounded"/>
156                                        <xsd:element ref="TiffData" minOccurs="1" maxOccurs="unbounded"/>
157                                </xsd:choice>
158                                <xsd:element ref="Plane" minOccurs="0" maxOccurs="unbounded"/>
159                        </xsd:sequence>
160                        <xsd:attribute name="ID" use="required" type="PixelsID"/>
161                        <xsd:attribute name="DimensionOrder" use="required">
162                                <xsd:simpleType>
163                                        <xsd:restriction base="xsd:string">
164                                                <xsd:enumeration value="XYZCT"/>
165                                                <xsd:enumeration value="XYZTC"/>
166                                                <xsd:enumeration value="XYCTZ"/>
167                                                <xsd:enumeration value="XYCZT"/>
168                                                <xsd:enumeration value="XYTCZ"/>
169                                                <xsd:enumeration value="XYTZC"/>
170                                        </xsd:restriction>
171                                </xsd:simpleType>
172                        </xsd:attribute>
173                        <xsd:attribute name="PixelType" use="required" type="PixelTypes"/>
174                        <xsd:attribute name="BigEndian" use="required" type="xsd:boolean">
175                                <xsd:annotation>
176                                        <xsd:documentation>This is true if the pixel data was written in BigEndian order. This is dependent on the system architecture of the machine that wrote the pixels. True for essentially all modern CPUs other than Intel and Alpha. All pixel data must be written in the same endian order.</xsd:documentation>
177                                </xsd:annotation>
178                        </xsd:attribute>
179                        <xsd:attribute name="SizeX" use="required" type="xsd:positiveInteger">
180                                <xsd:annotation>
181                                        <xsd:documentation>Dimensional size of pixel data array</xsd:documentation>
182                                </xsd:annotation>
183                        </xsd:attribute>
184                        <xsd:attribute name="SizeY" use="required" type="xsd:positiveInteger">
185                                <xsd:annotation>
186                                        <xsd:documentation>Dimensional size of pixel data array</xsd:documentation>
187                                </xsd:annotation>
188                        </xsd:attribute>
189                        <xsd:attribute name="SizeZ" use="required" type="xsd:positiveInteger">
190                                <xsd:annotation>
191                                        <xsd:documentation>Dimensional size of pixel data array</xsd:documentation>
192                                </xsd:annotation>
193                        </xsd:attribute>
194                        <xsd:attribute name="SizeC" use="required" type="xsd:positiveInteger">
195                                <xsd:annotation>
196                                        <xsd:documentation>Dimensional size of pixel data array</xsd:documentation>
197                                </xsd:annotation>
198                        </xsd:attribute>
199                        <xsd:attribute name="SizeT" use="required" type="xsd:positiveInteger">
200                                <xsd:annotation>
201                                        <xsd:documentation>Dimensional size of pixel data array</xsd:documentation>
202                                </xsd:annotation>
203                        </xsd:attribute>
204                        <xsd:attribute name="PhysicalSizeX" use="optional" type="xsd:float">
205                                <xsd:annotation>
206                                        <xsd:documentation>Physical size of a pixel</xsd:documentation>
207                                </xsd:annotation>
208                        </xsd:attribute>
209                        <xsd:attribute name="PhysicalSizeY" use="optional" type="xsd:float">
210                                <xsd:annotation>
211                                        <xsd:documentation>Physical size of a pixel</xsd:documentation>
212                                </xsd:annotation>
213                        </xsd:attribute>
214                        <xsd:attribute name="PhysicalSizeZ" use="optional" type="xsd:float">
215                                <xsd:annotation>
216                                        <xsd:documentation>Physical size of a pixel</xsd:documentation>
217                                </xsd:annotation>
218                        </xsd:attribute>
219                        <xsd:attribute name="TimeIncrement" use="optional" type="xsd:float"/>
220                        <xsd:attribute name="WaveStart" use="optional" type="xsd:positiveInteger"/>
221                        <xsd:attribute name="WaveIncrement" use="optional" type="xsd:positiveInteger"/>
222                </xsd:complexType>
223        </xsd:element>
224        <xsd:element name="TiffData"> <!-- top level definition -->
225                <xsd:annotation>
226                        <xsd:documentation>
227                                This described the location of the pixel data in a tiff file.
228                        </xsd:documentation>
229                </xsd:annotation>
230                <xsd:complexType>
231                        <xsd:sequence>
232                                <xsd:element name="UUID" minOccurs="0" maxOccurs="1">
233                                        <xsd:annotation>
234                                                <xsd:documentation>
235                                                        This must be used when the IFDs are located in another file.
236                                                        Note: It is permissible for this to be self referential.
237                                                </xsd:documentation>
238                                        </xsd:annotation>
239                                        <xsd:complexType>
240                                                <xsd:simpleContent>
241                                                        <xsd:extension base = "UniversallyUniqueIdentifier">
242                                                                <xsd:attribute name="FileName" use="optional" type="xsd:string">
243                                                                        <xsd:annotation>
244                                                                                <xsd:documentation>
245                                                                                        This can be used when the IFDs are located in another file.
246                                                                                        The / (forward slash) is used as the path separator.
247                                                                                        A relative path is recommended. However an absolute path can be specified.
248                                                                                        Default is to use the file the ome-xml data has been pulled from.
249                                                                                        Note: It is permissible for this to be self referential. The file image1.tiff
250                                                                                        may contain ome-xml data that has FilePath="image1.tiff" or "./image1.tiff"
251                                                                                </xsd:documentation>
252                                                                        </xsd:annotation>
253                                                                </xsd:attribute>
254                                                        </xsd:extension>
255                                                </xsd:simpleContent>
256                                        </xsd:complexType>
257                                </xsd:element>
258                        </xsd:sequence>
259                        <xsd:attribute name="IFD" type="xsd:integer" default="0" use="optional">
260                                <xsd:annotation>
261                                        <xsd:documentation>
262                                                Gives the IFD(s) for which this element is applicable. Indexed from 0.
263                                                Default is 0 (the first IFD).
264                                        </xsd:documentation>
265                                </xsd:annotation>
266                        </xsd:attribute>
267                        <xsd:attribute name="FirstZ" type="xsd:integer" default="0" use="optional">
268                                <xsd:annotation>
269                                        <xsd:documentation>
270                                                Gives the Z position of the image plane at the specified IFD. Indexed from 0.
271                                                Default is 0 (the first Z position).
272                                        </xsd:documentation>
273                                </xsd:annotation>
274                        </xsd:attribute>
275                        <xsd:attribute name="FirstT" type="xsd:integer" default="0" use="optional">
276                                <xsd:annotation>
277                                        <xsd:documentation>
278                                                Gives the T position of the image plane at the specified IFD. Indexed from 0.
279                                                Default is 0 (the first T position).
280                                        </xsd:documentation>
281                                </xsd:annotation>
282                        </xsd:attribute>
283                        <xsd:attribute name="FirstC" type="xsd:integer" default="0" use="optional">
284                                <xsd:annotation>
285                                        <xsd:documentation>
286                                                Gives the C position of the image plane at the specified IFD. Indexed from 0.
287                                                Default is 0 (the first C position).
288                                        </xsd:documentation>
289                                </xsd:annotation>
290                        </xsd:attribute>
291                        <xsd:attribute name="NumPlanes" use="optional" type="xsd:integer">
292                                <xsd:annotation>
293                                        <xsd:documentation>
294                                                Gives the number of IFDs affected. Dimension order of IFDs is given by the enclosing
295                                                Pixels element's DimensionOrder attribute. Default is the number of IFDs in the TIFF
296                                                file, unless an IFD is specified, in which case the default is 1.       
297                                        </xsd:documentation>
298                                </xsd:annotation>
299                        </xsd:attribute>
300                </xsd:complexType>
301        </xsd:element>
302       
303        <xsd:element name="Plane"> <!-- top level definition -->
304                <xsd:annotation>
305                        <xsd:documentation>
306                        </xsd:documentation>
307                </xsd:annotation>
308                <xsd:complexType>
309                        <xsd:sequence>
310                                <xsd:element name="PlaneTiming" type="PlaneTiming" minOccurs="0" maxOccurs="1"/>
311                                <xsd:element name="StagePosition" type="StagePosition" minOccurs="0" maxOccurs="1"/>
312                                <xsd:choice minOccurs="0" maxOccurs="1">
313                                        <xsd:annotation>
314                                                <xsd:documentation>
315                                                        This optional element is a hash of the plane's image data.
316                                                        It is a choice between all the support hash types.
317                                                        Currently the only method supported is SHA1.
318                                                </xsd:documentation>
319                                        </xsd:annotation>
320                                        <xsd:element name="HashSHA1" type="Hex40" minOccurs="1" maxOccurs="1"/>
321                                </xsd:choice>
322                        </xsd:sequence>
323                        <xsd:attribute name="TheZ" use="required" type="xsd:integer"/>
324                        <xsd:attribute name="TheT" use="required" type="xsd:integer"/>
325                        <xsd:attribute name="TheC" use="required" type="xsd:integer"/>
326                </xsd:complexType>
327        </xsd:element>
328
329        <xsd:complexType name="PlaneTiming">
330                <xsd:attribute name="DeltaT" use="optional" type="xsd:float">
331                        <xsd:annotation>
332                                <xsd:documentation>
333                                        Units are seconds since the beginning of the experiment
334                                </xsd:documentation>
335                        </xsd:annotation>
336                </xsd:attribute>
337                <xsd:attribute name="ExposureTime" use="optional" type="xsd:float">
338                        <xsd:annotation>
339                                <xsd:documentation>
340                                        Units are seconds
341                                </xsd:documentation>
342                        </xsd:annotation>
343                </xsd:attribute>
344        </xsd:complexType>
345       
346        <xsd:complexType name="StagePosition">
347                <xsd:annotation>
348                        <xsd:documentation>
349                                All units are in the microscope reference frame
350                        </xsd:documentation>
351                </xsd:annotation>
352                <xsd:attribute name="PositionX" use="optional" type="xsd:float"/>
353                <xsd:attribute name="PositionY" use="optional" type="xsd:float"/>
354                <xsd:attribute name="PositionZ" use="optional" type="xsd:float"/>
355        </xsd:complexType>
356       
357        <xsd:element name="Experiment"> <!-- top level definition -->
358                <xsd:annotation>
359                        <xsd:documentation>
360                                This element describes the type of experiment.  The required Type attribute must contain one or more entries from the following list:
361                                FP FRET Time-lapse 4-D+ Screen Immunocytochemistry FISH Electrophysiology  Ion-Imaging Colocalization PGI/Documentation
362                                FRAP Photoablation Optical-Trapping Photoactivation Fluorescence-Lifetime Spectral-Imaging Other
363                                FP refers to fluorescent proteins, PGI/Docuemntation is not a 'data' image.
364                                The optional Description element may contain free text to further describe the experiment.
365                                Added Type Photobleaching - ajp
366                        </xsd:documentation>
367                </xsd:annotation>
368                <xsd:complexType>
369                        <xsd:sequence>
370                                <xsd:element ref="Description" minOccurs="0" maxOccurs="1"/>
371                                <xsd:element ref="ExperimenterRef" minOccurs="0" maxOccurs="1">
372                                        <xsd:annotation>
373                                                <xsd:documentation>
374                                                This is a link to the Experimenter who conducted the experiment - ajp
375                                                </xsd:documentation>
376                                        </xsd:annotation>
377                                </xsd:element>
378                                <xsd:element ref="MicrobeamManipulationRef" minOccurs="0" maxOccurs="unbounded"/>
379                        </xsd:sequence>
380                        <xsd:attribute name="Type" use="required">
381                                <xsd:simpleType>
382                                        <xsd:list>
383                                                <xsd:simpleType>
384                                                        <xsd:restriction base="xsd:string">
385                                                                <xsd:enumeration value="FP"/>
386                                                                <xsd:enumeration value="FRET"/>
387                                                                <xsd:enumeration value="TimeLapse"/>
388                                                                <xsd:enumeration value="FourDPlus"/>
389                                                                <xsd:enumeration value="Screen"/>
390                                                                <xsd:enumeration value="Immunocytochemistry"/>
391                                                                <xsd:enumeration value="Immunofluorescence"/>
392                                                                <xsd:enumeration value="FISH"/>
393                                                                <xsd:enumeration value="Electrophysiology"/>
394                                                                <xsd:enumeration value="IonImaging"/>
395                                                                <xsd:enumeration value="Colocalization"/>
396                                                                <xsd:enumeration value="PGIDocumentation"/>
397                                                                <xsd:enumeration value="FluorescenceLifetime"/>
398                                                                <xsd:enumeration value="SpectralImaging"/>
399                                                                <xsd:enumeration value="Photobleaching"/>
400                                                                <xsd:enumeration value="Other"/>
401                                                        </xsd:restriction>
402                                                </xsd:simpleType>
403                                        </xsd:list>
404                                </xsd:simpleType>
405                        </xsd:attribute>
406                        <xsd:attribute name="ID" use="required" type="ExperimentID"/>
407                </xsd:complexType>
408        </xsd:element>
409        <xsd:element name="ExperimentRef"> <!-- top level definition -->
410                <xsd:complexType>
411                        <xsd:complexContent>
412                                <xsd:extension base="Reference">
413                                        <xsd:attribute name="ID" use="required" type="ExperimentID"/>
414                                </xsd:extension>
415                        </xsd:complexContent>
416                </xsd:complexType>
417        </xsd:element>
418
419        <xsd:element name="MicrobeamManipulation"> <!-- top level definition -->
420                <xsd:annotation>
421                        <xsd:documentation>
422                                Defines a microbeam operation type and the region of the image it was applied to.
423                                The LightSourceRef element is a reference to a LightSource specified in the Instrument element which was used for a technique other than illumination for
424                                the purpose of imaging.  For example, a laser used for photobleaching.
425                               
426                        </xsd:documentation>
427                </xsd:annotation>
428                <xsd:complexType>
429                        <xsd:sequence>
430                                <xsd:element ref="ROIRef" minOccurs="1" maxOccurs="unbounded"/>
431                                <xsd:element ref="ExperimenterRef" minOccurs="1" maxOccurs="1"/>
432                                <xsd:element ref="LightSourceRef" minOccurs="0" maxOccurs="unbounded"/>
433                        </xsd:sequence>
434                        <xsd:attribute name="ID" use="required" type="MicrobeamManipulationID"/>
435                        <xsd:attribute name="Type" use="required">
436                                <xsd:simpleType>
437                                        <xsd:list>
438                                                <xsd:simpleType>
439                                                        <xsd:restriction base="xsd:string">
440                                                                <xsd:enumeration value="FRAP"/>
441                                                                <xsd:enumeration value="Photoablation"/>
442                                                                <xsd:enumeration value="Photoactivation"/>
443                                                                <xsd:enumeration value="Uncaging"/>
444                                                                <xsd:enumeration value="OpticalTrapping"/>
445                                                                <xsd:enumeration value="Other"/>
446                                                        </xsd:restriction>
447                                                </xsd:simpleType>
448                                        </xsd:list>
449                                </xsd:simpleType>
450                        </xsd:attribute>
451                </xsd:complexType>
452        </xsd:element>
453       
454        <xsd:element name="MicrobeamManipulationRef"> <!-- top level definition -->
455                <xsd:complexType>
456                        <xsd:complexContent>
457                                <xsd:extension base="Reference">
458                                        <xsd:attribute name="ID" use="required" type="MicrobeamManipulationID"/>
459                                </xsd:extension>
460                        </xsd:complexContent>
461                </xsd:complexType>
462        </xsd:element> 
463        <xsd:element name="LogicalChannel"> <!-- top level definition -->
464                <xsd:annotation>
465                        <xsd:documentation>
466                                There must be one per channel in the Image, even for a single-plane image.  In OME, Channels (e.g. 'FITC', 'Texas Red', etc) are specified as Logical Channels,
467                                And information about how each of them was acquired is stored in the various optional *Ref elements.  Each Logical Channel is composed of one or more
468                                ChannelComponents.  For example, an entire spectrum in an FTIR experiment may be stored in a single Logical Channel with each discrete wavenumber of the spectrum
469                                constituting a ChannelComponent of the FTIR Logical Channel.  An RGB image where the Red, Green and Blue components do not reflect discrete probes but are
470                                instead the output of a color camera would be treated similarly - one Logical channel with three ChannelComponents in this case.
471                                The total number of ChannelComponents for a set of pixels must equal SizeC.
472                                The SamplesPerPixel attribute is the number of channel components in the logical channel.
473                                The IlluminationType attribute is a string enumeration which may be set to 'Transmitted', 'Epifluorescence', 'Oblique', or 'NonLinear'.
474                                The optional PinholeSize attribute allows specifying adjustable pin hole diameters for confocal microscopes.
475                                The PhotometricInterpretation attribute is used to describe how to display a multi-component channel.  This attribute may be set to:
476                                'monochrome', 'RGB', 'ARGB', 'CMYK', 'HSV'.  The default for single-component channels is 'monochrome'.
477                                The Mode attribute describes the type of microscopy performed for each channel.  This may be set to:
478                                'Wide-field','Wide-field','Laser Scanning Microscopy','Laser Scanning Confocal','Spinning Disk Confocal','Slit Scan Confocal','Multi-Photon Microscopy',
479                                'Structured Illumination','Single Molecule Imaging','Total Internal Reflection','Fluorescence-Lifetime','Spectral Imaging',
480                                'Fluorescence Correlation Spectroscopy','Near Field Scanning Optical Microscopy','Second Harmonic Generation Imaging'.
481                                The ContrastMethod attribute may be set to 'Brightfield','Phase','DIC','Hoffman Modulation','Oblique Illumination','Polarized Light','Darkfield','Fluorescence'.
482                                The ExWave, EmWave and Fluor attributes allow specifying the nominal excitation and emission wavelengths and the type of fluor being imaged in a particular channel.
483                                The Fluor attribute is used for fluorescence images, while the Name attribute is used to name channels that are not imaged using fluorescence techniques.
484                                The user interface logic for labeling a given channel for the user should use the first existing attribute in the following sequence:
485                                Name -> Fluor -> EmWave -> ChannelComponent/Index.
486                                The NDfilter attribute is used to specify (in O.D. units) the combined effect of any neutral density filters used.
487                        </xsd:documentation>
488                </xsd:annotation>
489                <xsd:complexType>
490                        <xsd:sequence>
491                                <xsd:element ref="LightSourceRef" minOccurs="0" maxOccurs="1"/>
492                                <xsd:element ref="OTFRef" minOccurs="0" maxOccurs="1"/>
493                                <xsd:element ref="DetectorRef" minOccurs="0" maxOccurs="1"/>
494                                <xsd:element ref="FilterSetRef" minOccurs="0" maxOccurs="1"/>
495                                <xsd:element ref="ChannelComponent" minOccurs="1" maxOccurs="unbounded"/>
496                        </xsd:sequence>
497                        <xsd:attribute name="ID" use="required" type="LogicalChannelID"/>
498                        <xsd:attribute name="Name" use="optional" type="xsd:string"/>
499                        <xsd:attribute name="SamplesPerPixel" use="optional" type="xsd:integer"/>
500                        <xsd:attribute name="SecondaryEmissionFilter" use="optional" type="FilterID"/>
501                        <xsd:attribute name="SecondaryExcitationFilter" use="optional" type="FilterID"/>
502                        <xsd:attribute name="IlluminationType" use="optional">
503                                <xsd:annotation><xsd:documentation>
504                                        Attribute is called Illumination in EA diagram - ajp
505                                        Added NonLinear - ajp
506                                </xsd:documentation></xsd:annotation>
507                                <xsd:simpleType>
508                                        <xsd:restriction base="xsd:string">
509                                                <xsd:enumeration value="Transmitted"/>
510                                                <xsd:enumeration value="Epifluorescence"/>
511                                                <xsd:enumeration value="Oblique"/>
512                                                <xsd:enumeration value="NonLinear"/>
513                                        </xsd:restriction>
514                                </xsd:simpleType>
515                        </xsd:attribute>
516                        <xsd:attribute name="PinholeSize" use="optional" type="xsd:float"/>
517                        <xsd:attribute name="PhotometricInterpretation" default="Monochrome" use="optional">
518                                <xsd:annotation>
519                                        <xsd:documentation>
520                                                To Do - Add more documentation - ajp
521                                                Added ColorMap - ajp
522                                        </xsd:documentation>
523                                </xsd:annotation>
524                                <xsd:simpleType>
525                                        <xsd:restriction base="xsd:string">
526                                                <xsd:enumeration value="Monochrome"/>
527                                                <xsd:enumeration value="RGB"/>
528                                                <xsd:enumeration value="ARGB"/>
529                                                <xsd:enumeration value="CMYK"/>
530                                                <xsd:enumeration value="HSV"/>
531                                                <xsd:enumeration value="ColorMap"/>
532                                        </xsd:restriction>
533                                </xsd:simpleType>
534                        </xsd:attribute>
535                        <xsd:attribute name="Mode" use="optional">
536                                <xsd:simpleType>
537                                        <xsd:restriction base="xsd:string">
538                                                <xsd:enumeration value="WideField"/>
539                                                <xsd:enumeration value="LaserScanningMicroscopy"/>
540                                                <xsd:enumeration value="LaserScanningConfocal"/>
541                                                <xsd:enumeration value="SpinningDiskConfocal"/>
542                                                <xsd:enumeration value="SlitScanConfocal"/>
543                                                <xsd:enumeration value="MultiPhotonMicroscopy"/>
544                                                <xsd:enumeration value="StructuredIllumination"/>
545                                                <xsd:enumeration value="SingleMoleculeImaging"/>
546                                                <xsd:enumeration value="TotalInternalReflection"/>
547                                                <xsd:enumeration value="FluorescenceLifetime"/>
548                                                <xsd:enumeration value="SpectralImaging"/>
549                                                <xsd:enumeration value="FluorescenceCorrelationSpectroscopy"/>
550                                                <xsd:enumeration value="NearFieldScanningOpticalMicroscopy"/>
551                                                <xsd:enumeration value="SecondHarmonicGenerationImaging"/>
552                                                <xsd:enumeration value="Other"/>
553                                        </xsd:restriction>
554                                </xsd:simpleType>
555                        </xsd:attribute>
556                        <xsd:attribute name="ContrastMethod" use="optional">
557                                <xsd:simpleType>
558                                        <xsd:restriction base="xsd:string">
559                                                <xsd:enumeration value="Brightfield"/>
560                                                <xsd:enumeration value="Phase"/>
561                                                <xsd:enumeration value="DIC"/>
562                                                <xsd:enumeration value="HoffmanModulation"/>
563                                                <xsd:enumeration value="ObliqueIllumination"/>
564                                                <xsd:enumeration value="PolarizedLight"/>
565                                                <xsd:enumeration value="Darkfield"/>
566                                                <xsd:enumeration value="Fluorescence"/>
567                                        </xsd:restriction>
568                                </xsd:simpleType>
569                        </xsd:attribute>
570                        <xsd:attribute name="ExWave" use="optional" type="xsd:positiveInteger"/>
571                        <xsd:attribute name="EmWave" use="optional" type="xsd:positiveInteger"/>
572                        <xsd:attribute name="Fluor" use="optional" type="xsd:string"/>
573                        <xsd:attribute name="NdFilter" use="optional" type="xsd:float"/>       
574                        <xsd:attribute name="PockelCellSetting" use="optional" type="xsd:integer"/>
575                </xsd:complexType>
576        </xsd:element>
577        <xsd:element name="LogicalChannelRef"> <!-- top level definition -->
578                <xsd:complexType>
579                        <xsd:complexContent>
580                                <xsd:extension base="Reference">
581                                        <xsd:attribute name="ID" use="required" type="LogicalChannelID"/>
582                                </xsd:extension>
583                        </xsd:complexContent>
584                </xsd:complexType>
585        </xsd:element>
586        <xsd:element name="DisplayOptions"> <!-- top level definition -->
587                <xsd:annotation>
588                        <xsd:documentation>
589                                There is optionally one of these per Image. They provide support for the Origional OME Perl server.
590                                This specifies mapping of image channel components to RGB or greyscale colorspace with one byte per pixel per RGB channel.
591                                RedChannel, GreenChannel, BlueChannel, and GreyChannel specify the scaling of pixel values to 8-bit colorspace values.
592                                Display indicates to display the image as Greyscale or RGB.
593                                The Projection element specifies that the display is a maximum intensity projection.
594                                The range of Z-sections for the projection is specified with the ZStart and ZStop attributes.
595                                The Time element restricts the range of timepoints displayed.
596                                The range of timepoints to display is specified by the TStart and TStop attributes.
597                                The MIME type of the desired video format is specified by Movie's MIMEtype attribute.
598                                The ROI element originally describes a 3-D region of interest. It now use the new ROI
599                                model. It is up to the loader to convert the new ROI structure to the old format if
600                                it is required.  It is up to the viewer to either display the ROI only, or to simply
601                                mark it somehow.
602                        </xsd:documentation>
603                </xsd:annotation>
604                <xsd:complexType>
605                        <xsd:sequence>
606                                <xsd:element ref="RedChannel" minOccurs="1" maxOccurs="1"/>
607                                <xsd:element ref="GreenChannel" minOccurs="1" maxOccurs="1"/>
608                                <xsd:element ref="BlueChannel" minOccurs="1" maxOccurs="1"/>
609                                <xsd:element ref="GreyChannel" minOccurs="1" maxOccurs="1"/>
610                                <xsd:element ref="Projection" minOccurs="0" maxOccurs="1"/>
611                                <xsd:element ref="Time" minOccurs="0" maxOccurs="1"/>
612                                <xsd:element ref="ROI" minOccurs="0" maxOccurs="unbounded"/>
613                        </xsd:sequence>
614                        <xsd:attribute name="Zoom" use="optional" type="xsd:float"/>
615                        <xsd:attribute name="ID" use="required" type="DisplayOptionsID"/>
616                        <xsd:attribute name="Display" use="required">
617                                <xsd:annotation>
618                                        <xsd:documentation>Specifies to display the image as greyscale or RGB</xsd:documentation>
619                                </xsd:annotation>
620                                <xsd:simpleType>
621                                        <xsd:restriction base="xsd:string">
622                                                <xsd:enumeration value="RGB"/>
623                                                <xsd:enumeration value="Grey"/>
624                                        </xsd:restriction>
625                                </xsd:simpleType>
626                        </xsd:attribute>
627                </xsd:complexType>
628        </xsd:element>
629        <xsd:element name="RedChannel" type="ChannelSpecType"> <!-- top level definition -->
630                <xsd:annotation>
631                        <xsd:documentation>
632                                The wave number, black level, white level and optional gamma for the red channel of an RGB image.
633                                Pixel values between BlackLevel and WhiteLevel will be assigned values 0-255, respectively. 
634                                Values below BlackLevel or above WhiteLevel will be assigned 0 and 255 respectively.
635                        </xsd:documentation>
636                </xsd:annotation>
637        </xsd:element>
638        <xsd:element name="GreenChannel" type="ChannelSpecType"> <!-- top level definition -->
639                <xsd:annotation>
640                        <xsd:documentation>
641                                The wave number, black level, white level and optional gamma for the green channel of an RGB image.
642                                Pixel values between BlackLevel and WhiteLevel will be assigned values 0-255, respectively. 
643                                Values below BlackLevel or above WhiteLevel will be assigned 0 and 255 respectively.
644                        </xsd:documentation>
645                </xsd:annotation>
646        </xsd:element>
647        <xsd:element name="BlueChannel" type="ChannelSpecType"> <!-- top level definition -->
648                <xsd:annotation>
649                        <xsd:documentation>
650                                The wave number, black level, white level and optional gamma for the blue channel of an RGB image.
651                                Pixel values between BlackLevel and WhiteLevel will be assigned values 0-255, respectively. 
652                                Values below BlackLevel or above WhiteLevel will be assigned 0 and 255 respectively.
653                        </xsd:documentation>
654                </xsd:annotation>
655        </xsd:element>
656        <xsd:element name="GreyChannel"> <!-- top level definition -->
657                <xsd:annotation>
658                        <xsd:documentation>
659                                The wave number, black level, white level and optional gamma for a greyscale image.
660                                The GreyChannel element may contain an optional ColorMap attribute, which can be set to 'Greyscale', 'Spectrum' or 'Blackbody'
661                                Pixel values between BlackLevel and WhiteLevel will be assigned values 0-255, inclusive. 
662                                Values below BlackLevel or above WhiteLevel will be assigned 0 and 255 respectively.
663                        </xsd:documentation>
664                </xsd:annotation>
665                <xsd:complexType>
666                        <xsd:complexContent>
667                                <xsd:extension base="ChannelSpecType">
668                                        <xsd:attribute name="ColorMap" use="optional" default="Greyscale">
669                                                <xsd:simpleType>
670                                                        <xsd:restriction base="xsd:string">
671                                                                <xsd:enumeration value="Greyscale"/>
672                                                                <xsd:enumeration value="Spectrum"/>
673                                                                <xsd:enumeration value="Blackbody"/>
674                                                        </xsd:restriction>
675                                                </xsd:simpleType>
676                                        </xsd:attribute>
677                                </xsd:extension>
678                        </xsd:complexContent>
679                </xsd:complexType>
680        </xsd:element>
681        <xsd:element name="Projection"> <!-- top level definition -->
682                <xsd:annotation>
683                        <xsd:documentation>
684                                The presence of this element indicates the user wants to view the Image as a maximum intensity projection.
685                                The ZStart and ZStop attributes are optional.  If they are not specified, then the entire Z stack will be pro
686                                z values are index from 0 to maxZ - 1
687                        </xsd:documentation>
688                </xsd:annotation>
689                <xsd:complexType>
690                        <xsd:attribute name="ZStart" use="optional" type="xsd:integer"/>
691                        <xsd:attribute name="ZStop" use="optional" type="xsd:integer"/>
692                </xsd:complexType>
693        </xsd:element>
694        <xsd:element name="Time"> <!-- top level definition -->
695                <xsd:annotation>
696                        <xsd:documentation>
697                                The time range the user is interested in the initial viewer display.  A range of timepoints indicates a movie
698                                If they are not specified, the movie is to include all timepoints.
699                                If the Time attributes point to a single time-point, that is the timepoint to be initially displayed.
700                                If the entire element is missing, the first time-point  will be displayed
701                                t values are index from 0 to maxT - 1
702                        </xsd:documentation>
703                </xsd:annotation>
704                <xsd:complexType>
705                        <xsd:attribute name="TStart" use="optional" type="xsd:integer"/>
706                        <xsd:attribute name="TStop" use="optional" type="xsd:integer"/>
707                </xsd:complexType>
708        </xsd:element>
709        <xsd:element name="Instrument"> <!-- top level definition -->
710                <xsd:annotation>
711                        <xsd:documentation>
712                                This element describes the instrument used to capture the Image.
713                                It is primarily a container for manufacturer's model and catalog numbers for the
714                                Microscope, LightSource, Detector, Objective and Filters components.
715                                Additionally, one or more OTF elements may be specified, describing the optical transfer function under different conditions.
716                                The Objective element contains the additional elements LensNA and Magnification.
717                                The Filters element can be composed either of separate excitation, emission filters and a dichroic mirror
718                                or a single filter set.  Within the Image itself, a reference is made to this one Filter element.
719                                The OTF element contains an optical transfer function.
720                                The same OTF can be used for all wavelengths, or there may be one per wavelength.
721                                There may be multiple light sources, detectors, objectives and filters on a microscope.
722                                Each of these has their own ID attribute, which can be referred to from LogicalChannel.
723                                It is understood that the light path configuration can be different for each channel,
724                                but cannot be different for each timepoint or each plane of an XYZ stack.
725                        </xsd:documentation>
726                </xsd:annotation>
727                <xsd:complexType>
728                        <xsd:sequence>
729                                <xsd:element ref="Microscope" minOccurs="0" maxOccurs="1"/>
730                                <xsd:element ref="LightSource" minOccurs="0" maxOccurs="unbounded"/>
731                                <xsd:element ref="Detector" minOccurs="0" maxOccurs="unbounded"/>
732                                <xsd:element ref="Objective" minOccurs="0" maxOccurs="unbounded"/>
733                                <xsd:element ref="FilterSet" minOccurs="0" maxOccurs="unbounded"/>
734                                <xsd:element ref="Filter" minOccurs="0" maxOccurs="unbounded"/>
735                                <xsd:element ref="Dichroic" minOccurs="0" maxOccurs="unbounded"/>
736                                <xsd:element ref="OTF" minOccurs="0" maxOccurs="unbounded"/>
737                        </xsd:sequence>
738                        <xsd:attribute name="ID" use="required" type="InstrumentID"/>
739                </xsd:complexType>
740        </xsd:element>
741        <xsd:element name="StageLabel"> <!-- top level definition -->
742                <xsd:annotation>
743                        <xsd:documentation>
744                                The StageLabel is used to specify a name and position for a stage position in the microscope's reference frame.
745                        </xsd:documentation>
746                </xsd:annotation>
747                <xsd:complexType>
748                        <xsd:attribute name="Name" use="required" type="xsd:string"/>
749                        <xsd:attribute name="X" use="optional" type="xsd:float"/>
750                        <xsd:attribute name="Y" use="optional" type="xsd:float"/>
751                        <xsd:attribute name="Z" use="optional" type="xsd:float"/>
752                </xsd:complexType>
753        </xsd:element>
754        <xsd:element name="Experimenter"> <!-- top level definition -->
755                <xsd:annotation>
756                        <xsd:documentation>
757                                This element describes a person who performed an imaging experiment.
758                                This person may also be a user of the OME system, in which case the OMEName element contains their login name.
759                                Experimenters may belong to one or more groups which are specified using one or more GroupRef elements.
760                                Note while FirstName, LastName, Email and OMEName are all optional to be valid an Experimenter must have AT LEAST ONE present
761                        </xsd:documentation>
762                </xsd:annotation>
763                <xsd:complexType>
764                        <xsd:sequence>
765                                <xsd:choice minOccurs="1" maxOccurs="1">
766                                        <xsd:annotation>
767                                                <xsd:documentation>
768                                                        At lease one of (FirstName, LastName, Email, OMEName)
769                                                </xsd:documentation>
770                                        </xsd:annotation>
771                                        <xsd:sequence>
772                                                <xsd:element ref="FirstName" minOccurs="1" maxOccurs="1"/>
773                                                <xsd:element ref="LastName" minOccurs="0" maxOccurs="1"/>
774                                                <xsd:element ref="Email" minOccurs="0" maxOccurs="1"/>
775                                                <xsd:element ref="Institution" minOccurs="0" maxOccurs="1"/>
776                                                <xsd:element ref="OMEName" minOccurs="0" maxOccurs="1"/>
777                                        </xsd:sequence>
778                                        <xsd:sequence>
779                                                <xsd:element ref="LastName" minOccurs="1" maxOccurs="1"/>
780                                                <xsd:element ref="Email" minOccurs="0" maxOccurs="1"/>
781                                                <xsd:element ref="Institution" minOccurs="0" maxOccurs="1"/>
782                                                <xsd:element ref="OMEName" minOccurs="0" maxOccurs="1"/>
783                                        </xsd:sequence>
784                                        <xsd:sequence>
785                                                <xsd:element ref="Email" minOccurs="1" maxOccurs="1"/>
786                                                <xsd:element ref="Institution" minOccurs="0" maxOccurs="1"/>
787                                                <xsd:element ref="OMEName" minOccurs="0" maxOccurs="1"/>
788                                        </xsd:sequence>
789                                        <xsd:sequence>
790                                                <xsd:element ref="Institution" minOccurs="0" maxOccurs="1"/>
791                                                <xsd:element ref="OMEName" minOccurs="1" maxOccurs="1"/>
792                                        </xsd:sequence>
793                                </xsd:choice>
794                                <xsd:element ref="GroupRef" minOccurs="0" maxOccurs="unbounded"/>
795                        </xsd:sequence>
796                        <xsd:attribute name="ID" use="required" type="ExperimenterID"/>
797                </xsd:complexType>
798        </xsd:element>
799        <xsd:element name="OMEName" type="xsd:string"> <!-- top level definition -->
800                <xsd:annotation>
801                        <xsd:documentation>This is the username of the experimenter (in a 'unix' or 'database' sense).</xsd:documentation>
802                </xsd:annotation>
803        </xsd:element>
804        <xsd:element name="FirstName" type="xsd:string"> <!-- top level definition -->
805                <xsd:annotation>
806                        <xsd:documentation>First name, optionally containing a middle initial.</xsd:documentation>
807                </xsd:annotation>
808        </xsd:element>
809        <xsd:element name="LastName" type="xsd:string"> <!-- top level definition -->
810                <xsd:annotation>
811                        <xsd:documentation>A person's last or surname.</xsd:documentation>
812                </xsd:annotation>
813        </xsd:element>
814