Réduction des étoiles et gestion des étoiles : l'évolution des méthodes et un flux de travail en PixelMath
Réduire les étoiles de façon adéquate permet de faire mieux ressortir le sujet de la prise de vue, surtout dans les régions denses en étoiles comme la zone de la Voie lactée, où, faute de traitement, un ciel constellé d’étoiles perturbe gravement les nébulosités. Cet article met en ordre les méthodes de réduction des étoiles, depuis les filtres d’érosion des premières années jusqu’à l’actuelle approche prédominante fondée sur l’image sans étoiles et sa mise en œuvre en PixelMath.
La méthode d’antan : réduction des étoiles par érosion (Erosion)
La toute première forme de réduction des étoiles reposait sur l’érosion (Erosion) : dans Photoshop on utilisait le filtre « Minimum », ou dans PixInsight l’Erosion, pour éroder les étoiles à l’intérieur d’une zone sélectionnée et les rendre plus petites. Pour faire les choses avec plus de soin, on l’associait à un masque de bords afin d’éviter d’éroder jusqu’au cœur des étoiles.
À vrai dire, à l’origine je réduisais peu les étoiles, car l’Erosion traditionnelle abîme souvent les étoiles (elle transforme par exemple les étoiles rondes en losanges, ou gâche les étoiles en diamant). Mais pour certaines cibles, comme la Nébuleuse de la Carène située dans la zone de la Voie lactée, aussi bon soit le masque d’étoiles, le résultat final conserve malgré tout une grande quantité d’étoiles qui perturbent les nébulosités, et il faut alors se résoudre à réduire les étoiles. C’est justement pour cela que le plus grand talon d’Achille de la réduction par érosion est son extrême sensibilité à la qualité du masque : si le masque est mal fait, des artéfacts apparaissent facilement au cœur des étoiles et dans leur pourtour.

Le tournant : réduire les étoiles à l’aide d’une image sans étoiles
Le progrès des temps a peu à peu fait de la réduction des étoiles quelque chose qui se réalise d’un simple glissement de curseur, avec la possibilité de personnaliser quelle classe de taille d’étoiles réduire. Le point décisif est celui-ci : les gens ont commencé à se servir des outils de suppression des étoiles (comme StarNet++) pour réduire les étoiles, et pas seulement pour les supprimer. Arrivé en 2021, une fois tout transformé en scripts, c’est devenu encore plus commode, et le filtre Minimum de Photoshop ou l’Erosion de PixInsight n’étaient déjà plus guère en vogue.
Dans PixInsight est apparu un script de réduction des étoiles prêt à l’emploi : il n’utilise ni le filtre Minimum ni l’Erosion, mais atteint son but par la méthode qui associe StarNet++ à un Contour Mask.

J’en profite ici pour clarifier un point qu’il est facile de mal comprendre : l’option « Create star mask » de StarNet++ produit en réalité non pas un masque, mais les étoiles supprimées elles-mêmes. Si vous utilisez PixelMath de PixInsight ou les calques de Photoshop pour rajouter ce star_mask sur l’image déjà privée d’étoiles, vous obtiendrez quelque chose de quasiment identique à l’image originale, non débarrassée de ses étoiles.

Après la réduction, les étoiles deviennent-elles toutes de la même taille ?
Un compagnon de passion a un jour affirmé qu’après la réduction des étoiles, la taille des étoiles devient identique pour toutes. Est-ce vraiment le cas ? Nullement — la taille d’une étoile réduite dépend surtout de sa taille d’origine et du masque de réduction des étoiles.
Dans la pratique, chaque fois que l’on réduit les étoiles on choisit le type d’étoiles à rapetisser (surtout les petites et moyennes) et l’on confectionne un masque approprié, ajusté à la taille des étoiles ; ainsi, après la réduction, la taille des étoiles peut encore différer, seulement on peut deviner, au pourtour des étoiles, qu’une réduction a été appliquée. Prenons pour exemple l’image agrandie de SL 17 : c’est le résultat de deux réductions au total (jusqu’ici je n’en ai jamais fait plus de deux).




Mise en œuvre de la réduction des étoiles en PixelMath (état non linéaire)
Réduire les étoiles à partir d’une image sans étoiles peut se réaliser avec précision dans PixInsight à l’aide de PixelMath. Les étapes, décomposées, sont les suivantes :
- Préparez le fichier image A ainsi que son image sans étoiles, le fichier B.
- Avec STF associé à HistogramTransformation, abaissez en même temps la luminosité de A et de B (déplacez le midtone vers la droite).
- Inversez A et B après en avoir abaissé la luminosité (clavier Ctrl+I).
- Divisez le A inversé par le B inversé pour obtenir l’image des étoiles inversée C (PixelMath).
- Multipliez C par l’inverse de B pour obtenir l’inverse D de l’image aux étoiles réduites (PixelMath).
- Inversez D pour revenir à l’image normale aux étoiles réduites (Ctrl+I).
Parmi ces étapes, les étapes 5 et 6 sont en réalité exactement la formule du screen blending mode. Si vous souhaitez une réduction plus marquée, vous pouvez abaisser encore davantage la luminosité de A et de B à l’étape 2. Une formule de principe :
afterimage = ~((~mtf_low(beforeimage) / ~mtf_low(starless)) * ~starless)

La même méthode peut aussi se reproduire dans Photoshop ou Affinity Photo ; la différence tient à ce qu’on la réalise au moyen de calques, et les modes de fusion (blending mode) entre les calques diffèrent aussi légèrement.

La clé : les étoiles doivent être extraites correctement par « division inversée »
Beaucoup traitent leur image par la voie de l’image sans étoiles mais échouent, au bout du compte, à rajouter les étoiles, et le nœud du problème réside dans la manière dont les étoiles ont été extraites.
Si l’on se contente de soustraire l’image sans étoiles de l’image originale pour obtenir les étoiles, puis que l’on rajoute ces étoiles, le résultat consiste souvent en des étoiles ternes et à la couleur incorrecte, qui donnent l’impression qu’on a baissé l’opacité du calque. La raison en est qu’une partie du contenu des étoiles est restée sur l’image sans étoiles, si bien que la soustraction n’a pas réussi à extraire les étoiles en totalité.
La meilleure façon est d’obtenir les étoiles complètes par division inversée ; une fois l’image sans étoiles entièrement traitée, on remet les étoiles en place par multiplication ou par multiplication inversée (screen blending mode).

Linéaire et non linéaire : les formules d’extraction et de remise en place diffèrent
Après que RC Astro a lancé StarXTerminator (SXT), le champ d’application de la suppression des étoiles s’est étendu de l’état non linéaire jusqu’à l’état linéaire. Toutefois, entre l’état linéaire et l’état non linéaire, les étapes et les formules pour extraire et remettre en place les étoiles restent légèrement différentes, un point qui est souvent négligé.
État non linéaire (l’image a déjà subi un fort étirement, de sorte que les pixels ne conservent plus leur relation linéaire d’origine) :
- Extraire les étoiles : dans SXT, cochez « Unscreen Stars », ou, après la suppression des étoiles, obtenez les étoiles avec la formule de division inversée
~(~Original_Nebula / ~Starless_Nebula). - Remettre les étoiles en place : dans PixelMath, utilisez la formule de multiplication inversée
~(~Nebula * ~stars), qui est aussi la formule mathématique du Screen Blending.
État linéaire (après l’intégration et avant le fort étirement, lorsque les pixels présentent leur relation linéaire d’origine) :
- Extraire les étoiles : dans SXT, ne cochez pas « Unscreen Stars ».
- Remettre les étoiles en place : dans PixelMath, utilisez la formule d’addition
Nebula + stars.

Une fois que vous savez clairement dans quel état se trouve votre image et que vous utilisez les formules correspondantes pour extraire et remettre en place les étoiles, vous pouvez éviter le problème des étoiles qui, après avoir été remises en place, s’assombrissent, changent de couleur ou échouent complètement.