darktable-org / darktable-org/darktable

Detect Lens info from in camera list description for manual lenses on Nikon Zf

Open
#19,422 4 comments 0 reactions 1 assignee View on GitHub

@wpferguson is already working on this.

Since Sep 20, 2026.

no-issue-activity
Dominant language
C
Stars
13.1k
Forks
1.4k
Avg merge
22h 14m
Merged PRs (30d)
198

Description

Is your feature request related to a problem? Please describe.

I have a similar problem with the images from my Nikon Zf as described in #18636 and this will also be the case for other Z cameras such as the Z6III, Z8, Z9. From firmware 2.0 the camera offers the possibility to create a list for lenses without CPU in which the lens name, the focal length and the speed of each lens can be entered. If a corresponding lens is used on the camera, it can then be selected from the list. The aperture set on the lens can be adopted on the camera using a selection dial. Unfortunately, this data is only stored in the Exif.Photo data. However, Darktable only reads the Exif.Nikon data and recognizes Manual Lens No CPU

exiv2 -pt DSC_0034.NEF | grep -i Lens
Exif.Nikon3.LensType                         Byte        1  MF 
Exif.Nikon3.Lens                             Rational    4  n/a
Exif.Nikon3.LensFStops                       Undefined   4  0
Exif.NikonLd4.LensIDNumber                   Byte        1  Manual Lens No CPU
Exif.NikonLd4.LensFStops                     Byte        1  F0.0
Exif.NikonLd4.LensID                         Short       1  0
Exif.Photo.LensSpecification                 Rational    4  n/a
Exif.Photo.LensMake                          Ascii       6  
Exif.Photo.LensModel                         Ascii      65  Summicron-M 1:2/50
Exif.Photo.LensSerialNumber                  Ascii      11  

Describe the solution you'd like

If Darktable recognizes "No CPU", the Exif.Photo data should also be evaluated.

Additional context

Nikon_Zf_exif_data.zip

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.