Dithering: The Free Fix for the Noise You Cannot Stretch Out
Diagonal streaks through your background that get worse the more frames you add. Where walking noise comes from, why calibration will not remove it, and the setting that prevents it.
There is a specific failure that catches people at exactly the point they start getting good: the stack is deep, the calibration is clean, the stars are round — and the background has faint diagonal streaks running through it that no amount of stretching, denoising or gradient removal will shift.
Adding more frames makes it worse.
That is walking noise, and the fix costs nothing.
Where it comes from
Every sensor has fixed-pattern noise: pixels that read slightly hot, slightly cold, or slightly non-linear. Not random — fixed. Pixel (1204, 880) is a little bright in every single frame you will ever take with that camera.
Stacking averages away random noise, because random noise is different each frame. It cannot average away fixed noise, because fixed noise is identical each frame. Averaging a hundred copies of the same defect gives you the defect.
Calibration is supposed to handle this, and mostly it does. But no dark frame is perfect — temperature drifts, dark current is not perfectly linear, and a residual always survives.
Now add tracking. Your mount is not perfect either. Over an hour it drifts slowly in one direction — a few pixels, smoothly, in a consistent line. So that slightly-hot pixel is not landing on the same part of the sky each frame. It walks across your target, a fraction of a pixel at a time, in a straight line.
Register and stack, and the software aligns on the stars. Which means the sky lines up and the sensor defect gets smeared into a diagonal streak. One per defect. Hundreds of them, all parallel, all running along the direction your mount drifted.
Hence the name. The noise walks.
Why more frames make it worse
This is the counter-intuitive part, and it is the reason people misdiagnose it.
Real noise falls as the square root of frame count. The streaks do not fall at all — they are the same defect every time. So as the random noise drops away, the streaks stay exactly where they were and become more visible against a cleaner background.
Ten hours of data can look worse than two, in this one specific respect. If your background got streakier as your project got deeper, this is why.
The fix
Move the telescope a few pixels between frames, at random.
That is it. After each sub-exposure, the mount shifts five or ten pixels in a random direction. The stars move; you re-register on them and the shift disappears. But the sensor has moved relative to the sky in a random pattern rather than a straight line, so that hot pixel now lands on a scatter of different places instead of a track.
Rejection then treats it as what it is: an outlier at each location, differing from the surrounding frames, discarded. The streak never forms because there is no line to form along.
Random is the important word. A regular pattern would produce a regular artefact, which is the problem you started with in a different shape.
Setting it up
Dithering happens at capture time. No processing step can add it afterwards, which is worth knowing before you spend a night without it.
With guiding — N.I.N.A., Ekos/KStars, APT, SGP — dithering is a checkbox, and the capture software tells the guider to shift between frames. Set it and forget it.
- Amount: 5–15 pixels is standard. Larger for undersampled setups where each pixel covers more sky.
- Frequency: every frame is ideal. Every two or three is fine if settling costs you too much.
- Settle time: the guider needs to steady after the move. 5–10 seconds is typical. Too short and you get a trailed frame; too long and you lose real imaging time.
Without guiding, some mounts and capture programs can dither by nudging the mount directly and waiting. It is cruder, and it works.
Smart telescopes — Seestar, Dwarf and similar — mostly do not expose this at all. Their built-in tracking drift may partly stand in for it, and it may not. It is one of the things worth checking if you are seeing streaks in a stack of saved Seestar subs.
The cost
Settling time. If you dither every frame with a 10-second settle on 60-second subs, you have spent roughly 14% of the night waiting.
That is the whole cost, and it is worth it. Fourteen per cent fewer frames with clean backgrounds beats a full night with streaks you cannot remove.
When it is already too late
You have a stack, it has streaks, the frames were not dithered. Options, in descending order of how much you will like them:
Re-shoot with dithering. The real answer.
Better calibration. Fresh darks at the exact temperature and exposure of your lights will reduce the residual that is causing this. Worth doing anyway — see what darks, flats and bias frames actually fix.
Aggressive outlier rejection. With enough frames it helps a little, because the drift means each defect is not on precisely the same sky pixel every time. Only a little.
Directional noise reduction. Cosmetic, and it eats real detail along the same axis it is smoothing. A last resort for an image you cannot re-shoot.
There is no processing step that removes walking noise cleanly, which is exactly why the capture-time fix matters.
How to be sure that is what you are looking at
Three checks distinguish walking noise from a gradient or ordinary grain:
- It is directional and straight. All the streaks are parallel. Gradients are smooth and broad; grain has no direction.
- It is in the background, not on the target. It runs through the whole frame including empty sky.
- It got worse as you added frames. Nothing else in astrophotography behaves that way.
Three yeses and it is dithering you are missing.
The short version
- Fixed sensor defects plus smooth mount drift equals parallel diagonal streaks.
- Stacking cannot average out a defect that is identical in every frame.
- More integration makes it more visible, not less.
- Move the mount 5–15 pixels randomly between frames. Rejection does the rest.
- Costs about 10% of your night. Cannot be added in processing afterwards.
Try it on your own data
Akastroid does everything in this guide automatically, and tells you what it did.
Download Akastroid — free