Repository navigation
Releases: hd152/originstack
Release list
OriginStack 2.21.0
Which download?
| You have | Download |
|---|---|
| Windows, want it installed | OriginStack-2.21.0-setup.exe |
| Windows, no install (one file) | OriginStack-2.21.0-windows-x64-portable.exe |
| Windows, no install (folder) | OriginStack-2.21.0-windows-x64.zip |
| Mac with Apple silicon (M1 or later) | OriginStack-2.21.0-macos-arm64.zip |
| Mac with Intel | OriginStack-2.21.0-macos-x86_64.zip |
| Linux | OriginStack-2.21.0-linux-x64.tar.gz |
Image-quality work from a research survey of the whole pipeline: two calibration/denoising repairs
and a per-session dark correction that change results by default, an opt-in Gaia-anchored halo
remover and a PSF-tilt equaliser, and measuring tools. Most gains are modest on sky-noise-limited
Origin data; the numbers below are what was measured.
Changed (results differ from 2.20.0)
- A single pre-averaged flat is blurred 4 px, not 15. The Origin ships one library flat; the
n-frame rule treated it as one noisy frame and erased its real pixel-response pattern. On the
158-frame Sunflower stack 1.8-3.7% less sky structure at 16 px (all 36 comparisons lower).
Flats of two or more frames are smoothed as before. --denoiser waveletestimates the noise per band. It used the finest diagonal band's value
for every band, which is right only for white noise; Origin stacks have correlated noise
(lag-1 about 0.4), so most of it was left. The default Origin path (the learned denoiser) is
unaffected.- Per-session dark glow scale. A few lights are calibrated and the dark's glow scale is fitted
on top of the exposure ratio, applied only when it is well determined (it triggers on 3 of 11
local sessions). Markarian's Chain (19-21 C against a 31 C dark): 10-13% less 32-64 px sky
structure in the linear stack; the final preview changes by about 2% because background
extraction absorbs it.--config session_dark_scale=falseturns it off. A checkpoint made
before this version is rebuilt (a Phase 1 setting changed). - The wavelet and learned denoisers flatten the noise by the
--full-fieldcoverage map
first (shallow rims are about 1.4x noisier than the one sigma they assume).--from-stackreads
<stem>_coverage.fits. Stacks of uniform depth are unchanged.--config noise_map_denoise=false
turns it off. - The preview JPEG is dithered (seeded triangular noise, clipped black and white untouched) so
smooth denoised regions do not band. The PNG exports are unchanged.
Added
--halo-removalwith--config halo_removal_method=psf: Gaia-anchored extended-PSF halo
subtraction (flux scale from unsaturated Gaia stars, empirical radial PSF, per-sector cap).
Pleiades wings at 40 px 16-23 sigma -> 4-8; star cores and a nebula behind a star are untouched.
Falls back to the Gaussian remover with a note without a WCS or catalogue. Opt-in.--config nn_tilt_equalise=true(with--deconvolve nn): every Origin stack measured has
star width falling along one sensor axis (left edge 12-55% wider); the network is run once more
per strip, blended to the sharpest strip's width. Column max/min Omega 1.33 -> 1.07, Pleiades
1.59 -> 1.08. 15-35 s. Opt-in.--config deconvolve_target_ratio=0.8(with--deconvolve rl): deconvolve to a narrower
target PSF instead of a point, so there is nothing to ring;-vprints a consistency check.- Frame report and FITS header: a
t_effcolumn (seeing, sky and transparency combined; a
note under 0.25) andTEFFTIME/TEFFRATIOkeys: the integration time in median-quality
seconds. --noise-validatealso prints the finest detail the stack repeatably holds (Fourier ring
correlation of the odd/even halves) and the SNR by spatial period.- Tools:
tools/bench_lsb_injection.py(inject faint extended light, report how much survives
Phase 4, plus blank-sky aperture curves),tools/eval_frc.py,tools/psf_census.py,
tools/stack_optics_census.py. - Off by default, kept for experiments:
--config bg_wing_mask=true(brightness-scaled star masks
for background sampling; changed the preview by 0.1/255 on three real stacks) and
--config wavelet_cycle_spins=4(4-7% less noise on synthetic scenes, 0.3% on real data).
Fixed
--halo-removalran with a NaN star width on--from-stack.
OriginStack 2.20.0
Which download?
| You have | Download |
|---|---|
| Windows, want it installed | OriginStack-2.20.0-setup.exe |
| Windows, no install (one file) | OriginStack-2.20.0-windows-x64-portable.exe |
| Windows, no install (folder) | OriginStack-2.20.0-windows-x64.zip |
| Mac with Apple silicon (M1 or later) | OriginStack-2.20.0-macos-arm64.zip |
| Mac with Intel | OriginStack-2.20.0-macos-x86_64.zip |
| Linux | OriginStack-2.20.0-linux-x64.tar.gz |
The learned deconvolver now works on other cameras: it rescales to the star width it was trained
on, reads monochrome and tile-compressed FITS, and --auto picks it when it can measure the stars.
The desktop app compares any Phase 4 step before and after, and there is a per-frame report of why
each frame was kept or rejected.
Added
- Learned deconvolver on other cameras.
--deconvolve nnmeasures the star width in your
stack and, when it is outside the 2.3-5.2 px it was trained on, resamples the image to the
nearest bound, runs the network and resamples back, so a different pixel scale no longer
matters (checked on Seestar S50 and Las Cumbres Observatory stacks, against Pan-STARRS). Narrow
stars (under about 4 px) keep their flux through a star-aware restore. Stacks in the trained
range, such as Origin, are unchanged.--autonow chooses it off Origin too (at least 3
accepted frames), and Phase 4 puts the previous settings back, with one log line, when the
stack has no fitted star, fewer than 30 usable stars, a median width outside 1.1-14 px or a
median ellipticity above 0.35. - Monochrome, tile-compressed and cube FITS. Mono FITS (header says no Bayer pattern, or has a
filter) is calibrated on its single plane and replicated to three channels, as mono SER/XISF
already were;.fits.fzframes (Las Cumbres) and 3-plane FITS cubes load. --nn-deconv-blend FRACsets how much of the deconvolver is kept against the learned
denoiser (default automatic: 0.75, galaxies 0.35 under--auto). An explicit value now wins
over--auto, including 0.75.--frame-reportwrites<stem>_frames.csvand.json: each light's verdict, the stage that
decided it, a plain reason ("registration residual 4.93 px RMS > 1.50 px") and its metrics.- Calibration masters and mixed folders. A larger master is cropped to the lights when the
binning matches and the offset is known; other mismatches are dropped with a warning that says
why, on every path (it was silent on some). Lights that differ in binning, frame size, gain/ISO
or camera are split into separate stacks instead of mixed. - Desktop app: a before/after window for any Phase 4 step (wipe slider, zoom, pan, hold to show
"on"); a Copy diagnostics entry in the report-a-problem menu; the last input and output folders
are remembered; a note under the light frames field when the camera is not an Origin. - Star removal (
--remove-stars-method nn, experimental): refills the cores left at the
brightest unsaturated stars (bright-star leftover 0.20 -> 0.02 on Orion), and handles mono
stacks (Las Cumbres M51 kept 0.92 of its faint structure, was 0.59).
Fixed
- Local contrast no longer leaves a dark ring round saturated stars.
- Stars within about 30 px of the frame edge now get the same star-aware restore as the rest.
Changed
- Heavy scipy and astropy modules load on first use, and CI gates clippy and a new lint rule.
- Python 3.12 or newer is the supported version (the installers ship 3.12, CI tests 3.12).
astro_native0.63.2: constants only, no behaviour change.
OriginStack 2.19.0
Which download?
| You have | Download |
|---|---|
| Windows, want it installed | OriginStack-2.19.0-setup.exe |
| Windows, no install (one file) | OriginStack-2.19.0-windows-x64-portable.exe |
| Windows, no install (folder) | OriginStack-2.19.0-windows-x64.zip |
| Mac with Apple silicon (M1 or later) | OriginStack-2.19.0-macos-arm64.zip |
| Mac with Intel | OriginStack-2.19.0-macos-x86_64.zip |
| Linux | OriginStack-2.19.0-linux-x64.tar.gz |
The desktop app can switch Phase 4 steps off and on after a run, lets you pick any frame in the
recent-frames table to view it, and runs Phase 1 faster; the Gaussian blur and bilateral kernels
are quicker too.
Added
- The desktop app can switch the post-processing steps of a finished run off and on. A
"Post-processing steps" panel under the preview has a box per step the run used (denoisers,
deconvolution, star reduction, local contrast, final sky flatten and others); ticking or
clearing one redoes only that step and the ones after it and updates the preview and the
files the run wrote. On a full Sunflower-size frame a late step takes 3-8 s instead of the
22 s a whole Phase 4 takes. Background and chroma steps redo the whole of Phase 4. The
starless sidecar of--remove-starsis not rewritten by a toggle. A "Show without stars"
box in the same panel previews the image without its stars (the inpaint remover, run on the
finished image) and saves<stem>_starless.jpgnext to the preview; the stars-in files are
left as they are. Not offered for runs with
--uncertainty-propagate,--error-aware-stretch,--hdr-combine,--annotateor a
multi-session combine.
Fixed
- Re-running a session from the
_config.tomlan--autorun saved now processes the frames
the same way.--autoasked for per-frame gradient removal on nebulae and galaxies, but it
decides after the frames are already processed, so the step never ran on the--autorun
itself; only the saved config switched it on, which made the re-run slower and changed which
frames passed the quality gates.--autono longer asks for it.
Changed
- Faster Gaussian blur and bilateral filter (
astro_native0.63.1). The Gaussian blur behind the
background, sky and star-detection steps now runs tap by tap with a run-time AVX2 path: on a
2033x3041 frame at sigma 1 / 3 / 8, 24 / 63 / 177 ms became 14 / 18 / 40 ms, with bit-identical
output. The colour bilateral filter is about 1.5x faster, also bit-identical. The crate's source is
split into one module per domain; no behaviour changes. Kernel timings only: the effect on a whole
run was not measured. - The desktop app's per-frame thumbnail strip is gone; the RECENT FRAMES table does its job. Click a
row, or step through the rows with the arrow keys, to see that frame in the preview. The frame stays
up while the run continues; picking a stage from the drop-down goes back to following the run. Every
processed frame now gets a thumbnail (--ui-frame-everydefaults to 1, was 5), made from a copy
averaged down to thumbnail size first, which costs about a tenth per thumbnail of stretching the full frame
did. Through the app, Phase 1 of a 158-frame Sunflower session took 44 s, against 64 s before
(three runs each, alternating, spread under 1 s). A frame rejected before it was rendered
has no thumbnail and says so. Previously a frame picked from the strip was replaced by the latest
stage at the next update during a run. - A mosaic tile much fainter than its neighbours (shot through cloud, haze or dew) is now
named in a warning. Its brightness cannot be matched to the others, so its outline shows in
the mosaic; before, that happened without explanation.
Sample data: Whirlpool Galaxy (41 frames)
A real Celestron Origin session you can stack in OriginStack to see how it works, or to check your own setup against a known-good run.
What it is: the Whirlpool Galaxy (M51) and NGC 5195, 41 light frames of 25 s from one night (9 July 2026), with the flat, dark and bias the Origin saved. About 17 minutes of data, from a suburban backyard. The observer's location has been removed from the files.
To try it
- Download
OriginStack-sample-whirlpool.zipbelow and unzip it. - Install OriginStack if you have not yet.
- Open OriginStack, choose the unzipped
sample_whirlpoolfolder as the light-frames folder, press Start.
A full run takes about a minute on an 8-core laptop. The galaxy is small in this wide field (a RASA at 335 mm); the result is a 41-frame stack, not a full night.
Free software, GPL v3. This release holds sample data only, not the app.
OriginStack 2.18.0
Which download?
| You have | Download |
|---|---|
| Windows, want it installed | OriginStack-2.18.0-setup.exe |
| Windows, no install (one file) | OriginStack-2.18.0-windows-x64-portable.exe |
| Windows, no install (folder) | OriginStack-2.18.0-windows-x64.zip |
| Mac with Apple silicon (M1 or later) | OriginStack-2.18.0-macos-arm64.zip |
| Mac with Intel | OriginStack-2.18.0-macos-x86_64.zip |
| Linux | OriginStack-2.18.0-linux-x64.tar.gz |
ZWO Seestar S50 and S50 Pro sessions get a plate solve, Gaia colour and their full galaxy
halos; Andromeda, Orion and the Horsehead look right at the defaults; and a problem report
can be copied into an email or a forum post.
Added
- Seestar, Dwarf and other cameras that record their pointing get a plate solve and
Gaia colour calibration. Without the Origin's session file the stack had no WCS, so
colour calibration was skipped. The first sub is now solved from the RA/DEC, focal
length and pixel size in its header and its solution carried onto the stack. Tested
on a Seestar S50 (M101) and an S50 Pro (M31) session. - Desktop app: Report a problem now offers Copy report as well as opening a GitHub
issue, so a report (version, system, the error and the end of the log, with your home
folder hidden) can go into an email or a forum post without a GitHub account. A failed
run turns the link to the accent colour and says what it does; a finished run has a
Result not right? Report it link next to its result buttons.
Changed
- README and website name the ZWO Seestar S50 and S50 Pro next to the Celestron Origin,
and the Other cameras page has a Seestar section: where its frames are saved, which
folder to choose, and what was tested. - README opens with a before/after from one Origin session and three steps to get started.
- Bug report form: version placeholder, the Mac and Windows installer/portable builds, and
the Mac log folder.
Fixed
- Galaxies no longer lose their outer disk when a session has no flats. The
automatic settings built a flat from the lights themselves whenever flats were missing
(every Seestar session). The target leaks into such a flat unless it moves well across
the sensor, and dividing by it removed most of a galaxy's faint light: about 95% of
M31's disk on an S50 Pro, 64-90% of M101's outer arms on an S50.--flat-from-lights
is now only used when you ask for it, as its help always said. - Frames copied from a Mac. A Finder zip holds a
._Light_�.fitfile (resource-fork
metadata) beside every frame and a__MACOSXfolder; each was taken as a light (or a
session folder). They are now ignored. - No more 20 s stall when a catalogue server can't be reached. Where a server
(SIMBAD, often) dropped connections silently, each lookup waited for Windows' ~21 s
TCP connect timeout. A server is now checked with a 5 s handshake first; one that
doesn't answer is skipped for 5 minutes. Behind an HTTP proxy the check is skipped. - Dark discs around stars on galaxies. Star reduction treated whatever light sat
above the background ring inside a star's radius as the star's wing, so on a galaxy
disk (Andromeda) each reduced star left a disc darker than the disk around it. It now
removes only the star's own radial profile, cut off where the profile no longer
stands out of the light at that radius. - Orion's core no longer renders as a jagged white cut-out. The Trapezium region
clips in every sub, and the stack holds a flat plateau ending in a cliff; its outline
is now feathered in the preview over a width that follows its size. Star cores are
untouched. - The Horsehead stands out against IC 434 again. When a faint nebula fills most of
the frame, the background step measured "sky" on the nebula itself and subtracted it,
leaving the horse against black. For emission nebulae,--autonow also masks
H-alpha by colour (red light in excess of the frame's own sky colour), so the glow
stays and a neutral gradient, such as a bright star's glare, is still removed
(dbe_halpha_mask, saved in the run's config).
OriginStack 2.17.0
Which download?
| You have | Download |
|---|---|
| Windows, want it installed | OriginStack-2.17.0-setup.exe |
| Windows, no install (one file) | OriginStack-2.17.0-windows-x64-portable.exe |
| Windows, no install (folder) | OriginStack-2.17.0-windows-x64.zip |
| Mac with Apple silicon (M1 or later) | OriginStack-2.17.0-macos-arm64.zip |
| Mac with Intel | OriginStack-2.17.0-macos-x86_64.zip |
| Linux | OriginStack-2.17.0-linux-x64.tar.gz |
Comets stacked on the comet automatically, more of the frame kept, cleaner multi-night
edges, true colour through a nebula filter, and sharper drizzle.
Added
- Comets are stacked on the comet automatically. When the target is a comet (the FITS
OBJECT, the session name or the folder is a designation such asC/2025 R2 (SWAN),
12P/Pons-Brooksor3I/ATLAS), the automatic settings turn on--comet-mode: besides the
usual star-aligned stack you get<stem>_comet.fits, aligned on the nucleus, and
<stem>_comet_blended.fits, sharp comet on sharp stars. Before, a comet session came out as
a star stack with the comet smeared along its track.--no-comet-modeturns it off.
The comet is located with its JPL Horizons ephemeris (three requests per run; not with
--offline): on 3I/ATLAS the motion search alone had locked onto a passing satellite.
Changed
-
Multi-night combines lose their ragged edges. Nights shot at different field rotations
only partly overlap, and the combined image kept the reference night's whole frame: wedges
and rims covered by one or two nights, at a different depth and colour (rainbow edges and
corner wedges on a nine-night Whirlpool). The combined stack (and--merge) is now cut to the
largest rectangle that at least half of the nights' total weight covers; on that Whirlpool,
96% of the frame. The WCS moves with the crop. -
--streamgets the same treatment as a normal stack. Its output kept the whole sensor
frame, with thin rims made of the one or two frames that drifted over them (a dark strip and
a dashed bottom row on M66); it is now cut to the area at least half the frames cover. And
the automatic settings never chose the learned deconvolver in stream mode (the camera was
not identified there), so streamed stacks were processed with the older wavelet chain. -
Nebula-filter sessions keep their colour. Under the Origin's Nebula filter slot (an OIII,
dual-band or other narrowband filter), the automatic settings no longer apply SCNR, which
removes green -- where OIII lands -- or the gray-locus colour calibration, which assumes
neutral stars and scaled up noise in the near-empty red channel. On an OIII Lagoon the nebula
comes out brighter, with more of its faint structure, in its own teal-green. -
"Large shifts detected" only when they are large for the frame (over 10% of its shorter
side). It used a fixed 20 px and appeared on nearly every session from 2026 firmware, whose
drift and dithering move the field 40-150 px -- which registration handles. -
The stack keeps more of the frame (
--full-field, now on by default). The edges that
dithering, drift or field rotation leave uncovered by some frames used to be cropped off;
they are now kept wherever at least half the frames cover them, combined from those frames,
with a little more noise at the very edge (<output>_coverage.fitsmaps the frame count).
On a drifting Fireworks Galaxy session: 2996x1986 -> 3017x2024 px, about 19 s more.
--no-full-fieldrestores the old crop. Skipped quietly with drizzle, comet mode, elastic
registration and the uncertainty map.
Fixed
-
--comet-designationused the wrong time. The Origin stampsDATE-OBSin local time
with the offset inTIMEZONE; the ephemeris was asked for that time as UTC, eight hours
out (3I/ATLAS predicted 0.38 deg from where the telescope pointed). It also made one Horizons
request per frame and then used the positions only for a trailing warning; the predicted
track now steers the nucleus search. -
The AAVSO report closed its lightcurve file late, which could keep it locked on Windows.
-
--config KEY=VALUEnow works, as the 2.15 and 2.16 notes already said it did (for
example--config nn_deconv_blend=0.5or--config preview_black_sigma=1.0).--config
took only a file, so such a setting was read as the name of a missing file and silently
ignored; with--from-stackit also kept the earlier run's saved settings from loading,
so the re-run used defaults.--configcan be repeated; aKEY=VALUEsetting wins over
the config file and over the automatic settings. -
Sharper drizzled stacks (
--drizzle-scale 2). The automatic settings switched drizzle to
the soft Magic Kernel to avoid ringing around bright stars; on two Origin sessions that made
stars about 10% wider than the normal stack, with no less ringing than the default Lanczos-3
kernel. Drizzle now keeps Lanczos-3: stars as narrow as the normal stack, with 9-22% less noise
when viewed at the same scale.--drizzle-kernel magicstill selects the soft kernel.
OriginStack 2.16.0
Which download?
| You have | Download |
|---|---|
| Windows, want it installed | OriginStack-2.16.0-setup.exe |
| Windows, no install (one file) | OriginStack-2.16.0-windows-x64-portable.exe |
| Windows, no install (folder) | OriginStack-2.16.0-windows-x64.zip |
| Mac with Apple silicon (M1 or later) | OriginStack-2.16.0-macos-arm64.zip |
| Mac with Intel | OriginStack-2.16.0-macos-x86_64.zip |
| Linux | OriginStack-2.16.0-linux-x64.tar.gz |
Sharper stars in every image from an Origin, and cleaner learned star removal.
Changed
-
Sharper stars in every image from an Origin. The learned deconvolver (
--deconvolve nn)
was retrained against Pan-STARRS survey images of the same sky, which are far sharper and
deeper than any Origin stack. The automatic settings now use it for every target, mixed with
the learned noise reduction:- galaxies: 35% deconvolver, stars about 15% narrower than before, with the same or better
faint detail and star colour; - nebulae, clusters and star fields, which used the learned noise reduction alone until now:
75% deconvolver, stars 10-35% narrower and 10-20% more faint detail.
--deconvolve nnon its own uses 75%, and--config nn_deconv_blend=...sets the mix. The
step takes about twice as long as the noise reduction alone. With the default per-channel
stretch the sharper star cores render whiter;--stretch-color preservekeeps their colour. - galaxies: 35% deconvolver, stars about 15% narrower than before, with the same or better
-
Three more steps run in the native (Rust) module when it is installed, as in the
released app: the background's fill under masked regions, the satellite-trail detector's
Hough transform and the moving-object velocity vote. Results are the same as before.
Fixed
- Learned star removal (
--remove-stars-method nn, experimental): no more coloured discs
and rims where stars were. Bright stars on the Pleiades left blue rings with red-yellow
centres, and stars near Orion's nebula left red and green discs up to 80 px across. The
removal now follows each star's own colour from core to halo and fills with plain sky only.
OriginStack 2.15.0
Which download?
| You have | Download |
|---|---|
| Windows, want it installed | OriginStack-2.15.0-setup.exe |
| Windows, no install (one file) | OriginStack-2.15.0-windows-x64-portable.exe |
| Windows, no install (folder) | OriginStack-2.15.0-windows-x64.zip |
| Mac with Apple silicon (M1 or later) | OriginStack-2.15.0-macos-arm64.zip |
| Mac with Intel | OriginStack-2.15.0-macos-x86_64.zip |
| Linux | OriginStack-2.15.0-linux-x64.tar.gz |
Sharper multi-night combines, truer star colours in the JPEG, galaxies that keep their faint
outskirts, and lossless PNG copies of the final image.
Added
-
Lossless copies of the final image:
--export pngandpng16(also "Also save" in the
app, remembered between launches).pngis the JPEG's own image without compression (8-bit,
about 1.8x the JPEG's size);png16is the same render in 16 bits per channel, for further
editing in another program without banding (about 6x). Both are made from the same render as
the JPEG and are rewritten when you pick another stretch after the run. -
Multi-night combines keep a sharp night's detail (
--mergeand the multi-session
combine, on by default;--no-merge-properrestores the plain weighted mean). Each night
is weighted per spatial frequency by its own measured star profile (proper coaddition, as already done for the
frames within a night) instead of by one noise weight, so a long night of poor seeing no
longer dilutes a short sharp one. Same noise and star flux as the plain weighted mean. On a
real two-night Pleiades merge (2.8 and 6.2 px nights) stars came out 22% narrower (2.99 to
2.36 px, 400 stars) with no rings; over 24 two-night targets a median 2.6% narrower, 15% at
the 10th percentile, and unchanged where the nights' seeing matched. With
--merge-consistencythe consistency combine is used instead.
Changed
- Galaxies keep their faint outskirts in the preview. The galaxy preset put the preview's
black point one noise sigma above the sky; after the learned deconvolver has removed most of
the sky noise, that line sits just above the sky and took the faint outer disk and arms with
it: 51-57% of the faint galaxy pixels came out pure black on Sunflower and Sculptor, 27-29% on
Whirlpool and M101. The black point is now the sky median (12-23% black, half the sky still
black).--config preview_black_sigma=1.0restores the old, blacker sky.
Fixed
-
Star colours in the JPEG. Preview JPEGs stored colour at half resolution (the JPEG
encoder's default 4:2:0), so a small star's colour was averaged with the black sky around it:
on the Sunflower, Omega and Pleiades previews stars kept 61-78% of their colour saturation and
their colour error was 3x what full-resolution colour gives. All preview, viewer and
annotated JPEGs now keep colour at full resolution (stars keep 96-99%), for files 15-32%
larger. The 8-bit conversion also rounds instead of truncating, which made every pixel up to
one step darker. -
One dark-scaling note per run. When the lights' exposures differ from the dark's, the log
now says so once, listing each exposure with its scale factor and frame count. Each Phase 1
worker used to print it for every exposure it met: 18 identical lines on a session of 20, 25
and 30 s lights with a 10 s dark.
OriginStack 2.14.0
Which download?
| You have | Download |
|---
Learned noise reduction by default for nebulae and star fields, a stretch that finds the
target itself, cleaner multi-night combines, AAVSO light-curve reports, and a way to support
the project.
Changed
- Learned noise reduction is now the automatic choice for nebulae and star fields on
Celestron Origin data (--auto, the default):--denoiser nn, with colour-noise reduction
run before it. On five held-out targets this kept star widths within 0.3% and colour
accuracy equal to the wavelet denoiser's, at 3.5-27x lower sky noise and 3-40x the
faint-structure contrast. Galaxies keep the learned deconvolver;--denoiser wavelet
restores the previous behaviour. Without the colour-noise step first, the network had
widened stars 1-2% on nebula fields.
Added
- Support OriginStack: a link to the project's Ko-fi page in the desktop app's header and
beside the finished run's buttons, on the website and on GitHub (the Sponsor button). It
opens in your browser; the app sends nothing. --stretch object(also in the app's re-stretch menu): takes the stretch from the target
itself rather than the whole frame. It finds the object around where the telescope pointed;
when that object is fainter than the field's white point, the white point comes down to just
above its core and the curve's contrast moves up to its typical level. A brighter rendering
of a small or faint galaxy at the cost of a grainier sky (Sculptor, Black Eye); exactly the
plainghsstretch on nebulae, clusters and anything that fills the frame.--merge-consistency(with--mergeor a multi-session combine, opt-in): leaves a night
out wherever it shows a significant feature the other nights show nothing of, such as a
satellite glint, an unrejected hot-pixel cluster or a transient; structure every night
shows keeps the plain weighted mean. On held-out two-night pairs it removed one-night
100-sigma artefacts in every case, kept faint sources both nights show in full, cut sky
error by 20% on average and never made the image itself worse; on real merges star widths
and colour calibration were unchanged.- AAVSO reports:
--aavso-report(with--photometry-timeseries) writes the target's light
curve in the AAVSO Extended Format for WebObs upload, calibrated on AAVSO's own comparison
stars (VSP chart) with a check star and optional time bins;tools/aavso_report.pymakes
one from an earlier run. On an Orion Nebula session, comparison stars of V 10-13.6 measured
against the others came out at TG - V +0.004 +- 0.035 mag. tools/bench_vs_siril.py --external STACK.fitsscores another stacker's linear colour
stack (Astro Pixel Processor, DeepSkyStacker, PixInsight, ...) against OriginStack with the
same shared-star width and matched-noise measurements as the Siril comparison;
--external-secondsrecords the time you measured,--reuse-originstackscores several
stacks against one OriginStack run.
OriginStack 2.13.0
Which download?
| You have | Download |
|---|---|
| Windows 10/11 (64-bit) | OriginStack-2.13.0-setup.exe — installer, Start Menu entry and uninstaller |
| Windows, no install | OriginStack-2.13.0-windows-x64-portable.exe — one file, runs from any folder (opens a few seconds slower), or the windows-x64.zip (Extract All first) |
| Mac with Apple silicon (M1 or later, macOS 14+) | OriginStack-2.13.0-macos-arm64.zip |
| Intel Mac | OriginStack-2.13.0-macos-x86_64.zip |
| Linux x86-64 (glibc 2.35+) | OriginStack-2.13.0-linux-x64.tar.gz, then ./install.sh |
None of them needs Python. The builds are not code-signed yet: on Windows, SmartScreen may warn — choose More info, then Run anyway. On a Mac, Control-click the app and choose Open the first time (details on the website).
Mosaics from the Origin's Mosaic Mode, learned star removal, a reworked comet mode, a faster
first phase, a redesigned app, and fixes to multi-night combines and to how bright cores,
planetary nebulae, Milky Way fields and galaxies on bright-sky nights are rendered.
Added
- Report a problem (desktop app header): opens a new GitHub issue in the browser with the
version, system, native-module status, the last run's error and the end of the log filled in
(home folder shown as~, repeated progress lines collapsed). Nothing is sent by the app; the
user reviews and submits the issue on GitHub. - Learned star removal (experimental):
--remove-stars-method nn. A Noisier2Noise
network trained on the Origin's own stacks removes stars from the linear stack; saturated
stars have their halo and diffraction spikes subtracted and their cores filled, and are
left in place when they sit in bright nebulosity. Also behind--starless-process. - Redesigned desktop app and website: pick what you imaged from picture cards, Full
quality or Quick look, a summary of the run before it starts, and a gallery with one image
per kind of target, all translated. - Mosaics (
--mosaic, detected automatically). A folder of tile sessions from the Origin's
Mosaic Mode is recognised and stitched into one image: from the Origin's own mosaic
description (tile row and column, matched to each session by its stack UUID) when present,
otherwise from the sessions' pointings. Panels are reprojected without thereproject
package (the packaged app now stitches instead of silently combining), brightness and
gradient are matched across all overlaps at once, and post-processing runs once on the
result. Missing tiles and sessions that are not part of the mosaic are reported. Not yet
tested on a real Mosaic Mode capture. - Dither detection. The registration log reports whether a session was dithered and by
how much, and the stack's header records it (DITHSTEP). The--drizzle-scale 2.0tip now
appears only when stars are undersampled. - Portable Windows exe:
OriginStack-<version>-windows-x64-portable.exe, one file that
runs from any folder without installing. It unpacks itself on every start, so it opens a few
seconds slower than the installed app or the zip. - Other Origin-platform cameras are recognised (Origin678C, QHY183C, ASI183MC, ASI294MC
besides the Origin178) and named in the log; a camera without a measured profile is
recorded as such instead of being ignored. - A note when the dark was taken at another ISO than the lights (it is scaled by exposure
time only; scaling by the ISO gain ratio was measured and is not a reliable improvement). - Documentation: what stacking several nights gains, with measurements.
Changed
-
Comet mode finds the comet by its motion against the stars (early and late frames
differenced in star-aligned coordinates) instead of the brightest blob, which was a bright
star on a real SWAN session; each comet frame keeps its own field-rotation correction (star
trails used to arc round the nucleus); and the comet + stars image subtracts the comet's
modelled smear from the star stack instead of pasting a window over it (a fast comet came
out with two heads).--comet-blend-sigmais accepted and ignored. -
Planetary nebulae: the masked preview stretch, no SCNR (it removed the [O III] teal) and
no deconvolution (it mottled the shell) by default. -
Milky Way fields (wide field): the preview black point sits below the frame median, so
the star cloud's glow and its dark nebulae stay visible. -
Faster first phase: the residual check maps each frame's own stars instead of warping
and re-detecting, temporary frames are compressed only when the disk needs it, and the
post-gate quality diagnostics run in parallel. -
Faster processing of the frames (Phase 1): about 35-40%. On a 158-frame session on an
8-core laptop, Phase 1 went from ~45 s to ~28 s and the whole run from 2m26 to 2m06, with
an identical stack. The compressed frame store no longer decodes every frame for a preview
thumbnail that is not shown, writes frames to disk without extra copies, and Phase 1 now
runs single-threaded workers on three quarters of the physical cores (it is limited by
memory speed, not cores; it also holds fewer frames in memory).-j Nis unchanged. -
Smoother background extraction in frame-filling nebulae. Where large areas have no sky
samples, the background model now blends into wider fits instead of forming flat polygons
with edges printed into the sky. Background extraction is also faster (10.8 s to 4.2 s on
one stack). Expect slightly different backgrounds where samples are sparse. -
Learned deconvolution is chosen automatically only for the camera it was trained on
(Origin178); other cameras keep the wavelet denoiser under--auto. -
Installing from source now needs NumPy 2.4.6 or later.
astro_native0.60.0.
Fixed
-
Multi-night combines: one off-centre night no longer turns a folder into a two-panel
"mosaic"; a night that cannot be registered is left out with a warning instead of aborting
the whole combine; a smaller night's zero padding is no longer detected as stars (a good
48-minute night was refused for it); and the combined stack keeps the reference night's
WCS, so photometry and annotation work on it. -
Bright extended cores in the preview (Orion's core, the Ring Nebula, globular cluster
cores) are rolled off instead of clipped to flat white in the default per-channel stretch. -
Galaxies on bright-sky nights: corners brightened by a flat that over-corrects the
vignetting are treated as background even when the galaxy is too faint to detect; they came
out pink. -
Other programs' stacks found among a session's lights are skipped. A stacked file with
NCOMBINEorSTACKCNTabove 1 was taken as a light and stopped the run. -
Calibration frames are recognised from more capture programs. An
IMAGETYPheader of
Dark Frame,Flat Field,Bias Frame,OffsetorZerowas not understood, so such
frames were stacked as lights unless their file name said what they were. Dark flats were
taken as darks for the lights; they are now left out with a note (the flats are
bias-corrected instead). (This entry was missing from 2.12.1's notes; the fix shipped now.) -
Bright blue previews between nights. In a multi-night run each night's stack is
previewed before the combine, linear and unprocessed; a light-polluted sky that sits
higher in one channel tinted the whole preview, bright blue at the end of every night.
Each channel's sky level is now evened out for that preview (display only; the stacks
and the final image are unchanged). -
Dark holes and bars next to bright stars. The sky-residual pass took a saturated
star's halo for sky: on Mizar a dark bar ran from Mizar to Alcor. Mesh cells that stand
far above their neighbours are now treated as sources, and gaps are bridged smoothly
instead of copying one cell across them. -
Coloured blobs around nebulae. Where background extraction protects faint nebulosity,
the sky under it was left with the vignetting dome still in: a maroon blob over the
Pleiades (Maia Nebula), a hard-edged red patch around the Crab Nebula. The protected area
now gets the same vignetting-shaped model as a galaxy's, when the samples around it show one. -
A bright column through faint-galaxy images. On a faint galaxy (Antennae) the galaxy
protection grew into the sky gradient and covered most of the frame; background
extraction then left a bright column. It now measures the galaxy itself. -
Targets the app did not recognise. Origin's names such as Duck Nebula, Cone Nebula,
Pacman Nebula, Medusa Nebula, Fornax A, Markarian's Chain and "Messier 101" were not
recognised, so the target-specific settings were not used; Thor's Helmet (Duck Nebula)
was flattened into the sky. Catalogue answers for galaxies in pairs or groups and for
planetary nebulae are now understood too. -
--from-stackon a multi-night or mosaic result now uses the settings the run chose:
the combined stack gets its own_config.toml. -
The Ring Nebula keeps its ring through the dual-band filter and on short stacks. When
most of a small bright object sits above the preview's white point, its whole range was
squeezed into the top of the display and a strong colour clipped it to one level. The
highlight curve now gives such an object more of the display, on the object only (the rest
of the image is unchanged): the ring and its darker centre show in both filters. The
highlight roll-off also missed a short stack by two pixels; its threshold is a little lower. -
Galaxy protection on a bright star. Background extraction's galaxy protection could
centre on a saturated star instead of the galaxy (Black Eye, Fornax A). Candidates are now
compared with the stars removed. -
Comet mode on a comet it cannot find. When the comet was too faint to find by its
mo...