EXIF Anti-Aliasing, removing dup values, redundant tags, ...

Started by BrianP, September 22, 2015, 02:51:35 PM

Previous topic - Next topic

BrianP

In an effort to reduce clutter, redundant info and uninformative junk from the ExifTool reports, the following SQL table can be used to filter the results.

Seeing ShutterSpeed, ExposureTime and ShutterSpeedValue, all with redundant info decreases readability. ExifTool is just faithfully reporting on what the camera gurus put there.

The scheme is A) master, B) match, C) Alias
Master: the 1 tag you want to see
Match:  "=" => the alias value is a substring match on the master value  (anchored at start of string, case insensitive by default)
              "*" => Nuke alias if the Master is present and has ANY (true, not null) value
Alias:  redundant junk to eliminate (Trailing * moves anchor to end as in m/(bla){3}$/)
            Alias is an array value, all tokens are nuked if they pass the match test (see LensID)

EX:  FocalLength * FocalLengthIn35mmFormat  => Destroy the 35mm variant if FocalLength is present and TRUE
        ExposureTime = ShutterSpeed  => Pick the label you like and remove appositives
        ExposureTime = ShutterSpeedValue  => Adding Value to a Value adds NO_VALUE

With ~1 Zillion lines of output in the full, unfiltered dump, reducing redundant or vacuous fill (!Phil!) increases readability.

This feature might be of some general usefulness.

SQL select * from exif_alias order by 2 -> 19 rows
eid,  master_match_alias
1,    Aperture = ApertureValue
15,   Category = IntellectualGenre
2,    Copyright * CopyrightNotice
8,    CreateDate = DateCreated*
11,   Description = Caption.Abstract ImageDescription
19,   ExposureMode = ExposureProgram
17,   ExposureTime = ShutterSpeed
18,   ExposureTime = ShutterSpeedValue
3,    FocalLength * FocalLengthIn35mmFormat
9,    ImageHeight = ExifImageHeight
10,   ImageWidth = ExifImageWidth
14,   Keywords = Subject
4,    LensID * Lens LensInfo LensModel
16,   Scene * SubjectCode
5,    ShutterSpeed = ShutterSpeedValue ExposureTime
6,    SubSecCreateDate = SubSecDateTimeOriginal
7,    SubSecTime = SubSecTimeDigitized SubSecTimeOriginal
12,   Title = ObjectName
13,   URL = WebStatement