[DONE - SCRIPT] Auto Exposure Lock with Spot Metering

Started by engardeknave, March 24, 2013, 06:40:27 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

engardeknave

Problem 1: You have a situation where you want to focus and expose for one small area, ie. portraits with a strong back light. You always want to focus and meter the eyes, but you often want to recompose into the light.

Your options (at least with a 5DII) are:
  • -Use evaluative metering. This will auto-lock metering when you half-press the shutter. However, it will consistently underexpose, and often by an unpredictable amount. You have to apply exposure compensation and fix the rest in post.
  • -Use spot metering and manual exposure lock. This adds an additional step of tapping the exposure lock button every time before you recompose. When you forget to lock the exposure, the subject will be a silhouette.

Would it be possible to get auto exposure lock (on half-shutter press) with spot metering?

Problem 2: Doing the same thing in liveview mode. Live view mode seems to always use evaluative metering. Would it be possible to get spot metering in LV mode and to lock metering on focus?

pholler

This is indeed very annoying! And it is one of the few important features that the 5D3 has and the 5D2 does not have.
A ML-Feature that could do as engardeknave described would be much appreciated!

One workaround for me is to use change the mode of the Shutter button/AF-On Button (C.Fn IV.1) so that the half-pressed shutter button actually does AE only (no AF) and the AF-ON-Button does the AF. I especially like this with MF-Lenses where i first focus with the middle-point-AF while pressing the AF-ON-Button, then half-press the shutter, recompose and take the shot. This method still needs you to press two buttons. I personally do not like to press the normal AE-Button. It's just not handy at its position.


pholler

Hey Alex,

in the forum-link you posted they described the same method i did in my post. This is a workaround, not a solution.

a1ex

Right... I don't really shoot in Auto, but I thought that would be something configurable from custom functions.

This sounds like it might help: PROP_REMOTE_AFSTART_BUTTON.

Other than that... I'm afraid we don't have control over camera settings while the shutter is pressed halfway.

a1ex

Here's a dirty trick that implements this as a PicoC script (save it as ML/SCRIPTS/AEF_LOCK.C for example):


/*
Auto exposure and focus lock, useful for focus and recompose.

It works by faking a AF-ON button press when you press the shutter halfway.

On 5D Mark II, you need to set CFn.IV-1 to 3 - AE lock / Metering + AF start.

*/

console_hide();

while(1)
{
    if (HALFSHUTTER_PRESSED)
    {
        beep();
        press(AF_ON);
        sleep(0.5);
        unpress(AF_ON);
       
        while (HALFSHUTTER_PRESSED) sleep(0.1);
        beep();
    }
    sleep(0.1);
}


This will work in tomorrow's nightly (current ones don't "know" how to press the AF-ON button).

What's harder is to make it user friendly (just to set it from menu, without telling the user to configure this and that to make it work). Other cameras may need adjustments.

engardeknave

After reading that thread, I think I'm going to use the focus on back method. I'm already accustomed to focusing on back in liveview anyway, so it seems pretty natural. However, if this script works well, that would be even better. Looking forward to trying it.

pholler

Hi Alex,

i just tested it shortly. Works like a charme on AF-lenses! Thanx a lot!!!
I have to test it on MF-lenses later.

Peter

engardeknave

This script is not really a workable solution. It makes AF really slow and you can't erase photos while the script is running because a box pops up. Not sure what other functions aren't available. But it's close. Maybe after scripting matures a little.

a1ex

I can't notice any slowdown on my 5D2 with 50/1.8 (my only AF lens).

Try tweaking the delays.

engardeknave

I just tried it with the 50/1.8 and it works a lot better with the script than the 85/1.2. The 85 is really slow (hence my thread about limiting focal range). I changed the timings but it will just start focusing and then quit before it reaches focus confirmation. What the script really needs to do is continue focusing while there's no focus confirmation and shutter is half pressed.

It looks like there is script access to focus confirmation, so I may mess with that later.

a1ex

The big problem is that both buttons report "shutter half-pressed", so... if AF-ON is kept pressed, you just don't know when your finger is no longer on the shutter. I don't know how to solve this without side effects.

Probably waiting for focus confirmation with some timeout (2-3 seconds) would work best.

engardeknave

Not as elegant, but this one doesn't die if it doesn't find anything to focus on.

/*
Auto exposure and focus lock, useful for focus and recompose.

It works by faking a AF-ON button press when you press the shutter halfway.

On 5D Mark II, you need to set CFn.IV-1 to 3 - AE lock / Metering + AF start.

*/


console_hide();
int focusconf=0, pressing=0, focused=0; float killtime=0, hunttime=0.5;

while(1){
  focusconf=get_focus_confirm();
 
  if(focusconf==1){
    unpress(AF_ON);
    focused=1;
  }
 
  if(pressing==1){

    if(!HALFSHUTTER_PRESSED){
      pressing=0;
      focused=0;
    }

    if(get_uptime()>=killtime && focused==0){
      unpress(AF_ON);
      pressing=0;
    }

  }
 
  if(HALFSHUTTER_PRESSED && focusconf==0 && pressing==0){
    pressing=1;
    killtime=get_uptime()+hunttime;
    press(AF_ON);
  }
 
  sleep(0.1);
}


epozar

Quote from: engardeknave on March 24, 2013, 06:40:27 AM
Problem 1: You have a situation where you want to focus and expose for one small area, ie. portraits with a strong back light. You always want to focus and meter the eyes, but you often want to recompose into the light.

Your options (at least with a 5DII) are:
  • -Use evaluative metering. This will auto-lock metering when you half-press the shutter. However, it will consistently underexpose, and often by an unpredictable amount. You have to apply exposure compensation and fix the rest in post.
  • -Use spot metering and manual exposure lock. This adds an additional step of tapping the exposure lock button every time before you recompose. When you forget to lock the exposure, the subject will be a silhouette.

Would it be possible to get auto exposure lock (on half-shutter press) with spot metering?

Problem 2: Doing the same thing in liveview mode. Live view mode seems to always use evaluative metering. Would it be possible to get spot metering in LV mode and to lock metering on focus?

I asked for something very similar:
http://www.magiclantern.fm/forum/index.php?topic=4627.0