.netmetadata-extractor

Using Metadata Extractor 2.8.0 to get the PictureControlName for Nikon D600?


Using Metadata Extractor 2.8.0 I'm trying to retrieve the value for the PictureControlName from the makernotes of an image captured with a Nikon D600. The makernotes library seems to only return [58 values]. How do I access the 58 values?

var mkNotes = directories.OfType<NikonType2MakernoteDirectory>().FirstOrDefault();
var picCntrl = mkNotes?.GetDescription(NikonType2MakernoteDirectory.TagPictureControl);

Solution

  • It seems the library does not yet support the PictureControl data you're after.

    Looking at the amazing resource that is ExifTool documentation, we can see how the values might be decoded:

    https://exiftool.org/TagNames/Nikon.html#PictureControl

    Given you have 58 values, I assume your data's encoded using the first format:

    enter image description here

    If you would be up for contributing a PR to the project that decodes that data, I would be happy to provide pointers towards doing so. The short version would be that we'd add new PictureControlDirectory and PictureControlDescriptor classes, and some code to decode the 58 values into such a directory. It shouldn't be too hard to do this. We don't need unit tests, as we use a large data set to track regressions. If we don't yet have an image containing this data, it'd be great if you could contribute one.