I have a problem changing the tag: AFPointsUsed in files from Nikon D850.
For example, this file: https://4.img-dpreview.com/files/p/sample_galleries/5682971467/7312607286.jpg (https://4.img-dpreview.com/files/p/sample_galleries/5682971467/7312607286.jpg)
Reading values gives me this:
AF Points Used: A9
Primary AF Point: A9
When changing these values using ExifTool values are saved to the file but does not change anything when I view this photo with Nikon Capture NX-D which displays the active AF point.
exiftool.exe -AFPointsUsed=C6 d850.jpg
Everything works fine on older cameras: D800, D750, D600. The D850 is a newer generation, so the data on the active focus point is probably saved in a different place.
So where does ExifTool get the value of A9 by reading it and is it correct?
Yes, I saw this github issue (https://github.com/exiftool/exiftool/issues/48). It will take me some time to research this because I have to dig out the backups of my old emails to see if I have tried to decode this in the past. Best case is that I will need lots of samples to be able to decode this. Worst case is that I have already tried this and failed. It will be next week before I can look into this in detail.
- Phil
Thanks for your interest, I think the problem will also apply to the D5 and D500 models because they have the same focus mechanism. Unfortunately, I do not have any of them so when it comes to sample photos I will not help, but I hope that you will be able to solve it, because the situation will probably also apply to newer models that will be released.
I have a D500 and can provide example files.
I have a D500 too. :)
- Phil
Phil, did you manage to check something?
Here is 3 pictures taken D850 which use different focus points so that you do not have to reach even for the camera for testing :)
Focus point: A6
https://2.img-dpreview.com/files/p/sample_galleries/5682971467/2658393484.jpg (https://2.img-dpreview.com/files/p/sample_galleries/5682971467/2658393484.jpg)
Focus point: I14
https://4.img-dpreview.com/files/p/sample_galleries/5682971467/4205305748.jpg (https://4.img-dpreview.com/files/p/sample_galleries/5682971467/4205305748.jpg)
Focus point: E14
https://4.img-dpreview.com/files/p/sample_galleries/5682971467/4316079455.jpg (https://4.img-dpreview.com/files/p/sample_galleries/5682971467/4316079455.jpg)
I still have to find time to look into this. The weather has been too nice recently, so I have been out taking pictures instead of indoors at my computer. :P
- Phil
This is a bit complicated. There are 3 separate tags storing focus-point bits in the AFInfo2 record for the D500 when the 153-point phase-detect AF is used. I am struggling a bit to give meaningful names to these tags. In the output below, they are called AFPointsUsed, AFPointsSelected and AFPointsInFocus, but I'm open to better ideas.
Nikon Capture NX-D preferentially displays AFPointsInFocus, and if this is "(none)" then uses AFPointsSelected instead. It doesn't seem to display the AFPointsUsed that ExifTool is currently decoding.
Here are the values of these tags for various shot conditions with my D500 (all with single-point AF and the center point, E9, selected). I disabled the Shutter/AF-On function so I could capture an image with the AF system off. In the table below, "AF pre-focus" is focusing before the shutter release (like AF-S I presume, but I was in AF-C mode with Shutter/AF-On disabled), and "AF during capture" is focusing during shutter release. "off" indicates the focus system as not active, "bad" indicates that it was on but not focused, and "good" indicates that it was on and focused:
AF pre-focus | AF during capture | AFPointsUsed (0x0008) | AFPointsSelected (0x001c) | AFPointsInFocus (0x0030) |
off | off | (none) | E9 | (none) |
bad | off | (none) | E9 | (none) |
good | off | E9 | E9 | (none) |
bad | bad | (none) | E9 | (none) |
good | bad | (none) | E9 | E9 |
good | good | E9 | E9 | E9 |
If anyone has any better ideas for naming these tags, and/or insight into their specific purpose, please let me know.
I think this decoding will be the same for the D850.
- Phil
Edit: Note that AF-CPrioritySelection was set to "Release" for these tests. Otherwise I couldn't have fired the shutter while not focused.
Hi Phil,
I actually think you named them aptly. For how I read the three sets is as follows:
* AFPoint selected: the focus point(s) you selected.
* AFPoints used: the AFPoints used to determine focus. Since you have single point AF selected it is either the selected point or none. If you have e.g. dynamic area selected this would (potentially) show you multiple points that were used to determine focus.
* AFPoints in focus: again, those AF points that were in focus at the moment of shooting.
My own testing in the past seems to coincide with this.
Note: if you select AF-S instead of AF-C you'll see quite different results (e.g. in-focus might say it was in focus – at the moment of focussing – though at the moment you took the shot it might no longer be). At least this seemed to be my experience YMMV ;)
Great. Thanks for the feedback.
- Phil