DotTune AFMA (dot_tune.mo)

Started by Kent, February 20, 2013, 06:17:09 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

l_d_allan

Quote from: tacticole on April 10, 2014, 11:29:47 PM
To clarify for anybody else, I went into the canon menu, accessed the AFMA settings and made sure to click 'Register' when dealing with a specific lens. I changed the value to -1, set it, then went back in and changed it to zero again, just to make sure it saved a value of some sort specifically for the lens. Ran the module and it no longer gave me the +/-100 issue. Thanks for helping ayshih.

Thanks to both of the posters with this suggestion, and clarification.

I've had problems with my Sigma 150-500mm. It adjusts fine with my older 5d2, but not the 6d. I'll see -100 to +100 all confirmed. Perhaps I didn't register the lens on the 6d? I'll retry.

Quote from: Blaster on April 08, 2014, 04:50:37 PM
Yes, but it works on "all lenses" so I can just note down the results and apply them manually for each lens, no problem.

Interesting work-around. I'll give it a try if the "pre-registration" step doesn't resolve the issue I'm experiencing. I will have to remind myself to be extra careful and not get in a hurry, especially with this approach.

Canon eos m

Will try the workaround this weekend.
Canon 5D Mark III, Gopro Hero Blacks with 3D Casing, A Few Lenses, Adobe CC 2014, MacBook Pro, Windows 8 PC, Lots of Video Rig!

Started Nuke. Loved it but then the 15 day trial ran out. Back to After Effects and loving it :-)

anakaine

I'm feeling a little bit special - How can one access to +40 / -40 adjustments?

I am running a 7D on the latest nightly, and have one lens how AFMA  value is reporting a +16 to +20, which is where the scale ends.

Is the fact that the +40/-40 options are missing a product of the 7D not supporting the larger values, or am I just missing something? There's only Auto, or +-20 in the DotTune settings.

ayshih

Quote from: anakaine on April 20, 2014, 05:16:00 AM
Is the fact that the +40/-40 options are missing a product of the 7D not supporting the larger values, or am I just missing something? There's only Auto, or +-20 in the DotTune settings.

There are two issues at work here:

  • The 7D is not one of the three cameras (50D, 5D2, and 5D3) that currently have CONFIG_AFMA_EXTENDED defined in their respective internals.h, so the AFMA values stop at +/-20 instead of +/-100.  Presumably someone needs to confirm that the 7D can accept extended AFMA values without problem.
  • The DotTune module is slightly broken currently because it still has checks for CONFIG_AFMA_EXTENDED and CONFIG_AFMA_WIDE_TELE despite being a module now.  This needs to be fixed by replacing with functions and variables from afma.c.  In the meantime, no camera will show the options for extended fixed ranges (+/-40 or +/-100), but cameras with CONFIG_AFMA_EXTENDED defined will be able to access extended values in Auto range detection.
Canon EOS 50D | 17–40mm f/4L & 70–300mm f/4.5–5.6 DO IS | Lexar 1066x

anakaine

Is this something I can help test? More to the point, is trying to ask the camera to go past +-20 something that is likely to cause issues, hardware wise or other?

I must apologies if the answer for testing is yes, as I'll be out of general internet range for 2 weeks beginning in a few hours time (I work very very remotely). Sometimes I get satellite, which is flaky at best. Happy to help in a fortnight providing there's no risk of irreparable damage.

rassilon

Quote from: ayshih on April 20, 2014, 02:29:03 PM
There are two issues at work here:

  • The 7D is not one of the three cameras (50D, 5D2, and 5D3) that currently have CONFIG_AFMA_EXTENDED defined in their respective internals.h, so the AFMA values stop at +/-20 instead of +/-100.  Presumably someone needs to confirm that the 7D can accept extended AFMA values without problem.
  • The DotTune module is slightly broken currently because it still has checks for CONFIG_AFMA_EXTENDED and CONFIG_AFMA_WIDE_TELE despite being a module now.  This needs to be fixed by replacing with functions and variables from afma.c.  In the meantime, no camera will show the options for extended fixed ranges (+/-40 or +/-100), but cameras with CONFIG_AFMA_EXTENDED defined will be able to access extended values in Auto range detection.

I have a Canon 5D Mark III and use the current nightly builds for 1.2.3 and mine only goes up to +/- 20.  It will tell me that I should try +/- 40 but it doesn't say how to get to that.

Audionut

Leave it in "auto range detection", and it will use whatever it thinks is necessary.

Quote from: ayshih on April 20, 2014, 02:29:03 PM
In the meantime, no camera will show the options for extended fixed ranges (+/-40 or +/-100), but cameras with CONFIG_AFMA_EXTENDED defined will be able to access extended values in Auto range detection.

vadim

Installed on Canon Mark 5d III latest version of 23rd May 2014. However cannot see menu dottune AFMA. Any idea why?

Audionut

Enable the module from the module menu first.

martinMK

Can there be more than -100/+100 adjustment in the DotTune?

Audionut

Why exactly?   If your lens needs that much correction, you should probably send it in for calibration.

martinMK


martinMK

I have successfully calibrated the majority of the lenses I have with DotTune.. great extension on ML..

I was asking for the max values of the compensation scale inorder if I need sometimes bigger than +100/-100..

I am a programmer in C/C++/C# and from my understanding of the code for this module the multiplier is the key..
Although the code at first glance seems simple I do not know the architecture of the ML and its modules.. and in my spare time I try to study the source code..

Audionut

If it looks simple, it probably is.
I don't recall the reason for the current limits, but since this is a module, and as long as you are not setting a Canon property, worse case should be a soft crash.

Tomas.D

I just downloaded nightly builds . I can´t find the dot_tune.mo  on my 600D. 
how to act ?
Regards Tomas

nikfreak

600d isn't capable of AFMA tuning. that's available for 50D, 7D, 6D and 5Dmk2/3...
[size=8pt]70D.112 & 100D.101[/size]

Tomas.D

Hi. thank you for your answer

pulsar124

I've been doing MFA of my lenses for a few years now, and tried most of the approaches (e.g., I wasted my money on the commercial product Reican FoCal - terrible customer support, never worked on my Windows XP laptop), and found the dot-tune method (either manual, or with ML) to be the best. There is only one feature I wish the ML's implementation of dot-tune had: at the end of the calibration, I'd want to see not just the median MFA value, but also the good MFA interval (the lower and higher values). The reason: MFA values are different at different distances to the target, and at different focal lengths of zoom lenses. And the only way to find the optimal (good for any distance and/or focal length) MFA value is to determine the good MFA min...max intervals at all distance/FL combinations, and then overlap these intervals, and find the more narrow interval (if it exists) which would be present in all of the individual intervals.

A point in case. A couple of days ago I re-calibrated all my 4 lenses. My fast zoom lens (Sigma 17-50mm f2.8) was the most tricky as usual. I measured the good MFA intervals by observing the output of the ML on my camera screen. This is not very reliable, but this is the best I could do. I did three distances (1, 3, 8m) and three FLs (17, 30, 50mm). I obtained the following good MFA intervals:

Sigma 17-50 OS: -3 [-3.5,-2]

    1m: [-3.5,-2]
        50mm: -10, [-18,-2]
        28mm: +1, [-7,+9]
        17mm: +4, [-3.5,+11.5]
    3m: [-8,+0.5]
        50mm: -7, [-14.5,+0.5]
        28mm: +0, [-9.5,+9.5]
        17mm: +0, [-8,+8]
    8m: [-7.5,+5.5]
        50mm: -2, [-10,+6]
        28mm: -3, [-11.5,+5.5]
        17mm: +0, [-7.5,+7.5]

As you can see, the biggest tension was at the shortest distance - 1m. If all I had was the "optimal" (median) MFA values reported by ML, then I'd be in a difficult situation trying to pick the best number from -10, +1 and +4. But everything is much more straightforward when you compute the overlapping part of the three intervals, which was pretty narrow: -3.5...-2. All other distances and FLs were consistent with this interval. So I went ahead and chose one value from that interval, -3, and it indeed works very well at all distances and FLs.

If instead I chose to simply average all the 9 median MFA values, I'd get -2. This would still probably be okay, but I feel the interval approach gives much more reliable result.

Can printing the good MFA interval on the camera screen be implemented in ML? I think it'd be a very useful addition, and suspect quite easy to implement.

ayshih

It'd be easy to implement your request, but I think you're over-complicating things.

First, I'll point out that you'd get virtually the same results if you simply assumed intervals of +/-8 around the optimal AFMA values.  For your data, the optimal interval would then come out to be [-4, -2], which is essentially the same as [-3.5, -2].

Second, the ranges don't even really matter.  Note that your method of intersecting intervals is entirely anchored by the most extreme optimal AFMA ranges; the intermediate ranges don't actually constrain the overall intersection at all.  Thus, you could simply take the average of the two most extreme optimal AFMA values.  For your data, that's -10 (50mm at 1m) and +4 (17mm at 1m), and the average is -3, which is exactly the same value you already settled on.
Canon EOS 50D | 17–40mm f/4L & 70–300mm f/4.5–5.6 DO IS | Lexar 1066x

pulsar124

I agree that your approximate method does work reasonably well in my case (though intervals are not always +-8 - I have +-10, and for some finicky lenses that might make it or break it in terms if pinpointing the only reasonable MFA value which would satisfy all the constraints), but why settle for approximate if one could easily obtain the real thing - the actual good MFA intervals? My thinking is that the good MFA intervals are the primary data, while the "optimal" MFA is a derivative. I'd feel more confident analyzing the primary data when dealing with particularly finicky zoom lenses.

nikfreak

Bug confirmed on 6D:
"This lens" option doesn't work correct for some lenses. e.g. if I use this option on my 70-200 then only at 70mm it will do AFMA. With that option it will do at 200mm too but won't beep so won't find any focus beep.

If I set to "all lenses" then it will work fine at 70mm and also on 200mm and in between. Value for 70mm differs heavily compared to the value I git from "this lens" where as stated above 200mm wouldn't beep at all...
[size=8pt]70D.112 & 100D.101[/size]

ayshih

Hmm, curious.  I'll have to try this out on my own camera, but this may be a 6D-specific bug.  On your Bitbucket issue, you say that at 70mm you get -16 with "all lenses" and -6 with "this lens".  When you look at the actual focus performance, is one of those values actually correct?  In each of those cases, is the interval about 16 steps wide?
Canon EOS 50D | 17–40mm f/4L & 70–300mm f/4.5–5.6 DO IS | Lexar 1066x

ayshih

Ah, the 6D is one of the cameras that can set two different AFMA values at the ends of a zoom lens, so it's almost certainly related to that.  On a related note, if you haven't ever set two AFMA values in the Canon menu for this lens, the registry may not be properly initialized.  Hopefully the "all lenses" AFMA values are correct, and then you can simply switch back to "this lens" and manually set the values using the Canon menu.

Note that this module itself is currently broken towards being able to handle a zoom lens and two AFMA values.
Canon EOS 50D | 17–40mm f/4L & 70–300mm f/4.5–5.6 DO IS | Lexar 1066x

nikfreak

Seems to be spot on for -16 at 70mm and -1 at 200mm using "all lenses".
I have no clue why I get -6 at 70mm at this lens and werent able to get a beep between 71-200mm using "this lens" setting
[size=8pt]70D.112 & 100D.101[/size]

pulsar124

You know that you can always do the dot-tune manually, by clicking the half-shutter button and changing MFA value manually? You can do that to detect which ML method (if any) produces the correct result on your 6D.