Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions src/ome_types/_mixins/_base_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -156,8 +156,7 @@ def __getattr__(self, key: str) -> Any:
stacklevel=2,
)
return getattr(self, new_key)

return super().__getattr__(key) # type: ignore
return object.__getattribute__(self, key)

def to_xml(self, **kwargs: Any) -> str:
"""Serialize this object to XML.
Expand Down
12 changes: 11 additions & 1 deletion src/ome_types/_mixins/_collections.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,18 @@ def _field_name(cls, item: Any) -> str:
raise TypeError( # pragma: no cover
f"Expected an instance of {AnnotationInstances}, got {item!r}"
)

item_type = type(item)
# where 10 is the length of "Annotation"
return item.__class__.__name__[:-10].lower() + "_annotations"
field_name = item_type.__name__[:-10].lower() + "_annotations"
if hasattr(cls, field_name):
return field_name
for annotation_type in AnnotationInstances:
if issubclass(item_type, annotation_type):
return annotation_type.__name__[:-10].lower() + "_annotations"
raise TypeError( # pragma: no cover
f"Could not find field name for {item_type.__name__}"
)


ShapeType = Union[Rectangle, Mask, Point, Ellipse, Line, Polyline, Polygon, Label]
Expand Down
145 changes: 145 additions & 0 deletions src/ome_types/model/modulo.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
from enum import Enum
from typing import List, Optional, Union

from pydantic_compat import model_validator

from ome_types._autogenerated.ome_2016_06 import XMLAnnotation
from ome_types._mixins._base_type import OMEType
from xsdata_pydantic_basemodel.pydantic_compat import Field

MODULO_NS = "openmicroscopy.org/omero/dimension/modulo"
ADDITIONS_NS = "http://www.openmicroscopy.org/Schemas/Additions/2011-09"


class ModuloType(Enum):
"""The dimension represented by this modulo."""

ANGLE = "angle"
PHASE = "phase"
TILE = "tile"
LIFETIME = "lifetime"
LAMBDA = "lambda"
OTHER = "other"


class Label(OMEType):
value: int = Field(
metadata={
"required": True,
"format": "base64",
}
)


class Modulo(OMEType):
class Meta:
namespace = MODULO_NS

type: ModuloType = Field(
metadata={
"name": "Type",
"type": "Attribute",
"required": True,
},
)
labels: List[Label] = Field(
default_factory=list,
metadata={
"name": "Label",
"type": "Element",
},
)
type_description: Optional[str] = Field(
default=None,
metadata={
"name": "TypeDescription",
"type": "Attribute",
},
)
unit: Optional[str] = Field(
default=None,
metadata={
"name": "Unit",
"type": "Attribute",
},
)
start: Union[int, float, None] = Field(
default=None,
metadata={
"name": "Start",
"type": "Attribute",
},
)
step: Union[int, float, None] = Field(
default=None,
metadata={
"name": "Step",
"type": "Attribute",
},
)
end: Union[int, float, None] = Field(
default=None,
metadata={
"name": "End",
"type": "Attribute",
},
)

@model_validator(mode="after")
def _vroot(cls, v: "Modulo") -> "Modulo":
if not v.labels and (v.start is None or v.end is None):
raise ValueError("Must specify either labels or start/end")
return v


class ModuloContainer(OMEType):
class Meta:
namespace = ADDITIONS_NS

modulo_along_c: Optional[Modulo] = Field(
default=None,
metadata={
"type": "Element",
"name": "ModuloAlongC",
},
)
modulo_along_z: Optional[Modulo] = Field(
default=None,
metadata={
"type": "Element",
"name": "ModuloAlongZ",
},
)
modulo_along_t: Optional[Modulo] = Field(
default=None,
metadata={
"type": "Element",
"name": "ModuloAlongT",
},
)


class ModuloValue(XMLAnnotation.Value):
class Meta:
namespace = "http://www.openmicroscopy.org/Schemas/OME/2016-06"

modulos: ModuloContainer = Field(
default_factory=list,
metadata={
"name": "Modulo",
"type": "Element",
},
)


class ModuloAnnotation(XMLAnnotation):
class Meta:
namespace = MODULO_NS

value: ModuloValue = Field(
default_factory=ModuloValue,
metadata={
"name": "Value",
"type": "Element",
},
)
3 changes: 3 additions & 0 deletions tests/data/FLIM-ModuloAlongC.ome.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?><!-- Warning: this comment is an OME-XML metadata block, which contains crucial dimensional parameters and other important metadata. Please edit cautiously (if at all), and back up the original data before doing so. For more information, see the OME-TIFF web site: http://www.openmicroscopy.org/site/support/ome-model/ome-tiff/. --><OME xmlns="http://www.openmicroscopy.org/Schemas/OME/2016-06" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Creator="OME Bio-Formats 5.2.0-m4" UUID="urn:uuid:51fb5d8e-7ae1-437f-96bc-ed67b8d14822" xsi:schemaLocation="http://www.openmicroscopy.org/Schemas/OME/2016-06 http://www.openmicroscopy.org/Schemas/OME/2016-06/ome.xsd"><Image ID="Image:0" Name="FLIM"><AcquisitionDate>2011-10-03T14:34:07</AcquisitionDate><Pixels BigEndian="true" DimensionOrder="XYZCT" ID="Pixels:0" Interleaved="false" SignificantBits="8" SizeC="16" SizeT="1" SizeX="180" SizeY="150" SizeZ="1" Type="int8"><Channel ID="Channel:0:0" SamplesPerPixel="1"><LightPath/></Channel><Channel ID="Channel:0:1" SamplesPerPixel="1"><LightPath/></Channel><Channel ID="Channel:0:2" SamplesPerPixel="1"><LightPath/></Channel><Channel ID="Channel:0:3" SamplesPerPixel="1"><LightPath/></Channel><Channel ID="Channel:0:4" SamplesPerPixel="1"><LightPath/></Channel><Channel ID="Channel:0:5" SamplesPerPixel="1"><LightPath/></Channel><Channel ID="Channel:0:6" SamplesPerPixel="1"><LightPath/></Channel><Channel ID="Channel:0:7" SamplesPerPixel="1"><LightPath/></Channel><Channel ID="Channel:0:8" SamplesPerPixel="1"><LightPath/></Channel><Channel ID="Channel:0:9" SamplesPerPixel="1"><LightPath/></Channel><Channel ID="Channel:0:10" SamplesPerPixel="1"><LightPath/></Channel><Channel ID="Channel:0:11" SamplesPerPixel="1"><LightPath/></Channel><Channel ID="Channel:0:12" SamplesPerPixel="1"><LightPath/></Channel><Channel ID="Channel:0:13" SamplesPerPixel="1"><LightPath/></Channel><Channel ID="Channel:0:14" SamplesPerPixel="1"><LightPath/></Channel><Channel ID="Channel:0:15" SamplesPerPixel="1"><LightPath/></Channel><TiffData FirstC="0" FirstT="0" FirstZ="0" IFD="0" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongC.ome.tiff">urn:uuid:51fb5d8e-7ae1-437f-96bc-ed67b8d14822</UUID></TiffData><TiffData FirstC="1" FirstT="0" FirstZ="0" IFD="1" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongC.ome.tiff">urn:uuid:51fb5d8e-7ae1-437f-96bc-ed67b8d14822</UUID></TiffData><TiffData FirstC="2" FirstT="0" FirstZ="0" IFD="2" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongC.ome.tiff">urn:uuid:51fb5d8e-7ae1-437f-96bc-ed67b8d14822</UUID></TiffData><TiffData FirstC="3" FirstT="0" FirstZ="0" IFD="3" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongC.ome.tiff">urn:uuid:51fb5d8e-7ae1-437f-96bc-ed67b8d14822</UUID></TiffData><TiffData FirstC="4" FirstT="0" FirstZ="0" IFD="4" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongC.ome.tiff">urn:uuid:51fb5d8e-7ae1-437f-96bc-ed67b8d14822</UUID></TiffData><TiffData FirstC="5" FirstT="0" FirstZ="0" IFD="5" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongC.ome.tiff">urn:uuid:51fb5d8e-7ae1-437f-96bc-ed67b8d14822</UUID></TiffData><TiffData FirstC="6" FirstT="0" FirstZ="0" IFD="6" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongC.ome.tiff">urn:uuid:51fb5d8e-7ae1-437f-96bc-ed67b8d14822</UUID></TiffData><TiffData FirstC="7" FirstT="0" FirstZ="0" IFD="7" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongC.ome.tiff">urn:uuid:51fb5d8e-7ae1-437f-96bc-ed67b8d14822</UUID></TiffData><TiffData FirstC="8" FirstT="0" FirstZ="0" IFD="8" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongC.ome.tiff">urn:uuid:51fb5d8e-7ae1-437f-96bc-ed67b8d14822</UUID></TiffData><TiffData FirstC="9" FirstT="0" FirstZ="0" IFD="9" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongC.ome.tiff">urn:uuid:51fb5d8e-7ae1-437f-96bc-ed67b8d14822</UUID></TiffData><TiffData FirstC="10" FirstT="0" FirstZ="0" IFD="10" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongC.ome.tiff">urn:uuid:51fb5d8e-7ae1-437f-96bc-ed67b8d14822</UUID></TiffData><TiffData FirstC="11" FirstT="0" FirstZ="0" IFD="11" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongC.ome.tiff">urn:uuid:51fb5d8e-7ae1-437f-96bc-ed67b8d14822</UUID></TiffData><TiffData FirstC="12" FirstT="0" FirstZ="0" IFD="12" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongC.ome.tiff">urn:uuid:51fb5d8e-7ae1-437f-96bc-ed67b8d14822</UUID></TiffData><TiffData FirstC="13" FirstT="0" FirstZ="0" IFD="13" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongC.ome.tiff">urn:uuid:51fb5d8e-7ae1-437f-96bc-ed67b8d14822</UUID></TiffData><TiffData FirstC="14" FirstT="0" FirstZ="0" IFD="14" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongC.ome.tiff">urn:uuid:51fb5d8e-7ae1-437f-96bc-ed67b8d14822</UUID></TiffData><TiffData FirstC="15" FirstT="0" FirstZ="0" IFD="15" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongC.ome.tiff">urn:uuid:51fb5d8e-7ae1-437f-96bc-ed67b8d14822</UUID></TiffData><Plane TheC="0" TheT="0" TheZ="0"/><Plane TheC="1" TheT="0" TheZ="0"/><Plane TheC="2" TheT="0" TheZ="0"/><Plane TheC="3" TheT="0" TheZ="0"/><Plane TheC="4" TheT="0" TheZ="0"/><Plane TheC="5" TheT="0" TheZ="0"/><Plane TheC="6" TheT="0" TheZ="0"/><Plane TheC="7" TheT="0" TheZ="0"/><Plane TheC="8" TheT="0" TheZ="0"/><Plane TheC="9" TheT="0" TheZ="0"/><Plane TheC="10" TheT="0" TheZ="0"/><Plane TheC="11" TheT="0" TheZ="0"/><Plane TheC="12" TheT="0" TheZ="0"/><Plane TheC="13" TheT="0" TheZ="0"/><Plane TheC="14" TheT="0" TheZ="0"/><Plane TheC="15" TheT="0" TheZ="0"/></Pixels><AnnotationRef ID="Annotation:3"/></Image><StructuredAnnotations><XMLAnnotation ID="Annotation:3" Namespace="openmicroscopy.org/omero/dimension/modulo"><Value><Modulo namespace="http://www.openmicroscopy.org/Schemas/Additions/2011-09">
<ModuloAlongC End="8" Start="1" Step="1" Type="lifetime" Unit="ps"/>
</Modulo></Value></XMLAnnotation></StructuredAnnotations></OME>
6 changes: 6 additions & 0 deletions tests/data/FLIM-ModuloAlongT-TSCPC.ome.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?><!-- Warning: this comment is an OME-XML metadata block, which contains crucial dimensional parameters and other important metadata. Please edit cautiously (if at all), and back up the original data before doing so. For more information, see the OME-TIFF web site: http://www.openmicroscopy.org/site/support/ome-model/ome-tiff/. --><OME xmlns="http://www.openmicroscopy.org/Schemas/OME/2016-06" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Creator="OME Bio-Formats 5.2.0-m4" UUID="urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e" xsi:schemaLocation="http://www.openmicroscopy.org/Schemas/OME/2016-06 http://www.openmicroscopy.org/Schemas/OME/2016-06/ome.xsd"><Image ID="Image:0" Name="FLIM"><AcquisitionDate>2013-07-11T15:56:06</AcquisitionDate><Pixels BigEndian="false" DimensionOrder="XYZCT" ID="Pixels:0" Interleaved="false" SignificantBits="8" SizeC="2" SizeT="16" SizeX="180" SizeY="200" SizeZ="1" Type="int8"><Channel ID="Channel:0:0" SamplesPerPixel="1"><LightPath/></Channel><Channel ID="Channel:0:1" SamplesPerPixel="1"><LightPath/></Channel><TiffData FirstC="0" FirstT="0" FirstZ="0" IFD="0" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="1" FirstT="0" FirstZ="0" IFD="1" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="0" FirstT="1" FirstZ="0" IFD="2" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="1" FirstT="1" FirstZ="0" IFD="3" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="0" FirstT="2" FirstZ="0" IFD="4" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="1" FirstT="2" FirstZ="0" IFD="5" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="0" FirstT="3" FirstZ="0" IFD="6" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="1" FirstT="3" FirstZ="0" IFD="7" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="0" FirstT="4" FirstZ="0" IFD="8" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="1" FirstT="4" FirstZ="0" IFD="9" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="0" FirstT="5" FirstZ="0" IFD="10" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="1" FirstT="5" FirstZ="0" IFD="11" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="0" FirstT="6" FirstZ="0" IFD="12" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="1" FirstT="6" FirstZ="0" IFD="13" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="0" FirstT="7" FirstZ="0" IFD="14" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="1" FirstT="7" FirstZ="0" IFD="15" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="0" FirstT="8" FirstZ="0" IFD="16" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="1" FirstT="8" FirstZ="0" IFD="17" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="0" FirstT="9" FirstZ="0" IFD="18" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="1" FirstT="9" FirstZ="0" IFD="19" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="0" FirstT="10" FirstZ="0" IFD="20" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="1" FirstT="10" FirstZ="0" IFD="21" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="0" FirstT="11" FirstZ="0" IFD="22" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="1" FirstT="11" FirstZ="0" IFD="23" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="0" FirstT="12" FirstZ="0" IFD="24" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="1" FirstT="12" FirstZ="0" IFD="25" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="0" FirstT="13" FirstZ="0" IFD="26" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="1" FirstT="13" FirstZ="0" IFD="27" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="0" FirstT="14" FirstZ="0" IFD="28" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="1" FirstT="14" FirstZ="0" IFD="29" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="0" FirstT="15" FirstZ="0" IFD="30" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><TiffData FirstC="1" FirstT="15" FirstZ="0" IFD="31" PlaneCount="1"><UUID FileName="FLIM-ModuloAlongT-TSCPC.ome.tiff">urn:uuid:4bd6aecd-1da8-47b3-8271-b02240bfcd1e</UUID></TiffData><Plane TheC="0" TheT="0" TheZ="0"/><Plane TheC="1" TheT="0" TheZ="0"/><Plane TheC="0" TheT="1" TheZ="0"/><Plane TheC="1" TheT="1" TheZ="0"/><Plane TheC="0" TheT="2" TheZ="0"/><Plane TheC="1" TheT="2" TheZ="0"/><Plane TheC="0" TheT="3" TheZ="0"/><Plane TheC="1" TheT="3" TheZ="0"/><Plane TheC="0" TheT="4" TheZ="0"/><Plane TheC="1" TheT="4" TheZ="0"/><Plane TheC="0" TheT="5" TheZ="0"/><Plane TheC="1" TheT="5" TheZ="0"/><Plane TheC="0" TheT="6" TheZ="0"/><Plane TheC="1" TheT="6" TheZ="0"/><Plane TheC="0" TheT="7" TheZ="0"/><Plane TheC="1" TheT="7" TheZ="0"/><Plane TheC="0" TheT="8" TheZ="0"/><Plane TheC="1" TheT="8" TheZ="0"/><Plane TheC="0" TheT="9" TheZ="0"/><Plane TheC="1" TheT="9" TheZ="0"/><Plane TheC="0" TheT="10" TheZ="0"/><Plane TheC="1" TheT="10" TheZ="0"/><Plane TheC="0" TheT="11" TheZ="0"/><Plane TheC="1" TheT="11" TheZ="0"/><Plane TheC="0" TheT="12" TheZ="0"/><Plane TheC="1" TheT="12" TheZ="0"/><Plane TheC="0" TheT="13" TheZ="0"/><Plane TheC="1" TheT="13" TheZ="0"/><Plane TheC="0" TheT="14" TheZ="0"/><Plane TheC="1" TheT="14" TheZ="0"/><Plane TheC="0" TheT="15" TheZ="0"/><Plane TheC="1" TheT="15" TheZ="0"/></Pixels><AnnotationRef ID="Annotation:Modulo:0"/></Image><StructuredAnnotations><XMLAnnotation ID="Annotation:Modulo:0" Namespace="openmicroscopy.org/omero/dimension/modulo"><Description>For a description of how 6D, 7D, and 8D data is stored
using the Modulo extension see
http://www.openmicroscopy.org/site/support/ome-model/developers/6d-7d-and-8d-storage.html
</Description><Value><Modulo namespace="http://www.openmicroscopy.org/Schemas/Additions/2011-09">
<ModuloAlongT End="8" Start="1" Step="1" Type="lifetime" TypeDescription="TCSPC" Unit="ps"/>
</Modulo></Value></XMLAnnotation></StructuredAnnotations></OME>
Loading