LensID behaving weird when using personal lens list

Started by coderocker, June 11, 2012, 06:26:12 PM

Previous topic - Next topic

coderocker

Hi Phil and forum,

while writing a script to simplify my image importing process with the mighty ExifTool, I stumbled over this questionable behavior. Maybe I don't understand what's going on or ExifTool is making a wrong decision. Please help me find out.

I have a list of owned lenses in my configuration file, among which are
Tamron AF 18-250mm F3.5-6.3 XR Di II LD
Tamron SP AF 10-24mm F3.5-4.5 Di II LD Aspherical IF


I have an image which was shot with the 18-250 at a focal length of 60 mm which logically can only be identified correctly. But when running
exiftool.exe -lensid -focallength
I still receive this output
======== c:/Users/c/Desktop/pix/DSC02491.dng
Lens ID                         : Tamron AF 18-250mm F3.5-6.3 XR Di II LD or Tamron SP AF 10-24mm F3.5-4.5 Di II LD Aspherical IF
Focal Length                    : 60.0 mm


If I deactivate the lenses in the configuration file, the output changes correctly to
======== c:/Users/c/Desktop/pix/DSC02491.dng
Lens ID                         : Tamron AF 18-250mm F3.5-6.3 XR Di II LD
Focal Length                    : 60.0 mm


I can see this (from my point of view wrong) behavior in a couple of configurations with different lenses and focal lengths.

Is ExifTool ignoring all decision algorithms when a personal lens list is used? How can I determine the logically correct lens while still maintaining my lens list to get rid of lens suggestions I don't own?

Thank you for your help!

Phil Harvey

Unfortunate that you own 2 lenses with the same lens identification number. :(

Yes, ExifTool ignores the lens logic for user-defined lenses.  This is because the logic is not infallible, so the user-defined lenses give you a chance to override this to obtain the desired behaviour.

However, I should be able to insert the logic to choose the best match in the case of multiple user-defined lenses with the same ID.  I'll look into this.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

coderocker

Yes, it is very unfortunate. I even have a third lens with the same ID, I'm afraid.

It would be great if the decision logic could be moved past the "own lens" logic so from a user's perspective the behavior would be:


  • Find all the lenses that have this lens id number, e.g.: Tamron 1, Sigma 1, Tamron 2, Sony 1
  • Compare with the personal lens list and discard all the lenses not specified there, resulting in: Tamron 1, Tamron 2
  • Optional: In case there are no lenses left in the result, revert back to the default behavior of all possible lenses
  • Now apply the decision logic which rules out lenses that don't have the the focal length/aperture of the picture, resulting in: Tamron 2

Thanks for the time you keep putting into this great project!

Phil Harvey

Could you send me an original sample image from each of these lenses?  I could use these for testing.  My email is philharvey66 at gmail.com

If this is not possible, then it would help to at least know how the lenses are identified without your user-defined lens settings.

Thanks

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

coderocker

Yes, I'll send you original images of the lenses in question. I won't get to it in the next four hours but I'll try to send it today.

coderocker

I sent you an email with links to some samples.

The images are straight from my Sony Alpha 55.

One pic per lens (the 10mm and the 60mm) should be uniquely identifiable by a combination of the "my own lenses" logic with the default "which lens could it be according to focal length and aperture" logic. The other two pictures (24mm and 18mm) overlap in possible focal lengths so it's harder (or impossible) for ExifTool to pick the right one.

Let me know if you need more samples or more information, I'm happy to help.

Phil Harvey

Thanks for the samples.  I think I can fix this for the next release so it behaves as you suggest.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

coderocker