BrettjoAstro / Processing
PixInsight Field Guide
A streamlined narrowband processing workflow
A start to finish PixInsight route for broadband and dual band data, built around the newest stretching and gradient tools and the Croman and SETI Astro suites. Linear correction first, then a clean separation of stars and nebula for the finish.
- Target
- California Nebula (NGC 1499)
- Integration
- ~17 hours
- Optics
- Samyang 135mm f/2
- Sensor
- ZWO 533 colour
- Filter
- Optolong L-eXtreme
- Stacking
- WBPP integration
Method adapted from the AstroGuy podcast (host Wayne Zuhl). Reworked into the BrettjoAstro processing house style. Substitute your own sensor and filter values where noted.
▶Watch the original episode on YouTubeStage One / Linear correction
Assess the stack
Open a non-linked screen transfer function and auto stretch the integrated master. This is a look only step that reveals what the data is hiding. On this set the auto stretch exposes a strong gradient running bright at the bottom right and fading toward the top left.
Keep the channels unlinked at this stage so colour casts and the gradient are easy to read. The stretch is for inspection only and is never applied to linear data.
Flux calibration
Run spectrophotometric flux calibration before touching the gradient. This puts the channels on a sound photometric footing. Read the residual figures it reports, smaller numbers mean better quality data.
Residuals around 4.50e-3 are small and healthy. Large numbers point to a calibration or data quality issue worth checking before you go further.
Kill the gradient
Apply multiscale gradient correction. It compares the image across several scales, separates real signal from the gradient, and removes the gradient cleanly. Expect a small loss of saturation in the nebulosity, which you recover later.
The gradient model previews in 8-bit by default and looks blocky. Switch the readout to 24-bit to smooth it and judge the result properly.
First deconvolution pass
Run BlurXTerminator in correct only mode. This is the recommended first pass. It corrects the stars to round without yet sharpening or shrinking anything, which sets a clean base for colour work.
Tick correct only for this pass. The sharpening pass comes after colour calibration, not before.
Sample background, then colour calibrate
Use the SETI Astro find background script to place a background sample, then run colour calibration with background neutralisation. Pull a background region from a preview and apply it to the image. Configure the red, green and blue inputs for your sensor and filter.
The image will look alarming straight after calibration. That is expected behaviour from spectrophotometric colour correction. Re-run the screen transfer function, this time linked, and accurate colour appears. Discard the background sample once done.
Channels set for the 533 sensor with an L-eXtreme filter, so R, G and B were all defined for the L-eXtreme passbands. Swap in your own combination. SETI Astro scripts are free and the Suite Pro app is a useful companion.
Flip the STF from unlinked to linked after calibration. Linked is what shows the true colour balance once the channels are properly weighted.
Second deconvolution pass
Run BlurXTerminator again in its default mode. This tightens and slightly shrinks the stars and gently sharpens the non stellar detail. The change in the stars is the obvious win on this target.
Zoom in and compare before and after. Contrast gains are subtle, but the stars visibly tighten. A second default pass can firm them up further if needed.
First noise pass
Run NoiseXTerminator while still linear. Back the strength off from the default. A lighter touch handles the colour noise more gracefully and leaves fewer artefacts behind, and you can always add more later.
Strength 0.7 with two iterations, rather than the 0.9 default. Lighter and twice beats heavy and once for colour noise.
Stage Two / Stretch and separate
Stretch the data
Stretch with multiscale adaptive stretch. It handles a wide range of targets well from the defaults with little tweaking. Dim the background slightly and lift the aggressiveness a touch to make the nebula stand out, but keep a light hand.
Background down from 0.15 to 0.12 to calm a busy field. Aggressiveness up to roughly 0.78. Push the aggression too far and you bake in problems, so leave headroom for GHS later.
Remove the green
Run SCNR to suppress the green cast. The effect is quiet but real. Stars that carried a greenish tint shift back toward a natural blue.
Split stars from nebula
Remove the stars with StarXTerminator to produce a starless image and a separate star image. Processing the two independently is the core of the finish, since the halos and the structure want different treatment.
Clean the halos
With the stars gone, filter and glass halos are easy to target on the starless image. Use the SETI Astro blemish blaster script, shift and click to ring each problem area, then execute. Three small circles process quickly, larger ones take longer.
Close the script with Exit, never the window X. Exit clears the temporary working images the script creates.
Shape with GHS
Use generalised hyperbolic stretch on the starless nebula in two to four small passes, working different parts of the histogram each time. Set the symmetry point near the base of the curve where it begins to flatten, so everything above it lifts. Finish with one gentle contrast pass that brightens only the brightest regions.
Keep each stretch below 0.5 intensity. Use the highlight protection and spread to make bright regions pop without flattening detail. Aim to hold the red background near 0.1. To darken the background, switch GHS to linear mode and nudge the slider, staying off the data so you never clip.
Local contrast
Apply local histogram equalisation for texture and local contrast in the nebulosity. It brightens some regions and darkens others, giving the structure more depth.
The 0.2 default is heavy. Pull it back to about 0.12 for a smoother, cleaner result.
Sharpen, if it earns its place
Unsharp mask is optional and target dependent. On smooth data it can over contrast the dark lanes and it always adds noise. If you use it, keep it light, and judge it zoomed in rather than at full frame.
If applied, drop the strength to around 0.75. Treat any added noise as a cost to be paid back in the next step.
Second noise pass
Run NoiseXTerminator once more to clear the noise reintroduced by the stretches and any sharpening. Set a preview on the brightest part of the nebula and compare before and after to find the right level.
Strength 0.7 again, applied at about 70%. Enough to clean up, light enough to keep the detail you just built.
Stage Three / Recombine and finish
Bring the stars back
Recombine with the rescreen stars script. Drag and drop, set the starless view as the nebula and the star view as the stars, and create a new image. There is nothing else to set. Use the matching star reduction script first if the stars need taming.
Final colour tweak
A light curves transformation to finish. Lift the saturation a touch and add a small chrominance boost to deepen the blues and reds. Chrominance is powerful, so a tiny amount goes a long way.
Make the chrominance boost subtle. It can overcook colour fast, and once the saturation reads natural the image is done.
The workflow at a glance
Linear first, separate at the stretch, recombine to finish
- SpectrophotometricFluxCalibration set photometric base
- MultiscaleGradientCorrection remove gradient
- BlurXTerminator correct only pass
- FindBackground + SPCC colour calibrate, restretch linked
- BlurXTerminator default pass
- NoiseXTerminator first pass, 0.7
- MultiscaleAdaptiveStretch bg 0.12, aggression 0.78
- SCNR green suppression
- StarXTerminator split stars and nebula
- BlemishBlaster clear halos on starless
- GeneralizedHyperbolicStretch 2 to 4 light passes
- LocalHistogramEqualization 0.12
- UnsharpMask optional, 0.75
- NoiseXTerminator second pass, 70%
- RescreenStars recombine, with star reduction
- CurvesTransformation saturation and chrominance