[ome-devel] Recommendation to record spectrums in OME-TIFF

Éric Piel piel at delmic.com
Fri Nov 15 13:29:53 GMT 2013


Dear All,

Thanks for the great feedback/ideas.

To summarize, there were three suggestions:
 * Use ModuloAlongC.Label
 * Use Channel.EmissionWavelength
 * Use EmissionFilter.CutIn and CutOut

As ModuloAlongC has the disadvantage that it is not part of the basic
OME schema. I had seen EmissionFilter but dismissed it because I felt it
really represent something different.
In my mind EmissionWavelength was for fluorescence (only), but I guess
if AcquisitionMode == "SpectralImaging", its meaning is pretty clear and
fit well the spectrum idea. It also allows to record precisely the
wavelength even if the distribution is not linear. So I went for this
solution.

The only little hitch is that EmissionWavelength is supposed to be an
int. That works well with fluorescence, but with spectrums it's fairly
easy to get less that 1 nm between channels. So I use a float.

Best,
Éric Piel

On 08/11/13 22:36, Will Moore wrote:
> Hi Eric,
> 
> If you need to store min and max wavelength for each Channel, you can
> use a LightPath, with an EmissionFilter that has CutIn and CutOut like:
> 
>       <Filter ID="Filter:0:0" Model="SP Mirror Channel 1">
>          <TransmittanceRange CutIn="406" CutOut="479"/>
>       </Filter>
> 
> 
>          <Channel>
>             <LightPath>
>                 <EmissionFilterRef ID="Filter:0:0"/>
>             </LightPath>
>          </Channel>
> 
> Hope that helps,
> 
>   Will.
> 
> On 8 Nov 2013, at 17:33, Curtis Rueden wrote:
> 
>> Hi Andrew,
>>
>> It sounds like Éric simply has one spectra dimension (i.e., C), and
>> thus wouldn't need to use module along C. Instead, for each of his 100
>> channels, he would add a Channel element with the EmissionWavelength
>> value [1] set matching that channel's wavelength.
>>
>> Or am I missing something here?
>>
>> Regards,
>> Curtis
>>
>> P.S. I notice the XML documentation for the Channel element says: "An
>> entire spectrum in an FTIR experiment may be stored in a single
>> Logical Channel with each discrete wavenumber of the spectrum
>> constituting a ChannelComponent of the FTIR Logical Channel." This
>> description is out of date and no longer valid, right? We dropped the
>> LogicalChannel/ChannelComponent elements long ago.
>>
>> [1] https://www.openmicroscopy.org/Schemas/Documentation/Generated/OME-2013-06/ome_xsd.html#Channel_EmissionWavelength
>>
>>
>> On Fri, Nov 8, 2013 at 11:15 AM, Andrew Patterson
>> <ajpatterson at lifesci.dundee.ac.uk
>> <mailto:ajpatterson at lifesci.dundee.ac.uk>> wrote:
>>
>>     Hello Éric,
>>
>>     First, using WaveStart and WaveIncrement is not a good solution.
>>     They were dropped completely in 2009 and the upgrade transforms to
>>     newer schema used when OMERO or Bio-Formats reads these older
>>     files will not preserve the values.
>>
>>     If each of your points is a spectrum from our viewpoint you would
>>     be putting an extra dimension into C. To do this you would need to
>>     use the Modulo extension:
>>     https://www.openmicroscopy.org/site/support/ome-model/developers/6d-7d-and-8d-storage.html
>>     There are some sample files linked at the bottom of the page.
>>
>>     This places information about how your data is arranged into an
>>     annotation attached to the image. The data itself is just stored
>>     as usual in C. (or T or Z)
>>
>>     You could define something like:
>>       <ModuloAlongC Type="other" Start="246.6" Step="1.3" End="376.6"
>>     Unit="Hz"/>
>>     to describe evenly spaced values, or:
>>       <ModuloAlongC Type="other" Unit="Hz">
>>         <Label>256.6</Label>
>>         <Label>266.6</Label>
>>         <Label>273.8</Label>
>>         <Label>274.2</Label>
>>         ...
>>       </ModuloAlongC>
>>     to provide specific value for each point along your spectrum.
>>
>>     If I have not understood your problem right please mail the list
>>     again.
>>
>>     I am on holiday next week but I am sure someone else will get back
>>     to you. I will check back with you on my return.
>>
>>     Andrew
>>
>>
>>     On 8 Nov 2013, at 08:54, Éric Piel <piel at delmic.com
>>     <mailto:piel at delmic.com>> wrote:
>>
>>     > Hello,
>>     >
>>     > I'd like to use OME-TIFF to store our microscope image acquisitions.
>>     > However, after looking at the OME specification, it is not clear
>>     how I
>>     > can save all metadata we need, so I'd like ask some advices.
>>     >
>>     > The data contains a (light) spectrum for each spatial point. So
>>     it's 3D:
>>     > X, Y, and C. So far, so good. However, I'd like to record the scale
>>     > along C (i.e., the wavelengths). Typically, the C dimension has
>>     a length
>>     > of 100 or more points. At least, I'd need to record the minimum and
>>     > maximum wavelength. I cannot find any way to do so. Can anyone
>>     suggest a
>>     > way?
>>     >
>>     >
>>     > Note: In old version of the OME schema, I've found WaveStart and
>>     > WaveIncrement as attribute to Pixels. By using floats instead of
>>     int,
>>     > this kind of works. But I'd rather follow the latest version of the
>>     > specification.
>>     >
>>     > Thanks,
>>     > Éric Piel




More information about the ome-devel mailing list