<HTML>
<HEAD>
<TITLE>Re: [ome-devel] BD Reader Datetimes of Images / Bio-formats</TITLE>
</HEAD>
<BODY>
<FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'>Melissa,<BR>
<BR>
It appears I was wrong. The BD Pathway files <B>do</B> contain the datetime in the TIFF (I think it’s the EXIF). Is there some way to use this information instead and change this patch.<BR>
<BR>
<BR>
On 2/25/11 7:02 PM, "Melissa Linkert" <<a href="melissa@glencoesoftware.com">melissa@glencoesoftware.com</a>> wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'>Hi Shawn,<BR>
<BR>
> Well, we have to rely on the timestamps on the files (specifically the creation date). It's the only source of this information from the BD Pathway at present. It's not the best source, but it's the only source. You configure it to acquire say every 5 minutes, then it gets as close as it can. Sometimes even experiments are stopped and restarted, this throws off the statistics.<BR>
><BR>
> setPlaneDeltaT sounds like a fine solution to me-as long as the information is stored and it's recoverable.<BR>
<BR>
OK, this commit (and thus the latest trunk build) should make it so that<BR>
a timestamp is populated for each plane:<BR>
<BR>
<a href="http://git.openmicroscopy.org/?p=bioformats.git;a=blobdiff;f=components/bio-formats/src/loci/formats/in/BDReader.java;h=d2c2a23d18aa9171c1dd648ea2f695700c4674d0;hp=5c9dd968de4ca59e05b2f945246ec4b6c47202cc;hb=bb2f741a1e6c0a77d847fa0016fe147df5b33dfe;hpb=5c572c453c96c0a6731a04bc84686145805e65f2">http://git.openmicroscopy.org/?p=bioformats.git;a=blobdiff;f=components/bio-formats/src/loci/formats/in/BDReader.java;h=d2c2a23d18aa9171c1dd648ea2f695700c4674d0;hp=5c9dd968de4ca59e05b2f945246ec4b6c47202cc;hb=bb2f741a1e6c0a77d847fa0016fe147df5b33dfe;hpb=5c572c453c96c0a6731a04bc84686145805e65f2</a><BR>
<BR>
The absolute timestamp for any plane is then Image.AcquiredDate plus the<BR>
value of DeltaT for the corresponding Plane. For example:<BR>
<BR>
<Image ID="Image:0" Name="C013 Field #1"><BR>
<AcquiredDate>2011-01-25T15:00:29</AcquiredDate><BR>
<Pixels DimensionOrder="XYZTC" ID="Pixels:0" SizeC="3" SizeT="1" SizeX="1344" SizeY="1024" SizeZ="1" Type="uint16"><BR>
<Channel EmissionWavelength="520" ExcitationWavelength="334" ID="Channel:0:0" Name="Alexa 488 - Confocal" SamplesPerPixel="1"><BR>
</Channel><BR>
<Channel EmissionWavelength="520" ExcitationWavelength="334" ID="Channel:0:1" Name="Alexa 647 - Confocal" SamplesPerPixel="1"><BR>
</Channel><BR>
<Channel EmissionWavelength="520" ExcitationWavelength="334" ID="Channel:0:2" Name="Hoechst - Confocal" SamplesPerPixel="1"><BR>
</Channel><BR>
<BinData BigEndian="false" Length="0" xmlns="<a href="http://www.openmicroscopy.org/Schemas/BinaryFile/2010-06"/">http://www.openmicroscopy.org/Schemas/BinaryFile/2010-06"/</a>><BR>
<Plane DeltaT="0.0" ExposureTime="5.0" TheC="0" TheT="0" TheZ="0"/><BR>
<Plane DeltaT="-21.0" ExposureTime="5.0" TheC="1" TheT="0" TheZ="0"/><BR>
<Plane DeltaT="-40.0" ExposureTime="5.0" TheC="2" TheT="0" TheZ="0"/><BR>
</Pixels><BR>
</Image><BR>
<BR>
The absolute timestamp of plane 0 is then '2011-01-25 15:00:29', the absolute<BR>
timestamp of plane 1 is '2011-01-25 15:00:08', and the absolute timestamp of<BR>
plane 2 is '2011-01-25 14:59:49'.<BR>
<BR>
Regards,<BR>
-Melissa<BR>
<BR>
On Fri, Feb 25, 2011 at 10:37:45AM -0600, Garbett, Shawn P wrote:<BR>
> On 2/25/11 10:11 AM, "Melissa Linkert" <<a href="melissa@glencoesoftware.com">melissa@glencoesoftware.com</a>> wrote:<BR>
><BR>
> Hi Shawn,<BR>
><BR>
> > > MetadataTools.setDefaultCreationDate(store, tiffs[well][0], i);<BR>
> ><BR>
> > Isn't this only storing the first date? The goal is to have the timestamp for each image in the tiff stack, not just the first one. The problem is that sometimes an experiment is stopped and restarted, and the actual datetime stamp of each image is needed.<BR>
><BR>
> That will set the acquisition date for each well to be the last modified date<BR>
> of the first file in the well.<BR>
><BR>
> Using the setPlaneDeltaT method in loci.formats.meta.MetadataStore, we<BR>
> could set the timestamp for each plane in milliseconds since the first<BR>
> plane was acquired. Keep in mind though that this may not always be<BR>
> accurate, especially if the timestamps on the files were changed. I<BR>
> wasn't able to find the timestamps anywhere in the metadata files, but maybe<BR>
> you know of somewhere to find that information.<BR>
><BR>
> Well, we have to rely on the timestamps on the files (specifically the creation date). It's the only source of this information from the BD Pathway at present. It's not the best source, but it's the only source. You configure it to acquire say every 5 minutes, then it gets as close as it can. Sometimes even experiments are stopped and restarted, this throws off the statistics.<BR>
><BR>
> setPlaneDeltaT sounds like a fine solution to me-as long as the information is stored and it's recoverable.<BR>
><BR>
> Shawn<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>