Skip to content
Mosaic

PixInsight Mosaic Processing

A working reference for assembling multi-panel mosaics in PixInsight — plate solve, MosaicByCoordinates, GradientMergeMosaic — with a complexity ladder so you only do as much as your data needs.

PixInsight

A working reference for assembling multi-panel mosaics in PixInsight, built from three source videos with their actual on-screen settings folded in, and reconciled against authoritative references.

Sources

  • Video 1 — Build a Perfect Mosaic in PixInsight. The thorough method. Transcript incorporated.
  • Video 2 — Seamless Mosaics in PixInsight by Seti Astro. The DNALinearFit method. Transcript incorporated.
  • Video 3 — How to Create a Mosaic in Just 5 Minutes by Galactic Hunter. The bare-minimum method. Transcript incorporated.
  • PixInsight official tool documentation (GradientMergeMosaic, MosaicByCoordinates, StarAlignment).
  • John Murphy, astroprocessing.com, author of PhotometricMosaic and NormalizeScaleGradient.
  • Chaotic Nebula and Light Vortex Astronomy tutorials, plus recent Cloudy Nights consensus, 2025.

How to read this

All three videos use the same spine: plate solve, MosaicByCoordinates, GradientMergeMosaic. They differ only in how much preparation they add before the merge, which scales with how well-matched your panels are. The complexity ladder below maps that out. PhotometricMosaic is documented separately as the modern alternative for difficult builds, even though none of the three videos use it.

How much do you need to do?

The three videos are really three tiers of the same workflow. Start at the lowest tier your data allows and only climb if you see a problem.

  • Tier 1, minimum (Galactic Hunter). Panels from one session, identical exposures, consistent sky, good overlap. Just plate solve, MosaicByCoordinates, then GradientMergeMosaic on defaults. No gradient work, no brightness matching. The presenter got a clean result this way.
  • Tier 2, brightness matching (Seti Astro). Panels that came out at different brightness. Add DNALinearFit after reprojection to even them, then merge.
  • Tier 3, full preparation (Build a Perfect Mosaic). Panels with gradients or larger differences. Add per-panel gradient removal and a brightness match done before reprojection, and tune the GradientMergeMosaic feather radius rather than trusting the default.

The stages below are written for Tier 3, the complete version. Skip the optional stages when your data does not need them.

Tool reference

What each tool does and why it is in the chain, in roughly the order you meet them. Standard post tools (StarNet, BlurX, NoiseX, SPCC) are not listed, as they sit outside the mosaic itself.

ToolWhat it doesWhy it is in the chain
WBPPCalibrates, registers and stacks the subs of one panel into a single masterGives you the clean linear input each panel needs
NormalizeScaleGradientMatches the brightness and gradient of every sub to a reference using differential photometryMakes panels consistent before stacking, so the later blend is easier
AutomaticBackgroundExtractorModels the background and subtracts it from a panelRemoves gradients that would otherwise show up as seams
GradientCorrectionModern built-in background and gradient removerSame job as ABE or DBE on current PixInsight
StatisticsReads pixel values such as the MeanLets you measure and compare panel brightness
LinearFitScales one image to match another’s brightnessEvens panels before reprojection, while they still have full frames
HistogramTransformationManual tone adjustment via the midtone sliderRobust manual brightness match by raising a panel’s mean to the reference
ImageSolverPlate solves a panel, writing its sky coordinates (WCS) into the fileTells the mosaic script exactly where each panel sits on the sky
MosaicByCoordinatesReprojects and places every panel into one shared frame using their WCSPositions all panels correctly, ready to merge
DNALinearFitBrightness match that tolerates the black borders of reprojected panelsEvens reprojected panels where plain LinearFit fails
CatalogStarGeneratorSynthesises a star field for a sky areaGives a registration reference for large mosaics
StarAlignmentRegisters images to a reference by matching star patternsAlternative panel registration when MosaicByCoordinates drifts
GradientMergeMosaicBlends overlapping panels in the gradient domain, spreading intensity differences smoothly across the joinSmooths the seam so the boundary between panels disappears
TrimMosaicTileShaves a few pixels off each panel edgeGives PhotometricMosaic the hard, clean borders it requires
PhotometricMosaicMerges panels using photometric scale and gradient modelling, one join at a timeThe most artefact-free blend, and low on memory
Copy Astrometric SolutionCopies the WCS from one image to anotherCarries the plate solution across the separate channels
DynamicCropCrops, and can rotate, the frameTrims the black borders and skew from the finished mosaic

The short version

Stack each panel, prepare it while linear, register the panels into one frame, then blend the seams. Stay linear until the blend is done.

WBPP per panel › (gradient removal) › (brightness match) › ImageSolver › MosaicByCoordinates › (DNALinearFit) › GradientMergeMosaic › DynamicCrop › normal post

Brackets are the steps you add as your data demands.

Choosing the blend tool

  • GradientMergeMosaic is what all three videos use and is the default choice. On clean, matched, single-session data the defaults work. On harder data the feather radius is the lever that makes seams disappear, covered in Stage 4.
  • PhotometricMosaic is the more forgiving alternative for difficult builds: many panels, bright stars sitting on a join, or a memory-heavy mosaic. It models each panel photometrically and only holds two images at once, so it avoids both the seam-star artefacts and the out-of-memory failures GMM can hit.

Stage 0 — Prerequisites

  • One stacked master per panel from WBPP, calibrated and debayered. A 2×2 mosaic means four masters.
  • Each master must be plate-solvable. All three presenters stress that MosaicByCoordinates cannot place a panel without a valid plate solution.
  • Build the mosaic immediately after stacking, while the data are still linear. Every mosaic tool here is designed for linear data, and running them on stretched or denoised data is the most common cause of seam artefacts.
  • Mono: build a separate mosaic for each channel (Ha, OIII, SII, L, R, G, B). OSC: build the colour channel, and if you add luminance, build that separately too.

Optional but worth it: run NormalizeScaleGradient (NSG) on each panel’s subs after calibration and before integration. It matches the brightness and gradient of every sub to a reference using differential photometry, which makes the panels much easier to blend later. It helps even from a dark site like Shinfield.

Stage 1 — Gradient removal, per panel (optional, Tier 3)

Any gradient left in a panel becomes a visible seam later, so do this whenever your panels carry gradients. You can skip it only for genuinely flat, matched, single-session data, which is the Tier 1 case. Always do it on each panel separately, never on the assembled mosaic.

  • All presenters who do this step reach for AutomaticBackgroundExtractor (ABE) for speed. Video 2 notes any method is fine — DBE, ABE, or GraXpert — use whatever you trust.
  • Video 1’s exact recipe: ABE with default parameters, but set Target Image Correction to Subtraction. Drag it onto each panel, keep the corrected panel, delete the background model. Run it even if the panel looks flat.
  • On modern PixInsight, GradientCorrection is the current built-in tool and is a fine substitute for ABE or DBE here.

Stage 2 — Match panel brightness (optional, Tier 2 and 3)

Skip this if the panels already match — that is, one session, identical exposures, good overlap. Otherwise even them out, or the blend will show. There are two valid timings, and the timing decides which tool you can use.

Before reprojection (Video 1’s method)

Done on the original panels, before MosaicByCoordinates, while they still have full frames and no black borders.

  1. Open Statistics (Process › Image Inspection › Statistics) and read the Mean of each panel. The brightest panel — the highest mean — becomes the reference. Bring the others up to match it.
  2. If the panels are already similar, use LinearFit (Process › IntensityTransformations › LinearFit) with the brightest as reference. Video 1 warns that LinearFit can give poor results when panels differ a lot.
  3. The robust alternative is a manual match with HistogramTransformation: enable the real-time preview, clear the STF so you see true linear data, target that preview in Statistics, then nudge the midtone slider right until the mean matches the reference, within about 0.002. Apply it to the panel.

After reprojection (Video 2’s method)

Done on the reprojected panels, after MosaicByCoordinates, which is why it needs a special tool. The reprojected panels carry large black borders, and plain LinearFit cannot cope with those. DNALinearFit was written for exactly this case.

  • Install DNALinearFit once via Script › Feature Scripts (download link is in the video description). It then appears under Script › Utilities › DNALinearFit.
  • Choose a reference panel, set the target panel, run, and repeat for each panel. The console reports each result.
  • Windows scripts folder: C:\Program Files\PixInsight\src\scripts. On macOS, just add it through Feature Scripts.

Pick one timing per project and stick to it. Matching both before and after means matching twice.

Stage 3 — Register the panels

Plate solve

Run ImageSolver on each panel (Script › Image Analysis › ImageSolver). All three videos stress this is non-negotiable.

  • Use List of Files rather than Active Windows. Video 3 found Active Windows unreliable.
  • Add the masters, then confirm the metadata that auto-fills from the FITS headers: RA and Dec, date and time, focal length, pixel size. Leave Model Parameters on Automatic Catalogue.
  • Output files gain a _WCS suffix.
  • Reflector note: with a RASA, Newtonian, or any train that mirror-flips the image, flip the panels before solving or the solve can fail. This does not affect refractors shooting straight through, so you can ignore it for the Askar scopes.

MosaicByCoordinates

Script › Mosaic › MosaicByCoordinates.

  1. Add Files, select the _WCS panels.
  2. Choose a projection. The tool defaults to Mercator. Gnomonic suits typical focal lengths, which covers the Askar refractors. Stereographic or Mercator suit very wide fields. If stars look stretched in the result, try a different projection.
  3. Set an output directory. Leave the other options unchecked.
  4. Run. Each panel is reprojected and rotated into the correct mosaic position, output with a _WCS_registered suffix. They look mostly black because each sits on the full mosaic canvas. They are placed, not yet merged.
  5. Save the reprojected panels as .xisf (Ctrl+Shift+S), ideally all in one folder to simplify the merge.

Alternative registration for large mosaics

If MosaicByCoordinates drifts on a big build, register instead against a synthetic star field: ImageSolver the centre panel, run CatalogStarGenerator to make a star field slightly larger than the whole mosaic, then StarAlignment each panel to it with Working mode Register/Union, Separate. Brightness matching is then handled by DNALinearFit or PhotometricMosaic.

Stage 4 — Merge the panels

Method 1 — GradientMergeMosaic (all three videos)

Process › GradientDomain › GradientMergeMosaic.

  1. Add the registered, brightness-matched .xisf panels.
  2. Combination: Average. Overlay is harsher and rarely needed.
  3. Shrink Radius: about 5. This trims noisy panel edges.
  4. Feather Radius: this is the lever. For clean, matched, single-session data the default works, which is the Tier 1 case Video 3 shows. When a seam appears, raise it toward 100. Video 1 found the default of 10 far too low for less-matched data. Feather scales with how much overlap you captured.
  5. Apply Global.

Reading the seams: apply an STF and zoom into an overlap. One visible line means raise the feather radius. Two parallel lines means the feather is too large, so lower it.

Practical warning from Video 2: the FFT stage runs on a single CPU core, so it is slow, and a large mosaic can use 36 to 38 GB of RAM. Plan a big build accordingly.

Method 2 — PhotometricMosaic (modern alternative)

Install John Murphy’s repository in PixInsight (astroprocessing.com/repository.html), which adds PhotometricMosaic, TrimMosaicTile, and NormalizeScaleGradient.

  1. TrimMosaicTile each reprojected panel to shave about 2 pixels off every edge. PhotometricMosaic needs hard, clean borders.
  2. PhotometricMosaic (Script › Mosaic › PhotometricMosaic): build one join at a time, columns first then rows. It measures overlap stars to model each panel’s scale and gradient, so it handles brightness itself and you do not need DNALinearFit.
  3. Defaults usually work. If a join is poor, try the different mix modes, use the star mask option for bright seam stars, and move the join, since its placement changes how gradients are calculated.

Adam Block has a full PhotometricMosaic tutorial (AdamBlockStudios, PixInsight Horizons) if you want a visual walk-through.

Stage 5 — Per channel, and copying the solution across

For mono or split colour, run the whole route once per channel (Ha, OIII, SII, or R, G, B), independently.

Copying the astrometric solution between channels: PixInsight changed how it stores WCS, so the old copy script is gone. Two current options:

  • Console command: type CPA (Copy Astrometric Solution) and select the target image. This copies the WCS from the active image.
  • Script: Scripts › Utilities › Copy Astrometric Solution, by Mike Cranfield.

Stage 6 — Finish

  1. DynamicCrop the assembled mosaic. You can rotate the crop box and move its rotation centre to align with the slightly skewed mosaic geometry, so you keep as much data as possible. For several channels, draw and rotate the crop on the first, drag the process icon onto the others so every channel gets the identical crop, then apply. Alternatively crop after channel combination to avoid any mismatch. Keep the crop subtle to preserve field of view.
  2. Rejoin your normal pipeline: combine channels (SHO, HOO, LRGB), stretch, then BlurX, NoiseX, SPCC or your narrowband palette, and the rest. From here it is a single image.

Late seam fix from Video 3: if a faint seam only appears later, during stretching or colour work, remove the stars (StarNet or StarXTerminator), CloneStamp the seam away on the starless layer, then add the stars back. It is a touch-up, not part of the automated flow.

Reference end-to-end example: WBPP, register and crop, GraXpert, ImageSolver, MosaicByCoordinates, TrimMosaicTile, PhotometricMosaic, DynamicCrop, BlurX, NoiseX, StarNet, stretch, Foraxx palette, add luminance, add stars, final curves.

Gotchas worth pinning to the wall

  • Feather Radius is the seam lever. Defaults can work for clean matched data, but raise it toward 100 the moment a seam shows.
  • Stay linear until the merge is done.
  • Remove gradients per panel before the merge, never after.
  • Match brightness before reprojection and you can use LinearFit or HistogramTransformation. Match after reprojection and you must use DNALinearFit, because of the black borders. Do not do both.
  • Skip the brightness match entirely if panels are from one session with identical exposures and good overlap.
  • ImageSolver via List of Files, not Active Windows.
  • With PhotometricMosaic you do not need DNALinearFit — it does its own photometric scaling.
  • One seam line, raise feather. Two seam lines, lower feather.
  • GMM and PMM both blend brightness, not noise. Matching texture comes from giving each panel similar sub counts and exposure at capture.
  • Big GMM mosaics are slow and RAM-hungry; 36 to 38 GB is normal.

Capture notes for the kit

  • ASIAIR Plan and mosaic: lay out the panel grid before the session. Aim for 10 to 15 percent overlap so the blend, and PhotometricMosaic’s photometry, have enough to work with.
  • Shoot in one session at identical exposures where you can. That is what unlocks the Tier 1 minimum workflow with no brightness matching needed.
  • Askar FRA400 widefield suits large emission targets across several panels. 107PHQ suits tighter-framed work where you want more scale. Both sit in the focal-length range where the Gnomonic projection is the right default.
  • From Shinfield, order the panels to track your usable window from north and north-east round to south-west above 30 degrees altitude, so each panel sits at a sensible altitude when you reach it.

Source videos (the three transcripts)

PixInsight tools and scripts

Written tutorials and references

Related notes