Metadata Mechanic: RAW values question

Started by abgestumpft, October 04, 2021, 05:14:20 PM

Previous topic - Next topic

abgestumpft

Hi,

one question on Metadata Mechanic on writing RAW values:
Can this only write numbers (0-9) and not "." for floats?

When I write RAW value "131.7" (= Sigma 70-200mm f/2.8 APO EX HSM) to "Canon::CameraSettings\22\LensType\0", this ends up as "131" (= Canon EF 28-80mm f/2.8-4L USM or Sigma Lens)

For Canon lens types see: https://exiftool.org/TagNames/Canon.html#LensType

Mario

What is your decimal separator? . or , ?
Did you try both?
Which user interface language for image are you using? Which app locale (Edit > Preferences > Application)?
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

abgestumpft

I used the "." -> copy&paste from ExifTool docu: "131.7"

abgestumpft

Mh, could be Exiftool related, or I'm missing something else...
Just a quick test on command line:

C:\Test>"C:\Program Files\photools.com\imatch6\exiftool.exe" -g1 -s -n -LensType  "test.jpg"
---- Canon ----
LensType                        : 131

C:\Test>"C:\Program Files\photools.com\imatch6\exiftool.exe" -g1 -s -n -canon:lenstype=132.7  "test.jpg"
    1 image files updated

C:\Test>"C:\Program Files\photools.com\imatch6\exiftool.exe" -g1 -s -n -LensType  "test.jpg"
---- Canon ----
LensType                        : 132


abgestumpft

Could really be a exiftool-bug
In Exiftool (and iMatch) I can usually also provide LensType="<LensName>" and exiftool will convert it to a number.
E.g.

C:\Test>"C:\Program Files\photools.com\imatch6\exiftool.exe" -g1 -s -canon:lenstype="Canon EF 70-200mm f/2.8L USM"  "test.jpg"
    1 image files updated

C:\Test>"C:\Program Files\photools.com\imatch6\exiftool.exe" -g1 -s -n -LensType  "test.jpg"
---- Canon ----
LensType                        : 165

C:\Test>"C:\Program Files\photools.com\imatch6\exiftool.exe" -g1 -s -LensType  "test.jpg"
---- Canon ----
LensType                        : Canon EF 70-200mm f/2.8L USM



When doing the same with the Sigma:
C:\Test>"C:\Program Files\photools.com\imatch6\exiftool.exe" -g1 -s -canon:lenstype="Sigma 70-200mm f/2.8 APO EX HSM"  "test.jpg"
    1 image files updated

C:\Test>"C:\Program Files\photools.com\imatch6\exiftool.exe" -g1 -s -n -LensType  "test.jpg"
---- Canon ----
LensType                        : 131

C:\Test>"C:\Program Files\photools.com\imatch6\exiftool.exe" -g1 -s -LensType  "test.jpg"
---- Canon ----
LensType                        : Canon EF 28-80mm f/2.8-4L USM or Sigma Lens


Mario

Maybe ask Phil?
Did you check that the RAW tag data in the database is correct?
When you write-back you can see what IMatch is sending to ExifTool in the Output panel.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

abgestumpft

It works as designed:
https://exiftool.org/TagNames/Canon.html#LensType
QuoteDecimal values have been added to differentiate lenses which would otherwise have the same LensType, and are used by the Composite LensID tag when attempting to identify the specific lens model.

https://exiftool.org/forum/index.php?topic=3895.0
QuoteIn reality, decimal lens ID doesn't exist. Because third pary lenses (Sigma, Tokina,etc.) use the same ID values as Canon, Phil decided to put decimal point (for such cases) into documentation. That is, ID=4 means Canon lens was used, but it could also be Sigma, etc.

https://exiftool.org/TagNames/Composite.html

LensID (Not writable:)
LensType
FocalLength
MaxAperture
MaxApertureValue
MinFocalLength
MaxFocalLength
LensModel
LensFocalRange
LensSpec
LensType2
LensType3
LensFocalLength
RFLensType


The issue I had was that the lens showed up (after I added 131 to Canon lens ID) as a lot tags like:
Unknown (131) 14379 - 11008mm
Unknown (131) 14381 - 11264mm
Unknown (131) 14381 - 11520mm
...

For canon it seems in that case the
Composite\Exif-LensID\LensID\0 = Unknown (<Canon::CameraSettings\22\LensType\0>) <Canon::CameraSettings\24\MinFocalLength\0> - <Canon::CameraSettings\23\MaxFocalLength\0>mm

I fixed this by setting:
Canon::CameraSettings\22\LensType\0 = 131
Canon::CameraSettings\24\MinFocalLength\0 = 70
Canon::CameraSettings\23\MaxFocalLength\0 = 200

-> now it is detected as "Sigma 70-200mm f/2.8 APO EX HSM"  8)

PS: already set before by me was:
Exif::Main\42036\LensModel\0 = "Sigma 70-200mm f/2.8 APO EX HSM"
XMP::exifEX\LensModel\LensModel\0 = "Sigma 70-200mm f/2.8 APO EX HSM"