This is my understanding of the situation.....
The camera gets an id number from an attached lens( '141' in your case, '137' in mine) and uses it to look up the lens data in it's internal table which it then includes in exif makers data in a raw file. Darktable (and many other photo apps) use exiv2 to query the exif data in a raw file and exiv2 returns the data as set by the camera. However when a Nikon (and maybe other makes) identifies a foreign lens it seems to allocate an arbitrary id and marks it 'Unknown (8D 54 68 68 24 24 87 02)' in exif. This is what exiv2 reports to the application. This means Darktable has no data which it can use to process the lens - so can't lookup the lens in lensfun for correction info.
It's a camera manufacturer issue that manifests in exiv2, and is discussed here https://dev.exiv2.org/boards/3/topics/2782 and described by exiv2 developer here: http://dev.exiv2.org/projects/exiv2/wiki/Lens_Recognition_in_Exiv2_v026_(and_later)/
While you will be able to manually select the lens in Darktable Lens Correction module, I unfortunately couldn't because the lens wasn't in lensfun. At first I tried to use other lenses correction data but this wasn't satisfactory so I calibrated the lens, which is now in the latest lensfun db. I still had to manually select the lens in Darktable of course - which is a real pain if you process lots of images because you can't use an automatic preset to apply Lens Correction.
You will note the exiv2 fix is only available for exiv2 0.26 on. As of early 2020, I found hardly any Linux distros that had/were planning to upgrade to that version - OpenSUSE was one, I think Fedora the other. Therefore there may not be much you can do about it. Upgrading exiv2 on a distro . You may be able to upgrade exiv2 to 0.26 on your platform and recompile Darktable to use it, but that will break any graphics package that depend on the pre-upgrade exiv2 version - which may or may not be an issue for you.
I also lost the ability to add lens info to final image files. I scripted a workaround for this using exiftool to look for the bad id ('137' for me) in the LensID exif tag and then wrote the Tokina data into the LensMaker and LensModel tags. This won't help the Darktable issue, however.
Fortunately, I recently replaced my laptop with a workstation on which I chose to run OpenSUSE which as default has exiv2 0.27, so I can now use the workaround described in the exiv2 link, and the problem is solved.
Good luck
On 15/06/2020 21:39, Michael Rasmussen
wrote:
Hi all, Weird problem in Darktable where lens is not found although there are lens corrections available in Darktable for the specific lens.Darktable recognizes the lens as '141' Hardware: Nikon D600 Tokina 100mm F2.8 MACRO AT-X M100 PRO D Software dpkg -s libimage-exiftool-perl Package: libimage-exiftool-perl Status: install ok installed Priority: optional Section: perl Installed-Size: 20932 Maintainer: Debian Perl Group <[email protected]> Architecture: all Version: 12.00-1 this is darktable 3.0.2+9~g5ac2260e3 copyright (c) 2009-2020 johannes hanika [email protected] compile options: bit depth is 64 bit normal build SSE2 optimized codepath enabled OpenMP support enabled OpenCL support enabled Lua support enabled, API version 5.0.2 Colord support enabled gPhoto2 support enabled GraphicsMagick support enabled OpenEXR support enabled Linse info from exiftool Lens Type : D Lens : 100mm f/2.8 Lens ID Number : 141 Lens ID : Unknown (8D 54 68 68 24 24 87 02) Lens Spec : 100mm f/2.8 D As can be seen Darktable uses 'Lens ID Number'. Rawtherapee 5.8 correctly identifies the lens.
____________________________________________________________________________ darktable user mailing list to unsubscribe send a mail to [email protected]
