Hi--
I'm trying to do a statistical study on the effectiveness of different focus modes. To do so I need 3 bits of info:
filename (check)
AFAreaMode (check)
What "case" was used (Canon calls this "AF Configuration Tool" and can have values of "Case 1," "Case 2," (Case 1-6), etc)
I didn't see this listed in the Canon tags reference. Is there any chance of adding this if possible?
thx
PP
What Canon utility reports this? (and what version?) I'll see what I can do to decode this.
It would help if you could send some samples (small JPG is best) at the different possible settings for this. My email is philharvey66 at gmail.com
- Phil
Hello Phil--
Thanks for your reply and your interest. I just sent you an email with several files.
Thanks again
PP
Hello Phil--
Did you receive the files I sent you? Do you require a Canon CR2 file as well?
thanks and happy new year
PP
Yes, thanks. I got your mail but won't be able to download the files until I am back at work on Jan 5th. I'll let you know how things go then.
- Phil
Great--have a happy new year and enjoy the rest of the break.
PP
Hello Phil--
Thanks again for adding support for the AFConfigTool to the library.
I am trying to set some keywords using these properties like so:
exiftool '-keywords+<Canon:AFAreaMode' '-keywords+<Canon:AFConfigTool' /path/to/image
However, only one keyword is being set. When I try:
exiftool -Canon:AFAreaMode /path/to/file
and
exiftool -Canon:AFConfigTool /path/to/file
I get:
AF Area Mode : Unknown (10)
and
AF Config Tool : Case 5
...respectively.
Running
exiftool '-keywords+<Canon:AFAreaMode' /path/to/image
and
exiftool '-keywords+<Canon:AFConfigTool' /path/to/image
...consecutively gets me what I want...but I'm wondering why I can't set these keywords in one command?
thx
PP
[bump] (respectfully) :)
thx
PP
Sorry, I've been away on vacation.
You need to use -addTagsFromFile to do what you want:
exiftool -addtagsfromfile @ '-keywords+<Canon:AFAreaMode' '-keywords+<Canon:AFConfigTool' /path/to/image
Read the application documentation for details.
- Phil
Thank you for your reply Phil, I hope you enjoyed your vacation.
QuoteYou need to use -addTagsFromFile to do what you want:
Whoops, user error! I misread that part...I thought that option was only for copying data between two distinct files.
FYI, you might be interested to see a graph I created with your tool. This graph shows the "keeper rate" ("batting average") using different focus modes and different focus areas for some close and fast moving cross-country skiers. I manually graded each photo I took (in focus, slightly out of focus, total miss). I then created a table with the intent to show the relative effectiveness of each mode and focus area using the new 7D Mark II. Most of the shots combined "back to front" motion as they approached...and lateral motion as they skated by. Due to the skating motion of each skier the focal length of my lens (200mm) I believe that this presented a challenging focusing scenario. The relative height of each bar represents the total number of shots taken in that mode...even though the vertical axis shows percent.
(https://farm8.staticflickr.com/7508/16241390402_786f478832_o.jpg) (https://flic.kr/p/qKcnws)
Best wishes,
Paul
Hi Paul,
This looks very interesting. Please include a link if you publish this study in a more complete form. I would like to read more about your findings and conclusions.
- Phil
Hello Phil--
I have a related question about the ExifTool_config file.
In the canon.pm file, line 5667 contains a lookup table for the various types of AF Area Modes that are available. How can I use the ExifTool_config file to override these values?
The reason I ask is that on the 5DMk3, AF Point Expansion (surround) is functionally equivalent to the 7DMk2 AF Point Expansion (8pt). When I process my files, I'd like to use a common tag name. Also, there appear to be two undefined AF Area Modes, so some of my files end up with "Unknown(10)" and "Unknown(14)." I'd like to map these to values I choose.
Any tips would be appreciated.
Thanks much
PP
If you discover the meaning of any unknown modes, please let me know so I can add them to ExifTool.
But to override ExifTool's definition, the easiest thing to do is to copy the appropriate definition from Canon.pm (http://sourceforge.net/p/exiftool/code/ci/master/tree/lib/Image/ExifTool/Canon.pm) into your config file, then edit it from there. You just have to be sure to put it under the same table name in the UserDefined tags.
If you make any changes that you think would be useful for others, please share them. This is the way open source works.
- Phil
QuoteIf you make any changes that you think would be useful for others, please share them. This is the way open source works.
Honestly, I'm such a hack the thought of sharing and giving back never occurred to me. But I will gladly ;D
On the 5DMk3, there are 6 distinct AF Area select modes. Although these are referred to in slightly different terms in the manual, the modes below are presented as seen in Canon's DPP software. I have also included the terms from the manual in parens.
Canon 5D Mark III AF Area ModesSpot AF (Single-point Spot AF)
Manual selection (Single-Point AF)
AF Point expansion:top/bottom/left/right (AF point expansion (four surrounding points))
AF Point expansion:surround (AF point expansion (eight surrounding points))
Zone AF
Automatic selection (61-point automatic selection AF)
In Live View, there is only one AF mode, which is referred to as "Manual election."
The 7DMk2 offers 7 distinct AF Area select modes, along with 65 AF points. Here is the nomenclature as seen in DPP along with the terminology used in the manual (in parens).
Canon 7D Mark II AF Area ModesSpot AF (Single-point Spot AF)
Manual selection (Single-point AF)
AF Point expansion:top/bottom/left/right (AF point expansion)
AF Point expansion:surround (AF point expansion (eight surrounding points))
Zone AF
Manual select: Large Zone AF (Large Zone AF)
Automatic selection (65-point automatic selection AF)
In Live View, the 7D Mark II offers 3 distinct AF Area select modes:
Face detection + Tracking AF
Flexizone - Single
Flexizone - Multi
Here are my suggestions for mapping these to the AFAreaMode block in the Canon.pm file. I have not tested this in my own ExifTool_config file yet....For clarity I have deleted your comments in this block and added mine instead. I also deleted the mappings that are currently mapped out
Name => 'AFAreaMode',
PrintConv => {
0 => 'Off (Manual Focus)',
1 => 'AF Point Expansion (surround)', # don't see this in 5D3 or 7D2
2 => 'Single-point AF',
4 => 'All Points AF', # sufficiently vague to cover any number of AF points
5 => 'Face Detect AF', # don't see this in 5D3 or 7D2
6 => 'Live View Face + Tracking', # 7D2 "live view" AF Area mode
7 => 'Zone AF',
8 => 'AF Point Expansion (4pt)',
9 => 'Spot AF',
10 => 'AF Point Expansion (8pt)', #Assuming when I see "Unknown(10)" it maps to this conversion
11 => 'Live View Flexizone Multi', # 7D2 "live view" AF Area mode
13 => 'Live View Flexizone Single', # 7D2 "live view" AF Area mode
14 => 'Large Zone AF',
},
I have also attached PDF file that was created by dumping the image name, camera model, AFAreaMode to csv. I then added additional columns for Suggestions and Notes.
Thanks again, have a good day
PP
This is great, thanks for your feedback!
Nice. You added an unknown value. I think I like your "AF Area Expansion" changes (with the exception that I prefer "4 point" and "8 point"), but have to read more to see what Canon calls these and the "All Points AF" mode in various models. Also, I have to think about adding "Live View" to the other modes.
- Phil
>> Also, I have to think about adding "Live View" to the other modes.
Ack, I was incorrect; originally I didn't see any metadata for Live View and didn't think there was a way to distinguish between "normal" AF modes and Live View modes...but I see this tag in my files now.
PP
I have one more question if you don't mind:
Is it possible to add an -if expression that is evaluated in the context of adding keywords?
Something like this? I want to add a keyword "Live View" only if LiveViewShooting is "On":
exiftool -overwrite_original_in_place -addtagsfromfile @ '-keywords<Canon:AFAreaMode' '-keywords<Canon:AFConfigTool' '-keywords<(-if $Canon:LiveViewShooting =~/on/):Live View' DIR
Thanks again,
PP
Sorry for the delay in responding. I somehow missed your last post.
The string expression used when copying doesn't execute code, but the advanced formatting feature does, so you could do this (I think -- I have never tested this):
'-keywords<${Canon:LiveViewShooting;$_=(/on/?"Live View":undef)}'
- Phil
Thank you for the reply Phil--I appreciate all your replies and help, no matter when!
I think I am close; here's the command I ran:
paul$ exiftool -overwrite_original_in_place -addtagsfromfile @ '-keywords<Canon:AFAreaMode' '-keywords<Canon:AFConfigTool' '-keywords<${Canon:LiveViewShooting;$_=(/on/?"Live View":undef)}' /Users/paul/Pictures/Photos/NewPictures/2015-02-15_19-10-39_00.cr2
This is what the command returned:
Warning: [minor] Tag 'Canon:LiveViewShooting' not defined - /Users/paul/Pictures/Photos/NewPictures/2015-02-15_19-10-39_00.cr2
It seems as if it's treating the Canon:LiveViewShooting as a string, rather than evaluating the output as a string to be modified by the conditional statement.
When using advanced formatting, do I need to pass in a -p option?
thx
PP
That is the message you will get if Canon:LiveViewShooting doesn't value doesn't match /on/ because in that case the value is set to "undef". (Which it will never do, because "On" is capitalized -- you should use either /on/i or /On/ instead.)
- Phil
QuoteThat is the message you will get if Canon:LiveViewShooting doesn't value doesn't match /on/ because in that case the value is set to "undef". (Which it will never do, because "On" is capitalized -- you should use either /on/i or /On/ instead.)
Holy cow--apologies are in order.
My first mistake: I was processing an image not taken with Live View...so undef all the time ::)
My 2nd mistake: for some reason I thought I had a case insensitive switch in the regex...but upon closer inspection that was obviously not the case.
All good now, sir! Thanks for your patience and help--it is highly appreciated.
Since I can only twiddle with this stuff at night when I'm burnt from a long day at work, with the associated decline in mental faculty, I don't imagine I can contribute anything meaningful in terms of code...but if there is anything you need regarding pictures with specific metadata please let me know. In the spirit of contributing something meaningful I've attached my ExifTool_config file which contains the AF Area mappings I suggested earlier in this thread. I've tested it and it's working as expected.
I will be modifying this config file to remove the "Live View" related tag value overrides...since I can get what I want using the advanced formatting commands you suggested.
Thanks again,
PP
Thanks,
There are some inconsistencies in the decoding of the Canon AFAreaMode. A value of 1 is currently "AF Point Expansion (surround)", which what I would actually call your number 10. Does your 7DmkII produce this value?
Also, looking at the 1DmkIII manual, there is an "Auto" mode that doesn't appear. Could this perhaps be number 4? If so, should number 4 be named "Auto" instead of "All Points AF"? Is this the value you get when you select what the 7DmkII manual calls "65-point automatic selection AF"?
- Phil
Hello Phil--
Sorry for my late reply. Here are some comments/answers to your questions:
>>A value of 1 is currently "AF Point Expansion (surround)", which what I would actually call your number 10. Does your 7DmkII produce this value?
I believe "AF Point Expansion (surround)" may be from an earlier Canon model...perhaps the original 7D (which I used to own but no longer have).
I took 1 picture in each mode with my 7D2...and did not use my .ExifTool_config alterations for the output. Here is the output from exiftool -q -s2 -Canon:AFAreaMode; I have added my shorthand description for each AFAreaMode after the semicolon. The first set of output is from "single shot" AF mode...the second set is from AI Servo mode...the third set is Live View:
AFAreaMode: Spot AF; spot
AFAreaMode: Single-point AF; single point
AFAreaMode: AF Point Expansion (top/bottom/left/right); (4 point)
AFAreaMode: Unknown (10); (8 point)
AFAreaMode: Zone AF;
AFAreaMode: Manual select Large Zone; Large Zone AF
AFAreaMode: Multi-point AF or AI AF; Auto
AFAreaMode: Spot AF; spot
AFAreaMode: Single-point AF; single point
AFAreaMode: AF Point Expansion (top/bottom/left/right); (4 point)
AFAreaMode: Unknown (10); (8 point)
AFAreaMode: Zone AF;
AFAreaMode: Manual select Large Zone; Large Zone AF
AFAreaMode: Multi-point AF or AI AF; Auto
AFAreaMode: Face + Tracking; Live View Face + Tracking
AFAreaMode: Flexizone Multi; Live View Multi
AFAreaMode: Flexizone Single; Live View Single
Here is a similar set of lists from the 5D3:
AFAreaMode: Spot AF; spot
AFAreaMode: Single-point AF; single point
AFAreaMode: AF Point Expansion (top/bottom/left/right); (4 point)
AFAreaMode: Unknown (10); (8 point)
AFAreaMode: Zone AF;
AFAreaMode: Multi-point AF or AI AF; Auto
AFAreaMode: Spot AF; spot
AFAreaMode: Single-point AF; Single point
AFAreaMode: AF Point Expansion (top/bottom/left/right); (4 point)
AFAreaMode: Unknown (10); (8 point)
AFAreaMode: Zone AF;
AFAreaMode: Multi-point AF or AI AF; Auto
AFAreaMode: Single-point AF; Live View single: Live View single
I hope this helps. Let me know if you have any questions about these.
thx
PP
Yes, it does appear that different models use different values for what I would call the same mode. Oh well. I will differentiate these AF Point Expansion modes by calling one "(surround)" and the other "(8 point)".
Also, I think I will change "Multi-point AF or AI AF" to simply "Auto", since it seems to apply well.
Thanks for your help with this.
- Phil