Raw image is independent of ISO

I think I’ve figured out what’s going on here, but it has shattered some of my long held beliefs. I would be interested in hearing any comments you may have. (This is not fundamentally a FOSS issue, but this is the most technically competent group that I associate with.)

I regularly shoot the open mic sessions at my local sports bar. I enjoy the music and I enjoy the photographic challenge. The lighting is atrocious – low on average but with a high dynamic range. My camera is an Olympus EM5 mk III. I usually shoot manual – lens wide open (I have four f1.8 primes) at a shutter speed of 1/125s (as low as I feel I can comfortably go). I adjust the exposure by manually setting the iso. This has served me reasonably well. But seeing into the shadows while simultaneously dealing with (slightly) blown out areas can make post processing frustrating. I would really like to do a Raw Challenge with one of these photos, but I am inhibited because they are “people shots” and I don’t have model releases. And that’s why I can’t illustrate this post with examples.

Last evening I decided to try something different. I decided to set the camera to spot metering, shot manual at f1.8 and 1/125 and set iso to auto. I further engaged exposure bracketing at +/- 1ev. The result was a series of three frames for each shot differing only in iso (1, 1/2, 2). When I reviewed the photos (jpegs) afterwards everything looked fine; some were overexposed, some were underexposed, as expected. However, instead of having 125 photos to sort through, I now had 375. I decided that the most efficient thing was to sort through these was using FastRawViewer and keep the brightest raw file of each group of three that was minimally blown out. The surprising (for me) result was that for each group of three, the histograms of the raw files were identical.

I confirmed this result by opening a set of three in RawTherapee and applied a neutral profile to each. All three pictures were identical. If I then apply an auto-matched tone curve to them, the result was three different photos that closely matched the jpegs.

I had always worked under the assumption that there was an analog amplification stage between the sensor and the A to D and that the iso setting affected the gain of this amplifier. This is clearly not the case for this camera. Any adjustments due to the iso setting is applied after raw capture and digitization and affects only the jpeg and the display. It does not affect the raw captured. The raw image is completely independent of the iso chosen. Once I have set the aperture and the shutter speed, exposure needs no further thought.

I am quite surprised by this result but I see no other interpretation. Perhaps to most of you out there, this is just old hat, but it is a revelation to me.

It is like that for Kodak DCS 520c darktable increases brightness in raw file with no way back

You can always take pictures without people and at different ISO, but same shutter speed and aperture, and upload here.

Sometimes, it’s hard to isolate the effect of a specific setting. So, I just had to dig out the camera and do such…

Here are three renditions, three raws, all shot in Manual mode, 1/13sec f4. The ISO was changed, 100, then 400, and finally 800. Here are rawproc screenshots showing the processing only up through demosaic, with the display pointed at the initial processing group (selecting blackwhitepoint:data for display normalized them all, so not constructive to the question). First, ISO 100:

Next, ISO 400:

Finally, ISO 800:

So, with the exact same processing, and the only variable in the camera being ISO, I’d say the converse, “Raw image is dependent of ISO”

1 Like

This really depends on the particular camera sensor ADC design - older ones were behaving pretty much as described by Emil Martinec (input-referred read noise decreases as ISO/gain is increased), but for more modern ones this is much less dramatic, so they are in effect called (almost) “ISO-less”. Compare e.g. the “shadow improvement” vs ISO of Nikon D6 vs more modern Nikon Z7 II.

1 Like

If your camera is ISO invariant, which after a quick search it seems to be, it won’t matter which ISO setting you choose, the amplification is always the same. If your camera has dual ISO it has two amplifiers(orr two levels of analog amplification, dunno if they use two different circuits), that get toggled after specific ISO settings, for example, Fuji uses Amp1 from base to 640, and Amp2 after 640. Other people please correct me if I’m wrong as I can’t say I’m 100% sure.

Edit: IIRC X-H2 and newer cameras have 3 amps(or at least 3 levels of analog amplification). These are also the baseline values for the f-log video settings. flog = ISO 640 and flog2 = ISO 1250

1 Like

I don’t think that’s what “ISO invariance” means. Increasing ISO definitely increases whatever amplification the camera does; the term implies that you can do the same “amplification” in post-processing software, e.g., with exposure compensation, and the result looks the same as if you did in in-camera with the ISO dial.

5 Likes

It would be good to see the histogram of an image with multiple ISO using the same x axis scale.

The histograms in the screenshots I posted above do that. They’re bog-linear, so everything’s bunched to the left, but there’s enough space to show the differences…

I know yours are, but I was referring to the OP images. I dont know what FastRawViewer does relative to scale.

1 Like

Ah, got it. I haven’t used it in a long while, but IIRC FRV will do either linear or log x.

Hello,

considering how a CCD works, there is no such thing as an amplification. The CCD detects the photons according to its quantum efficiency. No way to change that electronically (in contrast to e.g. a photomultiplier). What can be changed by the electronics, is the conversion factor from photons to digital numbers. This is equivalent to scaling during image processing.

This is, what I know from astronomical CCD cameras. I would be astonished, if the basic principle does not hold also for digital cameras. Thus I would assume, that changing the ISO setting, just changes the conversion factor from detected photons to the digital number stored in the raw image.

Hermann-Josef

2 Likes

As I said, I don’t want to share the images that prompted this post, but here is a set of three raws in an exposure bracketed trio that I just took out my front door. They were shot at f8 and 1/125 and the three ISOs are 250, 125, and 64. Open these in Rawtherapee with a neutral profile and they are identical (for all practical purposes).
EM5B2887.ORF (18.3 MB)
EM5B2888.ORF (18.3 MB)
EM5B2889.ORF (18.3 MB)

Well, there is a conversiongain from electrons in the pixel-well to a voltage. After you have a Voltage, this may again be amplified before AD conversion happens. So there are indeed analog gain stages involved.

Also I vaguely remember that CMOS is not CCD. You don’t create static charges, but a photocurrent in the phototransistor (which is the pixel element). There is a transimpedance amplifier in there somewhere before AD conversion happens. There might be avalanching as well, but I can’t remember if that is by design or unwanted.

(Avalanche photodiodes are used for single-photon counting and operate almost like a photomultiplier just as a semiconductor analogue.)

2 Likes

I was more interested in screenshots of what FRV shows for the files than the actual images. Can you produce the histograms?

Haven’t looked, but RT camconst.json may have per-iso white point, which may scale the data so they all look the same. It’s why I moved the display check off the black white point tool in rawproc, does a similar thing…

Yes, but in terms of signal-to-noise, it is the quantum efficiency of the CCD (or CMOS) that counts and this is the number of photons detected, whatever you do with them afterwards.

Hermann-Josef

Open these in Rawtherapee with a neutral profile and they are identical (for all practical purposes).
EM5B2887.ORF (18.3 MB)
EM5B2888.ORF (18.3 MB)
EM5B2889.ORF (18.3 MB)

I don’t know RT well enough, so I used dcraw:

%DCRAW% -v -w -6 -T -O e7.tiff EM5B2887.ORF
%DCRAW% -v -w -6 -T -O e8.tiff EM5B2888.ORF
%DCRAW% -v -w -6 -T -O e9.tiff EM5B2889.ORF

The three result images (e7.tiff, e8.tif, e9.tiff) are identical. Nor merely “for all practical purposes”, but every pixel is exactly identical.

I find this suspicious. Perhaps your tripod is rock solid, and there was no wind, not even the shiver of a single leaf. Perhaps the camera did take three photos at fractionally different times and nothing changed.

But it looks to me that the camera took one exposure and made three files, with the only difference being the ISO.

They are all the same in darktable. Every pixel is the same, so something seems strange.

No tripod. This was a hand held snapshot.

But clearly if the difference between the three shots is ISO and that ISO is something the camera does after digitization there is no need for separate exposures. The three images are produced essentially instantaneously; I can’t sense three images being taken

Here are the three histogram from FRV (ISO 64, 125, 250):