Description
Hot pixels and cold pixels are photosites on the sensor whose response deviates strongly from the average: hot pixels saturate or carry an abnormally high signal even in the absence of light (locally elevated dark current), while cold pixels respond little or not at all to the incoming flux.
Proper calibration with matched darks (same temperature, same gain, same exposure duration as the lights) eliminates the vast majority of them.
When isolated bright or dark spots persist in the final master, it means something went wrong somewhere in the calibration chain, or that the sensor developed new defective pixels between the time the darks and the lights were captured.
The defect is most visible against a uniform dark sky background where each aberrant pixel stands out, and can compromise the aesthetics of an otherwise clean image.
Visual signature
Hot pixels: very bright 1 to 2-pixel spots, usually saturated (white or pure color depending on their position in the Bayer matrix for an OSC sensor), scattered randomly across the field. On an OSC, a hot pixel often produces a colored cross after debayering (the hot photosite on a green, red, or blue site propagates to neighboring pixels through interpolation).
Cold pixels: dark or black pinpoint spots, more subtle than hot pixels but visible in areas of moderate signal. On a poorly calibrated master, the pattern is fixed and identical on every frame: blinking the subs reveals the defective pixels always at the same coordinates.
On a well-dithered but poorly calibrated master, hot pixels become "hot pixel trails" (walking noise) instead of fixed spots.
Differential diagnosis
Not to be confused with cosmic rays, which also appear as bright spots but are random from frame to frame, whereas hot pixels sit at a fixed position on the sensor.
Distinct from walking noise, where poorly calibrated hot pixels drift diagonally due to dithering -- the same underlying defect but with a trail signature rather than a point.
Different from read noise or shot noise (diffuse random pattern, not isolated spots).
Not to be confused with very faint legitimate stars: a simple test is to check that the spots appear only in the lights and not in the flats -- a hot pixel shows up everywhere, a star only in the lights.
If the defective pixels are aligned in a column or row, that is a dead column or row, not an isolated pixel.
Probable causes
- Darks taken at a different temperature from the lights (unregulated sensor, or setpoint not reached)
- Outdated darks (the sensor evolves and new hot pixels appear over the months)
- Gain or offset of the darks not matching those of the lights
- Dark exposure duration different from that of the lights (amp glow and certain hot pixels do not scale linearly with time)
- Calibration master not applied (oversight or pipeline error)
- No dithering between frames, so no statistical averaging of defects
- CosmeticCorrection or defect map not used on a sensor known to be noisy
- Bias/dark scaling mishandled (especially on older CCDs)
- Sensor recently subjected to thermal or ionizing stress (new hot pixel not covered by the dark library)
Course of action
- Rebuild a dark library at the same temperature, gain, and duration as the lights
- Renew darks every 3 to 6 months (sensors evolve, especially CMOS sensors exposed to cosmic radiation)
- Enable dithering in acquisition software (NINA, Voyager, SGP, APT) with an amplitude of at least 3 pixels
- In PixInsight, apply CosmeticCorrection using a master dark or in auto-detect mode (sigma 3.0 hot/cold)
- In Siril, use the automatic bad-pixel detection in the calibration settings
- Verify the "applied" status of the master dark on calibrated files (FITS header)
- For persistent residual pixels, build a manual defect map from a long dark and apply it at the start of the pipeline
- As a last resort on the final master, apply MorphologicalTransformation (median, radius 1) within a mask targeting the residual pixels
The Doc's advice
"If you still have hot pixels after calibration, there is a 90% chance your darks do not match your lights. Temperature, gain, duration: all three must be identical to within a percent, otherwise the master dark subtracts next to the target rather than on it. And if they persist even with a good calibration, it is time to rebuild your library: sensors age, and a 2023 dark on a 2026 sensor is archaeology."
Think you can see this defect in your image?
Run a diagnosisFrequently asked questions
Do you need to take new darks every session?
No, that is unnecessary with a thermally regulated sensor. A dark library organized by (temperature, gain, duration) triplet remains valid for several months. The practical rule: one set of darks every 3 to 6 months to track the natural evolution of the sensor, and always redo them if you change your usual gain or exposure duration. On an unregulated sensor (DSLR), taking a dark frame the same evening is still recommended because temperature drifts with the environment.
Does dithering replace proper calibration?
No, but it is its indispensable complement. Good calibration removes the majority of hot and cold pixels through the darks; dithering, by shifting the telescope a few pixels between frames, ensures that residual defects land at different positions on the image and are eliminated statistically at stacking (sigma clipping). Without dithering, residual defective pixels become walking noise. Without calibration, dithering alone is not enough to compensate for the volume of defects.
Why do my hot pixels appear as a colored cross on an OSC sensor?
Because the debayering algorithm interpolates the values of neighboring pixels to reconstruct the three RGB channels from the Bayer matrix. When a hot photosite (for example a green site) saturates, the interpolation propagates that aberrant value to neighboring red and blue pixels, producing a cross-shaped pattern whose color depends on the position of the defective pixel within the matrix. Calibrating before debayering eliminates this phenomenon at the source.
Can you manually remove a few residual hot pixels on the final master?
Yes, and it is sometimes the most pragmatic solution for one or two stubborn pixels. In PixInsight, CloneStamp or a Photoshop brush on a dedicated layer does the job. For larger numbers of identifiable defects (say 50 to 100 pixels), create a defect mask via PixelMath (selecting values above a threshold on a uniform background), then apply a median MorphologicalTransformation within that mask only. This approach remains a patch: the real solution lies upstream, in calibration and dithering.