Blog · 2026-05-19 · 8 min read
NINA vs Sequence Generator Pro vs APT: how each tracks integration time
Most imagers use one — or, over the years, several — of NINA, Sequence Generator Pro, and Astro Photography Tool. Each tracks integration time differently. And if you've ever switched between them, your "totals" are split across three reporting systems that don't talk to each other.
Why this matters
A lot of real-world archives are a mix. NINA on the new rig because the Advanced Sequencer made the imaging plan you wanted possible. Sequence Generator Pro (SGP) on the travel rig because that's what you've used at the dark site for five years and it just works. Astro Photography Tool (APT) on the older Windows machine that still runs the original mount controller. None of that is unusual; it's how setups actually evolve.
The data is all there — every sub you've ever shot has a FITS header with the canonical fields written by whichever sequencer captured it. But each sequencer's UI only shows you what it captured. The unified view across rigs and across years doesn't live in any one of them.
NINA (Nighttime Imaging 'N' Astronomy)
How it tracks integration time. NINA exposes per-target progress through the Target Scheduler plugin and the Advanced Sequencer, with a per-session log visible in the Imaging tab while a sequence is running. Plans can be defined per-target with desired exposure totals per filter, and the Target Scheduler tracks accumulated time against those targets as you image.
Where the data lives. FITS headers, always — every captured sub carries the standard fields. On top of that, NINA maintains its own sequencer database for Target Scheduler state and per-target progress.
Strengths. Detailed per-target plans, mosaic awareness, custom metadata fields, and a planning workflow that explicitly knows about your goals per filter.
Limits. NINA's in-app totals are bounded to what NINA captured. They don't reach back to subs you shot before you installed it, and they don't pick up images shot on a different rig running a different sequencer.
Sequence Generator Pro (SGP)
How it tracks integration time. SGP keeps a Sequence Run history, and each target's sequence file records what was planned and what was actually completed for that run. You can revisit a sequence file to see how it progressed.
Where the data lives. FITS headers, plus SGP's own .sgp sequence files on disk, which carry the per-target plan and run-state metadata.
Strengths. Solid run history, profile-aware (equipment profiles cleanly separate one rig's behaviour from another's), and a workflow that many imagers have run unchanged for years.
Limits. Same shape as NINA — SGP's view of integration time is bounded to what SGP captured. It does not know about your NINA archive or your APT archive, and rebuilding a unified picture from .sgp files alone is not the workflow SGP was designed for.
Astro Photography Tool (APT)
How it tracks integration time. APT keeps Object and Plan totals while imaging, and exposes session-level information that you can export — typically to CSV — for record-keeping outside the app.
Where the data lives. FITS headers, plus APT's log files and any CSV exports you choose to save.
Strengths. Lightweight, scriptable, very approachable, and runs well on older hardware. For some imagers it's still the most painless capture experience on Windows.
Limits. Same bounded scope. APT can tell you what APT captured. It can't tell you what's in the NINA folders next door.
The common ground: FITS headers
Here's the thing all three sequencers agree on. Every one of them writes the same canonical header fields into every captured sub:
| Header | What it tells you |
|---|---|
OBJECT | Target name as the sequencer recorded it |
FILTER | Filter that was in the wheel |
EXPTIME | Exposure in seconds for this sub |
DATE-OBS | UTC timestamp of the exposure |
IMAGETYP | "LIGHT" / "FLAT" / "DARK" / "BIAS" |
TELESCOP / INSTRUME | Scope and camera identifiers |
Sequencer choice changes the UI you use to plan sessions, and the conveniences that surround capture. It does not change the data that lands in the file. That's important: the unified ledger you want — across NINA, SGP, and APT — already exists if you read at the file level. See FITS headers each sequencer writes for the field-by-field breakdown.
What gets lost across sequencer changes
The reason a unified view feels hard, even though the underlying data is consistent, is that the small differences add up:
- Target name normalization. One sequencer writes "M31", another writes "Andromeda", another writes "NGC 224". All three are the same galaxy; none of them group automatically.
- Filter naming. "Ha" vs "H_alpha" vs "HA" vs "Halpha". Same filter, four spellings, and no sequencer rewrites the others.
- Project association. NINA's Target Scheduler attaches its own custom fields tying a sub to a planned project. SGP and APT don't write those fields. The project context lives in NINA's database, not in the file.
- Rig changes. Move a camera between rigs — or between sequencers — and the
INSTRUMEstring may stay the same whileTELESCOPchanges, or vice versa. Each sequencer's in-app totals see this as "new equipment"; the FITS headers tell the actual story.
The header-level ledger sidesteps almost all of this, because the truth is in the file. Normalization is a problem you solve once, on the read side, instead of trying to retrofit consistency into three separate planning tools.
What a unified ledger looks like
One report. Per target. Per filter. Across everything all three sequencers ever captured. Independent of which sequencer captured what, and independent of which rig was running on which night.
That's what Photon Ledger is — a small desktop app that walks the FITS archive, reads headers, and builds the per-target, per-filter, per-rig totals on top of the data your sequencer already wrote. NINA, SGP, and APT all produce files it can read; nothing about your capture workflow has to change. Download Photon Ledger →
Migration tips
If you're moving from one sequencer to another — NINA to SGP, SGP to NINA, either of them to APT or back — there is no historical data to migrate. Your record of past sessions is already in the FITS files themselves; you do not need to export totals from the old sequencer, and you do not need to import anything into the new one. Just point your indexer at the existing archive and let the headers speak for themselves.
This is also a good reason not to delete old sequencer databases or log files in a hurry. They're useful as a sanity check against the header-derived totals, especially while you're still building confidence in the unified view.
Related reading
- Total integration time by target — the per-target deep dive.
- How to count your astrophotography integration time — the broader piece on why the question is harder than it looks.
- FITS headers each sequencer writes — field-by-field reference for NINA, SGP, and APT.
- Folder schemas: date-first vs target-first — the two archive layouts Photon Ledger understands out of the box.