A long time ago, somebody introduced me to the concept of "pushing", from the film days where you couldn’t just change ISO at the press of a button. Pushing means to deliberately under-expose the shot and then over-develop to compensate, giving a way to fake higher ISO. In the digital world high ISO is of course the standard by now, but can you also push digital? Of course you can, and it’s even easier. Just underexpose and draw the ‘exposure’ slider up in your favorite photo program. The question that has long plagued me is: under what circumstances, if any is software pushing better than increasing ISO? The only ‘circumstances’ that really matter are the exposure times. It is well known that high ISO noise is worse in longer exposures than in shorter exposures, but is there a point where the noise from pushing is less than the noise from higher ISO? My initial guess is no, that there are advantages to "pushing early" that get lost if you wait on the pushing until the picture is shot, but we shall see.
To test this, I set of a simple test shot with my trusty if dated Canon 350D and the very trusty and not at all dated EF-S 60mm macro lens. Using various light sources, I took repeated shots of the same scene (camera tripod mounted, using remote release, mirror lockup and delay, just to be sure), starting with a correct (ETTR) exposure at ISO 1600 and the lowering the ISO while keeping shutter speed and aperture the same. I set the aperture to f/5.6, enough to have a reasonable DOF.
Due to the lack of a proper studio setup, I had to make do with an assortment of lights of decreasing intensity:
Flash aimed at the ceiling (1/160 sec), close-by tungsten lamp (1/25 sec), ceiling light (.5 sec), and a bounced tungsten lamp (4 sec, black-frame subtraction kicked in only on ISO 1600). This unfortunately makes it difficult to compare the effects at the different light levels, however the effect at different ISOs is what I’m after, and here are the results:
And this shows plainly why pushing isn’t a commonly used method in digital photography. The noise is not the problem, in fact noise reduction (this is with LR3 default noise reduction) is so good now that you can hardly tell the difference between ISO 100 and ISO 1600 even on an old camera like mine (see below). The problem is posterization. In the top 1 stop (approximately), you have half the information in the picture. The next stop down has half of the rest, etc. So for each stop of underexposure, the amount of data is halved. With 12 bits per channel, you normally have 4096 levels total, of which half are in the top stop. So if the top of the usable dynamic range is 2-3 stops above medium exposure (which other experiments have shown to be the case for this camera), the midtones (say one stop to each side of medium exposure) have between 1500 and 750 tonal levels. That’s plenty to hold a nice tone curve. Underexpose by a stop, and you have between 750 and 375, still a fair amount. Underexposed by 3 stops you have around 200-100 levels, which is not a lot.
And that’s just the midtones. Consider the shadow areas – say from 1 stop below medium exposure and down. Here you have (again depending on where the top of the dynamic range lies) between 250 and 500 levels, again with half in the top 1 stop. This is already not a lot. The third stop below medium exposure has around 100 levels. With three stops of pushing, that drops to 12 levels. But here’s the kicker: To remove the worst noise and to give some more punch, it’s common to clip the lowest few levels, known as ‘black clipping’ or ‘black level’. In the case of LR, this is done before exposure adjustment, so when the exposure is pulled up several steps, the black at the bottom is pulled far into the shadows and in the most extreme cases into the midtones. The clipping works well at removing noise, there is almost none, but removes even more of the precious few levels at the bottom, and makes the darks much darker. The result is very obvious in the image above: the darks get darker and start having major color flaws.
So what if we skip the black clipping? Then we have something that makes more sense from a sensor point of view. All levels of pushing end up looking roughly the same at a large level, the darks are approximately the same darks, but now you can see the noise being pulled up, and how. Here are some 100% crops of details:
Voilá, the noise appears. Already at two stops pushing, there are noticable color errors. At 4 stops pushing, it is a mess of color noise, more than the otherwise pretty good noise reducer in LR3 can handle. The difference at one stop pushing is really hard to tell, though, even when flipping back and forth between the two. So it *is* possible to push digital, but you have to go against the normal workflow and you don’t really gain anything.
What surprises me most is just how good ISO 1600 actually is with LR3. I’ve always tried to keep at 400 at the very most, but this gives me hope that ISO 1600 is actually useful. See some details for yourself:
Mind you, these were both taken with flash, I will have to do another test to see how various ISOs handle various levels of light when pulled through LR3. I have to say, though, I am hard pressed to see the difference between the two.
It’s definitely much better than I expected. Gives me hope for my li’l photocapture box. And for my next test, I will have a more stable setup:)
 Which you can do on a Canon RAW file. I am given to understand that Nikon actually applies the black clipping to the raw data, leaving you without this option.