For digital cameras, long exposures are affected by ‘hot pixels’ and ‘ noise’. This post investigates long exposure sensor noise using Raw Therapee for my new Canon EOS 100D (Rebel SL1 / Kiss X7) digital SLR camera. All photos in this post were intentionally shot with the lens cap on!
Taking the images
Dark-frames (i.e. photos with the lens cap on) are long exposures that record long-exposure sensor noise.
Relevant camera settings were:
- Daylight white balance (fixed white balance for comparisons between images).
- Manual exposure with varying shutter speed. Lens aperture is not relevant to long exposure sensor noise.
- Fixed ISO sensitivity (ISO 100 to start with).
- Long exposure noise reduction OFF.
- High ISO noise reduction OFF.
Processing the images
Processing parameters in Raw Therapee version 4.1.0 were:
- Neutral profile (no adjustments).
- Camera white balance (Daylight white balance, see above).
- Input Profile = No profile
- Output Profile = RT_sRGB (i.e. with gamma adjustment, like in real world photos.)
Each image was cropped to the same 400 × 400 pixel square that was selected to contain hot pixels. Results were exported as 8-bit TIFF files. The very small image size reduced further processing loads.
Images were converted into text files using ImageMagick. Text files were cleaned up and saved as .csv text files using LibreOffice Calc. Statistical analysis of the data used R. It was easier to evaluate the results using graphs rather than images (see example below).
Example crop of a dark-frame at ISO100 and 1/60 seconds (raw photo processed in Raw Therapee). A red hot pixel is ‘just-noticeable’ up and left of centre, with an amplitude of about 60 (at 8-bits). Having a display with low black level and turning off the lights helps. I used a ‘just-noticeable’ noise level of 50.
Exposure time effect
I shot a series of dark-frames with increasing exposure. I let the sensor cool down for at least 12 minutes between shots.
Dark-frame results from 1/60 seconds to 16 minutes (2-stop increments) at ISO100. 160 000 individual Red, Green and Blue pixels are plotted in sequence as read by ImageMagick (horizontal axis). Pixel values can be read on the vertical axis. The dashed line is a ‘just noticeable’ level.
Hot pixels stand out above the background noise level – they appear much brighter than they should. Hot pixels are a type of fixed-pattern noise – they always appear in the same location. Hot pixels result from leakage currents into sensor wells – they are manufacturing defects. The (linear) level of hot pixels increases linearly with exposure time.
In the above series, red hot pixels can be seen increasing in amplitude until they saturate (255 at 8-bits). There were no blue hot pixels and no green hot pixels. Green hot pixels are rare for Bayer filter sensors, for which there are two green pixels for each red and blue pixel. I suggest that it is unlikely to have two adjacent green pixels defective.
I was disappointed to see hot pixels appearing from 1/60 seconds. Another Canon 100D of mine did not show hot pixels before 1 seconds exposure time. My old Canon 400D (Digital Rebel XTi / Kiss Digital X) did not show hot pixels before 3 or 4 seconds exposure time. As pixel counts and pixel densities increase, I expect that sensor defects become more difficult to control.
The background noise level is dark current noise (also called ‘thermal noise’). Dark currents are small electric currents that occur even when no photons are arriving at the sensor. Dark currents are due to electrons dislodged by random thermal activity. Dark currents increase with temperature. Sensor temperature increases towards the end of long exposures.
In the above series, background noise increased strongly at four and 16 minutes. This noise includes dark current noise and additional hot pixels. Hot pixel noise also increases with temperature.
For each ISO, I shot a series of dark-frames with increasing exposure. I let the sensor cool down for at least 12 minutes between shots. Here, I present results only for one second and 4 minutes exposures.
Dark-frame results from ISO100 to ISO12800 at one second exposure.
Dark-frame results from ISO100 to ISO12800 at 4 minutes exposure.
Increasing ISO amplifies the signal before analog-to-digital conversion. Amplifying the signal will also amplify noise.
In the above series, hot pixel intensities and dark current noise increase at higher ISOs. ISO greater than 800 should be avoided.
Interestingly, some strong hot pixels vanished above ISO 1600. I suspect there is some in-camera faking for ISO 3200 to ISO 12800 – these images appeared coarser-grained than lower ISO images. The high ISO noise reduction camera setting had no effect on images produced from the raw files.
I shot a cold dark-frame in the morning, packed my camera in a black camera box and placed that in the sun for a few hours. The camera felt warm when I removed it from the camera box and shot a hot dark-frame. For both shots, I believe the camera sensor temperature was very close to the ambient temperature. Temperature was measured using a ‘fridge thermometer’ probe.
Dark-frame results at 12°C and 32°C, four minutes exposures at ISO100.
In the above comparison, background noise increased strongly from 12°C to 32°C. It’s much better to shoot long exposures in cool conditions.
Hot pixel noise has a fixed-pattern and can be removed by subtracting a dark-frame. I prefer to do perform dark-frame subtraction in Raw Therapee. In-camera long exposure noise reduction can waste a lot of time shooting dark-frames with every photo.
From the preceding results and discussion, we need to match the level of the hot pixels in the photo and in the dark-frame:
- Shoot at the same temperature.
- Shoot at the same exposure time.
- Shoot at the same ISO.
I evaluated dark-frame subtraction at four-minutes exposure time, for which there were moderate to large numbers of hot pixels at all ISO settings.
Dark-frame subtraction results from ISO100 to ISO800 at 4 minutes exposure.
In the above series, dark-frame subtracted images had zero to very low noticeable noise up to ISO400. Dark-frame subtraction also was effective at ISO800, however there were many low level noisy pixels in the dark-frame subtracted ISO800 image.
Dark current noise results from random processes and cannot be removed by subtracting a dark-frame. In fact, for uncorrelated variables, the variance of the sum or difference is the sum of the variances (dark-current noise is random and uncorrelated). In the above series and at ISO100 in particular, observe that the background noise actually increased after dark-frame subtraction.
When shooting multiple long exposures at very short intervals, the camera sensor could experience a cumulative heating effect similar to one very long exposure.
I shot sets of three four minute exposures at increasing shot intervals, using a plug-in intervalometer to control the camera shutter. I let the camera sensor cool down for about 16 minutes between each set. I compared noise levels for the third shot in each set.
Dark-frame results at shot intervals from zero to four minutes, three four minutes exposures at ISO100 in each set.
In the above series, the zero second interval result is a single 12 minute exposure (4 + 0 + 4 + 0 + 4 minutes) and very noisy. Noise levels were much lower at shot intervals from one second to one minute and slightly lower again at a four minute shot interval. I was using a slow SD card and the real shot interval may have been longer than the intervalometer setting at one second. Nonetheless, these results clearly indicate that the sensor cooled rapidly. Shot intervals of just a few seconds are adequate.
Minimising long exposure noise
Following the above analysis, I classify long exposures into three groups:
- Shorter long exposures from one second to about one minute. A dark-frame is required for removing hot-pixel noise. Dark current noise is not usually an issue.
- Medium long exposures from about one minute to four minutes. With low ISO and avoidance of sensor heating, dark current noise can be minimised and dark-frame subtraction is effective.
- Very long exposures greater than about four minutes. Consumer digital cameras are not designed for such long exposures and dark current noise becomes excessive. Image averaging may be helpful.
Also recognise that ‘live view’ and digital video are long exposures. Taking a long time to set-up a shot in live view will heat up the sensor and increase noise. Recording video with a digital SLR camera for several minutes will heat up the sensor and can increase noise. However, downscaling from sensor resolution to video resolution will average away much of the noise.