Reconnaissance des objectifs sous darktable 3.2.1

Bonjour à tous,

J’uilise régulierement Darktable depuis plusieurs années, c’est un excellent soft de traitement d’image.
Je suis equipé d’un boitier CANON 6D Mark II associé a deux objectif TAMRON : le SP 15/30 et le SP 24/70.
J’utilise Darkable 3.2.1 sous LINUX MINT 19.3.

Mais a ce jour, j’ai un probléme avec l’import de mes photos.
DarkTable reconnais comme objectif un CANON EF 300mm f2.8 sur toutes mes fichiers d’import.

J’ai vérifié ces fichiers importés par l’outil EXIFTool de Phil Harvey et il donne bien comme objectif soit le TAMRON SP 15/30 ou le SP 24/70.

j’ai bien essayer une mise a jour des objectifs via le terminal avec la commande ‹ lensfun-update-data › en mode administrateur.
et ensuite importer de nouveaux fichiers mais toujours le CANON EF 300mm f2.8 comme objectif reconnu.

J’ai aussi essayer d’importer les fichiers avec une autre session et utilisateur different mais même résultat

Est-ce que quelqu’un à une idée :idea: , pour réparer Lensfun et/ou Darktable ?

Bonne Journée à Tous.

La mise à jour de la BdD Lensfun est une bonne chose, mais en l’occurrence ce n’est pas de Lensfun que vient le problème. Dans darktable la reconnaissance des données EXIF des fichiers est faite par libexiv2, c’est de ce coté là qu’il faut chercher. Il faut vérifier :
[list]
[]La version d’exiv2 utilisée par darktable sur ta machine.
[
]Le support de tes objectifs par exiv2 pour cette version.
[]Si tes objectifs ne sont pas pris en charge, ce qui est très probable vu tes difficultés, la possibilité de passer à une version plus récente d’exiv2, ce qui dépend de la version de la distrib Linux que tu utilises
[
]La possibilité d’ajouter toi même tes objectifs dans un fichier de conf d’exiv2, ce qui dépend de la version d’exiv2 - de mémoire à partir de la 0.25 ou 0.26.
[/list]Je ne peut t’en dire plus car tu ne nous a pas donné d’informations sur ton système et sa version

Bonjour,
j’ai le tamron 15-30 et j’ai le même problème que toi. Les deux objectifs, le 15-30 et le Canon 300 ont le même numéro d’identification, d’où le problème.
Bien qu’ayant l’objectif depuis plusieurs années je ne suis pas allé plus loin dans la résolution du problème.

Cordialement
Christian

Et accessoirement une recherche sur le forum. Il y a déjà eu des sujets similaires sur les tamron.

J’ai exactement le même problème depuis des années. C’est la bibliothèque libexiv2 qui fait un peu ce qu’elle veut, et elle te colle n’importe quelle référence d’objectif au hasard des mises à jour, mêmes mineures.
Alors que de son côté, liblensfun référence correctement les combinaisons de boitier/objectif, vu qu’il est possible de les sélectionner manuellement dans le module correction des objectifs si la détection ne se fait pas correctement. Ce que je fais en enregistrant un pré-réglage avec les ojectifs problématiques pour pouvoir contourner le problème rapidement.

L’année dernière, j’avais un PC fixe sur Debian Sid et un portable sur Kubuntu 18.04.
J’ai eu les objectifs de kit AF-P 18-55 + AF-P 70-300 de mon Nikon D5600 qui ont sauté sur ma Debian Sid sans raison apparente, alors que tout fonctionnait quelques semaines plus tôt. Environ un ou deux mois plus tard, ces 2 mêmes objectifs n’étaient plus reconnus non plus sur Kubuntu 18.04. Et puis à un moment c’est revenu, et c’est d’autres qui ont sauté.
Tout ça alors que exiftool, contrairement à libexiv2, m’affiche toujours la bonne référence d’objectif sans jamais faillir.

Là actuellement je suis sur Kubuntu 20.04 sur mon PC fixe et toujours sur Kubuntu 18.04 sur mon portable.
Et pour l’heure c’est mon objectif Nikon AF-P 10-20 DX et mon Tamron macro 90mm f/2.8 G2 qui ne sont plus reconnus correctement sur les 2 distributions. Remarque: j’ai toujours la même distribution sur mon portable depuis plus de 2 ans avec des résultats changeants.
:huh:

Je sais que c’est libexiv2 qui n’est pas fiable du tout parce que Gwenview, la visionneuse KDE qui est aussi basée sur libexiv2, m’affiche aussi n’importe quoi.

Ci-dessous le résultat de Gwenview avec le Nikon AF-P 10-20 DX. Il m’affiche bien Lens: 10-20mm F4.5-5.6 et quelques lignes plus bas Lens ID Number: Nikon AF-S Zoom-Nikkor 200-400 f/4 IF-ED VR II.

Le Tamron 90mm f/2.8 macro.

Le Nikon AF-P 18-55 DX et le Nikon AF-P 70-300 DX font en fait encore nimp par derrière.


Les 2 objectifs avec lesquels je n’ai jamais eu aucun problème de reconnaissance avec darktable. Le Nikon AF-S 35 DX et le Nikon AF-S 50 FX.


Alors que se passe-t-il sur le module correction d’objectif ? Sincèrement j’en ai aucune idée.
C’est comme si un dev de darktable contournait à la main les aneries que rapporte libexiv2 au fur et à mesure des rapports de bug, vu que mes objectifs 18-55 et 70-300 sont maintenant reconnus correctement alors qu’ils sont toujours aussi pétés dans Gwenview.

Pour rajouter encore une couche de mystère au problème, tous mes objectifs problématiques sont maitenant référencés correctement dans darktable (ce n’était toujours pas le cas l’année dernière), autant dans le module information de l’image que dans le module correction des objectifs. Idem, il y a une entrée pour chacun sur les Nikon APS-C dans liblensfun. C’est uniquement la liaison qui ne se fait pas automatiquement.

Chose rigolote : le binaire exiv2 m’affiche les bonnes informations sur tous les objectifs avec la commande

exiv2 -p a NomDuFichier.NEF

:dodgy:

Ci-joint archive avec des fichiers NEF problématiques pour ceux qui veulent faire des tests chez eux et qui ont la capacité de comprendre d’où vient le problème
https://nel.ovh/dl/exiv2-2020-10-25.zip

PS nicoauffray
Tes interventions sur ce sujet précis sont toujours autant inutiles. Il n’y a jamais eu aucune résolution de ce problème depuis toutes ces années malgré le nombre de topics croissants rapportant ces soucis dans ce forum. Le mieux c’est que tu gardes ton aigreur de ton coté de ton écran. Merci.

L’aigreur n’est que celle que tu vois. Je n’en ai aucune et pourquoi j’en aurais d’ailleurs… Contrairement à ce que tu prétends, une solution permet d’associer le bon objectif et contourner le problème d’identification d’exiv2. Elle a déjà été présentée sur ce forum, d’où mon simple rappel (et rien d’autre, il serait bon de ne pas voir autre chose que ce qui est vraiment !) qu’une recherche peut aider.

Et cette solution passe par un fichier .exiv2 qu’on peut créer pour forcer l’identification de l’objectif par Exiv2. Solution introduite en version 0.26 de cette librairie.

Par exemple : https://forums.darktable.fr/showthread.php?tid=4488&page=6&highlight=.exiv2 (je te laisse regarder les dates). Ou encore : https://forums.darktable.fr/showthread.php?tid=4470&highlight=.exiv2. Mais tu as raison, mes interventions sur ce sujet sont toujours autant inutiles…

Après que ce ne soit pas une solution idéale, je le comprendrais. Mais il serait plus simple de l’exprimer comme ça.

Je rappelle que lenFun et Exiv2 ne sont pas dépendantes de darktable qui ne fait que les utilser. Nous ne sommes pas responsables ni les développeurs du désagrément que celà peut provoquer.
[size=large]Un peu complaisance avec ceux qui malgré tout essayent d’aider.[/size]

Merci de cette réponse un peu plus constructive. Il faut admettre qu’un lien et une ligne d’explication, c’est plus efficace qu’un RTFM.
C’est vrai que j’avais vu cette solution en début d’année sans essayer de l’appliquer. Sauf qu’elle est loin d’être accessible à tout le monde.
Je trouve personnellement que le pré-réglage manuel est plus simple en attendant une solution plus pérenne.

Et sauf aussi que ça ne corrige qu’une partie du problème. Le binaire exiv2 sort bizarrement la bonne référence d’objectif, alors que la lib quand elle est appelée par un logiciel se plante dans ses références. Le fichier ~/.exiv2 corrige cet état de fait sur Kubuntu 20.04 + exiv2 0.27.2, la référence devient correcte dans Gwenview. Mais darktable avait déjà la bonne référence d’objectif + boitier sans ce fichier ~/.exiv2, mais même avec il n’arrive toujours pas à faire automatiquement la bonne association avec lensfun. Ce qui est quand même le sujet qui nous intéresse ici. J’ai tenté de faire une importation d’un fichier NEF vierge de tout XMP, mais rien n’y fait darktable ne veut pas faire la liaison en automatique.

Voilà ce qu’il me dit :

Là j’arrive au maximum de mes compétences, je ne sais pas trop où chercher ni quoi faire. Je vois que toutes les briques sont là pour que ça fonctionne, mais j’ai beau chercher, j’arrive pas à les empiler correctement pour avoir une vraie solution.

Un raw en téléchargement permettrait de trouver une solution si elle existe dans la master ou de dépatouiller dans la base de données de LensFun.

Trouvé ! :smiley:

En fait dans mon cas, ce sont les données liblensfun qui ne sont pas en raccord avec la sortie du binaire exiv2.

Pour le Nikon AF-P 10-20 DX

<model>Nikon AF-P DX Nikkor 10-20mm f/4.5-5.6 VR 168</model> devient <model>Nikon AF-P DX Nikkor 10-20mm f/4.5-5.6G VR</model>
J’avais déjà viré le 168, mais j’avais pas vu le G qui manquait.

Pour le Tamron 90mm macro

<model>Tamron SP AF 90mm f/2.8 Di Macro 1:1</model> devient <model>Tamron SP 90mm f/2.8 Di VC USD Macro 1:1</model>
J’avais déjà tenté de le remplacer par la sortie de exiftool, sans succès, pensant que la chaine de caractère était directement produite par l’objectif et donc similaire à celle de exiv2. Grosse erreur de ma part, les 2 outils interprètent les exifs chacun à leur façon.

La sortie de exiftool donne quant à lui

Tamron SP 90mm f/2.8 Di VC USD Macro 1:1 (F017)

ce qui n’a rien à voir du tout.

Soit dit en passant, le fichier ~/.exiv2 n’a aucune incidence sur darktable, contrairement à Gwenview. Ce qui m’a surement induit en erreur, vu les différences entre la libexiv2 et le binaire exiv2.
Alors c’était peut-être le cas sur les anciennes versions. Mais sur celle dispo sur les dépots OpenSuse pour Ubuntu 20.04, une correction par ~/.exiv2 ce n’est pas nécessaire.

[hr]

Par contre ça n’a rien à voir avec le souci de christg69.
Dans son cas, il faudrait qu’il poste le retour de cette commande sur un fichier raw avec son objectif Tamron 15-30

exiv2 -pt NomDuFichier.Raw | grep LensID

Mais si comme dit chloma, 2 objectifs ont la même référence, je crains qu’il n’y ait pas de réelle solution

Aider prend du temps, rechercher pour autrui aussi. Rappeler qu’une recherche permet de trouver une solution, c’est aussi donner à apprendre à pêcher que de donner du poisson tout cuit. Et apprendre à chercher (donc à pêcher pour la métaphore) est encore plus constructif… dans la durée. Je trouve dommage que tu oublie cela ici. Navré si j’essaie d’aider tout autant que de faire appel à l’intelligence d’autrui et d’espérer qu’il apprenne plus à trouver par lui-même. Il faut admettre que ce dernier commentaire est tout de même plus correct et à propos que le précédent.

Je n’ai jamais prétendu que ça corrigeait complètement le problème, mais qu’une solution existait. Comme je l’ai évoqué sur mon précédent message, je peux totalement comprendre que la solution ne soit pas complètement satisfaisante. Mais ça ne dépend de personne ici, puisque ça dépend du développement d’Exiv2 (et encore, au vu de la raison du problème, ça n’est pas si simple). En attendant, ici on ne peut que se contenter d’amener chacun à la solution existante (ou à l’autre alternative que tu évoques).

Pour résumer, je pense que tu n’arriveras pas à les emplier correctement pour une vraie solution puisque le problème vient de l’association de l’identifiant (qui est un numéro), où Tamron applique des numéros utilisés également par Nikon (référence de cette info : le Github de la librairie Exiv2). Pour les anglophones, plus d’infos via ce lien et la quinzaine de rapports de bugs autour des Tamron : https://github.com/Exiv2/exiv2/issues?q=is%3Aissue+tamron+is%3Aclosed (certains sujets surtout abordent ce problème, pas les 16 bien entendu ; je vous laisse faire le tri).

bonjour,

Merci pour vos retours, ils sont trés interressant.
Mes probléme de reconnaissance d’objectifs ont débuté aprés l’installation de la version 3.0
la mise a jour en 3.2.1 n’a pas résolu le probléme.

La version de exiv2 installé est la exiv2 0.25 001900

quand je tape cette commande dans le terminal :

exiv2 -pt MG3605.CR2 | grep LensID

aucune erreur affichée mais aucun retour :

christian@USS:~$
christian@USS:~$ exiv2 -pt MG3605.CR2 | grep LensID
christian@USS:~$
christian@USS:~$

j’ai utilisé aussi exiftool sur le meme fichier :

exiftool MG3605.CR2 | grep Lens

il y a une incohérance au niveau de la réponse :

Lens Type : Canon EF 300mmf/2.8L USM
Lens Model : TAMRON SP 15-30mm F/2.8 Di VC USD A012
Lens ID : TAMRON SP 15-30mm F/2.8 Di VC USD (A012)

J’ai du mal à expliquer ce retour de exiftool

Merci.

Salut christg69

Pour toi il n’y a pas de solution dans l’état actuel. J’ai téléchargé un raw sur Dpreview pour pouvoir faire quelques tests.
Et effectivement il faut pouvoir utiliser le fichier ~/.exiv2, et donc avoir exiv2 en version 0.26 ou supérieure, pour pouvoir rediriger l’objectif vers la bonne référence. Sur une Kubuntu 20.04 à jour, j’ai encore un comportement différent du tien. L’objectif n’est pas du tout reconnu, il m’affiche simplement un 202 en référence.

Je peux te donner la marche à suivre pour le faire fonctionner avec darktable en reconnaissance automatique

1/ Passer sur Ubuntu 20.04 pour avoir la bonne version d’exiv2

2/ Installer la version de darktable 3.2.1 à partir des dépots OpenSuse

3/ Installer le binaire exiv2, vu qu’il n’est pas installé par défaut

sudo apt install exiv2

4/ Lancer exiv2 pour récupérer le numéro de référence de ton objectif avec la commande :

exiv2 -p v --grep lens/i NomDuFichier.Raw

0x0083 Nikon3 LensType Byte 1 78 0x0084 Nikon3 Lens Rational 4 150/10 300/10 28/10 28/10 0x008b Nikon3 LensFStops Undefined 4 72 1 12 0 0x000c NikonLd3 LensIDNumber Byte 1 202 0x000d NikonLd3 LensFStops Byte 1 72
Ce qui va te donner la valeur 202 en face de LensIDNumber. Ce n’est probablement pas la même ligne avec un boitier Canon. À adapter suivant ton cas.
C’est cette valeur qu’ont surement en commun la Tamron 15-30 et le Canon EF 300mm

5/ Récupérer la chaine de caractère : Tamron SP 15-30mm f/2.8 Di VC USD (A012) , correspondant à ton objectif dans la base de donnée lensfun.
Pour ton objectif Tamron, c’est dans /home/$USER/.local/share/lensfun/updates/version_1/slr-tamron.xml si la commande lensfun-update-data a été faite sans sudo.

6/ Créer à la racine de ton dossier /home/$USER un fichier .exiv2 qui fasse la liaison pour un boitier Canon entre la valeur 202 et la référence Tamron avec le contenu suivant :

[canon] 202=Tamron SP 15-30mm f/2.8 Di VC USD (A012)

7/ À partir de là tu peux tester voir si ça fonctionne avec la commande :

exiv2 -p a --grep lens/i NomDuFichier.Raw

Exif.Nikon3.LensType Byte 1 D G VR Exif.Nikon3.Lens Rational 4 15-30mm F2.8 Exif.Nikon3.LensFStops Undefined 4 6 Exif.NikonLd3.LensIDNumber Byte 1 Tamron SP 15-30mm f/2.8 Di VC USD (A012) Exif.NikonLd3.LensFStops Byte 1 F6.0
La modification a bien étéprise en compte.

8/ Et maintent tous les nouveaux raw importés seront correctement référencés avec ton boitier Canon et le Tamron 15-30. Il te restera à ré-associer toutes tes anciennes photos prises avec cet objectif et déjà importées dans darktable.

[hr]
En admettant que cette procédure soit correcte, je ne comprends pas pourquoi exiv2 n’est pas capable d’associer correctement tous les objectifs, exiftool le fait très bien. On a une ligne qui définit la plage focale et la plage d’ouverture de l’objectif, ça doit pas être très compliqué de faire correspondre la bonne référence d’objectif.

0x0084 Nikon3      Lens                        Rational    4  150/10 300/10 28/10 28/10

Cette ligne, qui est la vraie valeur inscrite directement dans les exif sans interprétation par exiv2, veut simplement dire qu’on utilise un 15-30 en plage focale et f/2.8-f/2.8 en plage d’ouverture. Ensuite on a le LensIDNumber pour départager 2 objectifs qui auraient les mêmes plages.

Là tu vois j’ai détaillé toute la procédure en expliquant le pourquoi du comment. Ça n’empêche que j’ai perdu les 3/4 des personnes sur ce forum.
Je crois que tu ne te rends pas compte de la somme de connaissance que tu as accumulée pendant des années pour pouvoir comprendre toute la problématique liée à cette reconnaissance d’objectifs. 99% des personnes n’y comprendront absolument rien même en leur mettant un lien en anglais sous le nez. Je rappelle quand même que la plupart des intervenants, et surtout les débutants, sont avant tout là pour la photographie et que l’informatique leur passe par dessus de la tête. Ça n’empêche pas de rester correct et d’éviter les RTFM à tout bout de champ.

Je m’en rends bien compte, merci d’arrêter les conclusions hâtives et infondées. Et je crois que tu ne te rends pas compte du temps que ça prend aussi d’aider. Mais peut-être que je fais ici une conclusion hâtive et infondée… J’aime aider mais j’ai aussi d’autres choses à faire. Et cette procédure a été détaillée sur ce forum (revoir lien posté), peut-être pas aussi détaillée que tu viens de le faire, mais elle a été précisée. Et merci à toi de l’avoir fait. Certes, beaucoup sont là pour la photographie et j’ai bien conscience que la procédure n’est pas simple, mais tu oublie que je n’y suis pour rien. Je ne suis pas développeur Exiv2…

Enfin, je n’ai jamais eu à utiliser cette procédure, j’ai simplement eu l’occasion de tomber sur cette solution que j’avais décrit sur un autre post (français et sur ce forum, dont j’ai déjà mis le lien plus haut). Et donc, il me semblait utile de partager cette solution, même si elle n’est pas complètement satisfaisante, en revanche c’est la seule à ce jour. Alors oui, c’est chiant, oui tout le monde n’a pas un niveau informatique élevé et oui, malheureusement dans le logiciel libre, parfois certaines manips en sont pas simples. Et c’est ainsi, donc après, soit on veut résoudre le problème et on cherche aussi un peu, soit on fait avec, soit on va vers une solution qui est plus abordable, éventuellement payante. Et on prend l’aide éventuelle disponible. Personne n’est payé pour aider ici et malgré tout je pense qu’on fait un support meilleur que certains supports fait par des professionnels.

Il est vrai que tes propos sont aussi corrects… Quant aux RTFM à tout bout de champ, c’est gonflé, je te laisse revoir nombre de mes réponses détaillées sur de nombreux sujets. L’effort n’est pas à sens unique, il est aussi à faire par celui qui cherche à résoudre un problème. Je trouve gonflé d’attendre systématiquement que quelqu’un d’autre fournisse la solution toute cuite quand une recherche permet de la trouver parce qu’elle existe déjà. Pour ma part, je clos le sujet ici.

Bonjour,

Merci pour cette réponse précise.
Je suppose que c’est le meme probléme avec le TAMRON SP 27-70mm G2.
qui, lui aussi, est reconnu comme Canon EF 300mmf/2.8L USM.

Est il facile de retourner à la version DARKTABLE 2.6.2 ? (cette version fonctionne bien)

Sous Linux, je n’ai jamais retrograder au niveau version.

faire :
sudo apt remove darktable
sudo add-apt-repository ppa:pmjdebruijn/darktable-release
sudo apt-get install darktable

Est-ce correct ?

Actuellement, je suis sous LInuxMint 19.3 et envie d’y rester.
A la fin de l’année, je passerai, peut etre sous linuxMint 20.

Merci encore pour cette réponse.

Ça va être compliqué. Tu peux faire monter darktable en version sans problème, mais pas rétrograder.
Si vraiment c’est indispensable, il faut supprimer toute trace de darktable dans les fichiers de config et probablement aussi supprimer les XMP avant de réinstaller une ancienne version. Ce qui implique de perdre intégralement tout ce que tu as pu faire avec darktable jusqu’à aujourd’hui.

Dans ton cas et si tu ne veux pas changer de version de distribution, le plus simple c’est de choisir manuellement ton Tamron et de l’enregistrer en pré-réglage. De sorte à pouvoir le rappeler en 1 clic. Tu peux appliquer la même méthode avec plusieurs objectifs sans souci.

Bonjour Nel,

Merci beaucoup pour avoir pris du temps à donner des réponses bien documentées et précises.
Aprés lecture, je ne vais rien faire pour le moment.

J’ai l’intention de passer à LinuxMint 20.1(basé sur UBUNTU 20.4.1) qui sortira vers le 15 décembre.
En en fin d’année, nous aurons aussi le droit à une nouvelle version de Darktable.
il y aura peut etre une mise a jour exiv2 d’ici là… on peut toujours esperer.

Je ferais ces mises à jour et je reprendrai ta methode pour décrire le TAMRON 15-30 s’il n’ai pas reconnu.

Merci encore.