Time to be with your loved ones

Time to be with loved ones

by sat

submit your photo


Hall of Fame
View past winners from this year

Please participate in Meta
and help us grow.

Take the 2-minute tour ×
Photography Stack Exchange is a question and answer site for professional, enthusiast and amateur photographers. It's 100% free, no registration required.

When a DSLR camera is used for remote shooting, corresponding software usually provides very simple way to change focus position: small, medium and large steps forward or backward. This is how it looks in Canon EOS utility:

enter image description here

As long as I know, there is no way to find out the exact position of the focus plane using Canon SDK. Because hardware of a lens simply doesn't provide the corresponding information.

The same is for focus step. I suppose there is no robust way to determine the exact distance the focus plane is moved when one of these buttons are pressed.

But in our software, we really need to know at least an estimate. We know that we are focused on object, say, 400mm far from the camera. And we need to know, how far will focus plane move when user presses a >> button to move focus on medium step.

We've done some tests for different cameras and lenses. We determined the size of the step depending on the current focus distance. Here is the plot for two cameras and three lenses:

enter image description here

Here 100mm stands for "Canon EF 100mm f/2.8 Macro USM", 100mm(L) stands for "Canon EF 100mm f/2.8L Macro IS USM".

We can ship the following tables with our software, but we want to reduce their number. For example, I expected that different leses will act the same for different cameras, but as you can see from the plot, it is not true.

Canon 5D Mark III did the same for two different 100mm and 100mm(L) lenses, but Canon 6D have different results for these lenses. In the same time, both cameras did approximately the same with 50mm lens.

So my question is, what factors determine the shape of these functions? Do I have explicitly measure all combinations of cameras and lenes?

share|improve this question
    
Why do you need this information? For anything live view based, you will need to do contrast based AF detection anyway, so why not use the largest step until you detect contrast is decreasing, then use the smaller steps for more fine tuning. What are you trying to do that needs to know the exact amount the focal plane is moved. I doubt it is even consistent between implementations of the same lens. There is a reason that the systems are guess and check based. Very few lenses used confirmed distance moves. –  AJ Henderson Aug 29 '13 at 13:56
    
I'm trying to automatically detect step for focus stacking. Helicon Remote, for example, asks user to explicitly specify the number of steps. –  Mikhail Aug 29 '13 at 14:23
1  
As an aside; I'd be curious the effect of a fully charged battery vs. a depleted one. –  Rowland Shaw Aug 30 '13 at 7:37
add comment

2 Answers

up vote 2 down vote accepted

Most lenses do not use motors that provide feedback on the distance moved, so the exact amount of change is going to differ not only from lens to lens and body to body, not only between instances of each lens and body, but even potentially between different instances with the same body and lens. There are some lenses that offer bi-directional communication and verified changes in position, but these are the minority.

You really need to use contrast based auto focus to step your way in from the largest movements to the smallest. If you are trying to approximate distance based on the distance moved by the focus, then you are going to be out of luck. You would need to use things like perspective and the scale of known objects in order to estimate it.

share|improve this answer
add comment

Do I have explicitly measure all combinations of cameras and lenes?

It is worse than that. You would need to measure every specific lens mounted on every single body that is going to use your application. By trying to program a predetermined movement you are giving up the biggest advantage of Contrast Detection Auto Focus: The ability to continuously measure contrast until it ceases increasing and begins decreasing.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.