Apprendre
PixelMath sous Siril : composer HOO et SHO
Vos trois piles sont sur le disque : un empilement par raie, en niveaux de gris, chacun avec son propre niveau de fond et son propre bruit. Il reste à en faire une image en couleurs, et cette opération-là s'écrit — trois expressions, une par canal, évaluées pixel à pixel. Cette page donne la syntaxe exacte de PixelMath, les formules complètes de la bicouleur HOO et de la palette Hubble SHO, ce que chaque terme fabrique, et les variantes qui redistribuent un vert devenu envahissant. Elle finit par le contrôle qui décide de la crédibilité du résultat : la teinte des étoiles doit rester stable pendant que celle de la nébuleuse s'équilibre. Ce que chaque filtre laisse passer est traité dans le guide narrowband ; ici, les couches sont acquises et l'on compose.
- 10
- le nombre d'images chargeables ensemble dans l'outil, baptisées I1 à I10 — ou d'après le mot-clé FITS FILTER quand il est renseigné
- 3
- les zones de saisie disponibles dès que la case « Use single RGB/K expression » est décochée : une expression par canal
- 1
- la borne haute de l'échelle interne : un pixel vaut entre 0 et 1, toute constante s'écrit dans ce référentiel
- 0.92
- le quantile haut par défaut du Linear Match : les 8 % de pixels les plus vifs sont écartés de l'ajustement
- 2023
- l'année de Siril 1.2, celle qui a fait entrer PixelMath dans les scripts avec la commande pm
Avant la première formule
Deux conditions que l'expression ne rattrapera jamais
L'alignement puis la normalisation se règlent en amont de PixelMath, dans cet ordre, et ce sont eux qui décident si la teinte finale racontera la chimie de la nébuleuse.
Superposer les couches au pixel près
comp_, et ce sont ces fichiers-là que vous chargerez ensuite dans PixelMath. Deux méthodes plus légères existent, l'appariement de motif par transformée de Fourier et l'algorithme KOMBAT, mais elles ne compensent qu'un décalage en translation : réservez-les au planétaire. Sur un champ de 2,5° couvert à 1,8 ″/px, la rotation résiduelle entre deux nuits suffit à écarter les coins de plusieurs pixels.Ramener les trois histogrammes sur une même échelle
linear_match reference low high, où low et high sont des quantiles dans [0, 1]. La valeur haute par défaut vaut 0,92, ce qui exclut du calcul les 8 % de pixels les plus brillants — les étoiles saturées, justement, qui fausseraient la pente. Prenez la couche la plus dense comme référence, à peu près toujours celle de l'hydrogène, et ramenez-y les deux autres.La syntaxe
Ce que l'outil comprend, et dans quelle échelle il travaille
La fenêtre lit vos empilements avec ses propres conventions, et les adopter dès le départ épargne la traque d'une erreur de canal ou d'une image devenue blanche.
Nommer ses variables, ou laisser l'en-tête FITS le faire
+ et désignez vos empilements : la fenêtre en accepte 10 simultanément. Par défaut ils s'appellent I1 à I10, ce qui garantit une erreur de canal à la troisième tentative. Deux parades. Un double-clic sur le nom l'édite — les caractères alphanumériques et le tiret bas sont acceptés, les espaces non, la casse compte, et un nom fait uniquement de chiffres est refusé. Mieux : si le fichier porte le mot-clé FILTER dans son en-tête, Siril en fait directement le nom de la variable. Un logiciel d'acquisition qui écrit correctement ce mot-clé vous livre donc des piles nommées Ha, OIII et SII sans que vous touchiez à quoi que ce soit. Il existe enfin un jeton implicite, $T, qui désigne l'image actuellement chargée dans l'interface — pratique, avec une limite à connaître : contrairement à d'autres logiciels, $T[i] pour viser le canal i n'est pas reconnu.Une expression par canal, et des pixels entre 0 et 1
0.02 soulève donc le fond de deux centièmes de la dynamique ; écrire + 1200 par réflexe produit une image entièrement blanche. Le cadre output propose une remise à l'échelle du résultat dans un intervalle choisi : indispensable dès qu'une somme de deux couches dépasse 1. Le champ parameters, lui, déclare des constantes nommées séparées par des virgules — factor=0.8, K=0.2 — et toutes leurs occurrences dans les formules sont remplacées à l'évaluation. C'est ce qui transforme une palette figée en réglage qu'on fait varier.| Élément | Écriture | Ce qu'il fabrique |
|---|---|---|
| Inversion | ~x | le complément à 1 — ~k vaut 1 − k, ce qui écrit une pondération en un seul paramètre |
| Puissance | x ^ y | élève un pixel à une puissance : le levier des palettes dont la teinte suit l'intensité |
| Maximum / minimum | max(x, y), min(x, y) | retient la plus forte des deux couches en chaque point, sans les additionner |
| Condition | iif(cond, vrai, faux) | applique un traitement au-delà d'un seuil — la base d'un masque d'étoiles |
| Étirement | mtf(m, x) | fonction de transfert des tons moyens, paramètre m dans [0, 1] : un étirement à l'intérieur même de la formule |
| Statistiques d'image | med(Im), mad(Im), sdev(Im), noise(Im) | médiane, écart absolu médian, écart-type, bruit gaussien estimé : des seuils calculés sur la donnée, pas devinés |
| Comparaisons et logique | supérieur, supérieur ou égal, égal, ET, OU, NON | compose les conditions d'un iif sur plusieurs couches à la fois |
| Aucune ligne ne correspond au filtre. | ||
Deux couches
HOO : une raie d'hydrogène, deux fois l'oxygène
La formule de base, et le pourquoi du doublon
R = Ha, G = OIII, B = OIII. Le rouge reçoit l'hydrogène pur, et la nuance cyan naît de l'égalité parfaite entre les deux autres canaux. Cette version stricte donne une image franche mais un peu brutale : rien ne fait la transition entre les régions dominées par l'un et par l'autre. La variante la plus répandue verse une part d'hydrogène dans le vert, G = (Ha + OIII) / 2, ce qui adoucit le passage et jaunit légèrement les zones où les deux gaz coexistent. Le facteur / 2 n'est pas décoratif : sans lui, la somme de deux couches normalisées dépasserait 1 sur les parties vives et l'image se boucherait en blanc.
Le cas du capteur couleur derrière un filtre à double bande
Trois couches
SHO : la palette qui range les gaz par longueur d'onde
Trois affectations, et ce que chacune décide
R = SII, G = Ha, B = OIII. Les gaz sont rangés par longueur d'onde décroissante, du plus rouge vers le plus bleu, et le résultat est une fausse couleur assumée — une carte de composition chimique, pas un rendu de ce que l'œil verrait. L'ennui est structurel et se lit dans la formule elle-même : la couche placée sur le vert est presque toujours la plus intense des trois, souvent d'un facteur 3 à 10 par rapport au soufre. Le canal vert écrase alors les deux autres, et l'image sort verte avant même d'être étirée. Ce n'est ni un défaut de capteur ni une erreur de calibration : c'est l'affectation qui le veut. Deux réponses existent, l'une chimique dans la formule, l'autre chromatique après coup — et elles ne se remplacent pas.
| Palette | Canal R | Canal V | Canal B | Quand la choisir |
|---|---|---|---|---|
| HOO stricte | Ha | OIII | OIII | deux couches, rendu franc rouge et turquoise |
| HOO adoucie | Ha | (Ha + OIII) / 2 | OIII | transitions douces là où les deux gaz se recouvrent |
| SHO brute | SII | Ha | OIII | cible riche sur les trois raies, verte tant qu'on n'y touche pas |
| SHO redistribuée | k*SII + ~k*Ha | m*Ha + ~m*OIII | OIII | k ≈ 0,5 et m ≈ 0,3 : le vert se vide dans le rouge et le bleu |
| HOS (inversée) | Ha | OIII | SII | soufre très bruité : le placer sur le bleu le rend moins visible |
| Bicolore assistée | Ha | max(OIII, 0.15*Ha) | OIII | oxygène absent par endroits : le vert ne tombe jamais à zéro |
| Aucune ligne ne correspond au filtre. | ||||
Pondérer une couche faible sans la faire remonter en bruit
R = 2.5 * SII amplifie exactement dans la même proportion le signal et le grain, et le rouge se met à grouiller. Trois manières de faire mieux. La première mélange plutôt qu'elle n'amplifie : R = 0.5*SII + 0.5*Ha emprunte la finesse de la couche dense pour porter la teinte de la couche pauvre. La deuxième plafonne au lieu d'étirer : R = max(SII, 0.2*Ha) laisse le soufre gouverner là où il existe et confie le reste à un socle d'hydrogène atténué. La troisième applique un étirement local à l'intérieur même de l'expression, avec R = mtf(0.35, SII), qui remonte les tons moyens du soufre sans toucher au point noir ni écraser les hautes lumières. Dans les trois cas, le rapport signal sur bruit propre à chaque couche reste ce qu'il est — c'est le temps de pose qui le fixe, sujet traité dans son guide dédié.La dominante
D'où vient le vert, et les deux façons de le faire refluer
Une cause arithmétique, pas un défaut de matériel

Avantages
- Redistribuer dans la formule : le vert est vidé à la source, aucun pixel n'est retouché après coup, et le réglage se rejoue à l'identique sur une autre cible
- Redistribuer dans la formule : les paramètres nommés k et m rendent le dosage reproductible et documentable, deux nombres suffisent à décrire la palette
- Corriger après coup avec rmgreen : le geste est immédiat, réversible par annulation, et se dose à l'œil sur l'image déjà étirée
- Corriger après coup avec rmgreen : quatre méthodes de protection, du neutre moyen au masque additif, dont deux acceptent un dosage entre 0 et 1
Inconvénients
- Redistribuer dans la formule : chaque essai impose de refaire la composition entière et de réétirer pour juger
- Redistribuer dans la formule : un k mal choisi enterre la structure du soufre au lieu de la révéler, et cela ne se voit qu'après étirement
- Corriger après coup avec rmgreen : l'outil travaille dans un espace non linéaire, il exige une image déjà étirée et un fond de ciel égalisé
- Corriger après coup avec rmgreen : poussé trop loin, il installe une dominante magenta dans le fond et sur les étoiles
Le geste de retouche, et sa contrepartie magenta
rmgreen [-nopreserve] [type] [amount], où type vaut 0 pour le neutre moyen (la valeur par défaut), 1 pour le neutre maximum, 2 pour le masque maximum et 3 pour le masque additif ; les deux derniers acceptent un dosage entre 0 et 1. La conservation de la luminance est active par défaut et il faut la laisser ainsi : seule la composante chromatique doit bouger. Deux avertissements de la documentation valent d'être pris au mot. L'outil opère dans un espace non linéaire, donc après l'étirement, pas avant. Et il n'est pas fait pour rattraper une image sortie d'empilement dont le fond n'a pas été égalisé : dans ces conditions, il détruit la chrominance au lieu de la corriger. Sa contrepartie est bien identifiée — en vidant le vert, il laisse le rouge et le bleu seuls en scène, et une dominante magenta s'installe dans le fond de ciel comme sur le pourtour des étoiles.Ce qui décide de la palette
Deux couches ou trois : le train de filtres commande la formule
Le nombre de couches disponibles enferme la palette dans une famille d'expressions, et chaque type d'objet y trouve un rendu que l'œil reconnaît avant même de composer.
La formule que vous pourrez écrire est fixée à l'acquisition
R = Ha, G et B nourris par l'oxygène. C'est le cas de l'Optolong L-eNhance, au coulant de 31,7 mm, autour de 145 € : un seul filtre, aucune roue, aucune séance de mise au point par bande, et des soirées de banlieue exploitables. La contrepartie est écrite noir sur blanc dans la formule : sans couche de soufre, le canal rouge et le canal vert restent solidaires du même hydrogène, et la palette Hubble reste hors d'atteinte. Passer à trois expressions indépendantes suppose trois filtres distincts et un capteur monochrome. Le trio Svbony SV227 SHO, en bandes de 5 nm au coulant de 31,7 mm, autour de 240 €, ouvre cette porte : chaque raie devient une pile autonome, donc une variable nommée que vous pondérez à part. Prix relevés le 22 juillet 2026. La roue à filtres et le diviseur optique qui vont avec sont traités dans leur guide, et le choix des largeurs de bande dans le guide narrowband.Trois signatures de composition qu'on reconnaît à l'œil
R = 0.5*SII + 0.5*Ha évite qu'une couche de soufre encore mince ne pique le rouge de grain sur toute la surface.Le contrôle qui compte
Les étoiles doivent garder leur teinte pendant que la nébuleuse s'équilibre
Le disque stellaire sert de témoin mesurable pendant que la nébuleuse s'ajuste, et le remède se joue soit en trois commandes, soit en séparant les étoiles du reste de l'image.
Pourquoi elles virent, et comment le mesurer plutôt que le deviner
Deux corrections, l'une immédiate, l'autre définitive
neg, rmgreen, neg. La seconde correction est plus radicale et vaut pour toute image ambitieuse : séparer les étoiles de la nébuleuse et les traiter à part. Une fois une version sans étoiles obtenue, PixelMath fabrique la couche complémentaire par simple soustraction — $image_rvb$ - $image_sans_etoiles$ —, et vous disposez alors de deux calques indépendants. La nébuleuse encaisse la palette entière, redistributions comprises ; les étoiles, elles, gardent leur couleur, quitte à venir d'une courte série en large bande de 60 × 30 s ajoutée exprès. La recomposition finale s'écrit max($sans_etoiles$, $etoiles$), qui superpose sans jamais additionner deux fonds de ciel.Aller plus loin
Quand la teinte est calculée par la donnée elle-même
Deux opérateurs suffisent à confier le dosage des couches à l'intensité locale, ce qui fait glisser un même champ du trois-couches au bicolore sans frontière visible.
Une pondération qui varie pixel par pixel
~ et la puissance ^. L'expression OIII^~OIII vaut presque 1 là où l'oxygène est intense et s'effondre là où il manque : elle sert de commutateur continu. On l'utilise pour basculer, en douceur et sans frontière visible, entre un rendu à trois couches dans les zones riches en oxygène et un rendu bicolore ailleurs. La transcription complète tient en trois lignes : R = (OIII^~OIII)*SII + ~(OIII^~OIII)*Ha, G = ((OIII*Ha)^~(OIII*Ha))*Ha + ~((OIII*Ha)^~(OIII*Ha))*OIII, B = OIII. Deux conditions à respecter : les couches doivent être déjà étirées, car l'exposant travaille sur des valeurs perceptuelles et non linéaires, et le résultat doit être remis à l'échelle en sortie. Le rendu obtenu est réputé pour ses ors profonds et ses bleus retenus, sans le vert acide de la palette brute.-
Aligner les trois piles et les sauver
Outil de composition RVB, méthode Deep Sky à deux passes, puis Save all. Vous récupérez comp_SII, comp_Ha et comp_OIII, superposables au pixel près et prêts à entrer dans une expression.
-
Normaliser sur la couche la plus dense
load comp_SII, puis linear_match comp_Ha 0 0.92, puis save SII_n. Répétez pour l'oxygène. La référence, elle, ne bouge pas : elle sert d'étalon aux deux autres.
-
Composer les trois canaux, un pm par canal
pm "$SII_n$*0.5 + $Ha$*0.5" -rescale 0 1 puis save Rc ; pm "$Ha$*0.3 + $OIII_n$*0.7" -rescale 0 1 puis save Gc ; load OIII_n puis save Bc. Les coefficients sont ceux de la palette redistribuée.
-
Assembler et vérifier avant d'étirer
rgbcomp Rc Gc Bc -out=sho_mix. Ouvrez le résultat en affichage auto-ajusté : le fond doit être neutre et aucun canal ne doit être écrêté. C'est le moment de refaire un essai avec d'autres coefficients — après l'étirement, il sera trop tard.
-
Étirer, puis seulement corriger le vert
autoghs ou un étirement hyperbolique généralisé mené à la main, puis rmgreen 0 en surveillant les étoiles témoins, puis satu 0.3 avec un facteur de fond à 1 pour ne pas saturer le bruit du ciel.
Continuer
Ce qui vient avant la formule, et ce qui vient après
La chaîne de traitement complète sous Siril Du fichier empilé au TIFF final : recadrage, retrait du gradient, étalonnage photométrique sur image linéaire, étirement. Le cadre dans lequel la composition des canaux vient s'insérer.
Une roue à filtres et un diviseur optique Le mécanisme qui présente les trois bandes tour à tour devant le capteur, le tirage à respecter et le guidage qui reste possible malgré les filtres étroits. La condition matérielle du vrai trois-couches. Trois expressions, une image
La palette se joue à l'écriture, mais elle se prépare à l'acquisition : deux couches donnent une bicouleur, trois ouvrent la palette Hubble. Notre sélection de filtres et de caméras pour l'imagerie en bandes étroites.