Why Does My Astrophoto Look Bad? A Symptom-by-Symptom Guide
Work backwards from what you can see to what caused it. Soft stars, elongated stars, a green sky, walking noise: each has a few measurable causes.
Most astrophotography advice is organized by cause: this is what dew does, this is what flexure does. That is backwards for someone holding a bad picture at one in the morning. They don’t know the cause yet. They know the symptom.
So this guide is organized by symptom. Find the thing you can see and work back from it.
One point applies to everything below. Almost every fault leaves a measurable trace in the pixels, and different causes usually leave different traces, so you rarely have to guess between them. Where a measurement can separate the causes, I say which measurement and what the numbers look like.
The stars are soft, everywhere, in every frame
Measure star size first, as full width at half maximum (FWHM): the width of a star’s brightness profile at half its peak, in pixels.
What counts as good depends on your focal length and pixel size, so a number from a forum post tells you very little. Compare against your own best nights, and look at how it varies across your own session.
If FWHM is high on every frame and steady: focus, seeing, or you are undersampled. Take a test exposure and step the focuser either side of where you are. If nothing improves it, the atmosphere was the limit that night.
If FWHM rises steadily through the session: the tube is cooling and the focus is drifting with it. This is the most common case and the easiest to fix. Refocus every half hour, or after any temperature drop of a degree or two.
If FWHM jumps around from frame to frame: the seeing was variable. There is nothing to fix. Frame selection handles this; keep the sharp ones.
The stars are elongated
There are two causes, and it pays to tell them apart, because the fixes cost very different amounts.
Measure eccentricity, and check whether it is present in every frame.
Tracking. Some frames are stretched and others are not, and the direction changes through the night as the mount drifts and the guiding corrects. Look at a few frames in sequence. If the stretch comes and goes, or rotates, the mount moved.
Likely causes, roughly in order: polar alignment, a snagging cable, wind, backlash, a mount carrying more than it should.
Optics. Every frame is stretched the same way, because the optics did not move between frames. Compare the corners with the center; optical faults are usually worse away from the axis.
Causes: coma without a corrector, field curvature, camera tilt, a focuser sagging under the camera’s weight, a pinched mirror.
In practice the first is a guiding problem and the second is a collimation, spacing or tilt problem. A guide camera will not fix a tilted sensor.
Akastroid measures elongation across the whole session. When it finds the same stretch in every frame, it says so and rejects nothing for it. A rule that discards frames for a fault they all share would leave you with an empty session and no explanation. See Image Doctor.
The sky is orange, or brown, or green
Orange or brown is light pollution. It is not a fault; it is how a sodium- and LED-lit sky looks to a sensor. It comes out in processing, by neutralizing the background and setting the white balance from the stars rather than from the frame’s average. Removing light pollution gradients goes through it.
Green is different, because a green sky is never real. Nothing broadband in the night sky is green. Your sensor is: a Bayer array has twice as many green photosites as red or blue, since that is where the eye is most sensitive, and the bias survives a naive background correction. If your stack comes out olive, that is the camera.
Two exceptions are worth knowing so you do not “correct” a real observation. Comets are often green, from diatomic carbon fluorescing, and aurora is green because oxygen glows at 557.7 nm. Both are far brighter than the background, which is how an automatic correction can tell them from a cast.
The background is gray and washed out, or pure black
These are opposite ways to get the stretch wrong.
Washed out means the background has been lifted too far. The picture looks foggy and the faint structure has no contrast against the sky.
Pure black is the more common mistake and does more damage. Real sky is never black; it is dark gray with faint structure in it. A background that reads as pure black has usually had its faintest real signal clipped away along with the gradient. It looks clean at a glance, but data has been thrown away.
Aim for a background that is clearly dark but clearly not zero.
There are colored fringes on one side of everything
This is atmospheric dispersion. The atmosphere refracts blue light more than red, so a subject low in the sky arrives on the sensor as three slightly separated images, with a blue edge on one side and a red edge on the other.
It is worst at low altitude and improves quickly as the object climbs. On planets it is the most common reason a capture that felt sharp looks wrong afterwards.
The fix in processing is to realign the color channels to green, and it has to happen before sharpening. Once sharpening has amplified the fringes, no alignment removes them cleanly.
There is a diagonal grain running through the whole image
This is walking noise, and it has a specific cause. Your mount drifted slowly and consistently in one direction, so the same sensor defects landed on nearly the same sky position in every frame. Stacking then reinforced them into streaks instead of averaging them away.
The fix is at capture, not in processing: dither between frames. Move the mount a few pixels in a random direction every frame or two, so a hot pixel lands somewhere different each time and outlier rejection can identify it. Dithering and walking noise covers how much and how often.
Half the frames look fine and half look terrible
Measure sky brightness and star count together.
Cloud brightens the sky and also drops the star count. Either change alone points elsewhere: a rising target brightens the sky by itself, and a focus wobble drops the star count by itself. The two together mean cloud.
If the sky brightens through the session without losing stars, your target is sinking toward the horizon or the Moon has risen.
The stars are bloated white discs with no color
This is overexposure. Measure the clipped fraction, the share of pixels at maximum.
It is one of the few faults you cannot fix afterwards. A clipped star has no color information left to calibrate, and nothing downstream can recover a clipped core, because the data is not there. Use shorter subs or lower gain.
A bright streak across one frame
A satellite or an aircraft, and the frame is usually worth keeping. Outlier rejection during integration removes a streak that appears in one frame out of thirty, because at those pixels it disagrees with the other twenty-nine.
It is still worth knowing how many you have. A frame with several deserves a second look, and a rising count through a session means the satellite constellations are overhead.
Measuring instead of guessing
Every measurement above (star size, star shape, signal to noise, sky brightness, sky gradient, cloud, trails, clipping, star count) is something a computer can do on every frame in the time it takes to make tea, and each one gives a number you can compare across your own session.
Image Doctor in Akastroid does this. It takes twelve measurements per frame, scores each frame against the rest of your session rather than against a constant, and names the fault beside every rejection. It is part of the free download, runs on every session, and can be used for diagnosis alone without stacking anything.
Related: reading a quality score, why are my stars trailing.
Try it on your own data
Akastroid runs its processing on your own frames and logs each step it took.
Download Akastroid