Noise, Dynamic Range, Cropping, and Print Size

JimKasson

Community Leader
Forum Moderator
Messages
52,258
Solutions
52
Reaction score
59,049
Location
Monterey, CA, US
The topic of cropping and dynamic range came up in another thread. I wrote an article on the subject, which I am posting in its own thread so that the theory can be discussed.

Photographers talk a lot about noise and dynamic range, and camera makers are quick to publish specifications that promise ever-increasing performance. Those numbers are often reported at the sensor level: how many electrons a pixel can hold before clipping, or how many electrons of read noise lurk at the dark end. Those are useful engineering quantities, but they don’t tell the whole story. What matters to a viewer is not the signal-to-noise ratio of a pixel, but how noise and dynamic range appear in a finished image, at the size and distance it is seen.

At the pixel level, signal-to-noise ratio is the ratio of collected photoelectrons to the RMS noise. Dynamic range is defined as the ratio of full scale to the mean signal level that produces a predetermined signal-to-noise ratio. That definition applies regardless of output size. What changes with print size is the appropriate threshold SNR: for small prints, downsampling averages noise and allows us to accept a higher SNR in the shadows, while for large prints the magnification of noise means we require a lower SNR for tones to remain usable.

Print size and viewing distance make the bridge between sensor data and human vision. A person with normal eyesight can resolve detail at about one arc-minute of visual angle. Translate that into pixels per degree of field of view, and you can calculate how many sensor pixels fall within the resolving power of the eye at a given print size. When you make a small print and view it from a comfortable distance, multiple sensor pixels contribute to each visual resolution element. Their noise averages down by the square root of the number of pixels, so the apparent SNR improves. When you make a large print, the opposite happens. Each sensor pixel covers more visual angle. There is no averaging advantage, and the noise is simply magnified. The same file that looks pristine at 8×10 inches can appear noisy at poster size.

Dynamic range and noise are two sides of the same coin. As the noise is reduced, dynamic range is increased. At the pixel level, the range is fixed: the ratio of highlight saturation to shadow noise does not change when you resize the image. What changes is how much of that range is visible. In a small print, the averaging effect hides low-level noise in the shadows, and subtle tonal differences remain discernible in a large print, the noise is more prominent. The visible dynamic range is therefore a function not just of the sensor, but of the enlargement factor.

There is another layer, too: the human visual system itself. Our sensitivity to contrast is not uniform across spatial frequencies. We are less sensitive to fine-grained variations than to coarser ones. As prints get larger, the noise spectrum shifts into frequencies where our eyes are more sensitive. That is why grain in a big print can look much more intrusive than it did in a small one, even if the sensor numbers haven’t changed. It is also why downsampling a file before printing often makes the result look cleaner than the raw SNR numbers would suggest.

The practical consequences are easy to observe. Take a raw file from a high-resolution sensor and make two prints. One is 8×10 inches, viewed from two feet away. The other is 40×60 inches, viewed from the same distance. The small print will look smooth and rich, even in the shadows. The large print will still be impressive, but if you look closely, noise will be more apparent.

To scale dynamic range with print size while keeping the definition consistent, you can set the shadow ‘usability’ threshold by print height. Bill Claff sets the threshold SNR to 16,000 divided by the picture height in pixels. This yields SNR = 10 for an 8-inch-high reference print at 200 ppi (1,600 px) and adjusts downward for larger prints (viewed farther away) and upward for smaller prints (viewed closer). Visible dynamic range is then the ratio of full scale to the mean signal level where the image SNR falls to this threshold; expressed in stops, DR_visible = log2(full_scale / signal_at_threshold).

This formula ties sensor resolution to human visual limits at a standard viewing distance. By convention, a print 1600 pixels high is taken as the reference size. At that size, the threshold is 10, meaning tones with an SNR greater than 10 are considered clean enough to contribute to usable dynamic range.

As the picture height grows the threshold decreases. Suppose your file is 4000 pixels high. Then the threshold SNR is 16000/4000 = 4.



6d5d6e3f848d48fd8d9f5731192e1253.jpg.png



This scaling preserves the original engineering definition of dynamic range -- full scale divided by the signal at the threshold SNR -- while making the threshold sensitive to viewing conditions. The result is a measure of photographic dynamic range, one that falls naturally as you ask more of your pixels by printing larger.

This scaling approach turns a fixed engineering definition into something that reflects perception. You still compute DR as full-scale signal divided by the shadow signal at the threshold SNR. But the threshold itself is not fixed; it increases with print size, mimicking the way noise becomes more intrusive as you enlarge an image. Now you can understand why cropping reduces photographic dynamic range.

Claff’s formula was devised when high-resolution sensors topped out around 16 megapixels. As sensors grow to16,000 pixels high the threshold falls to SNR = 1, which corresponds to very noisy shadows. At that point the formula will need to be revised, perhaps by defining a larger reference print size and adjusting the 16,000 constant upward.

--
 
As sensors grow to16,000 pixels high the threshold falls to SNR = 1, which corresponds to very noisy shadows. At that point the formula will need to be revised, perhaps by defining a larger reference print size and adjusting the 16,000 constant upward.
A clarification :

Does this also indicate that if you have more pixels you could get away with noisier pixels, as long as one views from larger distance to keep the same FOV , which can mean larger sensor with same sized pixels or same sized sensor with smaller pixels ? Just that the latter , hardware wise, is more prone to increase noise per pixel and hence the overall reduction in perceived noise is lower ?
 
Last edited:
As sensors grow to16,000 pixels high the threshold falls to SNR = 1, which corresponds to very noisy shadows. At that point the formula will need to be revised, perhaps by defining a larger reference print size and adjusting the 16,000 constant upward.
A clarification :

Does this also indicate that if you have more pixels you could get away with noisier pixels, as long as one views from larger distance to keep the same FOV , which can mean larger sensor with same sized pixels or same sized sensor with smaller pixels ? Just that the latter , hardware wise, is more prone to increase noise per pixel and hence the overall reduction in perceived noise is lower ?
A correction :

FWC/um^2 is constant from current tech perspective in mirrorless camera sensors which is why one can't keep increasing pixels in same area, hence the former approach

Continuing further :

https://fotoeng.wordpress.com/2023/...l-well-capacity-than-a-full-frame-camera-now/

With such improvements we can have enough pixels even in smaller size sensors and then no longer requiring larger formats, right ?

A related Q : Typically how much percent of the pixel's FWC is the usable part ?
 
Last edited:
Claff’s formula was devised when high-resolution sensors topped out around 16 megapixels. As sensors grow to16,000 pixels high the threshold falls to SNR = 1, which corresponds to very noisy shadows. At that point the formula will need to be revised, perhaps by defining a larger reference print size and adjusting the 16,000 constant upward.
If my calculation is not wrong, 16000 assumes pixel size of approx 7.4 um. by modern GFX like pixel sizes, it would be around 3.7 um.

So should the new formula be :

8,000 divided by the picture height in pixels ?
 
Last edited:
As sensors grow to16,000 pixels high the threshold falls to SNR = 1, which corresponds to very noisy shadows. At that point the formula will need to be revised, perhaps by defining a larger reference print size and adjusting the 16,000 constant upward.
A clarification :

Does this also indicate that if you have more pixels you could get away with noisier pixels, as long as one views from larger distance to keep the same FOV ,
Yes.
which can mean larger sensor with same sized pixels or same sized sensor with smaller pixels ?
Indeed.
Just that the latter , hardware wise, is more prone to increase noise per pixel and hence the overall reduction in perceived noise is lower ?
Actually smaller pixels are better, because nonlinear noise reduction works better with smaller pixels.
 
A related Q : Typically how much percent of the pixel's FWC is the usable part ?
Hard to tell, since the camera manufacturers let the data clip before there is much nonlinearity.
 
Claff’s formula was devised when high-resolution sensors topped out around 16 megapixels. As sensors grow to16,000 pixels high the threshold falls to SNR = 1, which corresponds to very noisy shadows. At that point the formula will need to be revised, perhaps by defining a larger reference print size and adjusting the 16,000 constant upward.
If my calculation is not wrong, 16000 assumes pixel size of approx 7.4 um.
How did you get to that number? 16000 pixels high on a 33x44mm sensor would be 33000/16000 um for the pixel pitch.
by modern GFX like pixel sizes, it would be around 3.7 um.

So should the new formula be :

8,000 divided by the picture height in pixels ?
 
As sensors grow to16,000 pixels high the threshold falls to SNR = 1, which corresponds to very noisy shadows. At that point the formula will need to be revised, perhaps by defining a larger reference print size and adjusting the 16,000 constant upward.
A clarification :

Does this also indicate that if you have more pixels you could get away with noisier pixels, as long as one views from larger distance to keep the same FOV ,
Yes.
which can mean larger sensor with same sized pixels or same sized sensor with smaller pixels ?
Indeed.
Just that the latter , hardware wise, is more prone to increase noise per pixel and hence the overall reduction in perceived noise is lower ?
Actually smaller pixels are better, because nonlinear noise reduction works better with smaller pixels.
Is it smaller pixels or higher resolution? An m43 20MP camera has a pixel pitch of 3.34µm, while the GFX100 has a pixel pitch of 3.76 µm.
 
As sensors grow to16,000 pixels high the threshold falls to SNR = 1, which corresponds to very noisy shadows. At that point the formula will need to be revised, perhaps by defining a larger reference print size and adjusting the 16,000 constant upward.
A clarification :

Does this also indicate that if you have more pixels you could get away with noisier pixels, as long as one views from larger distance to keep the same FOV ,
Yes.
which can mean larger sensor with same sized pixels or same sized sensor with smaller pixels ?
Indeed.
Just that the latter , hardware wise, is more prone to increase noise per pixel and hence the overall reduction in perceived noise is lower ?
Actually smaller pixels are better, because nonlinear noise reduction works better with smaller pixels.
Is it smaller pixels or higher resolution? An m43 20MP camera has a pixel pitch of 3.34µm, while the GFX100 has a pixel pitch of 3.76 µm.
I meant smaller pixels are better assuming the physical sensor size is constant.
 
Claff’s formula was devised when high-resolution sensors topped out around 16 megapixels. As sensors grow to16,000 pixels high the threshold falls to SNR = 1, which corresponds to very noisy shadows. At that point the formula will need to be revised, perhaps by defining a larger reference print size and adjusting the 16,000 constant upward.
If my calculation is not wrong, 16000 assumes pixel size of approx 7.4 um.
How did you get to that number? 16000 pixels high on a 33x44mm sensor would be 33000/16000 um for the pixel pitch.
Oh, I thought the constant 16000 (in the formula) was somehow derived for a 16MP FF sensor of resolution 4899x3266 hence 24000/3266 = 7.4 um
 
Claff’s formula was devised when high-resolution sensors topped out around 16 megapixels. As sensors grow to16,000 pixels high the threshold falls to SNR = 1, which corresponds to very noisy shadows. At that point the formula will need to be revised, perhaps by defining a larger reference print size and adjusting the 16,000 constant upward.
If my calculation is not wrong, 16000 assumes pixel size of approx 7.4 um.
How did you get to that number? 16000 pixels high on a 33x44mm sensor would be 33000/16000 um for the pixel pitch.
Oh, I thought the constant 16000 (in the formula) was somehow derived for a 16MP FF sensor of resolution 4899x3266 hence 24000/3266 = 7.4 um.
No, it came from an SNR of 10 with a 1600 pixel high print.
 
Claff’s formula was devised when high-resolution sensors topped out around 16 megapixels. As sensors grow to16,000 pixels high the threshold falls to SNR = 1, which corresponds to very noisy shadows. At that point the formula will need to be revised, perhaps by defining a larger reference print size and adjusting the 16,000 constant upward.
If my calculation is not wrong, 16000 assumes pixel size of approx 7.4 um.
How did you get to that number? 16000 pixels high on a 33x44mm sensor would be 33000/16000 um for the pixel pitch.
Oh, I thought the constant 16000 (in the formula) was somehow derived for a 16MP FF sensor of resolution 4899x3266 hence 24000/3266 = 7.4 um.
No, it came from an SNR of 10 with a 1600 pixel high print.
Oh ok. Then I wonder how to revise it for higher MP cameras as larger ref pixel print size would inherently need lower SNR threshold ? As that threshold SNR of 10 is kind of tied to human vision, isn't so ?
 
Last edited:
Claff’s formula was devised when high-resolution sensors topped out around 16 megapixels. As sensors grow to16,000 pixels high the threshold falls to SNR = 1, which corresponds to very noisy shadows. At that point the formula will need to be revised, perhaps by defining a larger reference print size and adjusting the 16,000 constant upward.
If my calculation is not wrong, 16000 assumes pixel size of approx 7.4 um.
How did you get to that number? 16000 pixels high on a 33x44mm sensor would be 33000/16000 um for the pixel pitch.
Oh, I thought the constant 16000 (in the formula) was somehow derived for a 16MP FF sensor of resolution 4899x3266 hence 24000/3266 = 7.4 um.
No, it came from an SNR of 10 with a 1600 pixel high print.
Oh ok. Then I wonder how to revise it for higher MP cameras as larger ref pixel print size would inherently need lower SNR threshold ? As that threshold SNR of 10 is kind of tied to human vision, isn't so ?
I think a reasonable extension for high-res cameras would be to change the constant to 32000. That would be appropriate for a 16-inch high print viewed from the same distance.
 
And just to further clarify : Once one gets the SNR threshold based on the vertical pixels, one needs to add to it one's expected DR to get one's expected EDR, correct ?

For eg, with vertical pixels of say 8000, threshold SNR = 4

and then one wants say UltraHDR format dynamic range say 12 stops

One's expected EDR would be 16 stops, rt ?
 
And just to further clarify : Once one gets the SNR threshold based on the vertical pixels, one needs to add to it one's expected DR to get one's expected EDR, correct ?

For eg, with vertical pixels of say 8000, threshold SNR = 4

and then one wants say UltraHDR format dynamic range say 12 stops

One's expected EDR would be 16 stops, rt ?
The PDR formula is applicable to raw data, not processed data. So the processing does not affect the PDR.
 
And just to further clarify : Once one gets the SNR threshold based on the vertical pixels, one needs to add to it one's expected DR to get one's expected EDR, correct ?

For eg, with vertical pixels of say 8000, threshold SNR = 4

and then one wants say UltraHDR format dynamic range say 12 stops

One's expected EDR would be 16 stops, rt ?
The PDR formula is applicable to raw data, not processed data. So the processing does not affect the PDR.
But wouldn't HDR format like UltraHDR benefit from raw file having wide DR ?
 
And just to further clarify : Once one gets the SNR threshold based on the vertical pixels, one needs to add to it one's expected DR to get one's expected EDR, correct ?

For eg, with vertical pixels of say 8000, threshold SNR = 4

and then one wants say UltraHDR format dynamic range say 12 stops

One's expected EDR would be 16 stops, rt ?
The PDR formula is applicable to raw data, not processed data. So the processing does not affect the PDR.
But wouldn't HDR format like UltraHDR benefit from raw file having wide DR ?
Raw files have larger DR than UltraHDR or SDR can use.
 
And just to further clarify : Once one gets the SNR threshold based on the vertical pixels, one needs to add to it one's expected DR to get one's expected EDR, correct ?

For eg, with vertical pixels of say 8000, threshold SNR = 4

and then one wants say UltraHDR format dynamic range say 12 stops

One's expected EDR would be 16 stops, rt ?
The PDR formula is applicable to raw data, not processed data. So the processing does not affect the PDR.
But wouldn't HDR format like UltraHDR benefit from raw file having wide DR ?
Any post processing that lifts shadows a lot could benefit from wide PDR.
 
And just to further clarify : Once one gets the SNR threshold based on the vertical pixels, one needs to add to it one's expected DR to get one's expected EDR, correct ?

For eg, with vertical pixels of say 8000, threshold SNR = 4

and then one wants say UltraHDR format dynamic range say 12 stops

One's expected EDR would be 16 stops, rt ?
The PDR formula is applicable to raw data, not processed data. So the processing does not affect the PDR.
But wouldn't HDR format like UltraHDR benefit from raw file having wide DR ?
Raw files have larger DR than UltraHDR or SDR can use.
Yup. What I was trying to clarify before was that, that DR would also need to include the threshold SNR , in addition to DR one needs for one's photo
 
And just to further clarify : Once one gets the SNR threshold based on the vertical pixels, one needs to add to it one's expected DR to get one's expected EDR, correct ?

For eg, with vertical pixels of say 8000, threshold SNR = 4

and then one wants say UltraHDR format dynamic range say 12 stops

One's expected EDR would be 16 stops, rt ?
The PDR formula is applicable to raw data, not processed data. So the processing does not affect the PDR.
But wouldn't HDR format like UltraHDR benefit from raw file having wide DR ?
Raw files have larger DR than UltraHDR or SDR can use.
Yup. What I was trying to clarify before was that, that DR would also need to include the threshold SNR , in addition to DR one needs for one's photo
As far as the interpretation of DR goes, I think you'd be well off to treat UltraHDR or SDR like any other post processing.
 

Keyboard shortcuts

Back
Top