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:
- Rings caused by Nikon's lossy data compression, which appear to be the result of a badly implemented algorithm
- Rings caused by Nikon's hardcoded correction applied to the image, which is probably a colour shading correction
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:
- Nikon D5100 performs the correction both with a recognised lens and with telescopes/legacy lenses. Hacked firmware does not prevent the "correction"
- Nikon D5200 performs the correction both with a recognised lens and with telescopes/legacy lenses
- Nikon D5300 appears to perform the correction only when used with a lens recognised by the firmware
- Nikon D5500 performs the correction both with a recognised lens and with telescopes/legacy lenses
- Nikon D5600 performs the correction both with a recognised lens and with telescopes/legacy lenses
- Nikon D750 performs the correction both with a recognised lens and with telescopes/legacy lenses
- Nikon D810 performs the correction when used with a lens recognised by the firmware. Not known whether it occurs with telescopes/legacy lenses
- Nikon D850 appears to perform the correction only when used with a lens recognised by the firmware
- Nikon Z6/Z7 performs the correction both with a recognised lens and with telescopes/legacy lenses
- Nikon Z6II performs the correction both with a recognised lens and with telescopes/legacy lenses. Rings in the green channel as well as the red and blue
- Nikon Z9 performs the correction when used with a lens recognised by the firmware. Not known whether it occurs with telescopes/legacy lenses
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