[ome-devel] LogicalChannel ST vs ChannelInfo XML element
Ilya Goldberg
igg at nih.gov
Mon Apr 25 16:36:18 BST 2005
On Apr 22, 2005, at 6:28 PM, Curtis Rueden wrote:
> I am almost done, but I am confused about LogicalChannels. At first, I
> did not understand why the class was called LogicalChannel when it
> seemed to refer to the ChannelInfo element from ome.xsd. So I
> implemented all the methods assuming a backing ChannelInfo DOM
> element. But when trying to implement some of
> org.openmicroscopy.ds.st.LogicalChannel's methods
> (getAuxLightWavelength, getAuxTechnique, getAuxLightAttentuation,
> etc.) I noticed those fields are not part of ChannelInfo. I searched
> for STs containing these terms and hit upon the LogicalChannel ST in
> Core/Image.ome. A lot of the ChannelInfo fields are duplicated in this
> ST.
>
> So now I'm confused. Can an OME file have the overlapping information
> stored either within a ChannelInfo element, or under CustomAttributes
> as part of a LogicalChannel element? Or is one of these two constructs
> obsolete?
All the elements defined in ome.xsd have ST counterparts that can be
defined in CustomAttributes. When an OME document that conforms to the
ome.xsd schema is imported into OME, an XSLT stylesheet is applied that
converts all elements outside CustomAttributes into their
CustomAttributes equivalents (i.e., their corresponding STs). Any
elements already in CustomAttributes are passed through the stylesheet.
LogicalChannel is the CustomAttributes equivalent of the ChannelInfo
element defined in ome.xsd. So yes, you can define the channel either
way, but an OME document conforming to the ome.xsd schema should really
define it as a ChannelInfo element. As a general rule, any information
that is defined in ome.xsd should use that schema instead of the
CustomAttributes equivalents.
Technically, as specified in the documentation for ChannelInfo:
"There must be one per channel in the Image, even for a single-plane
image"
This is not enforced with validation because that requires some XPATH
statements matching the number of ChannelInfo elements and their
components to the number of channels that I couldn't ever get to work
properly. So ChannelInfo is required, but not enforced.
-Ilya
>
> Thanks,
> Curtis
>
> _______________________________________________
> ome-devel mailing list
> ome-devel at lists.openmicroscopy.org.uk
> http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel
>
More information about the ome-devel
mailing list