We're Hiring!

Four channels in OME-TIFF

General and open developer discussion about using OMERO APIs from C++, Java, Python, Matlab and more! Please new questions at https://forum.image.sc/tags/omero
Please note:
Historical discussions about OMERO. Please look for and ask new questions at https://forum.image.sc/tags/omero

If you are having trouble with custom code, please provide a link to a public repository, ideally GitHub.

Four channels in OME-TIFF

Postby chrism » Thu Mar 10, 2011 1:50 pm

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
chrism
 
Posts: 9
Joined: Thu Mar 10, 2011 1:38 pm

Re: Four channels in OME-TIFF

Postby ajpatterson » Tue Mar 22, 2011 11:05 am

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
--
Andrew Patterson
Software Developer, Open Microscopy Environment
Wellcome Trust Centre for Gene Regulation and Expression
University of Dundee
ajpatterson
 
Posts: 50
Joined: Fri May 01, 2009 11:18 am

Re: Four channels in OME-TIFF

Postby ajpatterson » Tue Mar 22, 2011 11:15 am

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
--
Andrew Patterson
Software Developer, Open Microscopy Environment
Wellcome Trust Centre for Gene Regulation and Expression
University of Dundee
ajpatterson
 
Posts: 50
Joined: Fri May 01, 2009 11:18 am


Return to Developer Discussion

Who is online

Users browsing this forum: No registered users and 1 guest