Software / Astro & Photography / Foraxx palette
Foraxx palette: PixInsight script and Photoshop plugin
Two tools that build a Foraxx narrowband palette from stretched, starless SII, Ha and OIII images, with an optional colour stars image. The PixInsight script installs from the theatr.us update repository and adds mask shaping, channel-ratio masks, protected saturation and a colour-preserving brightness curve. The Photoshop plugin builds the same palette as ordinary, mergeable layers.
What the Foraxx palette is
The Foraxx palette is a dynamic narrowband combination published by The Coldest Nights. Where a fixed mapping such as SHO puts each filter in one colour channel, Foraxx weights the red and green channels pixel by pixel from the OIII and Ha×OIII signal, which gives the bronze-and-teal look with fewer green casts. For SII, Ha and OIII the palette is:
o = OIII^~OIII
ho = (Ha*OIII)^~(Ha*OIII)
R = o*SII + ~o*Ha
G = ho*Ha + ~ho*OIII
B = OIII
where ~x is 1 - x. With Ha and OIII only, R = Ha. The two factors o and ho are the only non-linear parts: o decides where SII replaces Ha in red, and ho decides where Ha replaces OIII in green. Both tools let you reshape them, because they set the colour transitions. A stars image uses the same mapping with the star images in the colour terms, while the factors still come from the starless data.
Inputs for both tools are the same: stretch each master to non-linear, remove the stars, keep the stars-only images if you want a stars image, and make sure every image has the same dimensions.
PixInsight script
The Foraxx Palette Utility runs the PixelMath expressions for you and applies the standard Foraxx hue and saturation curves. Version 2 is a rewrite of Paul Hancock's original script for the V8 JavaScript runtime in PixInsight 1.9.4, with the extra controls below.
Install
- In PixInsight, open Resources → Updates → Manage Repositories.
- Add this repository, including the trailing slash:
https://pixinsight.theatr.us/ - Run Resources → Updates → Check for Updates, accept the update, and restart PixInsight when asked.
- The script appears under Script → theatr.us → Foraxx Palette Utility.
The repository serves the current script to PixInsight 1.9.4 and later 1.9 releases. Installs from 1.8.9-3 through 1.9.3 receive the original 1.16 script instead. The earlier address https://pixinsight.psf-guard.com/ still works. The packages are not code-signed, so PixInsight prints a warning in the console the first time a script runs; that is expected.
Run
- Choose two channels for Ha + OIII data (mono, or OSC with a dual narrowband filter) or three channels for SII + Ha + OIII.
- Pick a palette. Foraxx (dynamic) is the default; SHO, HOO, HSO and OHS are plain channel mappings for comparison.
- Select the starless image for each channel and, if you want a stars image, the matching stars image. The script checks that all images share the same dimensions.
- Click Run. The console shows each step, and every adjustment lands on the undo history of the result.
Options
| Option | What it does |
|---|---|
| Channel gains | Multiplies each starless channel before combination, clipped at 1. Values above 1 push that channel forward; with Foraxx this also shifts the dynamic factors. Star images are not scaled. |
| Channel midtones | A midtones transfer per starless channel, after the gain. 0.5 is neutral; lower lifts faint OIII or SII without pushing highlights into clipping the way a plain gain does. |
| Output identifier | The name of the result image, defaulting to the palette name. The stars image gets _stars and the combined image _combined. A taken name gets a numeric suffix, so nothing is overwritten. |
| Stars image | Builds the colour stars image from the star images. |
| Combined image | Also screens the stars onto the result, ~(~result*~stars), for a quick look. |
| Factor images | Shows the o and ho factor images, after any shaping, as separate grayscale images. |
| Standard adjustments | Applies the Foraxx hue and saturation curves to the result and a hue curve to the stars. Uncheck to get the raw PixelMath output. |
Options are remembered between runs. The reset button restores the defaults and keeps the selected images.
Shape the mixing masks
Bias is a midtones balance on each mask: 0.5 is neutral, lower brightens the mask so the replacing channel wins over more of the image, higher favours the base channel. Contrast steepens the mask around 0.5 for a sharper transition. Neutral values give the original palette exactly, and the factor images show the reshaped masks. With two channels only the green mask applies, since red is plain Ha.
Masks and colour
| Option | What it does |
|---|---|
| Channel-ratio masks | Creates OIII/(Ha+OIII) and, with three channels, SII/(Ha+SII) as grayscale images named <result>_ratio_OIII and _ratio_SII. They select oxygen- or sulfur-rich structure regardless of brightness, for use as masks on your own adjustments, and fade to black below the mean-signal threshold so faint, unstable ratios do not select the background. |
| Protected saturation | A saturation boost through a generated mask, (L* - background)/(1 - background) × (1 - saturation), so the dark background and already saturated pixels are left alone. The mask stays open as <result>_satmask. |
| L* lift | Colour-preserving brightness: a curve on the CIE L* channel only, through (0.5, 0.5 + lift). Hue and chroma are untouched. This is PixInsight's equivalent of a Luminosity-mode curves layer. |
What you get
- The palette image, RGB, in the sample format of the Ha image, with each adjustment on its undo history.
- The stars image, the factor images and the generated masks, if requested.
From here, treat the result like any stretched image: blend the stars back in, adjust colour, and reduce noise as usual. New versions arrive through Check for Updates.
Photoshop plugin
Foraxx Palette for Photoshop builds the same palette as a stack of ordinary layers instead of a flattened result. The two non-linear factors become layer masks; a Normal layer with a mask is a linear mix, and the three channels are tinted into pure red, green and blue and screened over black, which adds exactly. Merge any of it and the pixels do not change; paint on a mask, drop a curves layer inside a group, or lower a group's opacity, and you are editing the palette. The masks are computed once, so later edits to the source layers do not update them.
Install
- Download the
.ccxinstaller from the releases page, not the source archive. - Double-click it to install through Creative Cloud Desktop and accept the prompt for a plugin distributed outside the Marketplace. Developer Mode is not needed.
- In Photoshop, open Plugins → Foraxx Palette.
Run
- Open an 8- or 16-bit RGB document with the stretched, starless channels as full-canvas grayscale layers, plus the stars layers if you want a stars stack.
- Pick a layer for each channel, then click Load preview. The thumbnail preview follows the gains and palette sliders; Original Foraxx resets them to the original formula.
- Click Build Foraxx layers. The new group appears at the top as one undo step, and a failed build rolls back.
Controls
| Control | What it does |
|---|---|
| Gains | Multiply a starless channel before combination, clipped at 1, and shift the dynamic factors with it. Star layers are not scaled. |
| Red bias | Moves the red mix toward SII when positive and Ha when negative. Three-channel mode only. |
| Green bias | Moves the green mix toward Ha when positive and OIII when negative. |
| Red and green contrast | Sharpens each mask's transition above 1 and softens it below 1. Bias 0 and contrast 1 leave the mask unchanged. |
| OIII midtones | Shapes the starless OIII channel after gain and before both the masks and the colour combination. Below 0.5 lifts, above darkens; black and white stay fixed. |
The resulting group holds, bottom to top: a black layer; red, green and blue groups in Screen mode, each with its tinted base layer and, where the palette mixes, a tinted top layer with the factor as its mask; and an optional stars group built the same way.
Limits of the first release
- 32-bit documents are rejected, because Photoshop has no Screen blend at that depth. Make an 8- or 16-bit copy first.
- The preview works from sampled sources, so fine detail can differ from the full build. Load the preview again after editing a source.
- Existing output groups do not update when settings or sources change; build a new group.
- Validated on Windows with Photoshop 2026. The manifest allows Photoshop 24.4 and newer; macOS and older versions are untested.
Foraxx in Seiza
Seiza's stacking colour pipeline can render the Foraxx palette directly from calibrated narrowband masters, which is handy for a first look before any manual processing, and it is what PSF Guard uses for its stack previews.
Credits and source
The Foraxx palette and its expressions are from The Coldest Nights. The original PixInsight Foraxx Palette Utility, versions 1.0 to 1.16, was written and published by Paul Hancock (Paulyman Astro), copyright 2023-2024. The V8 rewrite, the extra palette tools, the Photoshop plugin and the packaging are by Yann Ramin, copyright 2026. This product is based on software from the PixInsight project, developed by Pleiades Astrophoto and its contributors.
Back to Astro & Photography software.