Nikon's Hardcoded Image Correction

Introduction

The purpose of this web page is to document the coloured concentric rings caused by Nikon's hardcoded image correction. But first here is a very brief introduction to the coloured concentric ring problems on Nikon cameras.


What are the Nikon concentric rings?

Nikon cameras suffer from two different concentric coloured ring issues: The solution to the lossy data compression is to switch on lossless data compression in the camera menu - that's if the camera supports it. Alternatively, there is a Windows App that repairs raw files.
There is no complete solution to the hardcoded correction but the best workaround is to ensure all exposures have the back-of-camera histogram further right than is typically recommended for astrophotography. See more information below.

This web page will look in more detail at the hardcoded image correction, with evidence of its existence but here's a link to a separate page devoted to the lossy compression issue.


Background to the hardcoded correction

Deep-sky astrophotography typically stacks together (i.e. averages) many exposures in order to reduce the background noise, allowing the faintest structures to be made visible. Unfortunately this processing will also reveal faint artifacts that have been introduced by any raw-processing performed by the camera firmware, if those artifacts are in the same position in every exposure.

For many years there has been anecdotal evidence of "ring" problems at low ISO on Nikon cameras but I first encountered it on my Nikon Z6 mirrorless camera and mentioned it in a review of the Nikon Z6 on the Cloudy Nights astronomy forum. Since then, many people have contacted me either on the forum or privately to supply raw NEF files from many other Nikon cameras that show the same problem.

The list of cameras confirmed to have the issue at the time of writing (March 2023) is Nikon D5100/D5300/D5500/D5600, D810/D850, Z5/Z6/Z6ii/Z7/Z7ii (see links at the bottom of the page)

This discussion will mainly centre around the Nikon Z6 since this is the only Nikon camera I have readily available for experimentation.

Here is the first Nikon Z6 astro-image I took, which showed the problem:

    
Click on image for larger version

The image was intended to show the very faint clouds of dust surrounding the Iris Nebula and consists of 75 two minute exposures taken at ISO 800 using a Takahashi Epsilon 180ED telescope. The exposures were calibrated with flats then stacked and stretched to make visible the very faint dust clouds. Note the sharply defined curved coloured bands in the background which made it more or less impossible to perform further processing to view ever fainter detail.


If the coloured rings are not immediately apparent then compare this ISO 800 image to an identical imaging session where I used ISO 3200. Also note the left right sensor split which is typical of the Sony full-frame sensors used in Nikon cameras:

    
Click on image for larger version

The ISO 3200 image has a slight purple colour cast towards the edges (which can easily be removed by background extraction) but does not have the same sharply defined colour regions.

Another excellent example is this one from the Nikon D5500, used with the kind permission of Michael Covington, author of "Digital SLR Astrophotography", in his blog:

    
Click on image for larger version

Notice the large blue ring in the background of the image.


Evidence for the problem

The easiest way to demonstrate the problem is to use a low ISO to take a sequence of out-of-focus images of a uniformly lit white surface at various shutter speeds (from severely underexposed to slightly overexposed) while keeping the aperture setting the same. I've done that here using ISO 100 and created a montage.

Using floating point arithmetic the raw data was bias-subtracted, binned to lower resolution (to reduce noise) and then the blue channel was divided by the green channel and the result stretched by a factor of 25. It was important to use floating point because performing these calculations with integer representations will create even more artifacts.

    
Click on image for larger version

The evolution of the rings as the exposure increases from the top left image to the bottom right image can be clearly seen. These are the rings that Nikon's hardcoded image correction has "embedded" into the raw data.

The hardcoded correction has formed a series of steps and each step is 1 digital unit in amplitude. This is the result of applying a smooth functional form to integer data, which is a problem familiar to camera engineers. If it's not familiar to them then it should be!

If the red channel is divided by the green channel then again there is a series of steps but they are more distorted and not so circular:

    
Click on image for larger version

There are no rings in the green channel, so it seems that corrections are applied only to the red and blue channels.

For a given camera, the centre of the rings is always in the same place. However, the rings in the data from a different Z6 had a different centre. Maybe this is something set at the factory?

It should be noted that these rings appear at all ISO settings but they are much easier to see at low ISOs because of the higher signal-to-noise ratio.


What is the purpose of the hardcoded correction?

The hardcoded image correction is impossible to switch off and is undocumented by Nikon so we can only guess at the reason for the correction. It affects images taken with lenses as well as images taken with telescopes. The main effect of the correction is to reduce the amount of blue in the corners of the image, simultaneously increasing the amount of red. Maybe the reason behind this correction is to reduce a colour cast towards the corners of the image i.e. a correction for colour shading. In the "Other Useful Links" section at the bottom there's a link to a technical paper on colour shading corrections.


How to reduce the effect of the rings

To reduce the impact of rings on imaging, I recommend that the back-of-camera histogram peak should be approximately halfway across for the so-called "lights" (i.e. night-sky exposures) and even further to the right for "flats" (uniform exposures for calibration of vignetting etc.). Use a combination of exposure length and ISO that achieves this - preferably a high ISO. I needed to use ISO 3200 for my Nikon Z6 with fast f/2.8 optics and Bortle 4 skies. Slower optics would require an even higher ISO e.g. ISO 6400 or ISO 12800. Definitely shoot with 14-bit data because the rings are more obvious with 12-bit data.

The reason for recommending a relatively high exposure level is that as the exposure increases, the number of rings increases but they also become fainter relative to the level of brightness in the image. This is because the step size of each ring is exactly 1 digital unit. A step size of 1 digital unit is significant when your recorded light level is only 100 units but it's far less significant when the recorded light level is in the thousands. This can be clearly seen in the montages shown earlier.


Further Technical Discussion

A discussion of how a smooth shading correction function can produce rings and steps in an image can be found on a separate page here.


Comments on individual Nikon cameras

The following list of cameras is known to produce rings caused by the hardcoded image correction: Nikon D5100/D5200/D5300/D5500/D5600, D750/D810/D850, Z5/Z6/Z6ii/Z7/Z7ii
However, Here are some interesting things that have been discovered about the hardcoded image correction on certain Nikon cameras, following user tests: For cameras not listed above, there has been insufficient testing to know under what circumstances the "correction" is performed

For futher information, see this camera-by-camera list of hardcoded corrections and other artefacts.


Conclusion

Deep-sky astrophotography is adversely affected by concentric ring artifacts that have been unintentionally introduced into the data by hardcoded corrections. Unfortunately there is no known way to switch these off in the camera menus.

I can't recommend Nikon cameras for serious deep-sky astrophotography because there is no menu-setting to switch off this hardcoded correction.
However, as always, it's the user's decision whether or not this is likely to affect their own photographic goals.


Other Useful Links

Nikon Z6 review on Cloudy Nights forum
Technical discussion on DPReview forum
Samsung paper on color shading corrections
The Nikon lossy compression issue
How smooth shading corrections cause image rings

Links to discussions on the rings for individual cameras:
Nikon D5100
Nikon D5300
Nikon D5500
Nikon D5600
Nikon D810
Nikon D810A
Nikon D850
Nikon Z6

Last updated by Mark Shelley: 12 September 2023