[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