Otherwise, just increase the number of Photons that get converted and the S/N ratio will offer a better image quality, or shorten the exposure time and get the shot to begin with. In the latter case, it may help to use a unity gain ISO setting, and underexpose if one can boost 'exposure' in post-processing (instead of cranking up the ISO setting).

I am trying to wrap my head around that statement and the situation where it would apply. Here is an example to talk around: We are shooting hockey with a Canon 5DMIII with its lens fully open in an indoor arena. The brightest highlight we are interested in is the white helmet of the players and in order to freeze their motion satisfactorily we need a shutter speed of 1/800s or shorter. We take a test shot at ISO 100, look at our (fictitious, vendors!) Raw histogram and see that the helmets show up four stops below clipping.

In order to maximize IQ given our constraints we quickly evaluate noise in PP at various ISOs (better yet we look at this great chart by Bill Claff) and decide to bump ISO up to ISO 1600 and shoot away.

Unity Gain for the 5DMIII is around ISO 500. How would we use that knowledge to improve IQ? Or would it apply more to a camera with the read noise profile of the D800e?

I took more shots, this time OOF and a Kodak white card target. I found that ImageJ's (free version) histograms look funny until you finagle the bin width to be 1 raw image bit. For a shot at ISO 100, I got a result of x-bar (mean) and sigma (standard deviation) of 978 and 15.7 respectively which, if I understand the method presented in this topic correctly, gives a factor of about 4 thereby making a Unity Gain ISO of 400.

[edit]I made the "mistake" of setting the histogram to LIVE and moving the selection around in the image. Shouldn't have done that . , the SD was changing by huge amounts - both making a nonsense of the above paragraph and showing me how horribly inconsistent the image was; "was" being the operative word now.[/edit]

I had taken other shots at higher ISOs, but failed to remember that my LED lamps can vary their output at mains frequency. So I may redo the shots and set the custom WB to the card at the same time.

Am I correct to convert (in dcraw) to linear 16-bit TIFF for analysis? Is there a penalty for converting to 8-bit?

Had the Unity Gain ISO for my camera been truly 400 (ignoring Clark's method for the moment), should I have expected higher ISOs than 400 to have values of less than 1 for mean/SD^2 ?

I am trying to wrap my head around that statement and the situation where it would apply. Here is an example to talk around: We are shooting hockey with a Canon 5DMIII with its lens fully open in an indoor arena. The brightest highlight we are interested in is the white helmet of the players and in order to freeze their motion satisfactorily we need a shutter speed of 1/800s or shorter. We take a test shot at ISO 100, look at our (fictitious, vendors!) Raw histogram and see that the helmets show up four stops below clipping.

Okay Jack,

That means we could use that setting, which allows to stop motion and doesn't blow out highlights, but the shadows would be very dark. We can boost the exposure in postprocessing, but then the very dark shadows will show lack of detail, and may drown in the read noise. There may be some 4 or more electrons averaged per ADU, but boosting exposure in postprocessing will not help the make a more accurate distinction in the shadows, the jumps from ADU to the next will still be a multiple of 4 or more electrons worth.

By increasing the Analog Gain we can reach Unity gain, where each single additional exposure electron produces a different ADU. We have gained accuracy, and lifted that detail higher above the noise floor. We now have better shadow detail, and the highlights are still not clipped. IOW, we've improved the accuracy of our signal, within the constraints that we couldn't increase the number of photons due to shuttertime, and we could amplify the signal without introducing clipping, thus not lose useful dynamic range which was present in the scene (we did lose potential DR, but we didn't have enough signal to clip at the top due to shutterspeed). Mind you, the image is noisier, but it is random noise rather than read/pattern noise. Analog gain will determine the number of electrons per ADU.

Quote

In order to maximize IQ given our constraints we quickly evaluate noise in PP at various ISOs (better yet we look at this great chart by Bill Claff) and decide to bump ISO up to ISO 1600 and shoot away.

Unity Gain for the 5DMIII is around ISO 500. How would we use that knowledge to improve IQ? Or would it apply more to a camera with the read noise profile of the D800e?

By boosting the gain with a factor of 16, we might have barely avoided highlight clipping, although the tail of the highlight shot noise might have clipped. However, the question becomes, what looks better: ISO 1600, or ISO 800 and a stop exposure correction in Raw conversion (plus a stop more highlight headroom for tweaking/recovery). It may even be interesting to test ISO 400 and a 2 stops Raw conversion exposure push. Raw converters may also handle the conversion differently based on ISO metadata.

Because of that reason, I once did a quick test of 3 scenarios on my 1Ds3. Image quality was only evaluated on the amount of noise after Raw conversion. The steps 1 through 6 mentioned, were the Grayscale Colorchecker patches 19 - 24:

Noise standard deviation of a 50x49 pixel area of each patch.

As can be seen, the ISO 400 has lower noise than the ISO 800 group, and the ISO 800 group has lower noise than the ISO 1600 group. Within the ISO 800 group, there is little difference between the underexposed + pushed in post setting, but the pushed settings will have more highlight clipping latitude (a stop headroom) at capture time. Within the ISO 1600 group there is also little difference, although the ISO 800 pushed 1 stop is slightly better than the rest, and again it has 1 stop overexposure headroom. Even ISO 400 pushed 2 stops is a bit better than the ISO 1600 gain setting.

The differences within each 'ISO group' are actually very difficult to see, but they are measurable. The differences between the groups are more distinct, visually. For me that made it clear that ISO 400 was good enough (for the rare occasion that I need higher ISOs) with still the potential to boost 1 or 2 stops in post processing with little loss compared to a higher ISO setting to begin with, because the Unity gain of the 1Ds3 is approx. reached at ISO 400.

That's how I see a practical implementation of what we can do with the knowledge about 'Unity Gain' for a specific camera.

Each camera was measured with the camera ISO setting at all the whole stops from ISO 100 through ISO 6400. Shutter speeds were kept at 1/60 and faster to avoid any in-camera processing that might take place at slow shutter speeds. The central 200x200 pixels (10,000 pixels in each color plane) were used for the histogram. These tests have demonstrated to me that the histogram combing observed at high ISO settings in the previous post are due to two reasons:

ADCs that, although they are specified as 14-bit devices, are not delivering 14 bits of resolution

Digital gain applied by the camera manufacturers to the real raw data before it is written to the raw file.

The digital gain seems to be applied at very high ISOs, where there is so much noise that the l0ss in resolution of taking a 14-bit unsigned integer and multiplying it by a number less than 16 to yield another 14-bit unsigned integer probably does not adversely impact image quality.

The NEX-7 is surprising to me because it came out shortly after the D7k and K5 which used on-board 14-bit ADCs for the first time, so I thought it would use the same technology. However its Raw data reaches full scale at only around DN4000 (it is spec'd as 12 bits). Since at ISO 100 3/4 of the codes are missing, could we say that it is instead a 10-bit device?

Jack, RawDigger treats the NEX-7 like a 14-bit device, with a full scale count of slightly over 16000. I thought it was a 14-bit camera. Now I see that you are right; it is specified as a 12-bit camera. The EXIF data in the raw files specifies the bit-depth as 12 bits. At ISO 100 3/4 of the 14-bit codes are missing, but all of the 12-bit codes are present. At ISO 3200, we lose the first 12-bit LSB, and at ISO 6400, we lose the second 12-bit LSB.

For a shot at ISO 100, I got a result of x-bar (mean) and sigma (standard deviation) of 978 and 15.7 respectively which, if I understand the method presented in this topic correctly, gives a factor of about 4 thereby making a Unity Gain ISO of 400.

ISOug is 397 by calculation from your numbers, so you are absolutely right. Does that make sense?

Am I correct to convert (in dcraw) to linear 16-bit TIFF for analysis? Is there a penalty for converting to 8-bit?

Yes to both questions. Your standard deviations won't be accurate with the size of the histogram bucket increased from one count to 16. It's 16 since you have a 12-bit camera. If you had a 14-bit camera, the 8-bit bucket would be 2 ^ ( 14 - 8 ), or 64 counts.

One thing you have to make sure you do if you don't look directly at the raw color planes in a program like RawDigger is make sure that whatever program does the conversion does not change the color space from the original camera color space. If you go to, say, Adobe RBG, you'll have contributions from various camera color planes mixed into the Adobe RGB color planes.

Had the Unity Gain ISO for my camera been truly 400 (ignoring Clark's method for the moment), should I have expected higher ISOs than 400 to have values of less than 1 for mean/SD^2 ?

Yes. Take a look at the graph below, which has test ISOs both above and below the unity gain ISO. BTW, this graph assumes that the RX-1 is a 14-bit camera. Since my copy appears to be a 13-bit camera, the unity gain ISO is really about 800.

The NEX-7 is surpirsing to me because it came out shortly after the D7k and K5 which used on-board 14-bit ADCs for the first time, so I thought it would use the same technology. However its Raw data reaches full scale at only around DN4000 (it is spec'd as 12 bits). Since at ISO 100 3/4 of the codes are missing, could we say that it is instead a 10-bit device?

Sony cameras after Alpha 900/850 uses lossy compression in RAW. It's pretty tricky but efficient. I tested with my a900 cRAW and RAW and found virtually no difference. But 14bit claimed in a99 worked only on single shot mode. And it is a definitely difference in usable range in deep shadows compared to 12bit.

Jack, it's early days here, but I have the first results looking for the elusive single electron. Here's an image from the D4 with ISO set to 640, which is pretty close to the unity gain ISO. It's underexposed. In fact, it's so underexposed that the average difference between the dark and the light areas is 1.25 electrons in the green channel, about one electron in the blue channel, and less than half an electron in the red channel. I brought it into ACR and gave it 5 stops of plus exposure, then hit it with an aggressive curve in Photoshop. The curve just changed the white point. In neither this one or the one that follows did I touch the black point.

"OK", you say, "But that's the power of averaging. What would happen with the ISO set to 100, so each step in the histogram would be more than 6 electrons?" I'm glad you asked. Here is an image with a little more light -- 2 green electrons average difference, with the other channels scaled. Note that the green channel difference is now less than one-third of a count.

We've lost some contrast, but we're also missing that really ugly red artifact.

This is going to take some more work, but your instincts that the read noise could create useful dither appear to be right on.

[Am I correct to convert (in dcraw) to linear 16-bit TIFF for analysis? Is there a penalty for converting to 8-bit?]

Yes to both questions. Your standard deviations won't be accurate with the size of the histogram bucket increased from one count to 16. It's 16 since you have a 12-bit camera. If you had a 14-bit camera, the 8-bit bucket would be 2 ^ ( 14 - 8 ), or 64 counts.

One thing you have to make sure you do if you don't look directly at the raw color planes in a program like RawDigger is make sure that whatever program does the conversion does not change the color space from the original camera color space. If you go to, say, Adobe RBG, you'll have contributions from various camera color planes mixed into the Adobe RGB color planes.

Thanks again, Jim.

I need to improve my test images, so working on that. I'm still using dcraw to convert the X3F file because it does the least NR. Outputting 16-bit TIFF, RGB color space (not sRGB nor ARGB) with no other processing. Opening in ImageJ and splitting into the three RGB windows and then analyzing each window. Haven't averaged anything yet, still lining up the ducks . .

The ISOug of 400 made no sense compared to Clark's 1880 for my large-capacity wells 77,000e- and 12-bit ADCs (one per color on the Sigma SD10). I attribute the nonsense to my bad images. Next considering shooting my monitor per Claff.

I'll be looking for an SD of sqrt(1000e-/18.8 ) = about 7 which I have seen in my tours around the current image. One thing that's good about ImageJ live histogram view is that you can see the shape of the distribution change as you move the selection rectangle, obviously preferring Gaussian . .

That's what I usually do when shooting targets. Use a longish lens -- about 135mm full frame or equivalent. Use a slowish shutter speed so you get multiple refreshes per exposure. Not so long that your camera's noise reduction comes into play. I like 1/30. Defocus. Use only a central area.

Jack, it's early days here, but I have the first results looking for the elusive single electron. Here's an image from the D4 with ISO set to 640, which is pretty close to the unity gain ISO. It's underexposed. In fact, it's so underexposed that the average difference between the dark and the light areas is 1.25 electrons in the green channel, about one electron in the blue channel, and less than half an electron in the red channel. I brought it into ACR and gave it 5 stops of plus exposure, then hit it with an aggressive curve in Photoshop. The curve just changed the white point. In neither this one or the one that follows did I touch the black point.

Fabulous example, Jim. I understand that LR/ACR is less than ideal for this type of push because it applies different curves/profiles depending on ISO and EC applied - and it twists hues. How does it look in a neutral converter like RawTherapee?

Quote

"OK", you say, "But that's the power of averaging. What would happen with the ISO set to 100, so each step in the histogram would be more than 6 electrons?" I'm glad you asked. Here is an image with a little more light -- 2 green electrons average difference, with the other channels scaled. Note that the green channel difference is now less than one-third of a count.

We've lost some contrast, but we're also missing that really ugly red artifact.

Yes, according to Bill Claff's Shadow Improvement chart, the D4 benefits substantially from increasing ISO to 800 and then marginally beyond that.

By boosting the gain with a factor of 16, we might have barely avoided highlight clipping, although the tail of the highlight shot noise might have clipped. However, the question becomes, what looks better: ISO 1600, or ISO 800 and a stop exposure correction in Raw conversion (plus a stop more highlight headroom for tweaking/recovery). It may even be interesting to test ISO 400 and a 2 stops Raw conversion exposure push. Raw converters may also handle the conversion differently based on ISO metadata.

Because of that reason, I once did a quick test of 3 scenarios on my 1Ds3. Image quality was only evaluated on the amount of noise after Raw conversion. The steps 1 through 6 mentioned, were the Grayscale Colorchecker patches 19 - 24:

Noise standard deviation of a 50x49 pixel area of each patch.

As can be seen, the ISO 400 has lower noise than the ISO 800 group, and the ISO 800 group has lower noise than the ISO 1600 group. Within the ISO 800 group, there is little difference between the underexposed + pushed in post setting, but the pushed settings will have more highlight clipping latitude (a stop headroom) at capture time. Within the ISO 1600 group there is also little difference, although the ISO 800 pushed 1 stop is slightly better than the rest, and again it has 1 stop overexposure headroom. Even ISO 400 pushed 2 stops is a bit better than the ISO 1600 gain setting.

The differences within each 'ISO group' are actually very difficult to see, but they are measurable. The differences between the groups are more distinct, visually. For me that made it clear that ISO 400 was good enough (for the rare occasion that I need higher ISOs) with still the potential to boost 1 or 2 stops in post processing with little loss compared to a higher ISO setting to begin with, because the Unity gain of the 1Ds3 is approx. reached at ISO 400.

That's how I see a practical implementation of what we can do with the knowledge about 'Unity Gain' for a specific camera.

Thanks Bart, excellent write up. I get your point about accuracy, although I wonder what that means in the real world since noise in the gain/ADC stage would apparently swamp it. I do feel however that the table doesn't do justice to the issue at hand because it looks at non-raw data polluted by subjective rendering parameters and the 1Ds3 has a shadow improvement curve that gives diminishing returns past unity-gain ISO of about 400.

[EDIT: please see my post about multiple gain stages a bit further down]According to sensorgen the 1Ds3's read noise improves by 1.5 stops between ISO 100 and 400 but only 0.6 of a stop between 400 and 3200.

I chose the 5DIII on purpose for the exercise because its shadows improve 1.6 stops from 100 to 500 ISO and then an additional stop from 500 to 1600 - with unity gain at around 500. So with a unity-gain strategy one would stop at ISO 500, while with a shadow-improvement strategy one would take it all the way to ISO 1600, allegedly gaining an additional stop of SNR in the shadows. I unfortunately have neither camera to try this out on [\s]

Sony cameras after Alpha 900/850 uses lossy compression in RAW. It's pretty tricky but efficient. I tested with my a900 cRAW and RAW and found virtually no difference. But 14bit claimed in a99 worked only on single shot mode. And it is a definitely difference in usable range in deep shadows compared to 12bit.

That's how I see a practical implementation of what we can do with the knowledge about 'Unity Gain' for a specific camera.

Bart, I have a similar noise-based way of deciding when to stop turning up the ISO that has nothing to do with unity gain, although my targets are much simpler; just one D65 patch. I'll give you an example for the RX-1, which yields results similar to what unity gain would say.

I first do a series of exposures of the target at various ISOs, using only the central 200x200 pixels, and holding the digital values constant, in this case 5 stops below clipping for the green channel. That means every time I increase the ISO by a stop, I have to stop down a stop (because I'm compensating for the read noise, which varies with shutter speed, I hold the shutter speed constant.) I get curves like this:

Then I subtract out the half-a-stop-per-stop slope that's occurring because, for each stop increase in ISO, there are half as many photons. That gives me this:

The highest point on the curve gives me the place where I should think about not turning my ISO up any further. You can see in this case that there's very broad latitude. The peak, if you want to call such a broad top a peak, is near the unity gain ISO of about 800. (I measured 400 and change, but now I think my RX-1 is for all intents and purposes a 13-bit camera.)

Bart, I have a similar noise-based way of deciding when to stop turning up the ISO that has nothing to do with unity gain, although my targets are much simpler; just one D65 patch. I'll give you an example for the RX-1, which yields results similar to what unity gain would say.

I first do a series of exposures of the target at various ISOs, using only the central 200x200 pixels, and holding the digital values constant, in this case 5 stops below clipping for the green channel. That means every time I increase the ISO by a stop, I have to stop down a stop (because I'm compensating for the read noise, which varies with shutter speed, I hold the shutter speed constant.) I get curves like this:

Jim, what I believe you have done is replicated the 18% SNR curves at DxO - in your case at around 3.2% (-5 stops) of full scale.

Quote

Then I subtract out the half-a-stop-per-stop slope that's occurring because, for each stop increase in ISO, there are half as many photons. That gives me this:

The highest point on the curve gives me the place where I should think about not turning my ISO up any further. You can see in this case that there's very broad latitude. The peak, if you want to call such a broad top a peak, is near the unity gain ISO of about 800. (I measured 400 and change, but now I think my RX-1 is for all intents and purposes a 13-bit camera.)

The highest point on the curve represents the cleanest spot of just photon noise, as unpolluted as possible by read noise or PRNU, which can be seen here as the red and green patches at the tip and tail end of the (unstraightened) curves, where they drop just like in yours:

The vertical line with the dots represents your approximate sample points at -5 stops form FS. Does the area cleanest of camera-induced noise on an SNR curve correspond to unity gain?* Would your results differ if instead of 5 stops below full scale you had chosen 7 or 8 stops below clipping as your reference?

Here are the D800 curves that made me think I could get away with that:

I have looked and looked at pairs of Exmor captures, one taken at classic ISOs the other with the same exposure but at base ISO and pushed 4-5-6 stops in post by a neutral raw converter. Here is an early example by Guillermo Luijk with a K5. Anybody who has not tried this should download the available Raw files and open them in RawTherapee to judge for themselves. View them as you would normally view such an image, but do push it around to try to see the underlying differences.

As I mentioned earlier, it is really, really difficult to see a difference in normal conditions, and when I do see them in my opinion one image is not necessarily preferable to the other. Guillermo's image show a little more chroma noise and zero blocking. The base ISO file was understandably much smaller in size, though it appeared to have captured virtually the same image information, meaning that the rest of the data in the 'classic' ISO file was mostly noise.

Jack* Intuitively I would say not for practical intents and purposes, because any quantization induced by the discrete nature of electrons would be averaged out through dithering by the LSB-sized noise in the gain/ADC chain.

Bart, upon further thought I now believe that my question about the 5DIII or in fact most Canon DSLRs is not useful for the issue at hand, since I understand that they employ a two stage analog amplifier design, complicating things unnecessarily. Let's stick to single amplifier designs for simplicity. What do you think about my comment to Jim above?