Nikon D810 high-ISO noise reduction

Yesterday’s experiments with the D810 dark-field noise, which showed that Nikon employs some low-pass filtering when long exposure noise reduction is turned on, made me wonder if there was any similar filtering at high ISO settings, a la the Sony a7S.

I looked at one of the green channels of exposures made at ISO 64 and ISO 50K at 1/8000 seconds, with all in-camera noise reduction turned off.



ISO 64

ISO 64

No low-pass filtering is evident.

What is you turn high ISO noise reduction on? Here is a dark-field exposure with it set to “High”:

D810Hi ISO NR Hi

No low-pass filtering is evident. I checked “Low” and “Normal” with the same results.

High ISO NR does do something, though. Here’s the histogram with it set to “Off”:


And set to “High”:




Nikon D810 noise reduction raw processing

Yesterday I reported on some of the processing the D810 does to raw files, apparently in an attempt to reduce noise. A few weeks ago, I published these curves which look at dark-field noise vs shutter speed with the in-camera long exposure noise reduction on and off.

Long exposure noise reduction on

Long exposure noise reduction on

Long exposure noise reduction off

Long exposure noise reduction off

You will note that there is some processing taking place between (inclusively) 1/4 second and 1 second, that looks to be similar whether long exposure noise reduction is turned on or off.

You will also note that the long exposure noise reduction starts at 1.3 seconds, and that its effect is to increase the standard deviation of the dark-field noise, not decrease it, as you’d expect.

Let’s look at the histograms of the 1/5 second image and the 1/4 second one. It doesn’t matter if long exposure noise reduction is turned on or off; they look like this:


1.5 second

1/5 second

1/4 second

1/4 second

What are the differences? First, there’s that double filled histogram near the black point. That’s obvious, but probably unimportant. The big news is not in the graphical histograms, but in the numbers to their right, particularly the maximum values. The transition from 1/5 to 1/4 second invokes some kind of processing that has the effect of reducing or eliminating outlier pixels.

You’d think that something like that could affect the ability of the image to hold detail, but it doesn’t seem to hurt materially. Here are the spectra of the two images:


1/5 second

1/5 second

1.4 second

1/4 second

Now let’s look at what’s going on as the shutter speed changes from 1 second to 1.3 second with long exposure noise reduction turned on. Here are the relevant histograms:


1 second

1 second


1.3 seconds

1.3 seconds

You can see the bulk of the histogram getting broader as the shutter speed gets longer, which is what the graph at the top of this post indicated. But note the maxima: the 1,3 second image has a significantly lower maximum than the 1 second image.

Plotting the maxima rather than the standard deviation across the entire range of shutter speeds tells the story, albeit noisily.

D810MaxRNvsshutterNRoff D810MaxRNvsshutterNRon


Except for two green channel maxima, long exposure noise reduction substantially reduces the values of the worst case (hot) pixels.

The maximum is not the best measure for hot pixels; the 99th percentile, or even the the 99.9th percentile, would be better. However, Rawdigger doesn’t — yet — give you that information, and I don’t think this is important enough to write a Matlab script to do the job. (If someone wants it done, sing out and I’ll give it a shot.)

Now let’s look at the spectra of those two exposures:

1 second

1 second

1.3 seconds

1.3 seconds

The low pass spatial filtering component of the D810′s long exposure noise reduction appears to be independent of shutter speed, at least in the range between 1.3 seconds and 15 seconds.

Nikon D810 long exposure noise reduction

There has been some discussion on the web about long-exposure noise reduction in the Nikon D810 that occurs even when the menu setting for such process is set to off.  I have seen some indications of this kind of processing in my dark-field versus shutter speed tests.

Now that I have a tool for analyzing the spatial spectra of images, I can take a look at some of the Nikon dark-field images made when I took the data for these graphs.

First, the dark-field spectrum for the green channel, 1/8000 second at ISO 1000:


Except at very low spatial frequencies, the spectra are flat, which indicates white noise, which means no spatial filtering.

Here’s the histogram of that image:

histo 203

There’s a little clipping at a bit over 570, and there are dropouts in the red and blue channels because of Nikon’s 14-bit digital white balance prescaling, but the histograms look normal otherwise.

Now at 15 seconds with the camera set for no long exposure noise reduction:


There is essentially no low-pass spatial filtering taking place.

The histogram of the 15 second, no NR image:

histo 254

A little different, particularly the double-high bucket at around 600 in the red and blue channels. You’d expect this with digital prescaling, and I don’t know why it didnt’ occur with the 1/8000 second image.

Now with long exposure noise reduction invoked:


Quite a bit of spatial filtering.

The histogram:

histo 306

There’s only one empty bucket. Thus, the spatial filtering is not median filtering, which cannot fill holes in the histogram; it must be some kind of averaging filter.

I’ll do some more testing and report.



CCD vs CMOS: an end to the war?

“What war?” you say, “CMOS won that war a long time ago.” If the criterion is chips shipped, I agree. But CCDs have their fans in the photographic community, and they tend to be vocal. I’m  from Missouri about the supposed color rendering advantages of CCD’s, and I really don’t like the poor dynamic range of current CCD implementations.

There is now technology available to freely mix and match CMOS and CCD structures on the same chip.

This should allow on-chip ADCs with CCD arrays.  As the paper states, it could also offer more flexibility in global shutter implementations. Although no consumer cameras employ this technology yet, they could soon, given sufficient demand.


Easy ETTR for Canon users

From the mailbag:

Thanks for the blog series on ETTR and UniWB. I’m not sure, but I may have been among the earliest to describe the trivial way for UniWb with Canon: lens cap black or totally blown over-exposure. I was unable to easily find the date on your blog article.

You may or may not be aware that Magic Lantern (ML) implemented RAW histogram, leading to RAW blinkies, RAW preview, RAW review, auto-ETTR, and eventually to RAW video. With that feature, UniWB is a non-issue … totally unnecessary.

Really not meaning to “pat myself on the back”, but that came about due to my “Feature Request” for RawDigger-like capabilities in ML.

Is ETTR worth it any more?

There have been a flurry of statements recently on photo fora that exposure to the right (ETTR) is an obsolete concept. The argument goes that, while it may have been useful in the past, modern cameras have so little noise that ETTR is currently a waste of time and brain cells. If you buy that line of reasoning — and who am I to question what image quality you think is good enough? — you can save yourself considerable money. Read on.

Photon noise dominates the noise of modern cameras at signal-to-(photon) noise ratios (SNRs) of greater than 10:1, which I consider the low end of photographically acceptable noisiness. Assuming similar sensor technology, shot/Poisson/photon noise is proportional to the square root of the pixel area. Thus, it’s proportional to the inverse of the pixel pitch. We can remove sensor resolution from the picture by noting that at identical pixel pitches, SNR is proportional to the inverse of the square root of the sensor area. Thus, it’s proportional to the inverse of any linear dimension of the sensor area.

That means (eliding differences in sensor technology) all of the following have the about the same resolution-adjusted SNR:

  • A Nikon D4 or D810 6 stops underexposed
  • A Sony alpha 7000 5 stops underexposed
  • A micro four-thirds camera 4 stops underexposed
  • A Leica D-Lux 6 2 stops underexposed
  • An iPhone 5 exposed correctly using ETTR

Another way of looking at this is, if you have a full frame camera and regularly leave two stops of blank space on the right side of your raw histogram, you could get the same image shadow SNR — and the reason for ETTR is maximizing shadow SNR — by buying a MFT camera and practicing ETTR.

The above ignores many things, among them lens quality, sensor technology, read noise lar, PRNU, diffraction, depth of field… Still, I think it’s a useful way to think about ETTR.

While modern sensors produce remarkably low noise, practicing ETTR can either give you more ability to boost the shadows in post processing, or allow you to use a small camera and get results that are equivalent to a much larger, heavier, and more expensive instrument.

D810 blown highlights

From the mailbag:

After shooting with a d810 for an afternoon, I came away thinking that the sensor is blowing out i the highlights. After reading through your test, blogs, etc…am I to gather that my observations are NOT correct? I sold my d800e before the trial of the d810, and question if I should go ahead with the d810, or get another d800e. My primary use is in a controlled studio environment, documenting large paintings with a strobe set-up. Regardless of the differences between the two sensors, what I really would like to know is if the d810 can be set up to capture raw files that do not have highlight data that is blown out. Additionally, assuming the data is there, I want to know if it’s easily recoverable, and is NOT at the expense of a well exposed balanced file. From what I’ve seen thus far, there is not any raw file SW that seems to render files that have data in the upper highlights. Do you think that the camera is in need of a firmware adjustment to correct this situation?

IF not, what approach would you suggest that would allow the d810 to allow files that are not blown out looking? Any advice, insights by you would be greatly appreciated!

On one level, the answer is very simple. Blown highlights – defined as clipping of the right side of the raw histogram – is prima facie evidence of overexposure. Stop down, set a faster shutter speed, or turn down the ISO setting, Problem solved.

On a deeper level, things get complicated fast.

First off, as indicated in the simple explanation, the highlights may or may not be blown if they look blown in your raw developing program. To find out if they are indeed blown, or right–clipped, you need to look at the raw values. The best way that I know to do that is to buy a copy of RawDigger, and use it. If you’re quite computer-savvy and want something free, download DCRAW, and use it to convert raw files to TIFFs that you can examine in Photoshop or Lightroom.

As explained in excruciating detail in a series of papers on this site, your in-camera histogram doesn’t show you what the raw histogram looks like unless you take steps to get it to approximate the raw histogram. Fortunately, the un-tweaked in-camera histogram is conservative: for most subjects, under most lighting conditions it will tell you you’re overexposing before you really are.

Now, let’s assume you’ve looked at the raw files and see that they are well and truly overexposed. Put the memory card back in your camera and look at the in-camera histogram. Is it blown? If it is, you just overexposed. Next time take a test shot, hit play, and look at the in-camera histogram before making the exposures you wish to keep. It’s not blown in the in-camera histogram, but it is in RawDigger? If you’ve calibrated your in-camera histogram, you may want to do it over. If you haven’t, you’ve encountered one of those weird situations where the default settings for the in-camera histogram are not conservative. Note the situation – flowers are often problem subjects – and next time leave mpore room on the right with that subject and lighting.

There’s another situation in which you can blow highlights and have the in0camera histogram fail to show it. That’s if your highlight areas are quite small. The in-camera histogram doesn’t sample every pixel in the image; just every pixel in the preview JPEG, which is quite a bit smaller.

What if RawDigger says your highlights aren’t blown but Lightroom does, and applying Lr’s smart highlight recovery controls doesn’t give you acceptable results? Try another raw converter. My current favorite non-Adobe converter is Iridient Developer. It’s Mac-only, but it is an excellent program. Its main advantage over Lr, in my mind, is that the functions of all the controls are overt, not hidden. That makes it a little harder to use at first, but you can do things in ID that you can’t do in Lr. Also, ID often offers several different algorithms for an operation; you can try them all and pick the one that fits your situation the best.

As to whether a firmware change is likely to make any difference, I think not. I have seen no problem with the linearity of the D810’s tone curve near saturation, although some slight bending in the upper stop is normal. There have been reports that some of Adobe’s camera profiles for the D810 don’t produce good results. If you don’t want to use another raw converter than an Adobe one, trying different profiles, and/or waiting a few weeks may be a good idea.

If you’re operating at near base ISO, and you’re not doing heroic shadow boosts, you may not want to use the last smidgeon of the right side of the histogram until you get comfortable with your raw conversion process; you’ll still have quite a respectable dynamic range with the D810.

This topic is closely related to the area of exposure strategies. It seems like there are as many of those as there are serious photographers, and it’s way too much to cover here.



Nonlinear cropping

Well, it’s not cropping, exactly, but it’s related. Read on.

Often with abstracts, there’s no way the viewer can see if an image has been distorted or not. That can provide some freedom for expression.

Here’s an example. I started with this image:


Let’s say I want it approximately square. I could just crop it:


But let’s say I don’t want to throw away much. In this example, say I don’t want to throw away anything.

I can bring the image into Photoshop, make a selection on the left, cut it and paste it as a new layer. Then I can take the Free Transform tool and squish it from the left. Then I’ve got this:


I can do the same thing with part of the right hand side of the image:

squeezed both

So I end up with this:



Give it a try!

Motion artifacts in the succulent images

In preparing the image of the Don Worth succulent for printing, I’ve discovered  a great many motion artifacts. Some of them, like this one caused by an insect crawling across one of the leaves:




need special attention.

However, there are many artifacts caused by motion of the leaves that could benefit from an automated solution. Here’s an example:


Note the vertical lines. They’re not on the plant. They don’t do anything for the image’s aesthetics. They have to go.

I took a look at one of the un-squeezed *and un-color-corrected) input files:

med 0 0


Ugly, huh. I figured that nothing is supposed to change rapidly in the time dimension — left to right in the above image. So why not try a long, skinny median filter? I wrote a little Matlab script:

med code

that applies a median filter 1 pixel high by 32 pixels wide.

Here’s what comes out:

med 1 32

This could save me untold hours of boring retouching.


D810 vs D800E dark-field noise curves

Yesterday I posted raw histograms from the Nikon D810 and D800E that showed that Nikon performed aggressive black-level subtraction in the D800E files, while there was very little clipping of the left side of the histogram in most cases with the D810.

The conventional quick way to measure dark-field noise is to compute the ratio of full-scale to the standard deviation (aka sigma) of the measured dark field noise in the raw files. When you do that with the D810, you get this:

D810 RN

With the D800E, the curve looks like this:

D800E RN

Putting both curves on the same graph, and leaving out the blue and red channels for clarity:

D800E D810  RN

If you correct for amplifier gain, so the noise is referred to the input of the internal amplifiers, the D810 curve looks like so:

D810 RN corr

And the D800E curve is:

D800E RN corr1

If we plot the green channels of the two cameras on the same graph, we get this:

D800E D810 RN ISO corr

You’ve probably seen graphs like the above on the ‘net, albeit probably not with 1/3 stop ISO resolution. They make it look like the D810 is a step backwards in terms of read noise, except for a few ISO settings at 3200 and above for the D810.

That’s because the cameras play by different rules. The D800E’s internal subtraction of the black level makes the camera’s dark-field noise look better than it really is.

There’s another way to get at read noise. It involves making a series of measurements at ever-decreasing illumination of a target, fitting a curve to the result, and extrapolating it to zero signal. Such methods need to be employed to compare two cameras with such dissimilar raw processing as the D810 and D800E, and even they require some guesswork.