I've just returned from a trip.

One of the locations was very dark site. I took a photo with 4 minutes exposure for the foreground. The photo came out unusable. There are so many red, green, and white hot pixels. It's beyond photoshop clean up.

Is there a way to photograph such a dark foreground without getting hot pixels? I've heard that stacking multiple photos with lower (relatively) ISO + 30 sec shutter speed might work. How does that work and are there any other ways to prevent hot pixels other than using a film camera?

  • 1
    Seems to me that question is about purely dealing with them in post, while this one covers the possibility of preventing them in camera too? – Mark Fisher Aug 18 '15 at 4:33
  • @MarkFisher The accepted answer to the duplicate is to solve the problem in camera, so I'd say they're close enough. – Philip Kendall Aug 18 '15 at 21:55

You can't really prevent hot pixels on long exposures, you can only deal with them. For a single four minute exposure the easiest way is to use what is known as Dark Frame Subtraction. Different manufacturers have different names for in camera versions of it.

Canon, the brand I shoot, calls it Long Exposure Noise Reduction. After an image is taken the camera exposes another frame while the shutter remains closed. The data from the sensor obtained from the "dark" exposure is then subtracted from the shot taken with the shutter open. Be aware that if your exposure is four minutes, then it will take an additional four minutes to create the dark frame. During this time you will not be able to take your next photo.

There are also photo processing software applications that can subtract a single dark frame created by you from a batch of multiple images. Most full suites, such as Adobe Photoshop or RawTherapee support dark frame subtraction. The easiest way to create a dark frame is to make an exposure with the same settings but with the lens cap left on the camera. Just be sure the cap does not leak light! If there is any light source behind the camera you may also want to mask the viewfinder to prevent light from leaking around the raised mirror and making it into the mirror box.

Even in your case with an image you took a while back, you might be able to improve the image that you now consider unusable. Set the camera to the exact same settings that you used when you took the image. Place the camera in an environment (especially temperature) as close to the environment where the original image was taken. Be sure to allow enough time for the camera to adjust to the ambient temperature. Then take a dark frame with the lens cap in place and use that frame in an application such as Photoshop to subtract the hot pixels in the dark frame from the previous file. FOr how to do it in Photoshop, see this link.

  • Thank you @Michael Clark. Does that work 100%? I thought it's used to reduce noise. Isn't it? – Moon Aug 18 '15 at 2:39
  • Hot pixels are, in a manner of speaking, a type of read noise. When done correctly DFS should eliminate the vast majority of your hot pixels and most importantly the brightest ones. – Michael C Aug 18 '15 at 2:47
  • Thank you Michael. I will test it next time I go out. Have a good one! – Moon Aug 18 '15 at 3:35

I'll explain the image stacking method here.

Image stacking can yield better results, you then take multiple images at lower ISO and/or expose for a shorter time. A practical way to go about this is to just take the first picture at a high ISO and expose for long enough until you see the details you want to see, but possibly with a lot of noise and a lot of hot pixels. Suppose that the 4 minutes exposure at ISO of 3200 is such a picture. Then you should be able to get the same result by stacking e.g. 64 images with 30 seconds exposure at an ISO of 400, or 32 images with 30 seconds exposure at an ISO of 800 etc., but you are better off taking more pictures than this number. The more you take the less noise you will get.

You then choose some low ISO value and exposure time such that the total number of pictures you need to take is manageable for you. You will get the best results if you take all these pictures with long exposure noise reduction, so a dark frame subtraction is then done to each individual picture.

You then align the pictures, convert the pictures to 32 bit floating point images. If you now take the average, you reduce the noise and then you can normalize the brightness to make the faint details visible. However, there may still be outliers, the dark frame subtraction process is not perfect, the hot pixels in the dark frame are not all the same as in the original picture. So, you'll still have some outliers left and averaging doesn't get rid of them very well.

A good way to get rid of the remaining hot pixels pixels is to calculate the maximum and the minimum of the pictures (defined as the picture that has as its pixels the pixelwise maximum and the minimum of the gray values of pixels of the images). If you have e.g. 20 pictures in total, then you add all these 20 up, subtract the maximum and the minimum and then divide by 18. This amounts to taking the pixelwise average of the 18 pictures that have gray values that are not the pixelwise maximum or minimum. But this requires that all the pictures have the same exposure. If this isn't the case then you must normalize all the pictures so that they do have the same exposure, this requires converting the pictures to linear colorspace.

  • 1
    Stacking is very effective for reducing photon shot noise, which is random per frame. But it doesn't do much for read noise caused by sensor heat. A single four minute exposure or a series of 60 fifteen second exposures taken in a four minute time period will heat the sensor equally. And since hot/stuck pixels are almost always the same pixels in every frame, they won't be totally averaged out by image stacking. You also need to take at least one dark frame at the end (when the sensor is hottest) to remove read noise and hot/stuck pixels. – Michael C Feb 25 '16 at 7:20
  • Unlike read noise and shot noise, stuck pixels are most affected by sensor temperature, not the ISO setting. Taking a series of 64 30 second images over 32+ minutes at ISO 100 may well produce more hot/stuck pixels than taking a 4 minute image at ISO 3200 due to a higher sensor temperature at the end of 32+ minutes of constantly being energized. Because even at base ISO a pixel that is stuck "on" is already fully saturated. Multiplying by an amplification (higher ISO setting) isn't going to increase the value of a pixel that is already fully saturated. – Michael C Feb 25 '16 at 7:26
  • Having said all of that, it isn't quite clear if the OP is really talking about stuck pixels or photon shot noise. If the true culprit is shot noise, then your answer is spot on. +1 – Michael C Feb 25 '16 at 7:33

Not the answer you're looking for? Browse other questions tagged or ask your own question.