Latest Updates: exiftool RSS

  • Take a (Power)Shot at ThermoTagging

    Franz Buchinger 6:12 pm on October 25, 2009 | View Comments Permalink | Reply
    Tags: , exiftool, flickr, IPTC, picasa, thermotagging

    Phil Harvey recently published Exiftool 7.97, which comes with a well hidden, but exciting feature: it can decode the camera temperature for Canon PowerShot Models. All Canon Powershots built 2005 or later store this information in their EXIF header, albeit in a proprietary, previously unknown format. According to Phil, the camera temperature corresponds more or less to the external temperature, if the device was exposed for a certain time to an environment. This opens interesting possibilities for image searches: you can quickly filter out pictures taken on a hot beach or during a snowball fight in winter. This article shows you how to access the camera temperature and explores the possibilities of thermo tagging.

    UPDATE:Also quite a few Canon IXUS and EOS models as well as many Pentax cams seem to write this tag.

    filtering the temperature of your photos

    Hot or cold? - The CameraTemperature tag recorded by Canon Powershot cameras allows you to conduct temperature-based searches.

    Footage (c) Flickr users Orangesmell and Aduki

    Got footage?

    If you don’t own a PowerShot, you can quickly download the necessary footage: Phil Harvey hosts a huge “Meta Information Repository”, that contains sample images from many camera manufacturers, including Canon. Simply download the Canon Archive and extract it to your hard disk. Note: to save bandwith, the actual image has been replaced by a tiny placeholder, but the original metadata is still in place. This is fully sufficient for our experiments.

    As I don’t own a PowerShot by myself, I also made use of the footage in the repository. If you are a PowerShot user and want to create footage by yourself, be warned: don’t expose your camera to extreme temperatures as this might rapidly shorten its life expectancy.

    Extracting the Camera Temperature

    First make sure that you ‘ve installed Exiftool 7.97 or newer on your system. When in doubt, simply run

    exiftool -ver

    from your shell or command prompt – this command displays exiftool’s version number. Then navigate to a folder containing unmodified photos taken by a Canon Powershot camera and run

    exiftool -CameraTemperature -ext JPG .

    and you should get a list like

    Camera Temperature : 23 C
    ======== CanonPowerShotSD890IS.jpg
    Camera Temperature : 26 C
    ======== CanonPowerShotSD900.jpg
    Camera Temperature : 25 C
    ======== CanonPowerShotSD950IS.jpg
    Camera Temperature : 30 C

    Exiftool lists the camera temperature in degrees celsius. The -ext JPG . part of the command line makes exiftool look for all JPG files in the current directory, no matter if the extension is upper- or lowercase. By appending -r you can expand the search to subdirectories.

    Filtering by temperature

    With a bit of command-line-magic, you can also filter your photos by temperature:

    exiftool -cameratemperature -if '$cameratemperature# < 20' -ext JPG .

    will list all photos that were taken at a camera temperature below 20 degrees celsius, whereas

    exiftool -cameratemperature -if '$cameratemperature# >= 20' -ext JPG .

    displays a list of all photos taken at 20 degrees or more.

    These two filtering commands deserve some explanation: the -if parameter tells exiftool to process only files that meet a certain condition. Also the inner part of the if clause is a bit special: '$cameratemperature# < 20' consists of the tag name cameratemperature (the prepended $ is needed to identify a tagname within a string). The appended # tells exiftool to convert the tag value to a number (e.g. 19 instead of '19 C'). The rest of the clause is quite easy: '< 20' stands for "all values smaller than 20", while >=20 means “greater or equal to 20″.

    ThermoTagging hot or cool photos

    As exiftool “decodes a riddle wrapped in a mystery inside an enigma” (quote Phil Harvey), it can extract such esoteric tags like Canon:CameraTemperature that are buried in the depths of propriertary Makernotes. Most (if not all) other Metadata readers and image management applications fail decoding this information. So it would be nice to convert the camera temperature to a format that all other applications can access. The most common way to do so is to create an IPTC Keyword for the information contained in the tag. IPTC Keywords are read by most image editors including Photoshop, many photosharing services (including flickr and picasa) auto-convert them to tags during photo upload.
    Converted Thermotags at flickr.com
    Converted Thermotags at flickr.com

    Storing descriptive tags

    exiftool -keywords+=cold -if '$cameratemperature# < 15' -ext JPG .

    adds the IPTC keyword "cold" to your photo, if the camera temperature was less than 15 degrees. Just modify keyword and if-clause to tag "hot" photos ;-)
    To test your results, you can use


    exiftool -keywords -cameratemperature -if '$keywords eq "cool"' *.jpg
    ======== CanonEOS_KissX2.jpg
    Keywords : cool
    Camera Temperature : 18 C
    ======== CanonIXY_DIGITAL20IS.jpg
    Keywords : cool
    Camera Temperature : 17 C
    [...]

    This commands lists all photos with the keyword “cold” and extracts their keywords and Camera Temperature.

    Storing precise values

    If you want to store the precise degree value, you can use:

    exiftool '-cameratemperature+>keywords' *.jpg

    which copies the Camera Temperature value directly to an IPTC Keyword:

    exiftool -keywords CanonPowerShotSX200IS.jpg
    Keywords : cool, 18 C

    Is the camera temperature really identical with the outside temperature?

    Although I don’t own a Canon Powershot, I wanted to verify Phil’s assumptions on Canon’s CameraTemperature. In short, he claims that the CameraTemperature is close to the outside temperature, if the device was left in an environment for a certain time. According to him, taking a lot of images in a short time additionally heats up the camera by some degrees. While my tests can’t prove the equality of the temperatures, they indicate a strong correlation (maybe with some offset factor):

    • Range of the CameraTemperature exiftool dumped out values between 12 and 39 degrees celsius for Phil’s sample images. This indicates that the camera temperature is maybe a bit above the outside temperature (why are there no pics with values less than 10 degrees?)
    • Correlation of creation date and CameraTemperature When I compared the temperature with the creation date (Exif:DateTimeOriginal), it turned out that all photos with value less than 20 degrees were taken in autumn or winter
    • Visual correlation I extracted a few thumbnails from the “hottest” (> 35) degrees and coldest (< 15 degrees) values) and tried to find visual hints for heat or coldness (e.g. snow, summer clothes etc). My verdict is that there are no contradictory elements, but you can judge for yourself by looking at the hottest or the coldest thumbnails.

    Acknowledgements
    I want to thank Phil Harvey for developing Exiftool and his suggestions on this article. Vesa Kivisto also deserves a honorary mention for the decoding of the CameraTemperature tag.

     
  • Shutter Count - the mileage indicator for your DSLR

    Franz Buchinger 7:15 pm on July 25, 2009 | View Comments Permalink | Reply
    Tags: Canon, count, , exiftool, Firmware, Nikon, Olympus, Pentax, shutter

    So you are about to buy a used DSLR cam from eBay. The model isn’t top-notch, but still solid quality and was released 2 years ago. The pictures on the auction page of the cam look good, but was the camera really rarely used as stated in the auction text? Or are you making your bid for an over-used device that already suffers from abrasion “diseases” like wobbly buttons?

    Estimating the “true age” of a camera

    The date of purchase isn’t a very reliable indicator, as the usage intensity of cameras can vary greatly. A 2-year-old DSLR that is mainly used at holidays or family events is surely in a better condition than one that serves as bi-weekly-party snapshot device.

    It would be nice to have something like a mileage indicator for DSLRs, that more or less counts every picture ever taken with a particular cam. Luckily, such a magic indicator already exists, although its information isn’t always easy to obtain: The Shutter Count measures the number of shutter releases during the lifetime of your camera. A shutter is a moveable device, that exposes the camera sensor to the light during the shooting of the picture. Roughly spoken, the number of shutter releases approximately corresponds to the number of pictures taken with your camera.

    Accessing the Shutter Count with exiftool

    Unfortunately, the Shutter Count isn’t very easy to access. Only a few DSLR models from Nikon, Canon, Pentax and Samsung (green model names) dump this information out with their EXIF metadata. If you intend to buy such a camera, you can ask the seller to mail you an unmodified photo directly taken from the camera.
    Jeffrey Friedl's Exif Viewer reports the Shutter count
    Jeffrey Friedl's Exif Viewer reports the Shutter count

    You can then either upload the photo to Jeffrey Friedl’s Exif viewer or install the famous ExifTool metadata extractor on your system (Win/Mac/Linux). Open a shell/console, navigate to the directory where you stored the photo and type

    exiftool THE_UNMODIFIED_IMAGE.JPG | find "Shutter Count"
    on Windows or


    exiftool THE_UNMODIFIED_IMAGE.JPG | grep Shutter Count
    on Linux or Mac OS.

    If a line like
    Shutter Count: 2391

    appears at your command prompt, your attempt was successful. If nothing appears, your model likely doesn’t include the shutter count in its metadata. NOTE: Only a few EXIF viewers will extract the Shutter Count value, as it is stored in the so-called Makernotes (proprietary extensions of the EXIF standard). To get reliable results, please use the tools I mentioned above.

    The Firmware way

    This Olympus E-500 has a Shutter Count value of 2265 (screenshot of cam display, yellow highlighted)

    This Olympus E-500 has a Shutter Count value of 2265 (screenshot of cam display, yellow highlighted)


    Anyway, there is still hope: a few Models, such as the popular Olympus E-Series cameras, allow you to access the shutter count by sniffing the camera’s firmware. The downside: you need physical access to the camera and some patience (or a reliable AND skilled person that does this for you). This guide shows you how to display the shutter count value on the screen of your Olympus E-Series camera.

    Interpreting the numbers

    You had a hard time to retrieve the shutter count, but what does the value mean? Is the cam still a teenager or already almost in heaven? Oleg Kikin maintains a Shutter Count life expectancy database. Users report their shutter count numbers and whether the cam is still alive or already trash.

    Life expectancy of a Nikon D70 based on the shutter count value

    Life expectancy of a Nikon D70 based on the shutter count value (clicks). Only 37% of all models with more than 100.000 pictures are still working.


    While these numbers can give you some orientation, don’t forget to consider that a lot of factors impact the live expectancy of a DSLR: outdoor usage, storage or maintainance intervals. You should also be aware of the fact that shutter counts are not immutable. EXIF-based shutter counts can be manipulated quite easily, but also the firmware values aren’t immune: firmware upgrades or repairs may alter the shutter count.

     
c
compose new post
j
next post/next comment
k
previous post/previous comment
r
reply
e
edit
o
show/hide comments
t
go to top
esc
cancel