Page 1 of 1

Four channels in OME-TIFF

PostPosted: Thu Mar 10, 2011 1:50 pm
by chrism
Hi all,

I have four RGB images and each image represents the output of a bandpass filter. I want to store all four images in one OME-TIFF file. In older revisions of the OME-XML scheme the usage of four logical channels each consisting out of three channel components was the natural way. What is the best way to represent this with the newest schemes.

Christian

Re: Four channels in OME-TIFF

PostPosted: Tue Mar 22, 2011 11:05 am
by ajpatterson
Hello Christian,

With the September 2009 release of the schema LogicalChannel and Channel were merged and moved to be below Pixels. This means that where you would have had:
Code: Select all
<!-- September 2008 Schema -->
<Image AcquiredPixels="Pixels:0:0" DefaultPixels="Pixels:0:0"
   ID="Image:0" Name="channels-sample">
   <CreationDate>2010-02-23T12:51:30</CreationDate>
   <LogicalChannel ID="LogicalChannel:0">
      <ChannelComponent Index="0" Pixels="Pixels:0:0"/>
      <ChannelComponent Index="1" Pixels="Pixels:0:0"/>
      <ChannelComponent Index="2" Pixels="Pixels:0:0"/>
   </LogicalChannel>
   <LogicalChannel ID="LogicalChannel:1">
      <ChannelComponent Index="3" Pixels="Pixels:0:0"/>
      <ChannelComponent Index="4" Pixels="Pixels:0:0"/>
      <ChannelComponent Index="5" Pixels="Pixels:0:0"/>
   </LogicalChannel>
   <LogicalChannel ID="LogicalChannel:2">
      <ChannelComponent Index="6" Pixels="Pixels:0:0"/>
      <ChannelComponent Index="7" Pixels="Pixels:0:0"/>
      <ChannelComponent Index="8" Pixels="Pixels:0:0"/>
   </LogicalChannel>
   <LogicalChannel ID="LogicalChannel:3">
      <ChannelComponent Index="9" Pixels="Pixels:0:0"/>
      <ChannelComponent Index="10" Pixels="Pixels:0:0"/>
      <ChannelComponent Index="11" Pixels="Pixels:0:0"/>
   </LogicalChannel>
   <Pixels BigEndian="false" DimensionOrder="XYCZT" ID="Pixels:0:0"
      PhysicalSizeX="10000.0" PhysicalSizeY="10000.0" PhysicalSizeZ="0.0"
      PixelType="uint8" SizeC="12" SizeT="1" SizeX="6" SizeY="4" SizeZ="1">
      <Bin:BinData Length="32">/wCrzur//wB5oMPi/wBIbJO3AP8ePGCF</Bin:BinData>
      ...
   </Pixels>
</Image>


You now would have:
Code: Select all
<!-- September 2009 Schema -->
<Image ID="Image:0" Name="channels-sample">
   <AcquiredDate>2010-02-23T12:51:30</AcquiredDate>
   <Pixels DimensionOrder="XYCZT" ID="Pixels:0:0" PhysicalSizeX="10000.0"
      PhysicalSizeY="10000.0" PhysicalSizeZ="0.0" Type="uint8" SizeC="12" SizeT="1" SizeX="6"
      SizeY="4" SizeZ="1">
      <Channel Color="4294967295" ID="Channel:0:1"/>
      <Channel Color="4294967295" ID="Channel:0:2"/>
      <Channel Color="4294967295" ID="Channel:0:3"/>
      <Channel Color="4294967295" ID="Channel:1:1"/>
      <Channel Color="4294967295" ID="Channel:1:2"/>
      <Channel Color="4294967295" ID="Channel:1:3"/>
      <Channel Color="4294967295" ID="Channel:2:1"/>
      <Channel Color="4294967295" ID="Channel:2:2"/>
      <Channel Color="4294967295" ID="Channel:2:3"/>
      <Channel Color="4294967295" ID="Channel:3:1"/>
      <Channel Color="4294967295" ID="Channel:3:2"/>
      <Channel Color="4294967295" ID="Channel:3:3"/>
      <BinData BigEndian="false" Length="32">/wCrzur//wB5oMPi/wBIbJO3AP8ePGCF</BinData>
      ...
   </Pixels>
</Image>


This new arrangement allows each Channel to have it's own ID.

Hope this helps,

Andrew

Re: Four channels in OME-TIFF

PostPosted: Tue Mar 22, 2011 11:15 am
by ajpatterson
Hello Christian,

If you still want to maintain the separation of the images then you can of course have four Image nodes in one OME node. Each of the Image nodes can then contain a Pixels with 3 Channel nodes. There is not a best way to structure the data as it depends on how you want to think about your data and how you may want to process it.

Code: Select all
<!-- September 2009 Schema  - four image option-->
<Image ID="Image:0" Name="channels-sample">
   <AcquiredDate>2010-02-23T12:51:30</AcquiredDate>
   <Pixels DimensionOrder="XYCZT" ID="Pixels:0:0" PhysicalSizeX="10000.0"
      PhysicalSizeY="10000.0" PhysicalSizeZ="0.0" Type="uint8" SizeC="3" SizeT="1" SizeX="6"
      SizeY="4" SizeZ="1">
      <Channel Color="4294967295" ID="Channel:0:1"/>
      <Channel Color="4294967295" ID="Channel:0:2"/>
      <Channel Color="4294967295" ID="Channel:0:3"/>
      <BinData BigEndian="false" Length="32">/wCrzur//wB5oMPi/wBIbJO3AP8ePGCF</BinData>
      ...
   </Pixels>
</Image>
<Image ID="Image:1" Name="channels-sample">
   <AcquiredDate>2010-02-23T12:51:30</AcquiredDate>
   <Pixels DimensionOrder="XYCZT" ID="Pixels:1:0" PhysicalSizeX="10000.0"
      PhysicalSizeY="10000.0" PhysicalSizeZ="0.0" Type="uint8" SizeC="3" SizeT="1" SizeX="6"
      SizeY="4" SizeZ="1">
      <Channel Color="4294967295" ID="Channel:1:1"/>
      <Channel Color="4294967295" ID="Channel:1:2"/>
      <Channel Color="4294967295" ID="Channel:1:3"/>
      <BinData BigEndian="false" Length="32">/wCrzur//wB5oMPi/wBIbJO3AP8ePGCF</BinData>
      ...
   </Pixels>
</Image>
<Image ID="Image:2" Name="channels-sample">
   <AcquiredDate>2010-02-23T12:51:30</AcquiredDate>
   <Pixels DimensionOrder="XYCZT" ID="Pixels:2:0" PhysicalSizeX="10000.0"
      PhysicalSizeY="10000.0" PhysicalSizeZ="0.0" Type="uint8" SizeC="3" SizeT="1" SizeX="6"
      SizeY="4" SizeZ="1">
      <Channel Color="4294967295" ID="Channel:2:1"/>
      <Channel Color="4294967295" ID="Channel:2:2"/>
      <Channel Color="4294967295" ID="Channel:2:3"/>
      <BinData BigEndian="false" Length="32">/wCrzur//wB5oMPi/wBIbJO3AP8ePGCF</BinData>
      ...
   </Pixels>
</Image>
<Image ID="Image:3" Name="channels-sample">
   <AcquiredDate>2010-02-23T12:51:30</AcquiredDate>
   <Pixels DimensionOrder="XYCZT" ID="Pixels:3:0" PhysicalSizeX="10000.0"
      PhysicalSizeY="10000.0" PhysicalSizeZ="0.0" Type="uint8" SizeC="3" SizeT="1" SizeX="6"
      SizeY="4" SizeZ="1">
      <Channel Color="4294967295" ID="Channel:3:1"/>
      <Channel Color="4294967295" ID="Channel:3:2"/>
      <Channel Color="4294967295" ID="Channel:3:3"/>
      <BinData BigEndian="false" Length="32">/wCrzur//wB5oMPi/wBIbJO3AP8ePGCF</BinData>
      ...
   </Pixels>
</Image>


Hope this helps,

Andrew