Time information in TIFF files

5 views (last 30 days)
Eric
Eric on 26 Jan 2011
Commented: Xiaoli on 9 Feb 2017
I am using "imwrite" and "WriteMode" "Append" to create a multi-tif file (a movie). I would like to include information about the time that each tif image was created in the multi-tif file. How do I add time information to the tif files?

Accepted Answer

John
John on 18 Feb 2011
There is a tag called 'DateTime' that is intended for this purpose, but IMWRITE can only write a limited subset of TIFF tags, and 'DateTime' is not in that subset.
The Tiff object (introduced in R2009b) can manipulate a much broader set of tags, so it may suit your purposes better than IMWRITE. For example, to write out a multi-page TIFF consisting of the first through the 12th eigenfunctions of the L-shaped membrane, one could do something like the following:
t = Tiff('myfile.tif','w');
tagstruct.ImageWidth = 31;
tagstruct.ImageLength = 31;
tagstruct.Photometric = Tiff.Photometric.MinIsBlack;
tagstruct.BitsPerSample = 64;
tagstruct.SampleFormat = Tiff.SampleFormat.IEEEFP;
tagstruct.RowsPerStrip = 31;
tagstruct.PlanarConfiguration = Tiff.PlanarConfiguration.Chunky;
for k = 1:12
data = membrane(k);
tagstruct.DateTime = datestr(now,31);
t.setTag(tagstruct);
t.write(data);
t.writeDirectory();
end
t.close();
The 'DateTime' tag is limited to 20 characters, so if you need more temporal resolution than that, you might have to hijack another tag for your purposes, such as 'ImageDescription' or 'XMP'.
  4 Comments
Angelina
Angelina on 4 Sep 2012
I see, oversight on my part. Thank you for clarifying!
Xiaoli
Xiaoli on 9 Feb 2017
To write in append mode change 'w' to 'a'

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!