Possibility to disable specific ISO leves

Started by chris88, April 17, 2016, 01:18:45 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

chris88

My suggestion:
A possibility to deselect the ISO levels one do not want to use.
e.g. on a 6D with 1/3 ISO steps the ISO sequence when setting via the ISO button on the camera is:
100  > 125 > 160 > 200 > 250 > 320 > 400 > 500 > 640 > 800 > ...

Now it would be nice to have a possibility to deselect some ISO levels. e.g.:
125 / 250 / 400 / 500 / 640, so the new ISO sequence when setting via the ISO button on the camera is:

100 > 160 > 200 > 320 > 800 > ...

Would this be possible?

Kharak

I think this is a good idea.

If I may add something, it would be nice for the Video Mode on the camera, if one could choose between something like, only showing 'Analog ISO' or 'Analog+Digital ISO'.

once you go raw you never go back

a1ex

You mean, in Canon's dialog? Because, from ML controls, only the "good" ISOs can be selected.

And if you select some value for ML digital ISO, that one will be kept unmodified, so changing ISO from ML menu or shortcuts will be done in full stops.

Changing Canon's behavior is a little hard and camera-specific. Currently it's implemented for 550D (CONFIG_INTERMEDIATE_ISO_INTERCEPT_SCROLLWHEEL), but the method didn't work for 60D, so I didn't try to port it anywhere else.

You can probably get something halfway usable with a Lua script (to jump over unwanted ISOs). Wait until I'll merge the lua_fix branch before trying (or compile that branch).

chris88

Hi a1ex,
currently I use my Canon 6D exclusively for taking photos. And in 99% I'm not in LiveView for that. And I change my ISO not from the ML menu but directly by pushing the ISO button and selecting the ISO value by the scroll wheel.
Maybe I can try the LUA script approach. Do you think this one will work? I think about something like:

- read out the current ISO setting whenever the ISO is changed
- if the new ISO is an unwanted ISO, set the next higher ISO step

Currently I am totally unexperienced in LUA scripting. But I think this one is the right reference to look at: http://davidmilligan.github.io/ml-lua/
Or are there other, better, references to start with?

...will wait for that until the lua_fix is merged.

a1ex

For photos, as long as you are shooting RAW, you only need full-stops ISO. So far, all Canon cameras I've used had an option for this in Canon menu.

On recent cameras (including 6D), you do gain about 0.1 stops of DR by using ISO 160 multiples. I highly doubt you can tell the difference in practice, so I don't think it's worth the hassle.

Proof: http://www.magiclantern.fm/forum/index.php?topic=9867.msg95051#msg95051

chris88

Yes I'm shooting RAW. But even with ETTR I get substantially less noise in the darker regions using ISO160. And beside all noise and DR discussions (which is always very subjective), ISO160 gives me simply a better shutter speed, which sometimes could be very important when shooting non stabilized lenses. So I really would like to have such a possibility to skip certain ISO settings when setting the ISO the Canon way. If this could be established be a LUA script I think this would also be fine for me. If it would be implemented into ML, even better.

Audionut

Quote from: chris88 on April 17, 2016, 03:09:22 PMAnd beside all noise and DR discussions (which is always very subjective)

No.  Eyes are subjective, and yours are leading you astray.

chris88

Ok, good. Please, can we leave the discussion about DR & noise for a moment. Fact is that there are no big gains or losses between ISO 100 & 160. But the shutter speed is better by using ISO160.

Audionut

Use ISO 200 with the same shutter speed you would use for ISO 160.

chris88

Is it possible via LUA script to change the ISO settings?

chris88

@a1ex
Thank you very much for your tip regarding the LUA scripts. This was brilliant.
I managed to write such a script which skips unwanted ISO values in phot mode as well as in live view mode when set through the Canon ISO button + scroll wheel.

Do you think it would be better writing this in "PicoC" ? Would it be faster or less resource demanding? Is it even possible in PicoC to monitor for ISO changes like it is in LUA by using the handlers?

Best regards,
Chris

Here it is: http://www.magiclantern.fm/forum/index.php?topic=17110.0
...not bad for my first LUA scripting ever :-)

chris88

Okay,
I have read through so much ISO 100 / 160 topics that I am even more confused than before. So I am kindly asking you a1ex / Audionut for an answer. I respect all that mathematical / analytical approach to this topic, and OK, ISO 160 / 200 / 250 is the same in RAW. But: By finally for me it is not important what the analysis says, it is important what comes out of Lightroom. So my setup is as follows:

Camera: Canon EOS 6D
Quality: RAW
Shooting Mode: Only Photo Mode, Only Canon ISOs
RAW Converter: Adobe Lightroom

Situation:
A scene which goes from pitch black to pitch white. I am shooting this scene with ISO 100 and ISO 160 two times. First I meter with both ISOs like the camera says that the picture has a good exposure (Canon meter shows zero). The second time I'm shooting the exactly same scene by using ETTR. Thereby I correct my exposure for the ISO160 shoot so that it has the same exposure than the ISO100 shot.
If I now look at the results in Lightroom (exposure pushed by +4) I can definitely see that the noise in the dark areas is slightly higher with ISO100. ISO160 looks more equal and like a finer grain. Even if the difference is subtle. Am I so wrong with this finding? Am I clipping more highlights with ISO160? Or generally spoken: what ISO should I use and why? It is really hard to get a point to this topic as there are so many confusing (and also to detailed) posts. I'm not an expert, I just want to shoot with as less visible noise as possible.

a1ex

ISO 160 should be compared with 200, both at the same exposure time. Do you see any difference between those cases?

At the same exposure time, ISO 100 will have more noise in shadows, but also more highlights.

chris88

Ok, I made two shots:
ISO160 1/10s f2,8
ISO200 1/10s f2,8

Now in post I pushed the ISO160 by +4 and the ISO200 file by +3,66. They indeed look the same.
But what I am struggling with is the "every day situation". The Canon metering will not show me the same exposure for ISO200 as for ISO160. So I would have to apply a constant exposure correction of +1/3 to get the same finer grain as I get with ISO160. The same applies to ISO100, the metering will also be different. So I am looking for the answer: What ISO should I use when shooting like the in-camera meter tells me to shoot?

a1ex

Since both ISOs (160 and 200) have the same clipping point, I don't see why allowing both would give any different results than using either of them. When you select 160 multiples, Canon meter will give you brighter images, with less highlights, compared to 200, just as if you would select +1/3 EC.

Quote from: chris88 on April 20, 2016, 09:41:49 PM
What ISO should I use when shooting like the in-camera meter tells me to shoot?

I'm not sure I understand your question. Are you asking what exposure compensation you should use to minimize noise? If so, the answer would be +5, since that's the maximum limit on recent cameras :P

A more reasonable answer would be: as high as you can go without sacrificing the highlights you want to keep. If you want less noise in shadows, the first thing you should try is to capture more photons (increase exposure time or open the aperture). If that's not possible, increase ISO. Either way, you probably have to sacrifice some highlights (unless you are shooting a very low-contrast scene).

Side note: on Canons, increasing ISO from 100 to 200 reduces the read noise (in electrons, i.e. relative to light levels) by nearly 1 stop, so it's almost as good as using a slower shutter speed. However, the effectiveness decreases as you increase the ISO - beyond 1600 on most cameras, you will just throw away useful highlight detail, without any improvements in shadow noise.

If you want both good highlight detail and low shadow noise at the same time, the answer would be either Dual ISO (if the subject is moving), or bracketing (if the subject is static). Or a Nikon/Sony camera.

chris88

Ok, I now tried several days with ISO 100 / 160 / 200 / ...
and the result was every time the same: If I crank up my exposure in post (Lightroom 6) to +4, then my ISO 100 and ISO 200 files show visible more pattern noise (horizontal lines), while ISO 160 shots also show them but only very subtle. And to be honest as more I read about all of this the more confused I get. In the end the result is what is counting. And as I can not notice any significant reduction in DR, but a visible improvement when ramping up the shadows, I will stay with the ISO160 step size. At least until ISO 1250 - 2500.

Unfortunately my LUA script seems not to work very fine after the LUA fix has been integrated. If I turn the scroll wheel too fast the ISO values jump randomly. I think that the script maybe too slow. Is there any way to run a lua script with higher priority?

a1ex

I don't use Lightroom, so I'm not sure how it handles this one: if you use the same exposure adjustment in post for ISO 160 and 200, with identical shutter speed and aperture for both source files, do you get the same overall brightness in the output image?

If yes, your test is valid and I'm interested in seeing the samples. If not, your test is not valid - the brighter image will appear noisier in shadows.

I'll check for the regression in lua_fix later.

chris88

Ok, just to get you right:

If I take a shot at: 1/100s f/2.8 ISO200,
should I then shoot at 1/100s f2.8 ISO160 or at 1/80s f/2.8 ISO160?

The last one (1/80s) is what my camera is telling me and what I would normally set when taking pictures regarding to the canon meter.


And regarding the LUA:
I tested it with my latest script, see:
http://magiclantern.fm/forum/index.php?topic=17110.msg165968#msg165968

When for example activating "Only 160s", then setting an ISO of 10000 and turning the wheel (relatively fast - as one would normally do) towards a lower ISO, it goes crazy and get stuck at ISO 2500 - 5000 levels. Whereby turning the wheel one click by another the script seems to work very well. Maybe this has to do with the new strict.lua script which loads every time? ...or maybe with something other. Currently I'm thinking of porting my lua script into C-code and inserting it into ML directly. But I think I would prefer the LUA path, because I can easily use it with newer ML versions without adapting and compiling it every time a new nightly comes out.

a1ex

At 1/100s f2.8 ISO160.

If you would take the second image at 1/80s, in that image you would capture more light => it will be less noisy because of that.

You are checking the noise levels and clipping points at different ISOs, not the behavior of some auto exposure algorithm. Therefore, change only ISO, leave all the other exposure variables unchanged, and postprocess with those settings that give you the same overall brightness in the output image.

Note: exposure compensation in post might have to be tweaked, because white levels between ISO 160 and 200 are different.

chris88

Ok, to sum it up, I took:

1/50s f1.8 ISO100
1/50s f1.8 ISO160
1/50s f1.8 ISO200

ISO 160 seems to be equal to ISO200
ISO 100 is much worse than ISO160 & ISO200. Beside more pattern noise (horizontal lines) I also have some purple effects in the corners.

So, as I have written in some earlier post. In this situation it does not matter if using ISO160 or ISO200. But beside of such analytical comparisons: When shooting in real world situations I will have a look at the canon meter. Then I will try to set the exposure (displayed on the canon meter in the viewfinder) for the brightest part of the image to +2 1/3 to +2 2/3 (by using spot metering). This way I will not blow out my highlights. But doing it this way I will get two different exposure recommendations (depending on the ISO I have selected), namely:

1/100s f/2.8 ISO200 and 1/80s f/2.8 ISO160

And if I am shooting those two pictures, the 1/80s f/2.8 ISO160 has definitely lower noise in the dark areas and more possibilities to pump up the brightness in post. So it seems like in real world shooting situations using ISO160 is the better choice to me because I do not have to calculate an exposure compensation when taking the shot. I can simply rely on the canon meter.

a1ex

Quote from: chris88 on April 25, 2016, 09:00:29 PM
1/100s f/2.8 ISO200 and 1/80s f/2.8 ISO160

The second one will clip 1/3-stop more highlights compared to the first one. Therefore, I'm afraid Canon meter gets it wrong here.

Simply dial the exposure compensation 1/3 stops higher to get 1/80s f/2.8 ISO200.

chris88

Ok, so to sum it up what you said:

When shooting ISO160, the canon meter in the viewfinder is showing the exposure based on ISO160, but the camera is exposing at an ISO of 200 (therefore overexposing by 1/3) and afterwards pulling the result by 1/3 to match the metering shown in the viewfinder?

So the best way would be to select only full stop ISO values and set a constant exposure compensation of +1/3. This way I can rely on the canon metering (and therefore no clipping of highlights) + I have the same quality regarding noise in darker areas as I would have when shooting at an intermediate, pulled ISO level (ISO160)? Is this a good approach for real world shootings?

a1ex

That's right.

What I'm saying is that:

(1) ISO 160 multiples + Canon meter at 0 EV, and
(2) ISO 200 multiples + Canon meter at +1/3 EV

are equivalent (they give identical results regarding noise and clipped highlights).

chris88

OK, I think I got it now. So I will stay away from pulled ISOs and try to use full ISOs with +1/3EC instead. This sounds reasonable for me. Thank you very much for your patience  :)

chris88