Camera MakerNotes - structure

Started by SK, January 07, 2017, 09:23:32 PM

Previous topic - Next topic

SK

Hi, I need some advice and help!
Background:
I am trying to parse a folder (and sub folders) which contain photo's RAW & JPG files from different camera's and build a database using the exiftool/perl interface. I want to use a table (obviously FIXED strucuture). Here are my questions:

  • I am ok with EXIF, IPTC & XMP tags since I will be looking for "specific" tags to populate my table - If they don't exist no issues
  • The problem I am having is with Makernotes! Do all camera's makernotes have FIXED file structure; For example if you take CANON & NIKON as example do they have identical attributes under makernotes?
  • If not to 2 above, are there COMMON attributes that will be found in ALL camera makes under makernotes

Hayo Baan


  • OK, you can use the -f option to force output of non existing tags.
  • No, structure and content are different for each brand and even model
  • Some tag may be available in the makernotes of multiple brands, but even then they could have a different format/meaning

So basically with the makernotes it's best to just try with the files you have from different cameras.
Hayo Baan – Photography
Web: www.hayobaan.nl

SK

Hayo,
From your reply it is implied that one can parse and create a database of specific tags from EXIT, IPTC & XMP but cannot parse MakerNotes (since they are not standard). In other words any searches on MakerNotes is not possible from the database except for those tags in MakerNotes that are also available in EXIF!
Does lightroom for example, store makernotes tags in SQLite database?

Hayo Baan

Quote from: SK on January 08, 2017, 09:49:47 AM
Hayo,
From your reply it is implied that one can parse and create a database of specific tags from EXIT, IPTC & XMP but cannot parse MakerNotes (since they are not standard). In other words any searches on MakerNotes is not possible from the database except for those tags in MakerNotes that are also available in EXIF!
Does lightroom for example, store makernotes tags in SQLite database?

Possibly; information (derived from) the makernotes might be essential for processing raw data and they may have chosen to keep this in their database for quick retrieval.

But I think you misunderstood what I wanted to say. It is definitely possible to store makernote fields in a database. Just not all will be there and not all fields will mean the exact same thing for each camera (brand). So when you retrieve data from your database you will need to apply some logic as to how the data should be interpreted based on brand and model.

Also important to note is that the same tag sometimes is present in multiple locations in a file (each may even have a different value!). So perhaps you want to store the "group" the data comes from as well (use -G0:1 to get precise location info). To get the tags from all locations, use -a.
Hayo Baan – Photography
Web: www.hayobaan.nl

SK

QuoteBut I think you misunderstood what I wanted to say.
I hear you loud and clear :-)

If I chose to store makernotes...it looks like I need to apply business rules in interpreting and translating based on camera make and model  - Am I right?

If  so, this needs lots of research on my end!!!

Hayo Baan

Quote from: SK on January 08, 2017, 10:27:57 AM
If I chose to store makernotes...it looks like I need to apply business rules in interpreting and translating based on camera make and model  - Am I right?

Yes! But depending what exactly you want to store and what cameras/brands we are talking about, this does not need to be very difficult.

What is your intention for this database anyway?
Hayo Baan – Photography
Web: www.hayobaan.nl

SK

QuoteYes! But depending what exactly you want to store and what cameras/brands we are talking about, this does not need to be very difficult.

Right now I am looking to scan my personal photographs (huge collection of RAW and JPG) and create a database. I have used several camera's (CANON D70 MARK II, CANON XTI REBEL, CANON S95, FUJI FINEPIX S602 ZOOM etc to name a few). I want a structure but it looks like I have to figure out a common denominator (off course to your point understand the naming convention and their meaning) and structure of the table to house the data.

I would welcome all suggestions.

Phil Harvey

Unfortunately, I don't think it is reasonable to define a fixed structure to store MakerNote information.  Perhaps just an unordered list of variable tag/value pairs?

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

SK

Phil, you are right about MakerNotes!!

This is were I am heading...either save as key/value pairs (easy to parse using perl and just display them) & link the key/value with table id OR store as XML and use the table id as XML id!

The idea is each photo Id has fixed structure data (table with table id) & free form data (either key/value pairs OR XML)