IMatch Special Lens Tag with Olympus and manual lenses

Started by abgestumpft, October 01, 2021, 08:49:49 PM

Previous topic - Next topic



when shooting with manual lenses without electronic contacts (like: "Samyang 7.5mm F3.5 UMC Fisheye MFT") on an Olympus Camera all the lens information is of course missing.
In the camera I can define a manual lens preset and provide some lens info. In my case it will fill out:

Exif::Main\42036\LensModel\0 = "Samyang 7.5mm F3.5 UMC Fish"
XMP::exifEX\LensModel\LensModel\0 = "Samyang 7.5mm F3.5 UMC Fish"
File.MD.Exif::Main\33437\FNumber\0 = 5.6
Exif::Main\37386\FocalLength\0 = 7.5

But what also happens is that (applies for all manual lenses on Olympus cameras) the camera will set an Olympus Equipment Tag:
0x0201   LensType = '0 00 00'   = None

This also will then end up in iMatch in tag: Composite\Exif-LensID\LensID\0
This tag is the main Tag on Olympus to identify the Lens.

What seems to happen now is that iMatch detects that Composite\Exif-LensID\LensID\0 value is set (to: "none") and then also sets internally the iMatch special tag:\2900\lens\0 to "none".

I played around a little bit with exiftool and metadata mechanic. When checking the last four fotos in attached screenshot (from bottom to top):
PA019600.ORF = Out of camera RAW file with Samyang Lens: Composite\Exif-LensID\LensID\0 = "none" -> iMatch Lens Info = "none"
PA019598.ORF = Here I've overwritten the Olympus LensType = '0 01 00'  (=Olympus Zuiko Digital ED 50mm F2.0 Macro) with exiftool -> this also shows up as iMatch Lens Info.
DSC_0341.NEF = Nikon Out of camera RAW: does not use this Composite\Exif-LensID\LensID\0 tag -> iMatch ignores it (because it's empty?) and seems to e.g. pick Exif::Main\42036\LensModel\0 instead.
P9036698.ORF = Out of camera RAW file with an Olympus lens with electronic contacts -> all info written and available

The problem I have now: I found no way to get rid of the Composite\Exif-LensID\LensID\0 value (e.g. via Exiftool). With exiftool I'm able to change the lens (but the Samyang does not exist in this list, just lenses with electronic contacts).
Is there a way I can fix this?


IMatch tries to identify the best possible lens information from these tags:


stopping with the first tag that contains a value. This has proven to be the best approach over many years.

Since the camera vendors never got their act together by adding a simple text field for "lens name" to EXIF and instead use different tags for different purposes, reuse lens ids for different lens models in their lineup, 3rd party lens creators which just make up their own lens ids with overlap, this is all pretty messed up. ExifTool does its best, and provides more or less usable lens information in a variety of tags - which you can all access in IMatch via variables. My approach to standardize this mess a bit into the lens tag is explained above. Not sure how your manual approach or Olympus' proprietary scheme fits into this. I suggest you just use the variable containing the info you need.
-- Mario
IMatch Developer
Forum Administrator  -  Contact & Support - Follow me on 𝕏 - Like on Facebook


Hi Mario,

thanks for your answer. I agree especially the lens tags are a complete mess: dozen of different EXIF tags just to store the same thing (lens name).
And then you have the different programs, that don't handle them well. I'm currently doing some cleanup for Canon Lens tags: I have a lot of files (all JPG) from 2004/2005 with messed up lens info here.

Seem that a program (ACDSee, PS Elements 6,... ?) did not handle the Canon lens tag correctly ("Canon::CameraSettings\22\LensType\0"). I'm fixing this at the moment with Metadata Mechanic by writing this Canon Lens type (works for most lenses, but not all).

Back to the Olympus special:
My understanding is that "Olympus::Equipment\513\LensType\0" set by camera to "'0 00 00'= None" ends up in "Composite\Exif-LensID\LensID\0" and will therefore be picked up by iMatch as "\2900\lens\0"
Of course it is stupid of Olympus to set their LensInfo="None" when a manual lens was attached.

But I now seem to have found a manual fix for this. With exiftool I insert an invalid lenstype (value "9 99 99") - so let's just hope Olympus will never use that one...  ;)
This is the list of known LensType values in Exiftool:
"C:\Program Files\\imatch6\exiftool.exe" -lenstype#="9 99 99" -lensmodel="Samyang 7.5mm F3.5 UMC Fisheye MFT" <FileName>

Now it seems that "Olympus::Equipment\513\LensType\0" -> "Composite\Exif-LensID\LensID\0" is ignored (because invalid) and iMatch uses the next lens tag (like "XMP::exifEX\LensModel\LensModel\0</source>")

With that knowledge I'm also able to fix this now with iMatch and Metadata Mechanic, which is much faster because I can filter above all directories for affected files:
1. Filter on CameraManufacuter=Olympus, LensID=none, FocalLenght=7.5
2. Open Metadata Mechanic and set "Olympus::Equipment\513\LensType\0" as RAW value to "9 99 99"

3. Write Metadata to files
4. Now the Information in iMatch looks like this (is also available via "Samyang 7.5mm F3.5 UMC Fisheye MFT" in the automatic created iMatch lens category)

So I hope this will work without any catches  :)


Metadata Mess.

A simple text field in EXIF with the name of the lens would have been so easy.
But, given that camera vendors even in 2022 camera models still use 30 year old EXIF data and not XMP, I don't have hopes they will ever change that.
-- Mario
IMatch Developer
Forum Administrator  -  Contact & Support - Follow me on 𝕏 - Like on Facebook