Alignement
La registration ou alignement est essentiellement le processus d'alignement des images d'une séquence pour pouvoir les traiter par la suite. Tous les processus décrits ci-après calculent la transformation à appliquer à chaque image afin d'être alignée avec l'image de référence de la séquence.
La force de Siril réside dans la grande variété d'algorithmes d'alignement proposés. Chaque méthode est expliquée ci-dessous. L'appui sur le bouton Aligner lance l'alignement de la séquence.
Il est possible de choisir le canal d'alignement. Le vert est le canal par défaut pour les images en couleur, la luminance pour les monochromes. Le signe (*) apparaissant après le nom du canal signifie que des données d'alignement sont déjà disponibles pour ce canal. Lors du traitement des images, les données d'alignement sont extraites du canal par défaut s'il est disponible (pour les images RVB : Vert, sinon retour au Bleu puis au Rouge).
Théorie
Processus d'alignement
Ce que nous appelons Alignement est en fait un processus en trois étapes :
Détecter les caractéristiques à faire correspondre dans toutes les images
Calculer les transformations entre chaque image et l'image de référence
Appliquer la transformation calculée à chaque image pour obtenir de nouvelles images
Selon la méthode d'alignement choisie, les 3 étapes se déroulent (ou non) en un seul processus. Siril utilise les valeurs par défaut les plus raisonnables (choisir d'appliquer ou non la transformation calculée) en fonction de la méthode d'alignement sélectionnée, mais la compréhension de la machinerie interne peut vous aider à modifier ce comportement pour mieux répondre à vos besoins.
Algorithmes
Le tableau ci-dessous détaille les différents algorithmes utilisés pour les 2 premières étapes (détection et calcul de la transformation).
Méthode d'alignement |
Détection des caractéristiques |
Calcul de la transformation |
New seq |
---|---|---|---|
Global |
Correspondance des triangles + RANSAC |
Y |
|
Global with 2 pass |
N |
||
1-2-3 étoiles |
PSF minimisation dans la boîte de sélection |
Décomposition en valeur singulière (2-3 étoiles) Différence (1 étoile) |
N |
Alignement par motif de l'image |
correlation croisée avec boîte de sélection |
N |
|
KOMBAT |
Max de convolution dans le domaine spatial dans la boîte de sélection |
N |
|
Comète |
PSF minimisation dans la boîte de sélection |
Décalages du vecteur vitesse à l'aide d'horodatages |
Y(*) |
Manuelle |
Vos yeux |
Vos mains |
N |
Astrométrie |
À partir de la solution astrométrique |
N |
Note
(*) Comet registration creates a new sequence file (with the prefix comet_ by default) and creates "new" images. If registration data was present in the input sequence, the comet shifts are composed with this pre-existing registration data. The "new" images created are simply symlinks to the input images, so that they do not use up additional storage space. This change introduced in version 1.4 was made to clarify whether or not a sequence containing registration data, had only star alignment or star+comet shift alignment. Exporting a new sequence now makes it obvious that additional shifts are included. It also enables to use the same input sequence and generating multiple sequences aligned on different moving objects.
The table below lists the transformations compatible with each method, and if undistortion is available as well.
Méthode d'alignement |
Translation |
Euclidien |
Similarité |
Affine |
Homographie |
Annuler la distorsion |
---|---|---|---|---|---|---|
Global |
sous-pixel |
x |
x |
x |
x |
|
2 passes |
sous-pixel |
x |
x |
x |
x |
|
1-2-3 étoiles |
subpixel (1-2-3) |
(2-3) |
||||
Alignement par motif de l'image |
pixel |
|||||
KOMBAT |
pixel |
|||||
Comète |
sous-pixel |
|||||
Manuelle |
pixel |
|||||
Astrométrie |
x |
x |
Il est également important de garder à l'esprit comment la séquence alignée est introduite dans le processus d'empilement qui est généralement utilisé juste après l'alignement :
si la transformation consiste uniquement en des décalages de pixels, l'algorithme d'empilement peut utiliser ces décalages à la volée lors de la lecture des images. Cela signifie qu'il n'est pas nécessaire de générer des "images alignées". Cela permet de gagner de l'espace de stockage et d'éviter l'interpolation. C'est, bien sûr, au détriment d'un alignement moins précis (c'est-à-dire d'une précision inférieure au pixel) mais c'est généralement utilisé sur des images planétaires/de chance où l'échantillonnage est faible. Cette méthode peut également être appliquée avec une méthode d'alignement qui calcule les décalages sous-pixel. Au cours du processus d'empilement, les décalages seront arrondis à la précision du pixel. Dans tout autre cas, c'est-à-dire lorsque l'empilement est alimenté par une séquence où l'alignement a calculé des transformations plus complexes que de simples décalages mais que les images alignées n'ont pas été sauvegardées, Siril émettra un avertissement vous invitant à exporter les images alignées avant de procéder à l'empilement.
Dans tous les autres cas, une fois les transformations calculées, les images transformées doivent être sauvegardées avant de procéder à l'empilement, généralement nommées avec le préfixe
r_
.
Transformations de l'image
Transformation linéaire
Siril utilise des transformations linéaires, avec différents degrés de liberté, pour mettre en correspondance une image avec l'image de référence :
Translation est un mapping rigide à 2 degrés de liberté (décalages x/y), bien adapté aux images sans distorsion, sans mise à l'échelle et sans rotation de champ. Il ne nécessite qu'une seule paire d'étoiles (ou de caractéristiques) à faire correspondre pour définir la transformation.
Euclidien est un mapping rigide à 3 degrés de liberté (déplacements x/y + une rotation), pour des images sans distorsion, sans mise à l'échelle. Il faut qu'au moins 2 paires d'étoiles soient appariées pour définir la transformation.
Similarité est un mapping à 4 degrés de liberté (une échelle, une rotation et des décalages x/y) plus rigide que l'homographie, bien adaptée aux images sans distorsion. Il faut qu'au moins 2 paires d'étoiles soient appariées pour définir la transformation.
Affine est un mapping à 6 degrés de liberté (deux échelles, un cisaillement, une rotation et des décalages x/y) plus rigide que l'homographie, bien adapté aux images avec peu de distorsion. Elle nécessite la mise en correspondance d'au moins 3 paires d'étoiles pour définir la transformation.
Homographie est la transformation par défaut qui utilise une transformation à 8 degrés de liberté pour déformer les images sur le cadre de référence. Cette transformation est bien adaptée au cas général et fortement recommandée pour les images à grand champ. Elle nécessite la mise en correspondance d'au moins 4 paires d'étoiles pour définir la transformation.
Distorsions
Since version 1.3, Siril can also account for distortions, for some of the registrations methods as listed in this table. Distortion coefficients handled by Siril follow SIP convention. This convention assumes that the pixel coordinates need to be corrected BEFORE trying to map them through a linear transformation. In WCS jargon, this is called a prior distortion (as opposed to a sequent distortion).
Those coefficients are used twice during the registration process:
the stars positions detected in "distorted" conditions are first corrected, both in the image to be aligned and the reference image (or the stars projected positions for astrometric registration). The linear transformation that maps the stars from the current image to the reference is then computed.
When exporting the registered image, it is first corrected for distortion and then linearly projected to be aligned to the reference image. Note that this actually occurs in a single operation (the pixel mapping is computed as the composition of this non-linear correction and then the linear projection) so as to avoid interpolating pixel values twice. The reference image also undergoes this correction without the linear preojection.
Image de référence
C'est l'image qui est utilisée comme référence commune pour calculer les transformations qui envoient toutes les images de la séquence sur cette image particulière.
Si elle n'est pas définie manuellement, l'image de référence est choisie selon les critères suivants :
si la séquence a déjà été alignée, il s'agit de la meilleure image, en termes de FWHM la plus faible ou de qualité la plus élevée selon le type d'alignement
Sinon, c'est la première image de la séquence qui n'est pas exclue.
Pour spécifier une image comme référence, vous pouvez :
Ouvrir le sélecteur d'images, sélectionner l'image à définir comme nouvelle référence et cliquer sur le bouton Image de référence.
Utiliser la commande setref. Par exemple, si vous voulez définir l'image n°10 comme référence :
setref 10
Ligne de commande Siril
setref sequencename image_number
Pendant l'empilement, l'image de référence est également utilisée comme référence de normalisation, si la normalisation est activée.
Méthodes d'alignement
Alignement global
This is the preferred algorithm to align deep-sky images with sufficient overlap.
L'alignement global est basé sur la méthode de similarité des triangles pour identifier automatiquement les étoiles communes dans chaque image [Valdes1995]. Notre implémentation est basée sur le programme match de Michael Richmond. Ensuite, l'algorithme RANSAC [Fischler1981] est utilisé sur les listes d'étoiles pour rejeter les aberrations et déterminer la matrice de projection. La robustesse de l'algorithme dépend de la capacité à détecter les étoiles tout en évitant les fausses détections. Siril dispose d'un algorithme de détection des étoiles très élaboré qui évite autant que possible de sélectionner des objets qui ne sont pas des étoiles dans le temps le plus court possible. La détection des étoiles les plus brillantes est généralement la plus importante. Cependant, s'il est nécessaire de détecter des étoiles moins brillantes, alors la fenêtre PSF Dynamique peut être utilisée pour ajuster les paramètres de détection.
There are some options associated with this alignment method.
Le menu déroulant Transformation permet de choisir entre différentes transformations.
Avertissement
La mise en correspondance initiale des étoiles utilise l'algorithme de similarité des triangles, en conséquence le minimum de paires d'étoiles doit être au moins de 3 pour Translation, Similarité et Affine et de 4 pour Homographie.
Les autres options d'alignement sont :
The Minimum Star Pairs button sets the minimum number of star pairs a given frame can have in relation with the reference frame. If a given light frame has less star pairs, it will not be registered. To the right of this option is a button that opens the Dynamic PSF tool.
L'option Maximum d'étoiles ajustées définit le nombre maximum d'étoiles à rechercher dans chaque image (par défaut 2000). Plus cette valeur est grande, plus il y aura d'étoiles potentiellement détectées, résultant en une détection plus longue mais un alignement plus précis.
Use the option, Match stars in selection, if you want to perform the Global Star Alignment algorithm within the selected area in the reference image. If no selection is done, this option is ignored.
The Undistortion dropdown menu allows to choose between different corrections:
Aucun
À partir de l'image
À partir d'un fichier FITS/WCS
From masters
*.wcs
file that has distortion coefficients.Astuce
For this last option From masters to work, you will need to have set a master distortion path in the preferences. To create a master file, go here.
The options at the bottom let you:
Filter out images that have been unselected from the sequence.
Choose between interpolation and drizzle for exporting the images. Those are the same as in the Output registration section, they are not further explained here.
Ligne de commande Siril
register sequencename [-2pass] [-selected] [-prefix=] [-scale=]
register sequencename ... [-layer=] [-transf=] [-minpairs=] [-maxstars=] [-nostarlist] [-disto=]
register sequencename ... [-interp=] [-noclamp]
register sequencename ... [-drizzle [-pixfrac=] [-kernel=] [-flat=]]
Alignement 2 passes
To activate this option, simply tick the corresponding box after choosing Global registration in the method drop-down.
This performs only the first (of 2 passes), allowing the reference frame
to be chosen from detected star information instead of automatically choosing
the first frame of the sequence. The proposed options are similar to the
Global Registation
algorithm but this method does not create any sequences and all alignment
information is saved in the seq
file.
Pendant la détection des étoiles, Siril fixe un maximum de 2000 étoiles à trouver (ceci peut aussi être changé avec l'option appropriée). Dans le cas où plus d'une image a atteint les limites maximales d'étoiles, les listes d'étoiles de toutes les images sont examinées à nouveau. Un nouveau seuil de détection minimum est défini pour pouvoir trier les images à la fois par nombre d'étoiles détectées et par FWHM.
The star lists of all images are saved, the .fit(s)
extension being replaced
by .lst
. This allows to re-run the 2pass algorithm very quickly with different
parameters, say different transformation. In case the star detection have been
modified, the process detects these changes and re-run the analysis as required.
Cet alignement doit généralement être suivi par Appliquer l'alignement existant afin d'appliquer la transformation et de construire une nouvelle séquence, à moins que vous n'ayez choisi de calculer le Translation
.
Ces lignes effectuent un alignement en deux passes sur une séquence nommée pp_light et l'appliquent. La sortie est une séquence pp_light.
# Align lights in 2 passes
register pp_light -2pass
seqapplyreg pp_light
Ces lignes effectuent un alignement en deux passes sur une séquence nommée colors et l'appliquent tout en recadrant les images de sortie à la surface commune minimale. La sortie est une séquence pp_colors. Ceci peut être utile avant de composer des images mono (les zones qui ne sont pas communes à toutes les images sont recadrées).
# Align layers in 2 passes and crop away borders
register colors -2pass
seqapplyreg colors -framing=min
Alignement sur 1-2-3 étoiles
Lorsque les images contiennent peu d'étoiles, par exemple dans le cas des images de ciel profond rapide où le temps d'exposition est inférieur à une seconde. Il est possible que l'algorithme d'alignement global échoue, même si vous modifiez les paramètres de détection dans la fenêtre PSF Dynamique. Il peut alors être intéressant de faire une détection manuelle des étoiles que l'on veut aligner. C'est l'intérêt de l'algorithme d'alignement de 1, 2 ou 3 étoiles.
Le principe de cette méthode est de dessiner une zone de sélection autour d'une étoile et de cliquer sur le bouton Pointer l'étoile 1, et ainsi de suite.
Si une seul étoile est sélectionnée, seul la translation entre les images sera calculé. En conséquence, le bouton Translation seulement est automatiquement sélectionné. Les valeurs de translation sont alors stockées dans le fichier
seq
.Si deux ou trois étoiles sont sélectionnées, la rotation peut être calculée et appliquée pour créer une nouvelle séquence. Cependant, si l'option Translation seulement est sélectionnée, ce qui n'est pas obligatoire, seuls les décalages seront calculés.
L'option Suivre le mouvement de l'étoile utilise la position des étoiles trouvées dans l'image précédente comme nouveau centre pour l'alignement de l'image actuelle. Cela permet de réduire la zone de sélection, d'accélérer l'alignement et de tenir compte de la dérive ou des images comportant un grand nombre d'étoiles.
Avertissement
L'activation de cette option implique que l'alignement n'est pas parallélisé et qu'il s'exécute sur un seul cœur du processeur.
Alignement par motif de l'image (planétaire - disque entier)
Il s'agit d'un simple alignement par translation en utilisant la méthode de corrélation croisée dans le domaine spatial.
Cette méthode est rapide et est utilisée pour aligner les films planétaires, dans lesquels des informations contrastées peuvent être observées sur de grandes zones de l'image. Elle peut également être utilisée pour l'alignement d'images du ciel profond. Néanmoins, il faut garder à l'esprit qu'il s'agit d'une méthode d'alignement en un seul point, ce qui la rend peu adaptée à l'alignement de planètes en haute définition. Mais elle permet d'ancrer efficacement les images pour stabiliser la séquence. Il suffit de faire une sélection autour de l'objet (la planète par exemple) et de s'assurer que son mouvement pendant la séquence est contenu dans la sélection. Seule la translation peut être calculée avec cette méthode.
KOMBAT
Cette méthode provient de la bibliothèque OpenCV, une bibliothèque largement utilisée dans Siril. Ils expliquent :
Il suffit de faire glisser l'image modèle sur l'image d'entrée (comme dans la convolution 2D) et de comparer le modèle et le patch de l'image d'entrée sous l'image modèle. Plusieurs méthodes de comparaison sont implémentées dans OpenCV. (Vous pouvez consulter la documentation pour plus de détails). Il renvoie une image en niveaux de gris, où chaque pixel indique dans quelle mesure le voisinage de ce pixel correspond au modèle.
En pratique, il suffit de tracer une sélection autour de l'objet (la planète par exemple) et de s'assurer que son mouvement au cours de la séquence est contenu dans la sélection. Seule la translation peut être calculée avec cette méthode.
Alignement Comète/Astéroïdes
L'outil d'alignement cométaire fonctionne d'une façon très simple, en deux étapes.
Dans le sélecteur d'image, sélectionnez la première image de la séquence, entourer le noyau cométaire, ensuite cliquer sur le bouton Pointer objet dans #1.
Ensuite sélectionnez la dernière image de la séquence, entourez le noyau cométaire, ensuite cliquez sur le bouton Pointer objet dans #2.
La vitesse de la comète \(\Delta x\) et \(\Delta y\) est calculé en pixel par heure si tout est ok.
Avertissement
The alignment of the comet must be done on images whose stars have been
previously aligned. Either via a new sequence, with the global alignment,
or by having saved the registration information in the seq
file,
via a 2-pass or astrometric registration.
Note
Pour fonctionner pleinement, les images doivent être horodatées. Seules les images FITS, SER et TIFF sont compatibles avec cette fonctionnalité.
Astuce
If the PSF detection fails to detect an object, it will return the center of the box that was drawn. This can be handy if you want to align on an object that is not visible on your subs. Use the solar system object annotations to plot the position of an asteroid and draw a box around the marker to pick its position.
This method will ouput a new sequence file, with the sequence name prepended with
the prefix defined (comet_
by default). This does not however create
the new images but symlinks to the original images. For Windows users, please make
sure you have enabled developer mode,
otherwise, it will make hard copies. See also the note below this table.
Alignement manuel
Cette dernière méthode d'alignement est très particulière, ce qui explique sa position à part, et permet d'aligner les images manuellement. Bien entendu, seule la translation entre les images est autorisée.
La première chose à faire est de définir deux aperçus dans l'image. En cliquant sur le bouton Définir 1er aperçu (Définir la première prévisualisation), vous initialiserez la première prévisualisation. Il faut alors cliquer sur une zone de l'image, idéalement une étoile à proximité d'un bord de l'image pour définir la zone de prévisualisation. Un clic sur le second bouton Définir 2d aperçu permet de faire de même sur un second point.
Il est très important d'avoir une image de référence déjà définie avec le Sélecteur d'image. Par défaut, il s'agit de la première image. L'utilisateur est libre de choisir celle qu'il veut. Elle servira d'image de référence, vu par transparence, pour aligner les images manuellement avec les boutons numériques. Ensuite, parcourez les images une à une pour appliquer la même méthode à l'ensemble de la séquence.
Alignement astrométrique
Introduced in version 1.3, this is the prefered mode for assembling mosaics or images with little overlap. It can also be useful to register stacks issued from different set-ups (different optics, different cameras, different field of views etc...).
It does not have an entry in the registration method drop-down as the information to export the registered images has already been computed when platesolving the sequence. All you need to do is to Apply Existing Registation.
Undistortion will be applied as defined when platesolving the sequence, meaning if the images were plate-solved using a SIP order larger than 1, then undistortion will automatically be included. Unless you have a perfectly optically flat field, it is usuualy a good idea to platesolve using SIP, as shsown below, with and without distortion correction.
Appliquer Alignement Existant
Il ne s'agit pas d'un algorithme, mais plutôt d'une commodité pour appliquer les données d'alignement précédemment calculées et stockées dans le fichier de séquence. La méthode d'interpolation peut être sélectionnée dans la section Sortie d'alignement. Vous pouvez également utiliser le filtrage d'image pour éviter d'aligner des images inutiles, comme dans l'empilement Rejet des images. Il y a aussi une option Drizzle pour appliquer l'alignement en utilisant le drizzle au lieu de l'interpolation. Voir la section Drizzle pour plus de détails.
Quatre méthodes de cadrage sont disponibles :
: Actuelle utilise l'image actuelle comme image de référence. Il s'agit du comportement par défaut.
: maximum (zone de délimitation) ajoute un bord noir autour de chaque image si besoins affin qu'aucune partie de l'image soit recadré lors de l'alignement.
: minimum (zone commune) recadre chaque image sur la zone qu'elle a en commun avec toute les images de la séquence.
: centre de gravité détermine la meilleur position de cadrage en tant que centrer de gravité (cog) de toutes les images.
Astuce
Introduced in Siril 1.3, max
mode does not export images with black borders,
that encompass the full resulting image. The images are exported with the
necessary projection and the relative shifts required to compose the final image
is kept in the the resulting seq file.
Estimate button will launch the framing computation, without actually exporting the images. This information can be interesting to know in advance the size of the exported images. This accounts for the framing method selected and the scaling factor chosen in the Output Registration.
En appuyant sur Estimer, la console affichera une sortie comme celle-ci :
Output image: 7893 x 5254 pixels (assuming a scaling factor of 1.30)
Ligne de commande Siril
seqapplyreg sequencename [-prefix=] [-scale=] [-layer=] [-framing=]
seqapplyreg sequencename ... [-interp=] [-noclamp]
seqapplyreg sequencename ... [-drizzle [-pixfrac=] [-kernel=] [-flat=]]
seqapplyreg sequencename ... [-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]] [-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]
Sortie d'alignement
This frame contains all the output elements for the sequence. You can choose between Interpolation and Drizzle to export the images.
Avertissement
They may not be both available depending on the nature of the input sequence:
for mono sequences, both Interpolation and Drizzle may be selected
for CFA sequences (undebayered color images), only Drizzle is available
for RGB sequences (debayered color images), only Interpolation is available
Les deux méthodes partagent les mêmes options :
Scaling, a value between 0.1 and 2, that is used to rescale the output images.
Prefix, the prefix that will be preprended to form the exported sequence name (defaults to
r_
).
Interpolation
Tthe pixels of the resulting images are interpolated by an algorithm that is left to the user's choice. There are 5 possible interpolation algorithms, plus a None option:
Plus Proches Voisins
Bilinéaire
Bicubique
Zone de relation des pixels
Lanczos-4
Aucun
Les méthodes d'interpolation les plus efficaces sont généralement bicubiques et Lanczoz (utilisées par défaut). Cependant, elles nécessitent que l'option Contrainte de l'interpolation soit activée pour éviter les artefacts en anneaux autour des étoiles. Mais cette dernière peut s'avérer inutile dans certains cas. Nous vous recommandons de tester avec vos images.
Le cas particulier de Aucun est réservé au cas de l'alignement global et de l'application de l'alignement existant. Si vous souhaitez exporter ou sauvegarder une séquence qui ne contient que de la translation, sans utiliser d'interpolation (afin de ne pas modifier les valeurs des pixels), vous devez sélectionner Aucun.
Drizzle
Le bouton Drizzle active l'algorithme drizzle pour le traitement de cette séquence. Voir la section Drizzle pour plus de détails.
Avertissement
La contrepartie de cette technique est que la quantité de mémoire et d'espace disque nécessaire à la création et au traitement des images drizzle est multipliée par le carré du facteur d'échelle du drizzle.
Solution astrométrique des images alignées
When registered images are exported, they inherit the astromertic soluion of the reference image if any. Otherwise, their previous solution is wiped. Obviously, the new solution for each image accounts for the transformations it has undergone through the registration process.
In case a distortion solution is found in the reference image but no undistortion
was applied when computing the transformations - for instance if you have not
selected any Distortion
from the drop-down in global or 2-pass methods,
a warning will be displayed in the Console. The distortion information will be kept
in the registered images. In case they are significant, you may see their effect
when stacking. In which case, you will need to register again using a distortion
specification.
Références
Fischler, M. A., & Bolles, R. C. (1981). Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography. Communications of the ACM, 24(6), 381-395.
Valdes, F. G., Campusano, L. E., Velasquez, J. D., & Stetson, P. B. (1995). FOCAS automatic catalog matching algorithms. Publications of the Astronomical Society of the Pacific, 107(717), 1119.