Guide / Processing Seestar FITS

Guide

How to process Seestar FITS files

Updated

You pointed a Seestar at something, it worked for an hour, and you came away with a FITS file that opens almost completely black. This article explains what you actually have and what to do with it. It also shows what it looks like when you go too far, which is the part nobody shows you.

Following along without a Seestar of your own? The frames used throughout this guide are free to download.

Why your file looks black

This is a real stacked master of the North America Nebula. One hour of exposure, 182 frames, and this is genuinely what it looks like when you open it:

A stacked FITS from a Seestar, unstretched: almost entirely black with a scattering of faint stars
NGC 7000, 182 × 20 s. Nothing is wrong with this file.

Nothing is broken. Your camera records linear data: each pixel value is directly proportional to how many photons landed there. Nebulosity is extraordinarily faint, so almost every pixel sits within a hair of zero. On a screen that maps 0 to black and 1 to white, a value of 0.003 is black.

The nebula is in there. Making it visible is called stretching, and it is the single most important idea in astrophotography processing: a deliberate, non-linear brightening that lifts the faint signal into the range your eyes can see while keeping the bright parts from blowing out.

That is why a raw astro file cannot simply be "brightened" in a photo editor. Brightening is linear; it lifts everything equally, including the noise, and blows the stars out long before the nebula appears.

What the Seestar actually gives you

Depending on how you shot and exported, you have one of two things, and it matters which.

A stacked master (one file)

The Seestar has already aligned and combined your frames. One FITS, ready to process. This is the quick path, it is perfectly legitimate, and it is where most people should start.

What you give up: the stacking decisions were made for you. Frames ruined by cloud, satellites, wind or a bumped tripod are already baked in, and you cannot take them back out.

The individual subframes (many files)

Every exposure, separately. This is more work, and worth it when you have enough frames for rejection to mean something: you can grade them, discard the bad ones, and combine only the good ones.

How to choose: rejection only helps when there are enough frames for "this one disagrees with the others" to be a meaningful statement. A short session of a handful of frames has little to gain; a long one with a couple of hundred has a lot, and the difference shows up most on the frames you would never otherwise know were dragging your result down. If you kept the subs, it costs you nothing to try both and compare.

The order things happen in, and why

The sequence below is not arbitrary. Each step assumes the previous one has been done, and doing them out of order makes several of them actively harder.

  1. Crop the edges. Stacking leaves ragged, thinly exposed borders where frames did not perfectly overlap. Cut them off first, because an edge darker than the real sky throws off every later measurement of background, colour and contrast.
  2. Flatten the background. Light pollution, moonlight and the sky itself leave a gradient across the frame: one corner brighter than another. Remove it before stretching, because stretching amplifies the gradient along with everything else.
  3. Get the colour honest. Set the white balance while the data is still linear, the only point at which colour is a straightforward measurement rather than a judgement. If you can measure real catalogue stars in the frame and correct against them, do that. It is objective in a way that judging by eye is not.
  4. Sharpen while linear (optional). Deconvolution tries to undo the blurring that the atmosphere and your optics applied to the image. That blurring is a linear operation, so the maths that reverses it expects linear data. After a stretch, the blur is no longer the simple thing the algorithm is modelling, which is why deconvolution is usually done here. It is a recommendation rather than a hard rule: you won’t break anything by skipping it, and plenty of good images never use it at all.
  5. Stretch. The moment the picture appears. Everything before this was preparation.
  6. Adjust tone and colour. Black point, curves, saturation. Now you are making aesthetic choices rather than corrections.
  7. Reduce noise, then finish. Denoise after stretching, because stretching is what makes the noise visible. Then local contrast, star reduction, and whatever finishing you like.

Here is that whole sequence applied to the black frame above:

The same NGC 7000 frame after processing: the North America Nebula in full colour with dust lanes and star colour
The same file, same pixels. Click to enlarge.

That edit took twenty-six minutes, but only because it was being screenshotted at every step. Once you know roughly which values work for your data, the whole sequence, including narrowband mapping and finishing touches, takes more like five to seven minutes. The first few will take longer, and should.

Almost every processing mistake is the same mistake: doing too much of something that was working. The skill is not knowing which tools to use — it is knowing when to stop using them.

The thing nobody tells you

How little each step should do

Nocturne logs how much each step actually changed the image. That is revealing, because it lets you compare your instinct about a step with what it really did. Here is the measured log from the edit above:

StepSettingChange
Background extractionstrong3.2%
Remove green0.401.2%
Colour (photometric)127 stars matched0.0%
Deconvolutionmedium — undone2.5%
Deconvolutionlight1.9%
Levels—6.2%
Curves—2.0%
Noise reductionstrong7.0%
Local contrast0.101.1%

Two things stand out.

The finished picture came from changes of a few percent each. Nothing in that list moved the image more than 7%. The journey from black rectangle to finished photograph is many small, deliberate corrections, not one dramatic move.

The strong settings and the gentle ones are not randomly distributed. Look at where “strong” appears: background extraction and noise reduction. Both are corrective: they remove something that is definitely wrong. You can’t remove too much of a light-pollution gradient; it either goes or it doesn’t.

Now look at the gentle ones: local contrast at 0.10 out of 1.0, curves at 2%, and deconvolution set to medium, then undone and redone at light. Those are interpretive: they decide how the picture looks rather than fixing something broken. That undo is the whole lesson in one line: medium looked like too much, so it went back.

The rule that follows: be generous with corrective steps and sparing with interpretive ones. When removing a gradient, neutralising a colour cast or cleaning up noise, go as hard as the data needs. With contrast, saturation, sharpening and star reduction, start lower than feels right.

The colour step is worth a second look too: 0.0%. Photometric calibration measured 127 real stars, compared them with catalogue values, and concluded the colour was already correct. A step that changes nothing isn’t wasted; it told you something.

What going too far looks like

Every tutorial shows you the successes. These are the same file, deliberately overdone, because recognising the failure is the skill that actually matters.

Stretch too aggressive

NGC 7000 stretched far too aggressively: washed out, milky, heavy noise, no deep blacks

The most common mistake, and the easiest to make, because while you are dragging the slider it feels like you are revealing more. You are: you are also revealing the noise floor. The sky has gone from black to grey, every faint structure has the same brightness as every other, and the image has no depth. Tell-tale sign: nothing in the frame is genuinely dark any more.

Local contrast maxed out

NGC 7000 with local contrast at maximum: crunchy, over-sharpened dust with dark halos and mottled corners

This is the dangerous one, because at a glance it looks impressive. The dust has snap and the structure leaps out. Then you notice the dark halos around every bright region, the corners going muddy, and that the nebula's soft gradation has become a crunchy texture that does not exist in the sky. Tell-tale sign: dark rims where bright meets dark.

Saturation maxed out

NGC 7000 with saturation at maximum: garish oversaturated colour, magenta and green casts

Colour is the easiest thing to overdo because more of it looks like more data. It is not. Past a point you are amplifying colour noise and whatever cast survived calibration, and the stars stop being white. Tell-tale sign: bright stars taking on a colour, and blotchy hue variation in the faint background.

Star reduction maxed out

NGC 7000 with star reduction at maximum: stars almost entirely removed, leaving an unnatural starless look

Shrinking the stars makes the nebula more prominent, so it is tempting to keep going. But the star field is part of the photograph, and an image with the stars mostly gone reads as artificial even to people who cannot say why. Tell-tale sign: a rich nebula floating in a suspiciously empty sky.

A practical habit

None of this means you shouldn’t experiment. You learn what a control does by pushing it too far and seeing what breaks. The habit that makes experimenting safe is simple: save your project before you start going wild, and use undo freely. In the log above, the deconvolution undo happened seven seconds after the apply. That is what undo is for.

The other habit worth building: step away and come back. Overdone processing looks fine while you are doing it, because your eye adapts as you go. It looks overdone the next morning.

Doing this in Nocturne

Nocturne is a free, open-source desktop app for macOS, Linux and Windows built specifically around this workflow for Seestar data. It walks the steps in the order above, shows a live preview of every adjustment before you commit it, keeps a full undo history, and logs the percentage changes shown in the table on this page.

It is not the only way to do any of this, and the ideas above apply whatever you use. But if you have a Seestar and a stacked FITS you are not sure what to do with, it was built for exactly that situation.

Download Nocturnefree · macOS, Linux & Windows Try it on sample data

New to Nocturne? The guide walks through every step in order.