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

Andrew Patterson ajpatterson at lifesci.dundee.ac.uk
Tue Nov 19 09:04:39 GMT 2013


Hello Éric,

EmissionWavelength sounds like the right place. I will look at the implications of changing it's type. It might be good to also look to see it there is a clearer name that makes it less fluorescence specific.

Cheers,

Andrew



On 15 Nov 2013, at 13:29, Éric Piel <piel at delmic.com> wrote:

> 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
> 
> 
> _______________________________________________
> 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