> ## Content Index
> Fetch the complete content index at: https://macobservatory.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Strata 1.3 Adds Warp+, and Here's What I Measured
- URL: https://macobservatory.com/strata-1-3-adds-warp-and-heres-what-i-measured/
- Published: 2026-08-23T20:19:01.000Z
- Updated: 2026-08-23T20:19:01.000Z
- Description: Warp+ picks the sharpest frames separately at every alignment point. On a 799-frame Moon capture it gained about 14% local contrast at the median tile, at 2x to 3x the stacking time.
- Author: Andrew Burwell
- Tags: Field Notes, #planetary, #apple-silicon

Strata Warp+ is a stacking method in Strata, my native macOS app for planetary, lunar, and solar processing, that picks the sharpest frames separately at every alignment point instead of choosing one best set for the whole image. It ships in Strata 1.3 as a third option beside Strata Warp and Simple Avg. On a 799-frame Moon capture it improved measured resolution at the lunar limb by about 3%, and the two finished images differ by six hundredths of one percent per pixel.

I built Warp+ to close a quality gap. AutoStakkert has ranked frames per alignment point for years, and Strata's surface stacking didn't. Warp+ brings Strata to the same approach.

Whether it reaches the same output quality is a separate question, and one I haven't answered yet. A matched A/B against AutoStakkert!4 at the same keep percentage and drizzle setting is still on my list, and everything below is Strata measured against Strata.

The capture

- **Telescope:** Celestron EdgeHD 8
- **Camera:** Player One Uranus-C Pro, Sony IMX585, 2.9 micron pixels
- **File:** SER, 6.72 GB, 3856 x 2180, 8-bit, Bayer RGGB
- **Frames:** 799 over 59.98 seconds, 13.3 fps average
- **Stacked:** 44% frame selection, 2,816 alignment points
- **Sharpened:** luminance mode, four wavelet passes

[EdgeHD 8 notes →](https://macobservatory.com/celestron-edgehd-8) [Uranus-C Pro →](https://player-one-astronomy.com/product/uranus-c-pro-usb3-0-color-camera-imx585/?ref=macobservatory.com) 

One warning on this file

The SER Utility marked this capture usable with warnings. Its local and UTC header fields are identical, which usually means the recorder wrote local time into both. Strata handles that at import, and for a single lunar stack it changes nothing, because there is no derotation step to feed a wrong timestamp into. On a multi-capture planetary session it would matter, and the warning exists to stop you trusting the header before you get there.

## What shipped in Strata 1.3

Warp+ is the headline, and three other things came with it.

Frame Selection in the Analyze phase now has a third mode. Auto and Top % are still there, and Frame Count sits beside them, taking the exact number of frames you want stacked rather than a percentage. Feed it a clip with fewer frames than you asked for and it clamps to what exists and says so in the log and the receipt, instead of failing the file. Two imagers asked for this independently, one wanting to type 1,000 instead of doing percentage arithmetic, the other needing constant signal to noise per frame across a timelapse where clip lengths vary.

Stacking and interactive quality analysis now run off the main thread. The window stays responsive while a long stack or a big analysis runs, which on a 45 GB capture is the difference between using the app and watching it. Analyze settings lock while a run is in progress, so cancel first if you want to change the imaging target or the quality metric partway through.

Export filenames gained a second frame token. `{frames}` renders the setting you chose, so `20pct` in percentage mode or `400f` in count mode, and `{framecount}` renders the number of frames actually stacked. The interactive export, the quick save in the Stack phase, and batch export all build their embedded metadata through the same code now, so a quick-saved TIFF carries the same provenance line as a full export of the identical run.

Strata 1.3 requires macOS 14.6 or later, and is optimized for Apple Silicon with Intel supported.

## The short version

Planetary and lunar imaging works by recording thousands of frames in a minute and throwing most of them away. The atmosphere is moving the whole time, so most frames are soft and a few happen to catch a steady moment. Stacking software finds the good ones and averages them together, which is where both the detail and the smoothness come from.

Classic Strata Warp picks one set of best frames and uses it everywhere in the picture. Warp+ picks a separate set for each small patch. A crater on one side of the frame and a ridge on the other each get the frames where that particular spot happened to be sharp, because the atmosphere doesn't blur the whole field evenly.

On my Moon capture that produced a slightly crisper image. About 3% finer detail, measured directly at the lunar limb. At normal viewing size the two results are indistinguishable, and even zoomed hard on a crater wall the difference is subtle. About one region in eighteen actually came out a little softer with Warp+ than without it.

The cost is time. Warp+ takes about two and a half times as long to stack, and more than that with drizzle on top. On one picture you will never notice. On a night of two thousand files it turns a five hour job into something over twelve.

So: Warp+ for the captures you care about, on nights when the seeing was moving around and there were good moments in the clip to find. Classic Warp for everything else. The rest of this article is the measurement behind those two sentences.

## What the two methods actually do

Classic Strata Warp cuts the clip to your selected percentage first, judged on the whole frame, then hands that one set of candidate frames to every alignment point. Set it to 44% on a 799-frame clip and it keeps the best 351 by the analysis metric. An individual point can still drop a frame whose local shift failed there, but the candidate pool is the same 351 everywhere.

Warp+ inverts the order. It aligns all 799 frames and measures a local sharpness score for every frame at every alignment point, then keeps the sharpest 44% at each point independently. Same arithmetic, same 351 frames deep, but a crater rim, a ridge, and a stretch of flat mare each end up with their own set.

Seeing isn't uniform across the field, which is what makes this worth doing. A frame can be soft overall and still hold the single sharpest instant for one small patch of the image. Classic Warp never sees that frame, because the first pass already cut it. Warp+ finds it.

The stack receipt on a Warp+ export reads `Frames: 799/799 (top 44% selected)`, which looks contradictory until you know what it counts. The 799 is the union: across 2,816 alignment points, every frame in the clip was chosen as top-44% somewhere. No individual pixel got 799 frames of averaging. Each one still got 351.

## Examining the two stacks

Here are the two stacks, same capture, same analysis, same wavelet settings applied once to each.

![](https://storage.ghost.io/c/8d/3a/8d3ae6c9-185e-49c7-b8a6-36d44545d9f9/content/images/2026/08/comparison-wide.gif)

****If you can spot the difference at this scale, you're doing better than I am.**

At full frame they look the same, and they should. Push in to a hard zoom and the difference starts to show, mostly along ridge lines and crater walls.

![](https://storage.ghost.io/c/8d/3a/8d3ae6c9-185e-49c7-b8a6-36d44545d9f9/content/images/2026/08/compare-zoom2.gif)

****Same two files, cropped hard. Watch the elongated crater floor and the terraced wall on the right.**

The mean absolute difference between these two 16-bit files, measured across the lunar disc, is 43 ADU out of 65,535\. Six hundredths of one percent per pixel. A stacking method doesn't transform an image, whatever the marketing around any of these tools suggests.

One thing to state before any of the figures below. Every measurement in this article was made on the unsharpened 16-bit stacks, straight out of the Stack phase. Sharpening amplifies small differences, so a number measured after wavelets is a different claim from the same number measured on the stacks themselves. The GIFs above are sharpened because that's what you'd actually look at. The numbers are not.

## What the evidence says

Small per-pixel differences can still add up to a real change in local contrast, and here they do. I measured the Laplacian RMS of every 128 pixel tile across the disc, which puts a number on how much fine structure each region carries.

![](https://storage.ghost.io/c/8d/3a/8d3ae6c9-185e-49c7-b8a6-36d44545d9f9/content/images/2026/08/warpplus-tile-analysis.png)

****Orange is where Warp+ gained, cyan where it lost. Tiles that barely moved stay transparent, which is most of the lower left.**

Across 435 tiles the median gained 14.2%, and the best tile gained 27.5%.

About one tile in eighteen came out softer than classic Warp, the worst by 8.6%. Those losses cluster. Look at the lower left of the map, where the terrain flattens. A sharpness ranking needs local structure to rank on, and where the ground is smooth there's nothing for the method to find.

Now the part that needs saying plainly. Warp+ ranks candidate frames using a Laplacian measure of local sharpness, and I just measured the result using a Laplacian measure of local sharpness. The method and the yardstick are relatives. Some of that 14.2% is Warp+ scoring well against its own objective, which is evidence the selection is doing something and is not a clean measure of resolved detail.

## A measurement that isn't circular

The lunar limb against black sky is a knife edge, and how fast an image crosses that edge measures resolution directly, with no relationship to Laplacian energy at all. I sampled 600 points along the limb in both unsharpened stacks and measured the profile across it.

The 10 to 90% rise distance went from 10.139 pixels under classic Warp to 10.038 under Warp+, about 1% shorter. MTF50, the spatial frequency at which contrast falls to half, went from 0.0513 to 0.0527 cycles per pixel, about 2.6% higher. Resampling 400 limb points 24 times over gave a standard deviation of 0.14% and an improvement in all 24.

So the selection works. Warp+ resolves genuinely finer detail than classic Warp on this capture, repeatably. And the honest size of that gain is about 3%, not 14%. A 2.6% improvement in MTF50 is real, consistent, and invisible to the eye, which is why the blink comparison further up looks like nothing is happening.

One caveat on where that number comes from. The limb is the highest-contrast feature in the frame, and if the per-point sharpness score is influenced by how bright and contrasty a patch happens to be, the limb is exactly where it would perform best. I wouldn't assume the same 2.6% holds out on flat mare.

## Where the sharpness actually is

The tile map shows the difference between the two methods. It doesn't show that difference against everything else happening in the frame, and the context changes how you should read it.

![](https://storage.ghost.io/c/8d/3a/8d3ae6c9-185e-49c7-b8a6-36d44545d9f9/content/images/2026/08/warpplus-sharpness-profile.png)

****Both methods, absolute values, no delta. The terrain does most of the work.**

Local contrast across this frame runs from 14 ADU in the flattest mare to 259 at the busiest terraced crater walls, an 18.6x spread. The gap between the two stacking methods is 8.2% at the median tile.

Where you point the telescope and what the seeing does that night matter far more than which stacking method you pick. Warp+ is a real gain and a small one.

The two curves converge below roughly 40 ADU. Flat terrain gives a local sharpness metric nothing to rank on, the same reason those tiles came out cyan on the map. The gap opens through the middle of the range and stays open into the detailed tiles.

One more result from the frequency data. Warp+ runs slightly quieter. In flat, low-detail patches, where there is almost nothing but noise to measure, it sits 8 to 12% lower in power at the fine end. That range is wider than the mechanism below accounts for, so treat it as approximate. Take that much noise off the detailed patches and the signal difference at the finest scale scatters around zero.

Two separate things are going on here, and I had them merged in an earlier draft. Where neighbouring alignment points disagree about which frames are best, a pixel's 351 units of weight spread across slightly more than 351 distinct frames at fractional weight. Effective averaging depth rises about 6%, which predicts roughly a 6% drop in incoherent content, and that mechanism on its own softens rather than sharpens. The contrast gain comes from somewhere else entirely: the frames chosen at each point are locally sharper. The two pull in opposite directions at the finest scale, and the limb measurement says the sharpening side wins by a small margin.

## What I'd want to change

Warp+ shipped with rough edges I can see from here.

The most obvious one is sitting in the cost numbers below. About 1.1 seconds of every 22.4 second file is alignment work done twice, roughly 37 minutes across a 2,000-file night. That is pure overhead with no quality attached to it, and reclaiming it would not change a single pixel of the output.

The exported file also doesn't record which method produced it. The filename token can, if you use it, but the metadata block embedded in the image lists the source, the target, the frame count and the alignment point count, and stops there. Anyone who downloads the two exports behind this article can't tell them apart from the files themselves. For a feature whose whole point is that an image explains its own history, that's a hole.

The two methods also don't produce the same size image. Strata trims the finished stack to the area the contributing frames actually covered, and because Warp+ draws from the whole clip its drift span is wider, so it always trims at least as much as classic and usually more. On this capture that's 3844 x 2136 against 3840 x 2108\. It follows correctly from its own rule, and it means nobody can A/B the two methods without registering the images first, which is a poor thing to ask of anyone checking my work.

Then there's how thin the evidence still is. Everything here rests on one lunar capture from one night, plus one user's solar batch. Planetary Warp+ hasn't had the same scrutiny. And the comparison I most want, matched against AutoStakkert!4 at the same keep percentage and drizzle setting, is the one I haven't run.

The one I keep circling is bigger than Warp+. Strata ranks the frames going in, and it doesn't measure the stack coming out. Every number in this article I produced afterward with my own tools, on files I exported and analyzed by hand. The app that made the stack is better placed to tell you how it turned out than you are to go and check.

## Speed is the cost

Warp+ opens the candidate pool to every analyzed frame. Classic Warp works from a much smaller set, so alignment, local shift measurement, and the stack all run over roughly four times as many frames.

A user running large solar batches put a real number on that. He processes nights of about 2,000 files at a time on an M1 Ultra, 3400 x 3400 frames, a hand-set 32 pixel alignment point grid that works out near 4,735 points per file, Normalize Capture on, 20% selection. Classic Warp finished that night in 4 hours 59 minutes, averaging 9.0 seconds per file. Warp+ on the same files averaged 22.4 seconds, 2.5 times classic, which projects to about 12.4 hours. Adding drizzle at 1.5x pushed it to 34.2 seconds per file, 3.8 times classic, projecting near 19 hours.

He cancelled the drizzle run at file 20.

The 22.4 seconds breaks down about like this. Setup takes 2.3 seconds, global re-alignment of the full pool 4.7, the displacement field stack 5.1, and sharpening and export two tenths of a second between them. The single largest cost, at 10.0 seconds, is measuring local shifts and per-point sharpness across every frame in the pool. That's the work Warp+ exists to do.

Something inverted along the way. Under classic Warp that night ran disk-bound, with the pipeline waiting on the drive. Under Warp+ the prefetched next file finished loading and then sat idle a mean 14.8 seconds waiting for the loop to come back for it, against the 8.6 seconds the drive itself needed. The machine went compute-bound. The 2.5x is real computation rather than an I/O artifact.

Three caveats belong with those numbers. Only the classic 4 hours 59 minutes is a completed measurement across all 1,999 files. The 12.4 and 19 hour figures are projections from a steady per-file cadence, not observed clocks. And the classic run was on 1.2.1 while both Warp+ runs were on 1.3, so it isn't a same-binary comparison, though the machine, drive, files, grid, Normalize setting and selection percentage all matched.

The sharpness measurement itself is cheap. At a matched frame pool it moved the local shift phase by less than a tenth of a millisecond per frame, inside the noise of that measurement. Sizing the pool drives the cost, and drizzle compounds on top of it.

On a single capture, 2.5x is a coffee break you were probably taking anyway. Multiply it across a night of files and it stops being background.

Warp+ against Warp

What the trade looks like in numbers

Median tile gained 14.2%

Local contrast across 435 tiles on the lunar disc. Best tile gained 27.5%.

5.7% of tiles came out softer

Worst by 8.6%, clustered in the flattest terrain where a sharpness ranking has nothing to rank.

43 ADU apart per pixel

Out of 65,535\. Six hundredths of one percent between the two finished files.

2.5x the stacking time

9.0 s per file against 22.4 s, measured on a 1,999-file solar night at 20% selection. 3.8x with drizzle 1.5x.

## How the sharpness metric was chosen

I set the bar before I looked at any results.

Two candidate metrics went into the build. One was cheap and reused a buffer that was already resident. The other needed a retained full-frame buffer per instance, because the production luminance gets overwritten during alignment.

Before measuring either, I wrote down what would count as passing: a minimum improvement in rank correlation against known ground truth, a minimum improvement in top-quartile overlap, a minimum split-half reliability, and correct monotone ordering on a deliberately adversarial test pattern designed to defeat a box-filter kernel. Then I committed the protocol and ran it once.

The cheap candidate failed two of the four. Its split-half reliability came in at 0.32 and 0.42 against a required 0.5 on two of three content classes, and it collapsed on the adversarial pattern, returning flat noise with no ordering at all. The expensive candidate passed everything.

Ground truth only existed on synthetic fixtures, which is the caveat that belongs with those results. The real-capture step confirmed the rankings behaved sanely across backends, and it wasn't a fidelity measurement.

## Which one should you use?

Classic Strata Warp is still the default, and it comes out pinned byte-identical on our equivalence fixtures against 1.2.1\. Your existing profiles and results didn't change when Warp+ arrived.

Reach for Warp+ on single captures you care about. Detailed terrain, a result you're going to print or post, and above all a night where the seeing moved around. The method works by finding moments of sharpness scattered through the clip, so it needs the atmosphere to have delivered some. Under flat, uniformly poor seeing there are no good moments hiding in the pool and I'd expect the gain to shrink toward nothing.

Stay on classic Warp for batch nights and timelapse sequences, where the per-file cost multiplies by hundreds, and for flat low-contrast subjects. A night of 1,999 files is a poor place to pay 2.5x per file for a single-digit median gain nobody will see at web resolution.

You pick per capture, in the Stacking Method picker in the Stack phase.

## A few questions I've been asked

**Does Warp+ work on planets, or just the Moon and Sun?** Both, though the cost profile differs. On planetary targets the route already ranked frames per alignment point, so Warp+ only changes what it ranks by, from resemblance to the reference to measured local sharpness. The extra time is much smaller there. My own validation so far has all been on extended surfaces, so treat planetary Warp+ as less tested than the lunar case.

**Will my old profiles change if I upgrade?** No. Saved profiles load as Strata Warp, and an unrecognized method falls back to Strata Warp. Classic output is pinned byte-identical on our equivalence fixtures.

**Can I pick the method per file in a batch run?** No. The batch runs the profile's stacking method for the whole set. Given the per-file cost, that's usually the right constraint anyway.

**Is a few percent worth it?** Sometimes. It's real, it's repeatable, and you will not see it in a blink comparison. Crop hard on a detailed region, run one capture both ways, and decide from that. It's how this article got written.

Mac observatory

Strata 1.3 is out, and Warp+ is a picker away

Native macOS planetary, lunar, and solar processing. Import through export in one window, with derotation built in. Requires macOS 14.6 or later, optimized for Apple Silicon, Intel supported.

[Strata →](https://macobservatory.com/strata-planetary-processing) [Mac Astronomy Software →](https://macobservatory.com/mac-astronomy-software) 

Astrophotography from the Mac perspective