# This file enumerates the metadata entity and property definitions for the
# loci.formats.meta package, and loci.formats.ome.OMEXML*Metadata classes.

# Path elements ending in plus (+) have maxOccurs > 1 and generate an
# index parameter to allow differentiation between them.

# TODO add descriptions as appropriate

[Arc]
path = Instrument+/Arc+

[Arc ID]
type = String
anchor = LightSource_ID

[Arc LotNumber]
type = String
anchor = ManufacturerSpec_LotNumber

[Arc Manufacturer]
type = String
anchor = ManufacturerSpec_Manufacturer

[Arc Model]
type = String
anchor = ManufacturerSpec_Model

[Arc Power]
type = Double
anchor = LightSource_Power

[Arc SerialNumber]
type = String
anchor = ManufacturerSpec_SerialNumber

[Arc Type]
type = ArcType

[BooleanAnnotation]
countable = true
path = BooleanAnnotation+

[BooleanAnnotation AnnotationRef]
countable = true
path = BooleanAnnotation+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[BooleanAnnotation Description]
type = String
anchor = Annotation_Description

[BooleanAnnotation ID]
type = String
anchor = Annotation_ID

[BooleanAnnotation Namespace]
type = String
anchor = Annotation_Namespace

[BooleanAnnotation Value]
type = Boolean

[Channel]
countable = true
path = Image+/Channel+

[Channel AcquisitionMode]
type = AcquisitionMode

[Channel AnnotationRef]
countable = true
path = Image+/Channel+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[Channel Color]
type = Color

[Channel ContrastMethod]
type = ContrastMethod

[Channel EmissionWavelength]
type = PositiveInteger

[Channel ExcitationWavelength]
type = PositiveInteger

[Channel FilterSetRef]
type = String
anchor = FilterSetRef_ID

[Channel Fluor]
type = String

[Channel ID]
type = String

[Channel IlluminationType]
type = IlluminationType

[Channel NDFilter]
type = Double

[Channel Name]
type = String

[Channel PinholeSize]
type = Double

[Channel PockelCellSetting]
type = Integer

[Channel SamplesPerPixel]
type = PositiveInteger

[Channel LightSourceSettingsID]
type = String
anchor = LightSourceSettings_ID

[Channel LightSourceSettingsAttenuation]
type = PercentFraction
anchor = LightSourceSettings_Attenuation

[Channel LightSourceSettingsWavelength]
type = PositiveInteger
anchor = LightSourceSettings_Wavelength

[CommentAnnotation]
countable = true
path = CommentAnnotation+

[CommentAnnotation AnnotationRef]
countable = true
path = CommentAnnotation+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[CommentAnnotation Description]
type = String
anchor = Annotation_Description

[CommentAnnotation ID]
type = String
anchor = Annotation_ID

[CommentAnnotation Namespace]
type = String
anchor = Annotation_Namespace

[CommentAnnotation Value]
type = String

[Dataset]
countable = true
path = Dataset+

[Dataset AnnotationRef]
countable = true
path = Dataset+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[Dataset Description]
type = String

[Dataset ExperimenterRef]
type = String
anchor = ExperimenterRef_ID

[Dataset ExperimenterGroupRef]
type = String
anchor = ExperimenterGroupRef_ID

[Dataset ID]
type = String

[Dataset ImageRef]
countable = true
path = Dataset+/ImageRef+
type = String
anchor = ImageRef_ID

[Dataset Name]
type = String

[Detector]
countable = true
path = Instrument+/Detector+

[Detector AmplificationGain]
type = Double

[Detector AnnotationRef]
countable = true
path = Detector+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[Detector Gain]
type = Double

[Detector ID]
type = String

[Detector LotNumber]
type = String
anchor = ManufacturerSpec_LotNumber

[Detector Manufacturer]
type = String
anchor = ManufacturerSpec_Manufacturer

[Detector Model]
type = String
anchor = ManufacturerSpec_Model

[Detector Offset]
type = Double

[Detector SerialNumber]
type = String
anchor = ManufacturerSpec_SerialNumber

[Detector Type]
type = DetectorType

[Detector Voltage]
type = Double

[Detector Zoom]
type = Double

[DetectorSettings]
countable = false
path = Image+/Channel+/DetectorSettings

[DetectorSettings Binning]
type = Binning

[DetectorSettings Gain]
type = Double

[DetectorSettings ID]
type = String

[DetectorSettings Offset]
type = Double

[DetectorSettings ReadOutRate]
type = Double

[DetectorSettings Voltage]
type = Double

[Dichroic]
countable = true
path = Instrument+/Dichroic+

[Dichroic AnnotationRef]
countable = true
path = Instrument+/Dichroic+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[Dichroic ID]
type = String

[Dichroic LotNumber]
type = String
anchor = ManufacturerSpec_LotNumber

[Dichroic Manufacturer]
type = String
anchor = ManufacturerSpec_Manufacturer

[Dichroic Model]
type = String
anchor = ManufacturerSpec_Model

[Dichroic SerialNumber]
type = String
anchor = ManufacturerSpec_SerialNumber

[DoubleAnnotation]
countable = true
path = DoubleAnnotation+

[DoubleAnnotation AnnotationRef]
countable = true
path = DoubleAnnotation+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[DoubleAnnotation Description]
type = String
anchor = Annotation_Description

[DoubleAnnotation ID]
type = String
anchor = Annotation_ID

[DoubleAnnotation Namespace]
type = String
anchor = Annotation_Namespace

[DoubleAnnotation Value]
type = Double

[Ellipse]
countable = false
path = ROI+/Shape+/Ellipse

[Ellipse FillColor]
type = Color
anchor = Shape_FillColor

[Ellipse FillRule]
type = FillRule
anchor = Shape_FillRule

[Ellipse FontFamily]
type = FontFamily
anchor = Shape_FontFamily

[Ellipse FontSize]
type = NonNegativeInteger
anchor = Shape_FontSize

[Ellipse FontStyle]
type = FontStyle
anchor = Shape_FontStyle

[Ellipse ID]
type = String
anchor = Shape_ID

[Ellipse Locked]
type = Boolean
anchor = Shape_Locked

[Ellipse StrokeColor]
type = Color
anchor = Shape_StrokeColor

[Ellipse StrokeDashArray]
type = String
anchor = Shape_StrokeDashArray

[Ellipse StrokeWidth]
type = Double
anchor = Shape_StrokeWidth

[Ellipse Text]
type = String
anchor = Shape_Text

[Ellipse TheC]
type = NonNegativeInteger
anchor = Shape_TheC

[Ellipse TheT]
type = NonNegativeInteger
anchor = Shape_TheT

[Ellipse TheZ]
type = NonNegativeInteger
anchor = Shape_TheZ

[Ellipse Transform]
type = AffineTransform
anchor = Shape_Transform

[Ellipse RadiusX]
type = Double

[Ellipse RadiusY]
type = Double

[Ellipse X]
type = Double

[Ellipse Y]
type = Double

[Experiment]
countable = true
path = Experiment+

[Experiment AnnotationRef]
countable = true
path = Experiment+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[Experiment Description]
type = String

[Experiment ExperimenterRef]
type = String
anchor = ExperimenterRef_ID

[Experiment ID]
type = String

[Experiment Type]
type = ExperimentType

[Experimenter]
countable = true
path = Experimenter+

[Experimenter AnnotationRef]
countable = true
path = Experimenter+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[Experimenter Email]
type = String

[Experimenter FirstName]
type = String

[Experimenter ID]
type = String

[Experimenter Institution]
type = String

[Experimenter LastName]
type = String

[Experimenter MiddleName]
type = String

[Experimenter UserName]
type = String

[ExperimenterGroup]
countable = true
path = ExperimenterGroup+

[ExperimenterGroup AnnotationRef]
countable = true
path = ExperimenterGroup+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[ExperimenterGroup Description]
type = String

[ExperimenterGroup ExperimenterRef]
countable = true
path = ExperimenterGroup+/ExperimenterRef+
type = String
anchor = ExperimenterRef_ID

[ExperimenterGroup ID]
type = String

[ExperimenterGroup Leader]
countable = true
path = ExperimenterGroup+/Leader+
type = String
anchor = Leader_ID

[ExperimenterGroup Name]
type = String

[Filament]
path = Instrument+/Filament+

[Filament ID]
type = String
anchor = LightSource_ID

[Filament LotNumber]
type = String
anchor = ManufacturerSpec_LotNumber

[Filament Manufacturer]
type = String
anchor = ManufacturerSpec_Manufacturer

[Filament Model]
type = String
anchor = ManufacturerSpec_Model

[Filament Power]
type = Double
anchor = LightSource_Power

[Filament SerialNumber]
type = String
anchor = ManufacturerSpec_SerialNumber

[Filament Type]
type = FilamentType

[FileAnnotation]
countable = true
path = FileAnnotation+

[FileAnnotation AnnotationRef]
countable = true
path = FileAnnotation+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[FileAnnotation Description]
type = String
anchor = Annotation_Description

[FileAnnotation ID]
type = String
anchor = Annotation_ID

[FileAnnotation Namespace]
type = String
anchor = Annotation_Namespace

[Filter]
countable = true
path = Instrument+/Filter+

[Filter AnnotationRef]
countable = true
path = Instrument+/Filter+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[Filter FilterWheel]
type = String

[Filter ID]
type = String

[Filter LotNumber]
type = String
anchor = ManufacturerSpec_LotNumber

[Filter Manufacturer]
type = String
anchor = ManufacturerSpec_Manufacturer

[Filter Model]
type = String
anchor = ManufacturerSpec_Model

[Filter SerialNumber]
type = String
anchor = ManufacturerSpec_SerialNumber

[Filter Type]
type = FilterType

[FilterSet]
countable = true
path = Instrument+/FilterSet+

[FilterSet DichroicRef]
type = String
anchor = DichroicRef_ID

[FilterSet EmissionFilterRef]
countable = true
path = Instrument+/FilterSet+/EmissionFilterRef+
type = String
anchor = FilterRef_ID

[FilterSet ExcitationFilterRef]
countable = true
path = Instrument+/FilterSet+/ExcitationFilterRef+
type = String
anchor = FilterRef_ID

[FilterSet ID]
type = String

[FilterSet LotNumber]
type = String
anchor = ManufacturerSpec_LotNumber

[FilterSet Manufacturer]
type = String
anchor = ManufacturerSpec_Manufacturer

[FilterSet Model]
type = String
anchor = ManufacturerSpec_Model

[FilterSet SerialNumber]
type = String
anchor = ManufacturerSpec_SerialNumber

[Folder]
countable = true
path = Folder+

[Folder AnnotationRef]
countable = true
path = Folder+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[Folder Description]
type = String

[Folder FolderRef]
countable = true
path = Folder+/FolderRef+
type = String
anchor = FolderRef_ID

[Folder ID]
type = String

[Folder ImageRef]
countable = true
path = Folder+/ImageRef+
type = String
anchor = ImageRef_ID

[Folder Name]
type = String

[Folder ROIRef]
countable = true
path = Folder+/ROIRef+
type = String
anchor = ROIRef_ID

[Image]
countable = true
path = Image+

[Image AcquisitionDate]
type = Timestamp

[Image AnnotationRef]
countable = true
path = Image+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[Image Description]
type = String

[Image ExperimentRef]
type = String
anchor = ExperimentRef_ID

[Image ExperimenterGroupRef]
type = String
anchor = ExperimenterGroupRef_ID

[Image ExperimenterRef]
type = String
anchor = ExperimenterRef_ID

[Image ID]
type = String

[Image InstrumentRef]
type = String
anchor = InstrumentRef_ID

[Image MicrobeamManipulationRef]
countable = true
path = Image+/MicrobeamManipulationRef+
type = String
anchor = MicrobeamManipulationRef_ID

[Image Name]
type = String

[Image ROIRef]
countable = true
path = Image+/ROIRef+
type = String
anchor = ROIRef_ID

[ImagingEnvironment]
countable = false
path = Image+/ImagingEnvironment

[ImagingEnvironment AirPressure]
type = Double

[ImagingEnvironment CO2Percent]
type = PercentFraction

[ImagingEnvironment Humidity]
type = PercentFraction

[ImagingEnvironment Temperature]
type = Double

[Instrument]
countable = true
path = Instrument+

[Instrument AnnotationRef]
countable = true
path = Instrument+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[Instrument ID]
type = String

[Label]
countable = true
path = ROI+/Shape+/Label

[Label FillColor]
type = Color
anchor = Shape_FillColor

[Label FillRule]
type = FillRule
anchor = Shape_FillRule

[Label FontFamily]
type = FontFamily
anchor = Shape_FontFamily

[Label FontSize]
type = NonNegativeInteger
anchor = Shape_FontSize

[Label FontStyle]
type = FontStyle
anchor = Shape_FontStyle

[Label ID]
anchor = Shape_ID
type = String

[Label Locked]
type = Boolean
anchor = Shape_Locked

[Label StrokeColor]
type = Color
anchor = Shape_StrokeColor

[Label StrokeDashArray]
type = String
anchor = Shape_StrokeDashArray

[Label StrokeWidth]
type = Double
anchor = Shape_StrokeWidth

[Label Text]
type = String
anchor = Shape_Text

[Label TheC]
type = NonNegativeInteger
anchor = Shape_TheC

[Label TheT]
type = NonNegativeInteger
anchor = Shape_TheT

[Label TheZ]
type = NonNegativeInteger
anchor = Shape_TheZ

[Label Transform]
type = AffineTransform
anchor = Shape_Transform

[Label X]
type = Double

[Label Y]
type = Double

[Laser]
countable = true
path = Instrument+/Laser+

[Laser ID]
type = String
anchor = LightSource_ID

[Laser LotNumber]
type = String
anchor = ManufacturerSpec_LotNumber

[Laser Manufacturer]
type = String
anchor = ManufacturerSpec_Manufacturer

[Laser Model]
type = String
anchor = ManufacturerSpec_Model

[Laser Power]
type = Double
anchor = LightSource_Power

[Laser SerialNumber]
type = String
anchor = ManufacturerSpec_SerialNumber

[Laser FrequencyMultiplication]
type = PositiveInteger

[Laser LaserMedium]
type = LaserMedium

[Laser PockelCell]
type = Boolean

[Laser Pulse]
type = Pulse

[Laser Pump]
type = String
anchor = Pump_ID

[Laser RepetitionRate]
type = Double

[Laser Tuneable]
type = Boolean

[Laser Type]
type = LaserType

[Laser Wavelength]
type = PositiveInteger

[LightEmittingDiode]
countable = true
path = Instrument+/LightEmittingDiode+

[LightEmittingDiode ID]
type = String
anchor = LightSource_ID

[LightEmittingDiode LotNumber]
type = String
anchor = ManufacturerSpec_LotNumber

[LightEmittingDiode Manufacturer]
type = String
anchor = ManufacturerSpec_Manufacturer

[LightEmittingDiode Model]
type = String
anchor = ManufacturerSpec_Model

[LightEmittingDiode Power]
type = Double
anchor = LightSource_Power

[LightEmittingDiode SerialNumber]
type = String
anchor = ManufacturerSpec_SerialNumber

[LightPath]
countable = false
path = Image+/Channel+/LightPath

[LightPath AnnotationRef]
countable = true
path = Image+/Channel+/LightPath/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[LightPath DichroicRef]
type = String
anchor = DichroicRef_ID

[LightPath EmissionFilterRef]
countable = true
path = Image+/Channel+/LightPath/EmissionFilterRef+
type = String
anchor = FilterRef_ID

[LightPath ExcitationFilterRef]
countable = true
path = Image+/Channel+/LightPath/ExcitationFilterRef+
type = String
anchor = FilterRef_ID

[Line]
countable = false
path = ROI+/Shape+/Line

[Line FillColor]
type = Color
anchor = Shape_FillColor

[Line FillRule]
type = FillRule
anchor = Shape_FillRule

[Line FontFamily]
type = FontFamily
anchor = Shape_FontFamily

[Line FontSize]
type = NonNegativeInteger
anchor = Shape_FontSize

[Line FontStyle]
type = FontStyle
anchor = Shape_FontStyle

[Line ID]
type = String
anchor = Shape_ID

[Line Locked]
type = Boolean
anchor = Shape_Locked

[Line StrokeColor]
type = Color
anchor = Shape_StrokeColor

[Line StrokeDashArray]
type = String
anchor = Shape_StrokeDashArray

[Line StrokeWidth]
type = Double
anchor = Shape_StrokeWidth

[Line Text]
type = String
anchor = Shape_Text

[Line TheC]
type = NonNegativeInteger
anchor = Shape_TheC

[Line TheT]
type = NonNegativeInteger
anchor = Shape_TheT

[Line TheZ]
type = NonNegativeInteger
anchor = Shape_TheZ

[Line Transform]
type = AffineTransform
anchor = Shape_Transform

[Line MarkerEnd]
type = Marker

[Line MarkerStart]
type = Marker

[Line X1]
type = Double

[Line X2]
type = Double

[Line Y1]
type = Double

[Line Y2]
type = Double

[ListAnnotation]
countable = true
path = ListAnnotation+

[ListAnnotation AnnotationRef]
countable = true
path = ListAnnotation+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[ListAnnotation Description]
type = String
anchor = Annotation_Description

[ListAnnotation ID]
type = String
anchor = Annotation_ID

[ListAnnotation Namespace]
type = String
anchor = Annotation_Namespace

[LongAnnotation]
countable = true
path = LongAnnotation+

[LongAnnotation AnnotationRef]
countable = true
path = LongAnnotation+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[LongAnnotation Description]
type = String
anchor = Annotation_Description

[LongAnnotation ID]
type = String
anchor = Annotation_ID

[LongAnnotation Namespace]
type = String
anchor = Annotation_Namespace

[LongAnnotation Value]
type = Long

[Mask]
countable = false
path = ROI+/Shape+/Mask

[Mask FillColor]
type = Color
anchor = Shape_FillColor

[Mask FillRule]
type = FillRule
anchor = Shape_FillRule

[Mask FontFamily]
type = FontFamily
anchor = Shape_FontFamily

[Mask FontSize]
type = NonNegativeInteger
anchor = Shape_FontSize

[Mask ID]
type = String
anchor = Shape_ID

[Mask Locked]
type = Boolean
anchor = Shape_Locked

[Mask StrokeColor]
type = Color
anchor = Shape_StrokeColor

[Mask StrokeDashArray]
type = String
anchor = Shape_StrokeDashArray

[Mask StrokeWidth]
type = Double
anchor = Shape_StrokeWidth

[Mask Text]
type = String
anchor = Shape_Text

[Mask TheC]
type = NonNegativeInteger
anchor = Shape_TheC

[Mask TheT]
type = NonNegativeInteger
anchor = Shape_TheT

[Mask TheZ]
type = NonNegativeInteger
anchor = Shape_TheZ

[Mask Transform]
type = AffineTransform
anchor = Shape_Transform

[Mask Height]
type = Double

[Mask Width]
type = Double

[Mask X]
type = Double

[Mask Y]
type = Double

[Mask BinData]
anchor = BinData

[Mask BinDataCompression]
anchor =  BinData_Compression

[Mask BinDataBigEndian]
anchor =  BinData_BigEndian

[Mask BinDataBigLength]
anchor =  BinData_Length

[MicrobeamManipulation]
countable = true
path = Experiment+/MicrobeamManipulation+

[MicrobeamManipulation ExperimenterRef]
type = String
anchor = ExperimenterRef_ID

[MicrobeamManipulation ID]
type = String

[MicrobeamManipulation ROIRef]
countable = true
path = Experiment+/MicrobeamManipulation+/ROIRef+
type = String
anchor = ROIRef_ID

[MicrobeamManipulation Type]
type = MicrobeamManipulationType

[MicrobeamManipulationLightSourceSettings]
countable = true
path = Experiment+/MicrobeamManipulation+/LightSourceSettings+

[MicrobeamManipulationLightSourceSettings Attenuation]
type = PercentFraction
anchor = LightSourceSettings_Attenuation

[MicrobeamManipulationLightSourceSettings ID]
type = String
anchor = LightSourceSettings_ID

[MicrobeamManipulationLightSourceSettings Wavelength]
type = PositiveInteger
anchor = LightSourceSettings_Wavelength

[Microscope]
countable = false
path = Instrument+/Microscope

[Microscope LotNumber]
type = String
anchor = ManufacturerSpec_LotNumber

[Microscope Manufacturer]
type = String
anchor = ManufacturerSpec_Manufacturer

[Microscope Model]
type = String
anchor = ManufacturerSpec_Model

[Microscope SerialNumber]
type = String
anchor = ManufacturerSpec_SerialNumber

[Microscope Type]
type = MicroscopeType

[Objective]
countable = true
path = Instrument+/Objective+

[Objective AnnotationRef]
countable = true
path = Instrument+/Objective+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[Objective CalibratedMagnification]
type = Double

[Objective Correction]
type = Correction

[Objective ID]
type = String

[Objective Immersion]
type = Immersion

[Objective Iris]
type = Boolean

[Objective LensNA]
type = Double

[Objective LotNumber]
type = String
anchor = ManufacturerSpec_LotNumber

[Objective Manufacturer]
type = String
anchor = ManufacturerSpec_Manufacturer

[Objective Model]
type = String
anchor = ManufacturerSpec_Model

[Objective NominalMagnification]
type = Double

[Objective SerialNumber]
type = String
anchor = ManufacturerSpec_SerialNumber

[Objective WorkingDistance]
type = Double

[ObjectiveSettings]
countable = false
path = Image+/ObjectiveSettings

[ObjectiveSettings CorrectionCollar]
type = Double

[ObjectiveSettings ID]
type = String

[ObjectiveSettings Medium]
type = Medium

[ObjectiveSettings RefractiveIndex]
type = Double

[Pixels]
countable = false
path = Image+/Pixels

[Pixels AnnotationRef]
countable = true
path = Image+/Pixels/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[Pixels DimensionOrder]
type = DimensionOrder

[Pixels ID]
type = String

[Pixels Interleaved]
type = Boolean

[Pixels PhysicalSizeX]
type = PositiveFloat

[Pixels PhysicalSizeY]
type = PositiveFloat

[Pixels PhysicalSizeZ]
type = PositiveFloat

[Pixels SignificantBits]
type = PositiveInteger

[Pixels SizeC]
type = PositiveInteger

[Pixels SizeT]
type = PositiveInteger

[Pixels SizeX]
type = PositiveInteger

[Pixels SizeY]
type = PositiveInteger

[Pixels SizeZ]
type = PositiveInteger

[Pixels TimeIncrement]
type = Double

[Pixels Type]
type = PixelType

[Pixels BigEndian]
type = Boolean

[Plane]
countable = true
path = Image+/Pixels/Plane+

[Plane AnnotationRef]
countable = true
path = Image+/Pixels/Plane+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[Plane DeltaT]
type = Double

[Plane ExposureTime]
type = Double

[Plane HashSHA1]
type = String

[Plane PositionX]
type = Double

[Plane PositionY]
type = Double

[Plane PositionZ]
type = Double

[Plane TheC]
type = NonNegativeInteger

[Plane TheT]
type = NonNegativeInteger

[Plane TheZ]
type = NonNegativeInteger

[Plate]
countable = true
path = Plate+

[Plate AnnotationRef]
countable = true
path = Plate+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[Plate ColumnNamingConvention]
type = NamingConvention

[Plate Columns]
type = PositiveInteger

[Plate Description]
type = String

[Plate ExternalIdentifier]
type = String

[Plate ID]
type = String

[Plate Name]
type = String

[Plate RowNamingConvention]
type = NamingConvention

[Plate Rows]
type = PositiveInteger

[Plate Status]
type = String

[Plate WellOriginX]
type = Double

[Plate WellOriginY]
type = Double

[PlateAcquisition]
countable = true
path = Plate+/PlateAcquisition+

[PlateAcquisition AnnotationRef]
countable = true
path = Plate+/PlateAcquisition+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[PlateAcquisition Description]
type = String

[PlateAcquisition EndTime]
type = Timestamp

[PlateAcquisition ID]
type = String

[PlateAcquisition MaximumFieldCount]
type = PositiveInteger

[PlateAcquisition Name]
type = String

[PlateAcquisition StartTime]
type = Timestamp

[PlateAcquisition WellSampleRef]
countable = true
path = Plate+/PlateAcquisition+/WellSampleRef+
type = String
anchor = WellSampleRef_ID

[Point]
countable = false
path = ROI+/Shape+/Point

[Point FillColor]
type = Color
anchor = Shape_FillColor

[Point FillRule]
type = FillRule
anchor = Shape_FillRule

[Point FontFamily]
type = FontFamily
anchor = Shape_FontFamily

[Point FontSize]
type = NonNegativeInteger
anchor = Shape_FontSize

[Point FontStyle]
type = FontStyle
anchor = Shape_FontStyle

[Point ID]
type = String
anchor = Shape_ID

[Point Locked]
type = Boolean
anchor = Shape_Locked

[Point StrokeColor]
type = Color
anchor = Shape_StrokeColor

[Point StrokeDashArray]
type = String
anchor = Shape_StrokeDashArray

[Point StrokeWidth]
type = Double
anchor = Shape_StrokeWidth

[Point Text]
type = String
anchor = Shape_Text

[Point TheC]
type = NonNegativeInteger
anchor = Shape_TheC

[Point TheT]
type = NonNegativeInteger
anchor = Shape_TheT

[Point TheZ]
type = NonNegativeInteger
anchor = Shape_TheZ

[Point Transform]
type = AffineTransform
anchor = Shape_Transform

[Point X]
type = Double

[Point Y]
type = Double

[Polygon]
countable = false
path = ROI+/Shape+/Polygon

[Polygon FillColor]
type = FillColor
anchor = Shape_FillColor

[Polygon FillRule]
type = FillRule
anchor = Shape_FillRule

[Polygon FontFamily]
type = FontFamily
anchor = Shape_FontFamily

[Polygon FontSize]
type = NonNegativeInteger
anchor = Shape_FontSize

[Polygon FontStyle]
type = FontStyle
anchor = Shape_FontStyle

[Polygon ID]
type = String
anchor = Shape_ID

[Polygon Locked]
type = Boolean
anchor = Shape_Locked

[Polygon StrokeColor]
type = Color
anchor = Shape_StrokeColor

[Polygon StrokeDashArray]
type = String
anchor = Shape_StrokeDashArray

[Polygon StrokeWidth]
type = Double
anchor = Shape_StrokeWidth

[Polygon Text]
type = String
anchor = Shape_Text

[Polygon TheC]
type = NonNegativeInteger
anchor = Shape_TheC

[Polygon TheT]
type = NonNegativeInteger
anchor = Shape_TheT

[Polygon TheZ]
type = NonNegativeInteger
anchor = Shape_TheZ

[Polygon Transform]
type = AffineTransform
anchor = Shape_Transform

[Polygon Points]
type = String

[Polyline]
countable = false
path = ROI+/Shape+/Polyline

[Polyline FillColor]
type = Color
anchor = Shape_FillColor

[Polyline FillRule]
type = FillRule
anchor = Shape_FillRule

[Polyline FontFamily]
type = FontFamily
anchor = Shape_FontFamily

[Polyline FontSize]
type = NonNegativeInteger
anchor = Shape_FontSize

[Polyline FontStyle]
type = FontStyle
anchor = Shape_FontStyle

[Polyline ID]
type = String
anchor = Shape_ID

[Polyline Locked]
type = Boolean
anchor = Shape_Locked

[Polyline StrokeColor]
type = Color
anchor = Shape_StrokeColor

[Polyline StrokeDashArray]
type = String
anchor = Shape_StrokeDashArray

[Polyline StrokeWidth]
type = Double
anchor = Shape_StrokeWidth

[Polyline Text]
type = String
anchor = Shape_Text

[Polyline TheC]
type = NonNegativeInteger
anchor = Shape_TheC

[Polyline TheT]
type = NonNegativeInteger
anchor = Shape_TheT

[Polyline TheZ]
type = NonNegativeInteger
anchor = Shape_TheZ

[Polyline Transform]
type = AffineTransform
anchor = Shape_Transform

[Polyline MarkerEnd]
type = Marker

[Polyline MarkerStart]
type = Marker

[Polyline Points]
type = String

[Project]
countable = true
path = Project+

[Project AnnotationRef]
countable = true
path = Project+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[Project DatasetRef]
countable = true
path = Project+/DatasetRef+
type = String
anchor = DatasetRef_ID

[Project Description]
type = String

[Project ExperimenterRef]
type = String
anchor = ExperimenterRef_ID

[Project ExperimenterGroupRef]
type = String
anchor = ExperimenterGroupRef_ID

[Project ID]
type = String

[Project Name]
type = String

[ROI]
countable = true
path = ROI+

[ROI AnnotationRef]
countable = true
path = ROI+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[ROI Description]
type = String

[ROI ID]
type = String

[ROI Name]
type = String

[Reagent]
countable = true
path = Screen+/Reagent+

[Reagent AnnotationRef]
countable = true
path = Screen+/Reagent+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[Reagent Description]
type = String

[Reagent ID]
type = String

[Reagent Name]
type = String

[Reagent ReagentIdentifier]
type = String

[Rectangle]
countable = false
path = ROI+/Shape+/Rectangle

[Rectangle FillColor]
type = Color
anchor = Shape_FillColor

[Rectangle FillRule]
type = FillRule
anchor = Shape_FillRule

[Rectangle FontFamily]
type = FontFamily
anchor = Shape_FontFamily

[Rectangle FontSize]
type = NonNegativeInteger
anchor = Shape_FontSize

[Rectangle FontStyle]
type = FontStyle
anchor = Shape_FontStyle

[Rectangle ID]
type = String
anchor = Shape_ID

[Rectangle Locked]
type = Boolean
anchor = Shape_Locked

[Rectangle StrokeColor]
type = Color
anchor = Shape_StrokeColor

[Rectangle StrokeDashArray]
type = String
anchor = Shape_StrokeDashArray

[Rectangle StrokeWidth]
type = Double
anchor = Shape_StrokeWidth

[Rectangle Text]
type = String
anchor = Shape_Text

[Rectangle TheC]
type = NonNegativeInteger
anchor = Shape_TheC

[Rectangle TheT]
type = NonNegativeInteger
anchor = Shape_TheT

[Rectangle TheZ]
type = NonNegativeInteger
anchor = Shape_TheZ

[Rectangle Transform]
type = AffineTransform
anchor = Shape_Transform

[Rectangle Height]
type = Double

[Rectangle Width]
type = Double

[Rectangle X]
type = Double

[Rectangle Y]
type = Double

[Screen]
countable = true
path = Screen+

[Screen AnnotationRef]
countable = true
path = Screen+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[Screen Description]
type = String

[Screen ID]
type = String

[Screen Name]
type = String

[Screen PlateRef]
countable = true
path = Screen+/PlateRef+
type = String
anchor = Screen_Screen_PlateRef_ID

[Screen ProtocolDescription]
type = String

[Screen ProtocolIdentifier]
type = String

[Screen ReagentSetDescription]
type = String

[Screen ReagentSetIdentifier]
type = String

[Screen Type]
type = String

[StageLabel]
countable = false
path = Image+/StageLabel

[StageLabel Name]
type = String

[StageLabel X]
type = Double

[StageLabel Y]
type = Double

[StageLabel Z]
type = Double

[TagAnnotation]
countable = true
path = TagAnnotation+

[TagAnnotation AnnotationRef]
countable = true
path = TagAnnotation+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[TagAnnotation Description]
type = String
anchor = Annotation_Description

[TagAnnotation ID]
type = String
anchor = Annotation_ID

[TagAnnotation Namespace]
type = String
anchor = Annotation_Namespace

[TagAnnotation Value]
type = String

[TermAnnotation]
countable = true
path = TermAnnotation+

[TermAnnotation AnnotationRef]
countable = true
path = TermAnnotation+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[TermAnnotation Description]
type = String
anchor = Annotation_Description

[TermAnnotation ID]
type = String
anchor = Annotation_ID

[TermAnnotation Namespace]
type = String
anchor = Annotation_Namespace

[TermAnnotation Value]
type = String

[TiffData]
countable = true
path = Image+/TiffData+

[TiffData FirstC]
type = NonNegativeInteger

[TiffData FirstT]
type = NonNegativeInteger

[TiffData FirstZ]
type = NonNegativeInteger

[TiffData IFD]
type = NonNegativeInteger

[TiffData PlaneCount]
type = NonNegativeInteger

[TimestampAnnotation]
countable = true
path = TimestampAnnotation+

[TimestampAnnotation AnnotationRef]
countable = true
path = TimestampAnnotation+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[TimestampAnnotation Description]
type = String
anchor = Annotation_Description

[TimestampAnnotation ID]
type = String
anchor = Annotation_ID

[TimestampAnnotation Namespace]
type = String
anchor = Annotation_Namespace

[TimestampAnnotation Value]
type = Timestamp

[TransmittanceRange]
countable = false
path = Instrument+/Filter+/TransmittanceRange

[TransmittanceRange CutIn]
type = PositiveInteger

[TransmittanceRange CutInTolerance]
type = NonNegativeInteger

[TransmittanceRange CutOut]
type = PositiveInteger

[TransmittanceRange CutOutTolerance]
type = NonNegativeInteger

[TransmittanceRange Transmittance]
type = PercentFraction

[UUID]
countable = false
path = Image+/TiffData+/UUID

[UUID FileName]
type = String
anchor = TiffData_TiffData_UUID_FileName

[UUID Value]
type = String
anchor = UniversallyUniqueIdentifier

[Well]
countable = true
path = Plate+/Well+

[Well AnnotationRef]
countable = true
path = Plate+/Well+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[Well Color]
type = Color

[Well Column]
type = NonNegativeInteger

[Well ExternalDescription]
type = String

[Well ExternalIdentifier]
type = String

[Well ID]
type = String

[Well ReagentRef]
type = String
anchor = ReagentRef_ID

[Well Row]
type = NonNegativeInteger

[Well Type]
type = String

[WellSample]
countable = true
path = Plate+/Well+/WellSample+

[WellSample AnnotationRef]
countable = true
path = Plate+/Well+/WellSample+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[WellSample ID]
type = String

[WellSample ImageRef]
type = String
anchor = ImageRef_ID

[WellSample Index]
type = NonNegativeInteger

[WellSample PositionX]
type = Double

[WellSample PositionY]
type = Double

[WellSample Timepoint]
type = Timestamp

[XMLAnnotation]
countable = true
path = XMLAnnotation+

[XMLAnnotation AnnotationRef]
countable = true
path = XMLAnnotation+/AnnotationRef+
type = String
anchor = AnnotationRef_ID

[XMLAnnotation ID]
type = String
anchor = Annotation_ID

[XMLAnnotation Namespace]
type = String
anchor = Annotation_Namespace

[XMLAnnotation Value]
type = String
