Free astrophotography stacking software for the Celestron Origin Fainter detail, tighter stars, cleaner sky.

OriginStack stacks and processes the raw FITS files from a Celestron Origin, or frames from any colour camera, into one finished image. It runs on your own computer, needs no account, and only goes online to look up a target name it does not recognise or for optional steps such as plate solving.

All downloads: Windows · Mac (Apple silicon) · Mac (Intel) · Linux

Windows 10 or 11, 64-bit, free and MIT licensed. The installer is not code-signed yet, so SmartScreen may warn you: choose More info, then Run anyway.

The Omega Nebula after stacking 114 frames and processing: bright red gas with dark lanes against a dense star field. One 30-second frame of the same field, stretched to be visible: grainy, with the nebula faint against a noisy purple sky. One 30-second frame, stretched 114 frames, stacked and processed

A night of frames in about a minute and a half

The Omega Nebula, 114 frames, on an 8-core desktop: 89 seconds from the raw files to a finished image, down from 132 in the previous version. The red block is the part that makes the picture look good; the rest is getting 114 frames to line up.

  • Load, calibrate, score32.7 s
  • Register9.4 s
  • Align and stack24.6 s
  • Finish the image15.6 s
  • Disk and setup6.8 s

Load, calibrate, score

Each frame is corrected with your bias, dark and flat, turned from the sensor's colour mosaic into an image, and scored for sharpness and noise. Frames that are clearly bad are dropped.

Register

Frames are lined up to a fraction of a pixel, including the slow rotation of the field that an alt-az mount like the Origin produces.

Align and stack

The aligned frames are combined with outlier rejection, so satellite trails, hot pixels and cosmic rays drop out instead of averaging in.

Finish the image

Background gradients, colour and noise are handled, then the result is stretched to be viewed. The FITS file it saves stays linear, ready for any further work.

Frames are processed one at a time, so 500 frames need about the same memory as 50. Temporary files take roughly 100 MB of disk per frame while the run is going; the aligned frames are kept in memory instead when there is room, always leaving 30% of it free.

Watch it work, or skip the settings

Point the app at a folder of frames, say what you imaged (or let it work that out), and press Start. Every setting has a one-line explanation, and the defaults choose the rest for your target. These are real screens from stacking the Sunflower Galaxy frames used in the comparisons below. New to processing Celestron Origin images? The step-by-step guide starts from the session folder the telescope saves.

The OriginStack window during a run: the folder and output on the left with picture cards for the target type and the run mode, three of four pipeline phases marked done and the log below; on the right a preview of the Sunflower Galaxy part-way through post-processing, a strip of frame thumbnails and a table of per-frame scores.
Part-way through the Sunflower run. Phases 1 to 3 are done, and the preview follows each finishing step as it happens.
The OriginStack window before a run: a folder chosen with its frame counts and the target name from the session file under it, picture cards for Auto-detect, Galaxy (marked Suggested), Nebula, Star cluster, Star field and Comet, a choice of Full quality or Quick look, an example galaxy image in the preview, and a This run summary of frames, target, mode, changed settings and output file.
Before a run. Pick a folder and the app counts your frames, reads the target from the session and suggests a card; the preview shows an example result and This run says exactly what Start will do.
The preview and frame panels after the run finished, showing the final image of the Sunflower Galaxy and a summary: 158 of 158 frames stacked in 3 minutes 35 seconds.
When it finishes you can zoom and pan the result, or wipe between the linear stack and the finished image.
The Additional options panel with a search box and a list of groups, showing registration and stacking options such as proper image coaddition, banding removal and the distortion model, each with a one-line description.
Around a hundred more options sit under Additional options, each with a one-line description and a search box to find them; the rarer ones stay hidden until you tick Expert options.

How it compares with Siril and DeepSkyStacker

Same frames, same bias, dark and flat, one machine, each tool on default-style settings. Three Celestron Origin sessions: the Omega Nebula (114 × 30 s), the Sunflower Galaxy (158 × 20 s) and the Sculptor Galaxy (532 × 10 s).

OriginStack first, Siril second. Stack only means without OriginStack's finishing steps, which Siril does not have.
SessionStack onlyOriginStack, finished imagePeak memoryStar width
Omega, 114 frames68 s / 86 s90 s10.6 / 6.5 GB4.40 / 4.56 px
Sunflower, 158 frames84 s / 106 s107 s12.8 / 7.8 GB3.52 / 3.60 px
Sculptor, 532 frames169 s / 195 s184 s9.2 / 11.2 GB2.69 / 3.01 px

Star width on the same stars (smaller is sharper)

Omega

OriginStack
4.40 px
Siril
4.56 px
DeepSkyStacker
4.83 px

Sunflower

OriginStack
3.52 px
Siril
3.60 px

Sculptor

OriginStack
2.69 px
Siril
3.01 px
A Gaussian fit to each of up to 400 bright, unsaturated, isolated stars, at the same positions in both stacks, each on its own pixel grid.

What the numbers say

Sharpness: sharper than Siril on all three. On the same stars OriginStack is 4% narrower on Omega (4.40 against 4.56 px), 1.5% narrower on Sunflower and 10% narrower on Sculptor. Two changes got it there: proper image coaddition, on by default, weights each scale of detail by how sharp, transparent and noisy each frame was (Zackay & Ofek, 2017); and a fix to a hot-pixel step that had been flattening the peak of most bright stars in every frame — on undersampled stars a star's centre looks exactly like a hot pixel to a test that only compares a pixel with its neighbours. It also used more frames: 114, 158 and 532, where Siril used 111, 157 and 525.

Noise: quieter than Siril once sharpness is matched. A sharper stack is noisier per pixel, so the fair comparison blurs each OriginStack channel until its stars are exactly as wide as Siril's. Then its noise, red/green/blue, is 0.81, 0.88, 0.89 times Siril's on Omega, 1.00, 0.75, 0.93 on Sunflower (its red stars were already as wide as Siril's) and 0.97, 0.92, 0.89 on Sculptor. Unmatched, per pixel, it is 0.92, 1.05, 1.06; 1.00, 0.84, 0.97; and 1.16, 1.08, 1.28 — the sharper the stars, the higher that number.

Speed: faster than Siril on all three. To the stack, run back to back on the same machine: 68 s against Siril's 86 s on Omega, 84 against 106 s on Sunflower and 169 against 195 s on Sculptor. OriginStack still does per-frame work Siril does not — quality scoring, white balance and star detection on every frame — and wins it back in registration and stacking. Both tools' times moved by up to a third between identical runs over the day (Siril alone took 55 to 86 s on Omega), so compare within a row. The finished image costs another 14 to 23 s.

Memory and disk. OriginStack runs one worker per physical core and keeps the aligned frames in memory when there is room: 9.2 GB on Sculptor against Siril's 11.2, and 10.6 and 12.8 GB on the two shorter sessions, where everything fit in memory (Siril 6.5 and 7.8). Temporary disk is lower on the two shorter sessions (11 and 15 GB against 17 and 23 GB) and higher on Sculptor (63 against 57 GB).

DeepSkyStacker took 14 min 8 s on Omega, produced stars softer than both others, and at its default settings left hot-pixel streaks and a few misregistered frames.

OriginStack's case is what comes after the stack: it finishes the image in the same run with no setup, explains the night with diagnostics, solves the sky position on your own computer, runs fully offline if you ask, and does the rest the other tools leave to you. On a plain stack it is now sharper than Siril on all three sessions, quieter once sharpness is matched, and faster on all three. All three sessions were re-measured on 2026-10-02 with this version; the DeepSkyStacker figure is from an earlier run and was not repeated. These numbers have been corrected before: an earlier version of this page overstated sharpness because of how stars were chosen for measurement, and another credited a noise improvement to cosmic-ray detection that was really smoothing. Three sessions from one camera are a small sample, and both tools were left at default-style settings. tools/bench_vs_siril.py repeats all of this on your own frames.

And with the telescope's own stack

Every Celestron Origin session folder also holds the telescope's own result, FinalStackedMaster.tiff. Four sessions, the same lights for all three: the Black Eye Galaxy (81 × 20 s), the Sunflower Galaxy (158 × 20 s), the Crab Nebula (133 frames) and the Hercules Cluster (56 frames). OriginStack at its defaults, Siril with the settings above.

Star width on the same stars, OriginStack against each. Noise is at the scale of a star, red/green/blue, OriginStack divided by the other.
Sessionvs Origin: star widthvs Origin: noisevs Siril: star widthvs Siril: noise
Black Eye, 81 frames8.15 / 8.38 px1.00 / 1.04 / 1.068.21 / 8.26 px0.94 / 1.09 / 0.97
Sunflower, 158 frames3.54 / 4.25 px0.96 / 0.93 / 0.953.50 / 3.58 px1.02 / 1.03 / 1.02
Crab, 133 frames2.54 / 3.50 px1.00 / 0.92 / 0.952.54 / 2.77 px1.04 / 0.99 / 1.01
Hercules, 56 frames5.67 / 5.98 px0.99 / 0.96 / 1.015.68 / 5.74 px1.00 / 1.04 / 1.01

Star width relative to OriginStack's, on the same stars (smaller is sharper)

Black Eye Galaxy

OriginStack
1.00
Siril
1.01
Celestron Origin
1.04

Sunflower Galaxy

OriginStack
1.00
Siril
1.02
Celestron Origin
1.20

Crab Nebula

OriginStack
1.00
Siril
1.08
Celestron Origin
1.36

Hercules Cluster

OriginStack
1.00
Siril
1.01
Celestron Origin
1.05
1.00 is OriginStack. Each tool is measured against OriginStack on the stars both fit well, each image on its own pixel grid.

What the numbers say

Sharpness: the same order on every session. OriginStack, then Siril, then the Origin. The telescope's own stack is the softest of the three: its stars are 4% wider than OriginStack's on the Black Eye, 17% on the Sunflower, 27% on the Crab and 5% on the Hercules Cluster, and most of that is in blue. Siril sits close to OriginStack, 1 to 8% wider.

Noise: a tie. Measured at the scale of a star — the noise that decides how faint a star you can see — all three are within a few percent of each other in every channel. OriginStack's extra sharpness costs nothing in noise.

What the Origin does better out of the box: its saved image already has the sky gradients removed. OriginStack removes them in its finishing steps; Siril's stack here has none.

It found two faults in OriginStack. Putting the finished images side by side showed a speckled sky on small, faint targets and blue discs on saturated stars. Both are fixed, and the numbers above were measured again afterwards.

Three crops of the Crab Nebula at full resolution from the same frames: the Celestron Origin's own stack, Siril's and OriginStack's, all given the same stretch. The Origin's stars and the nebula's filaments are visibly softer.
The Crab Nebula at full resolution, from the same 133 frames, all three given the same stretch. The Origin's own stack (left) is visibly softer; Siril and OriginStack are close, with OriginStack's stars 8% narrower.

How it was measured: the Origin's TIFF is linear but sits on a large pedestal, so its brightest star cores clip; each stack was put on OriginStack's brightness scale with one gain per colour channel, measured where the image is linear, and clipped stars were left out. Noise ratios rest on that gain, so read them as plus or minus 5 to 10%. Four sessions from one telescope are a small sample. tools/bench_vs_origin.py repeats it on your own frames.

Install it

Windows installer

Free stacking software for Windows 10 and 11. Download the setup file from the latest release and run it. It installs for your user only, adds a Start Menu entry and an uninstaller, and needs no Python.

Prefer the zip? Use Extract All first, then run OriginStack.exe from the extracted folder. Running it from inside the zip fails.

macOS app

Download the zip for your Mac from the latest release: macos-arm64 for Apple silicon (M1 and later, needs macOS 14 or later) or macos-x86_64 for an Intel Mac. Open the zip and drag OriginStack into Applications. It needs no Python.

The app is not signed by Apple yet, so macOS blocks the first launch. Control-click OriginStack and choose Open, then Open again; on macOS 15 and later, try to open it once, then choose Open Anyway under System Settings, Privacy & Security. Or clear the download flag in Terminal:

xattr -dr com.apple.quarantine /Applications/OriginStack.app

The Mac builds have had less real-world use than the Windows build.

Linux bundle

Download OriginStack-<version>-linux-x64.tar.gz from the latest release, extract it and run the installer. It installs for your user only, adds an application-menu entry, and needs no Python or root.

tar xzf OriginStack-*-linux-x64.tar.gz
cd OriginStack-*-linux-x64
./install.sh

It needs glibc 2.35 or newer (Ubuntu 22.04, Debian 12, Fedora 36 and later) and has had less real-world use than the Windows build. Run ./install.sh --uninstall to remove it.

From source

On Windows, Linux (tested) or macOS (not tested):

git clone https://github.com/hd152/originstack
cd originstack
pip install -r requirements.txt
python desktop_app.py

The command line does the same job: python originstack.py -d lights/ -o stacked.fits. An optional Rust extension speeds up the heavy steps and falls back to plain NumPy without it.

What else it does

Calibration with bias, dark and flat frames, hot-pixel and satellite-trail removal, sigma-clipping and other outlier-rejecting stacking methods, optional drizzle, background and gradient removal, noise reduction and deconvolution, plate solving, colour calibration, photometry and a comet mode. If you are looking for a free alternative to DeepSkyStacker or Siril for Celestron Origin and other one-shot-colour astrophotography data, this is built for that.

What it reads

Celestron Origin raw files (the FITS frames in each session folder, with their info.json), and colour-camera frames as FITS, camera RAW (Canon, Nikon, Sony and others, needs rawpy), TIFF and XISF. SER video is supported for planetary work. Mix formats freely in one folder.

Want it fully offline? Pass --offline, or tick it in the app, and OriginStack makes no network requests at all.