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.
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:
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
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.
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…
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.
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.)
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.
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)
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.
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