- Niveau : Débutant
- Durée : 10 minutes (selon le nombre d'images et la puissance de votre ordinateur)
- Prérequis : être familiarisé avec les process icons de prétraitement des images brutes
- Objectif : procéder à l'empilement d'image orientées différemment sans devoir croper l'image finale
Lorsque l’on réaliser une image sur plusieurs nuits, que ce soit d’affilée ou à plusieurs mois d’écart, retrouver le même cadrage est un aspect essentiel : cela permet de maximiser le champ utile en évitant de croper l’image, d’optimiser le signal sur l’objet en utilisant toutes les acquisitions réalisées, et facilite grandement le prétraitement.
Toutefois, il arrive parfois que le cadrage réalisé sur plusieurs nuits ne soit pas totalement identique. Les raisons ne manquent pas : erreur d’inattention ou d’appréciation de l’orientation de l’image d’origine, cadrage réalisé « au jugé » sans avoir l’image de référence sous la main, etc.
Le plus souvent, le décalage demeure minime et la solution la plus simple est naturellement de « croper » l’image empilée pour ne garder que le champ commun aux différentes sessions.
Dans quelques cas « extrêmes », cette méthode n’est toutefois plus réellement compatible avec une image finale réussie ; notamment dans le cas où se cumule différence de centrage et différence d’orientation du capteur : une fois l’empilement réalisé, le champ commun est très réduit ou l’objet n’est plus centré (ce qui oblige à envisager un nouveau « crop »…), etc.
Dans un pareil cas (on ne va pas se mentir), le mieux est encore de tirer un trait sur la session mal cadrée et de réaliser de nouvelles poses correctement cadrées. Sauf que… cela n’est pas toujours possible ! Ici encore les raisons ne manquent pas : l’objet est désormais trop bas sur l’horizon et les nouvelles poses ne pourront être réalisées que l’an prochain, la météo n’est plus favorable, absence d’opportunité d’observation en nomade…
Dans mon cas personnel qui va servir d’exemple pour ce tutoriel (images ci-dessus), la différence de cadrage s’explique par l’utilisation d’un setup en remote au Chili, sur lequel il n’est pas possible de personnaliser l’orientation du capteur d’une session à l’autre. Tant que le même nom de session est utilisé, l’orientation demeure identique, mais celle-ci n’est plus garantie en cas de différence d’intitulé de la session d’acquisition… il suffit donc d’une erreur d’orthographe pour compromettre le cadrage ; et c’est précisément ce qui s’est passé. Bien sûr, il est également possible de se dire qu’on sacrifie cette session et qu’on la réalise de nouveau, mais lorsqu’il s’agit d’un setup dont la location est à 200$/h, cette option devient plus contraignante qu’avec son setup perso ! 🙂
Quelle alternative dans un cas pareil ? Dans ce tuto, je vous présente une méthode simple et rapide pour récupérer au mieux ce décalage, empiler l’ensemble du signal utile sur l’objet principal et éviter de jeter trop de poses à la poubelle tout en s’affranchissant des limites les plus fragrantes résultant d’un empilement traditionnel (impossible à traiter correctement sans croper).
Attention toutefois, cette technique ne fait pas de miracles : il sera impossible d’avoir le même rapport signal sur bruit dans les zones affectées par la différence de champ ; le but étant uniquement d’obtenir une image qui demeure utilisable lors du traitement – avec quelques limites incontournables.
Dès lors, cette technique ne pourra pas être utilisée dans tous les cas de figure, notamment si l’objet est réparti uniformément sur l’ensemble du champ (par exemple une nébuleuse étendue) ou s’il s’agit de poses de luminance sur un objet dont les extensions les plus ténues sont à la limite des niveaux du fond de ciel, car il sera impossible de tirer fortement sur les curseurs ensuite lors du traitement sauf à mettre ce bruit trop en évidence.
Cette méthode est donc bien adaptée pour les situations suivantes :
- images réalisées pour une couche couleur RGB dans le cadre d’un assemblage avec une luminance non affectée par ces défauts ;
- objet principal peu étendu et compris intégralement dans le champ commun des différentes sessions ;
- images pour lesquels une montée classique d’histogramme sera privilégiée (et non une montée via MaskedStretch par exemple).
Dans ce tutoriel, je vous présente deux méthodes différentes : l’une optimisée (un peu plus longue) et une version « expresse ». Je vous recommande cependant fortement d’utiliser la première méthode, qui donne de meilleurs résultats pour un temps de traitement à peine supérieur.
A noter que la méthode « optimisée » implique l’utilisation du process Drizzle, habituellement recommandé uniquement à condition de disposer d’un grand nombre d’images ; mais cela n’a pas d’importance ici et vous pouvez utiliser cette méthode quelque soit le nombre d’images dont vous disposez.
Table des matières
Méthode optimisée
Préparation des images
La première étape consiste à procéder au prétraitement de ses images de manière classique, jusqu’à la phase d’alignement : soustraction du dark, des offsets, correction des flats, corrections cosmétiques éventuelles, retrait de gradient, etc.
Si vous souhaitez approfondir davantage les différentes étapes du prétraitement, je vous invite à consulter le tutoriel assez complet qui lui est consacré !
Avant de procéder à l’alignement, il faut procéder à un choix essentiel : celui du cadrage que vous souhaitez privilégier pour l’empilement, par la sélection de l’image de référence adéquate.
Généralement, vous aurez tout intérêt à privilégier celui où l’objet est le mieux centré, ou la série pour laquelle vous avez le plus d’images alignées de la même manière. Avec un peu de chance, ces deux qualités se cumuleront ! 🙂
Dans l’exemple de ce tuto, le cadrage de référence est celui de ma seconde session (cf images ci-dessus), où la galaxie est correctement centrée.
Il convient alors d’indiquer l’une des images de cette session de référence comme « image de référence pour l’alignement » (Reference image).
Cochez obligatoirement la case « Generate drizzle data« et ajoutez l’ensemble de vos images de toutes les sessions dans « Target Images« .
Lancez le process.
Seconde étape : effectuer un process « LocalNormalization » sur l’ensemble des images.
Pour en savoir plus sur ce process, je vous invite à vous référer à la partie qui lui est consacrée dans le tutoriel de prétraitement.
Pour déterminer l’image qui servira de référence à cette opération, et qui sera nécessairement une image de la série correctement cadrée, vous pouvez procéder à une sélection via l’outil « Subframe Selector » (voir ici pour plus d’informations sur le fonctionnement de cet outil).
Privilégiez l’image présentant le meilleur rapport signal sur bruit (SNR Weight) et ne contenant aucune trace de satellite ou de défaut manifeste de correction de flat, ou encore de gradient trop important.
Si votre série est globalement homogène, vous pouvez vous dispenser de cette étape de sélection en retenant n’importe laquelle de vos images correctement cadrées comme image de référence (veillez toutefois à ce que celle-ci ne comporte aucune trace de satellite).
Indiquez cette image en « Reference Image » ; et ajoutez l’ensemble de vos images dans les images à corriger (« Target Images« ).
Vous pouvez conserver les réglages par défaut, qui donneront normalement de bons résultats dans la très grande majorité des cas.
Si vos zones à corriger sont assez grandes, vous pouvez toutefois régler le paramètre « Scale » sur une valeur plus élevée (selon la résolution de votre image, cette valeur peut être doublée ou quadruplée). Dans la grande majorité des cas, les modifications demeureront toutefois minimes.
Lancez le process.
Intégration standard des images
Nous allons maintenant procéder à un empilement des images calibrées comme expliqué ci-dessus.
Le but de cette étape est uniquement d’actualiser correctement les fichiers drizzle en vue de l’utilisation du process Drizzle par la suite.
Ajoutez l’ensemble de vos images (toutes séries confondues) dans « Input Images ».
Ajoutez les fichiers drizzle (« Add Drizzle Files« ) et les fichiers de Local Normalization (« Add L.Norm. Files« ).
Une fois ces fichiers ajoutés, vous devez constater l’apparition des signes « <d> » et « <n> » à gauche de chacune des images.
Dans les paramètres « Images Integration« , réglez le paramètre « Normalization » sur « Local normalization« .
Cochez également la case « Generate drizzle data« , afin d’actualiser les fichiers drizzle.
Configurez vos paramètres de réjection comme à votre habitude (notamment les paramètres « Sigma low » et « Sigma High« ).
Veillez à conserver l’option « Generate rejection maps » active dans l’onglet « Pixel Rejection (1) ».
Lancez le process.
A l’issue de cet empilement, nous obtenons (comme prévu) une image présentant une forte disparité entre les zones « communes » des deux séries, et les zones couvertes par un moindre nombre d’images brutes.
Comme on peut le voir sur l’exemple ci-contre, cette image serait impossible à traiter correctement par la suite.
L’étape finale va nous permettre de récupérer une image largement mieux corrigée.
A noter : vous pouvez conserver l’image de « Rejection_low » issue de l’empilement pour disposer ultérieurement d’un masque destiné à traiter de manière spécifique les zones affectées par un bruit plus prononcé.
Pour obtenir cette image à l’issue de l’empilement, veillez à bien cocher la case « Generate rejection maps » dans l’onglet « Pixel Rejection (1) » du process Image Integration.
Intégration corrigée par Drizzle
Dernière étape : obtenir un empilement « corrigé » tenant compte des corrections effectuées précédemment avec Local Normalization.
Pour ce faire, ouvrez le process Drizzle et entrez l’ensemble de vos images dans « Input Data« .
Ajoutez l’ensemble des fichiers Local Normalization (« Add L.Norm. Files« ).
Réglez l’échelle de rescaling (« Scale« ) selon vos besoins (dans cet exemple à « 2 » mais cela dépendra aussi de vos paramètres d’acquisition et de l’utilisation du binning).
Cochez l’option « Enable local normalization ».
Vous pouvez laisser les autres options par défaut comme figurant dans l’exemple ci-contre.
A noter qu’en cas d’échec, vous pouvez procéder à un second essai en décochant la case « Enable pixel rejection » (case à décocher obligatoirement si vous n’avez pas procédé à l’étape de Local Normalization).
Lancez le process.
Vous pouvez ensuite réduire la taille de l’image pour revenir à votre résolution native (en utilisant le process « Resample » à 50% par exemple).
Le résultat issu de l’empilement par Drizzle avec Local Normalization, comme on peut le voir ci-dessous (à droite), est beaucoup plus satisfaisant que l’empilement standard (à gauche).
Pour autant, comme on peut le constater, cet empilement « corrigé » n’est pas exempt de défauts : les zones couvertes par moins d’images brutes présentent un rapport signal sur bruit moins bon.
Il est possible d’améliorer un peu les choses dans les zones plus bruitées en jouant avec le process Cosmectic Correction », mais ne vous attendez pas non plus à des miracles ! Cette différence de bruit ne pourra pas être totalement corrigée et il faudra faire avec.
Cependant, la situation est beaucoup plus satisfaisante qu’avec un empilement standard, dans la mesure où un crop massif n’est plus nécessaire : l’image pourra être traitée en conservant l’ensemble du champ, et le signal de la galaxie a profité de l’ensemble des poses, y compris mal cadrées.
Par ailleurs, ne perdez pas de vue que l’image est ici visualisée en mode STF, ce qui augmente fortement les contrastes et notamment le bruit dans le fond de ciel. Une fois l’image passée en mode non-linéaire (avec une montée d’histogramme classique, par exemple Log+curseurs) et visualisée normalement, la différence de rapport signal sur bruit dans les zones concernées est largement amoindrie et peut même n’être plus du tout visible ni gênante pour la suite du traitement (cf image ci-dessous).
Si – en plus – l’image est destinée à être utilisée pour la création d’une couche couleur, les défauts seront encore amoindris après le mixage avec la Luminance dans le cadre d’un assemblage L-RGB : les défauts de bruit se traduiront alors uniquement par un bruit chromatique un peu plus prononcé qu’il sera possible de gérer correctement lors du traitement.
Vous pouvez dans ce cadre utiliser l’image de « Rejection_low » générée lors de l’empilement en tant que masque pour appliquer des traitements localisés spécifiques aux zones plus bruitées (par exemple une réduction du bruit chromatique plus appuyée que sur le reste de l’image afin de « gommer » les petites différences résiduelles).
L’image finale, une fois correctement traitée, ne devrait plus comporter aucune trace des petits défauts engendrés par cette méthode d’empilement ; la preuve avec l’image ci-dessous sur laquelle cette technique a été utilisée pour les couches R, G et B.
A noter également que l’exemple utilisé dans ce tutoriel constitue un cas un peu « extrême », dans le sens où les images des différentes séries cumulent des défauts importants (défaut de centrage et orientation fortement différentes de 45°). Pourtant, la correction effectuée donne de très bons résultats.
Avec des images souffrant de défaut de cadrage moins importants, les résultats seront bien sûr encore meilleurs, avec des zones affectées moins importantes.
Méthode expresse alternative
J’entends déjà certains spécialistes de Pixinsight lever le doigt pour pointer une objection :
« Attends un peu JB, c’est sympa ta méthode, mais tu ne te moquerais pas un peu de nous par hasard ? Tu nous recommande de faire plusieurs manipulations avec du Normal Localization et du Drizzle, alors qu’on peut faire exactement la même chose en cochant simplement une option lors de l’empilement standard ! ».
Alors, oui… mais non ! 🙂
Il existe bien une méthode « expresse » qui permet d’obtenir un résultat correct, mais qui demeure moins bon qu’avec la méthode recommandée ci-dessus.
Je la partage malgré tout ici avec vous, car celle-ci peut parfois présenter un intérêt (notamment si vous avez des soucis pour appliquer un Local Normalization correct).
Cette méthode est simplissime : une fois les images alignées (toujours sur l’image de référence issue de la série la mieux cadrée), sans utiliser Local Normalization ni Drizzle, il suffit d’empiler les images en veillant à cocher l’option « Clip low range« dans l’onglet « Pixel Rejection (1)« .
Dans l’onglet « Pixel Rejection (2) », laissez la valeur « Range low » à sa valeur par défaut, à savoir zéro.
Lancez le process… et c’est fini !
(A noter qu’un résultat identique serait obtenu en cochant l’option « Clip low range » lors de l’empilement standard des images dans la méthode optimisée ; le drizzle n’est donc pas un process superflu dans la méthode optimisée !).
Comme on peut le constater sur la comparaison ci-dessous, cette méthode « expresse » donne un résultat correct mais qui demeure inférieur à celui obtenu avec la méthode « optimisée », pour laquelle la différence entre les zones communes et les zones à signal réduit est moins marquée et les transitions beaucoup plus douces.
L’image obtenue avec la méthode « optimisée » sera donc plus simple à traiter par la suite en raison de la plus grande homogénéité entre les différentes zones.
La méthode « expresse » permet toutefois d’obtenir rapidement un bon aperçu de ce qu’il est possible d’obtenir avec la méthode optimisée, qui ne requiert que quelques minutes supplémentaires à mettre en œuvre.
Astuce complémentaire...
Dans certains cas, il peut arriver que la zone soit globalement « corrigée » sur le fond de ciel, mais que les étoiles soient absentes. Cela peut être lié au nombre d’images empilées et bien cadrées au regard du choix de l’image de référence, par exemple. Dans ce cas, les étoiles de la zone corrigée sont intégrées dans l’image de « Rejection High » lors du premier empilement.
Dans ce cas, il est possible de corriger ce défaut par un moyen très simple. Redimensionnez votre image de référence d’alignement (avec le process Resample) afin de lui donner la même taille que votre image Drizzle, puis utilisez la formule suivante dans PixelMath :
Max(Image1,Image2)
Cette fonction va simplement retenir la valeur maximum de chacune des deux images pour créer une nouvelle image réintégrant les étoiles. Encore une fois, cela ne fait pas de miracles, mais facilitera beaucoup le traitement ultérieur de l’image avec cette correction au stade linéaire.
Que vous ayez recours à l’une ou l’autre de ces méthodes, gardez cependant en tête que celles-ci ne sont que des pis-aller qui constituent une solution de dernier recours afin de ne pas jeter à la poubelle des heures de poses… le plus simple reste encore de soigner le cadrage de ses différentes séries d’acquisition (en recourant aux solutions astrométriques si possible afin d’éviter toute erreur).
Réagissez et partagez...
Si l’espace commentaires n’est pas accessible, consultez le guide pratique pour y remédier !
Vous appréciez Photon Millenium et peut-être même le consultez-vous régulièrement ? Vous souhaitez soutenir mon travail et contribuer au développement du site ? Vous avez amélioré vos traitements grâce aux tutos et souhaitez m’offrir un café en retour ? 😉
Vos dons, grands comme modestes, m’aideront à supporter les différents frais liés à la vie du site (hébergement, plugins, logiciels, etc.) tout en continuant de bannir les publicités !
Un immense merci pour votre précieux soutien ! 🙂
Don sécurisé via PayPal (aucun compte nécessaire…).
D'autres tutoriels...
Améliorer les détails d’une image avec Photoshop
Plusieurs méthodes pour améliorer les détails d’une image avec Photoshop, tant dans les zones lumineuses que dans les zones sombres, avec la création de masques adaptés.
Améliorer les détails d’une image avec Pixinsight
Plusieurs méthodes pour améliorer les détails d’une image avec Pixinsight, tant dans les zones lumineuses que dans les zones sombres, avec la création de masques adaptés.
HDR (partie 2) : Renforcer les détails d’une image (Pix)
Le process HDRMT de Pixinsight permet d’augmenter la plage dynamique d’une image et de rehausser les détails dans les zones lumineuses. Un tuto pour tout comprendre et bien intégrer ce process dans ses traitements !