Procédure de prétraitement d'images avec SIRIL



Cette page décrit la procédure correspondant à l'étape de prétraitement d'images avec SIRIL


1. But du prétraitement

Cette page décrit la procédure de prétraitement des images brutes qui est l'étape indispensable avant de procéder au traitement de l'image finale.

Le processus de prétraitement consiste à filtrer les images brutes sans défauts acquises avec l'aide de l'outil N.I.N.A., à créer les images de calibration et à traiter les images brutes avec des algorithmes de prétraitement, d'alignement et d'empilement essentiellement.

Pour rappel, la diminution du bruit dans l'image finale à traiter est obtenu en empilant un nombre important d'images brutes. En effet, le rapport signal / bruit (SNR) augmente avec la racine carrée du nombre d'images empilées. Ainsi, pour augmenter le SNR d'un facteur 1.4, il faudra doubler le nombre d'images.

Explication détaillée du rapport signal / bruit

Voici une comparaison entre une image réalisée à partir de 43 images brutes prétraitées, alignées et empilées avec SIRIL et une seule image brute (filtre H-Alpha, temps d'exposition de 480s, capteur refroidi à -20°C)

Comparaison pretraitement
On remarque qu'il subsiste encore un peu de bruit dans l'image finale qui a un gain du SNR de 6.5 : un gain du SNR de 8 soit 64 images empilées aurait été préférable.


2. Filtrage des captures

Cette étape de filtrage va permettre d'éviter de prendre en compte dans le processus de prétraitement des images avec des défauts importants visibles à l'oeil

2.1 Création des "quick look"

Afin de pouvoir trier toutes les images brutes créées au format "FITS" par défaut, il va falloir créer des images dites "quick look". Ces images seront des images compressées au format JPEG et avec un étirement de l'histogramme pour mieux voir les défauts.

J'utilise l'outil Nebulosity qui permet un traitement par lot des images brutes dont voici la procédure :

  1. Ouvrir une seule image brute pour un filtre choisi qui servira de référence aux autres images du même filtre et ajuster sa taille à l'écran

Image brute sur Nebulosity

  1. Il faut décocher "auto" pour pouvoir modifier l'histogramme qui est trop sombre avec les valeurs par défaut de Nébulosity de façon à bien voir l'objet.
    2 réglages sont possibles : coupe des tons sombres et coupe des tons clairs
    En général, seul l'écrêtage des ton blancs suffit à faire ressortir l'objet.

Image ajustée sur Nebulosity

  1. Pour traiter par lot les images prises avec le même filtre et avec le même réglage d'histogramme qui vient d'être réalisé, il suffit d'aller dans le menu "Batch/Batch Conversion/FITS to JPG"
  2. Dans la fenêtre qui s'ouvre, il faut sélectionner toutes les images souhaitées puis cliquer sur "Open"
  3. Le traitement par lot commence avec un indicateur de suivi en bas de la fenêtre
  4. On peut poursuivre avec les autres images brutes prises avec d'autres filtres ainsi que les images de calibration "flat"

2.2 Filtrage des images brutes

Pour filtrer les images brutes, j'utilise l'outil "FastStone Image Viewer" qui permet de sélectionner et filtrer les images "quick look" facilement. Diverses fonctionnalités utiles sont présentes comme celle de l'affichage de l'histogramme ou de la comparaison de 2 images en affichage "côte à côte".

2.2.1 Filtrage manuel des "quick look" flats

Le filtrage des images "quick look" de calibration "flat" s'effectue uniquement au niveau de l'histogramme. En effet, celles-ci sont généralement prises à la suite et avec un éclairage constant mais il arrive que certaines soient un peu surexposées (histogramme écrêté vers les hautes lumières)

Histogramme image flat

Chaque image "quick look" retenue est déplacée dans un dossier nommé "APERCUS/RETENU".

2.2.2 Filtrage manuel des "quick look" objets

Le filtrage des images "quick look" brutes des objets doit permettre de ne conserver que les images sans défaut majeurs et avec un histogramme le plus resséré possible vers les tons sombres.

  • A exclure : médiane de l'histogramme > 64 (fond du ciel trop clair)

Histogramme image brute

  • A exclure : trainées d'avions ou de satellites trop brillantes

Problème satellite ou avion

  • A exclure : passages nuageux

Problème nuages

  • A exclure : problème de suivi

Problème suivi

Ce dernier filtrage est moins important car nous verrons que les problèmes de suivi peuvent être filtrés directement au niveau de l'outil SIRIL en jouant sur le critère FWHM des étoiles qui excluera les étoiles trop allongées au delà de ce seuil.

Chaque image "quick look" retenue est déplacée dans un dossier nommé "APERCUS/RETENU".

2.2.3 Filtrage automatique des images brutes et des flats

Un script bash exécuté depuis WSL, qui est la Virtual Machine Linux de Windows, est chargé de faire la même action de filtrage mais de manière automatique pour les images brutes des objets et des flats en se basant sur le tri manuel des "quick look" déjà réalisé.

Ce script va déplacer les images brutes dans le répertoire "BRUTES/RETENU" à l'identique de ce que contient le répertoire des quick look "APERCUS/RETENU"


3. Recherche des séances candidates antérieures

Le but de cette étape est de trouver des images brutes antérieures du même objet et prises dans les mêmes conditions (focale, rotation du champ, imageur, filtre, ...) de façon à pouvoir les aligner.

L'objectif est d'augmenter le raport signal / bruit comme décrit précédemment : plus on empile d'images et meilleur sera le SNR.

A cet effet, je note dans un tableur toutes mes séances avec :

  • Identifiant de séance (Année-Numéro)
  • Imageur (télescope ou lunette)
  • Nom de l'objet
  • Filtre utilisé
  • Correcteur de champ

Exemple avec un filtrage des séances sur l'objet "NGC7293" :

Fichiers des observations

Un script écrit en Visual Basic permet de générer un onglet qui synthétise toutes les séances réalisées par objet avec ses caractéristiques (imageur, correcteur, filtre)

Fichier des séances

Ce tableur est donc très pratique pour identifier toutes les images d'un même objet prises dans les mêmes conditions et qui vont pouvoir être sélectionnées pour le procesus de prétraitement.


4. Bibliothèque d'images

La bibliothèque d'images brutes est stockées sur un disque local avec double sauvegarde (2ème disque local en miroir et Cloud)

4.1 Création de la bibliothèque d'offsets

Pour réaliser les images de calibration "offset" avec uniquement le courant d'obscurité du capteur, il suffit de :

  • Couvrir la caméra
  • Positionner le temps de pause au minimum
  • Régler le même gain / offset de la caméra que pour les images brutes des objets
  • Réaliser un nombre d'images important (50 à 100 environ) de façon à obtenir un offset maître qui soit représentatif de la série statistique (médiane)

Les images de calibration offset n'ont pas besoin d'être réalisées à chaque séance d'acquisition mais tous les 1 à 2 ans environ avec le vieillissement du capteur.
On peut donc se constituer une bibliothèque d'offsets avec des réglages de température du capteur et de gain différents pour correspondre aux différentes images brutes des objets à prétraiter.

Exemple d'image de calibration de type "offset" :

Image d'offset

4.2 Création de la bibliothèque de darks

Pour réaliser les images de calibration "dark" correspondant au bruit thermique, il faut :

  • Placer la caméra dans une pièce sans lumière (le capot de protection de l'imageur n'est pas suffisant car il laisse passer un peu de lumière, surtout avec un diviseur optique déjà monté)
  • Couvrir la caméra
  • Régler le même gain / offset de la caméra que pour les images brutes des objets
  • Réaliser un nombre d'images important (50 à 100 environ) de façon à obtenir un dark maître qui soit représentatif de la série statistique (médiane)
  • Positionner le même temps de pause que pour les images brutes des objets

Les images de calibration dark n'ont pas besoin d'être réalisées à chaque séance d'acquisition mais tous les ans environ avec le vieillissement du capteur. Si on voit apparaitre de nouveaux pixels chauds après le prétraitement, alors il faudra refaire la bibliothèque de darks pour la température concernée.
On peut se constituer une bibliothèque de darks avec des réglages de température du capteur et de gain différents pour correspondre aux différentes images brutes des objets à prétraiter.

Exemple d'image de calibration de type "dark" :

Image de dark

4.3 Création des images de calibration flats

Contrairement aux images de calibration "offset" et "dark", les images de calibration "flat" (dites de "flat field") doivent être réalisées dans les mêmes conditions que les images brutes des objets et donc à la fin de chaque séance car des poussières peuvent s'ajouter entre deux séances et la focalisation ne sera pas strictement identique.

Exemple d'image de calibration de type "flat" :

Image de flat

4.3.1 Conditions de prise de flats

  • Conserver le même focus que pour les images brutes des objets
  • Faire un flat par filtre utilisé lors de la séance
  • La température du capteur est moins importante mais il faut s'assurer qu'elle ne soit pas trop haute afin de limiter le bruit dans l'image (inférieure à 0°C est préférable)
  • Positionner une source lumineuse neutre, uniforme et stable devant l'imageur et régler le temps de pause de façon à avoir un histogramme rempli au 2/3 environ
  • Réaliser un nombre d'images important (30 à 50 environ) de façon à obtenir un flat maître qui soit représentatif de la série statistique (médiane)

4.3.2 Calibration des flats

Concrètement, j'utilise un panneau luminescent dédié de marque Lacerta dont j'ai volontairement réduit la puissance d'éclairage qui était beaucoup trop forte en plaçant une résistance sur le circuit d'alimentation.
Il est très pratique à mettre en oeuvre car directement piloté par l'application NINA via un contrôleur connecté en USB de la même marque.

Panneau flat

Il suffit de sélectionner les filtres utilisés durant la séance pour lesquels on souhaite réaliser des flats via l'outil de calibration intégrés à l'application NINA.

Assistant PLU

Ainsi, le temps de pause de chaque filtre est calculé automatiquement :

Temps exposition flat Bin1x1Temps exposition flat Bin2x2

4.3.3 Programmation des flats

Une fois l'étape de calibration des flats effectuée pour chacun des filtres, il suffit d'ajouter la programmation dans l'application NINA.
(L'alerte indiquée en face de chaque programmation doit disparaitre si la calibration a été réalisée car un temps de pause est bien présent dans le tableau de calibration des flats)

Programmation des flats

4.4 Organisation des images de calibration offsets et de darks

Les offsets et les darks n'ont pas besoin d'être refaits à chaque séance car ces défauts evoluent très lentement avec le temps. Il sera par contre préférable de mettre à jour cette bibliothèque tous les ans.

La structure des dossiers de la bibliothèque des images brutes de calibration des offsets et des darks est la suivante :

Bibliothèque images calibrations

Les images brutes sont triées par type de calibration (offset ou dark), par capteur, puis par gain caméra, offset caméra et température.
Chaque série d'images brutes est stockée dans un répertoire "BRUTES" et les images "quick look" associés dans un répertoire "APERCUS"

4.5 Organisation des images brutes flat et des objets

Cette bibliothèque contient à la fois les images brutes des objets mais également les images brutes des flats correspondants à chacune des séances. En effet, les images de calibration "flat" doivent être prises à la fin de chaque séance car il faut récupérer les défauts liés aux poussières et à la focalisation essentiellement qui peuvent changer à chaque utilisation du matériel.

La structure des dossiers de la bibliothèque des images brutes et des flats est la suivante :

Bibliothèque images brutes

Les images brutes sont triées par imageur (lunette, télescope, ...), par capteur (ASI1600MMPro, EOS450D, ...) et par séance.

Chaque répertoire "SEANCE_AA-XX" contient les répertoires principaux suivants :

  • AUTOGUIDAGE : contient les données de qualité des autoguidages réalisés
  • EP : données de l'erreur périodique de la monture si elle est réalisée
  • FLATS :
    • APERCUS / RETENUS : contient les images "quick look" des flats qui sont retenus lors du filtrage manuel
    • BRUTES / RETENUS : contient les images brutes des flats qui sont retenus pour le prétraitement
  • FOCUS : contient les données json des focus automatiques réalisés par NINA
  • OBJETS :
    • NOM_OBJET :
      • APERCUS / RETENUS : contient les images "quick look" de l'objet qui sont retenus lors du filtrage manuel
      • BRUTES / RETENUS : contient les images brutes de l'objet qui sont retenus pour le prétraitement

5. Création du projet de prétraitement

5.1 Intérêt de Sirilic

L'outil de prétraitement que j'utilise se nomme SIRIL
Avant de lancer l'outil, il faut lui ajouter toutes les images brutes des objets et des calibration. Cette étape est d'autant plus fastidueuse que l'on a un nombre important d'images et réparties dans divers répertoires.

Afin de se rendre la tâche plus aisée, il existe un outil nommé Sirilic qui permet de générer un script directement utilisable par SIRIL.

Pour que ce script puisse être généré à partir de nos images brutes, 2 méthodes sont possibles :

  • Charger les fichiers par catégorie d'images et par séance (ou session) depuis l'interface Sirilic mais assez fastidueux
  • Générer automatiquement le fichier projet qui sera ensuite charger depuis l'interface de Sirilic.

C'est donc la 2ème solution que j'ai choisie.

5.2 Génération automatique du projet au format Sirilic

Afin de générer automatiquement le projet au format Sirilic, j'ai développé un script bash qui est lancé directement sous WSL, qui est la Virtual Machine Linux de Windows.

Le script est paramétré avec le formalisme du nom de l'image brute suivant (modifiable dans les paramètres de NINA) :
LIGHT_Ha_0007_00-10-29_Bin1x1_480.00s__-20.00C_G75_O15.fits

  • Type d'image : BIAS / DARK / LIGHT / FLAT
  • Type de filtre : L, CLS, R, G, B, Ha, O3, S2
  • Id : 0000 à 9999
  • Date : AA-MM-JJ
  • Binning : Bin1x1 ou Bin2x2
  • Temps de pause (s) : XXX.00s
  • Température du capteur (°C) : -XX.00C
  • Gain de la caméra : GXXX
  • Offset de la camera : OXX

Arguments du script :

  • Nom de l'objet
  • Filtres choisis pour les prétraitements parmis : L, CLS, R, G, B, L_Ha, Ha, L_O3, O3, S2 (L_Ha : Filtre Ha en Bin1x1, L_O3 : Filtre O3 en Bin1x1)
  • Séances que l'on souhaite empiler (séparées d'un espace)

Exemple de lancement du script :

./creation_projet_sirilic_v3.sh NGC7293 L_Ha,L_O3,R,G,B SEANCE_19-19 SEANCE_19-23 SEANCE_19-24 SEANCE_21-18 SEANCE_25-10 SEANCE_25-11 SEANCE_25-12
									

Ce script va effectuer les étapes suivantes :

  1. Création de la liste de toutes les images à partir des bibliothèques des images de calibration et des images brutes des séances
  2. Pour chaque séances de la liste des arguments :
    • Pour chaque filtre de la liste des filtres :
      • Ajout des images brutes de l'objet au fichier projet
      • Recherche du temps de pause
      • Recherche de la température du capteur
      • Recherche du gain de la caméra
      • Ajout des images de calibration "offset" compatibles au fichier projet
      • Ajout des images de calibration "dark" compatibles au fichier projet
      • Ajout des images de calibration "flat" compatibles au fichier projet
  3. Contrôle de l'homogénéité des gains / offset / binning des images trouvées

Exemple de fichier projet Sirilic généré avec 5 filtres et à partir de 7 séances : NGC7293_L_Ha_L_O3_R_G_B.prj (Fichier de log)

Exemple de chargement d'un projet dans Sirilic :

Pretraitement Sirilic

On remarquera que l'affichage est trié par filtres puis par séances.
On peut contrôler dans la vue de droite que les types de fichiers sont bien rangés dans les catégories Images, Offsets, Dark et Flat et qu'ils sont homogènes entre eux en termes de temps de pause, température et binning.


6. Lancement du prétraitement SIRIL (piloté par Sirilic)

Le prétraitement des images brutes des objets consiste à retirer la plupart des défauts :

  • Courant d'obscurité
  • Bruit thermique (pixels chauds)
  • Poussières, vignetage

La formule suivante est appliquée :
image_pretraitee = ( image_brute - offset_maitre - (dark_maitre - offset_maître) ) / (flat_maitre - offset_maître)

6.1. Passe 1

Une fois que le projet Sirilic a été généré avec les séances souhaitées, il suffit de le charger dans l'application Sirilic.

Chaine de prétraitement par défaut pour chaque type d'images de calibration brutes :

  • Soustraction de l'offset pour les images brutes darks et flats
  • Empilement avec rejet de chaque série brute (offset / dark / flat)
  • Normalisation de l'image de calibration prétraitée appelée image de calibration "maître"

Il faut ensuite vérifier et adpater le paramétrage souhaité => cocher dans les propriétés "Soustraire l'offset" pour les images, les offsets, les darks et les flats

Chaine de prétraitement des images brutes des objets :

  1. Soustraction de l'offset maître pour chaque image brute (les défauts liés au courant d'obscurité sont retirés)
  2. Soustraction du dark maître pour chaque image brute sans l'offset maître (les défauts liés au bruit thermique sont retirés)
  3. Division par le flat maitre pour chaque image brute sans l'offset maître et sans le dark maître (les défauts liés aux poussières, aux vignetages sont retirés)
  4. Alignement des images brutes (sans l'offset maître, sans le dark maître et divisé par le flat maître)
  5. Empilement avec rejet (ou registration) des images brutes alignées (sans l'offset maître, sans le dark maître et divisé par le flat maître)
  6. Normalisation de l'image prétraitée finale

Processus de prétraitement

Avant de lancer le processus de prétraitement pour la première fois, il faut ajuster le paramétrage au niveau du menu "Fichier/Préférences" :

  • Indiquer le répertoire de travail
  • Cocher "Enregistrer une copie au format tif" (si étape de traitement en dehors de l'outil PixInsight)

Pour lancer le processus de prétraitement, il faut :

  1. Lancer l'étape 1 : construction des dossiers
  2. Lancer l'étape 2 : construire et exécuter le script Siril

6.2. Passe 2

A la fin du prétraitement de la passe 1, l'application Siril s'ouvre.

Pour mieux voir les images prétraitées, il faut sélectionner dans le menu déroulant au niveau de l'histogramme en bas de l'application "Auto ajustement"

6.2.1 Filtrage des séances

Cette étape consiste à visualiser les images prétraitées intermédiaires par filtre et pour chaque séance afin d'éliminer celles qui ne sont pas satisfaisantes (défauts, fond du ciel trop lumineux, autre, ...) :

  1. Cliquer sur l'icône "Répertoire de travail" (en haut à gauche) et sélectionner le répertoire "Temp"
  2. Cliquer sur l'icône "Liste des images" (en bas à droite) pour faire apparaitre le menu correspondant
  3. Cliquer sur le menu "Séquence" (en haut à droite) et sélectionner à tour de rôle la séquence corespondant au filtre "C0X-S.seq" avec X (dans mon cas) :
    0 : Luminance
    1 : Rouge
    2 : Vert
    3 : Bleu
    4 : H-Alpha
    5 : O3
    6 : S2
  4. Dans le menu "Liste des images", sélectionner chacune des images correspondant à chaque séance afin de vérifier si le prétraitement est satisfaisant
  5. Si une séance pour un filtre donné ne donne pas satisfaction, il faut la retirer du projet Sirilic : il suffit de sélectionner la session correspondante et cliquer sur "détruit une image" au niveau du menu "Projet"

Comparaison pretraitement

6.2.2 Filtrage du FWHM des étoiles pour les luminances

Afin d'obtenir une belle image prétraitée en entrée de l'étape du traitement, il est important de ne pas conserver les images brutes qui vont servir au traitement de la luminance et qui ont eu un problème de suivi.

Pour cela, Siril propose un graphique qui permet de voir la qualité des images au niveau des étoiles avec le critère "FWHM".

  1. Cliquer sur l'icône "Répertoire de travail" (en haut à gauche) et sélectionner le répertoire qui contient toutes les images en luminance (L ou H-Alpha) prétraitées : "<L ou Ha>/GROUP"
  2. Cliquer sur l'icône "Liste des images" (en bas à droite) pour faire apparaitre le menu correspondant
  3. Cliquer sur le menu "Séquence" (en haut à droite) et sélectionner la séquence "r_image_group_.seq"
  4. Sélectionner le menu "Graphique"
  5. Regarder la courbe verte "FWHM croissant = f ( nb images )" et regarder à partir de combien d'images le critère FWHM se dégrade
  6. Il faut conserver un minimum d'images pour obtenir un SNR (rapport signal / bruit) suffisant tout en éliminant les FWHM trop élevés.

Voici un exemple ou il apparait que converver 34 images prétraitées pour un FWHM max égal à 8.0 semble un bon compromis (il suffit de placer le curseur de la souris sur la courbe pour lire les valeurs) :

Comparaison pretraitement

6.2.3 Relance du prétraitement

Afin de gagner un peu de temps au niveau du processus, on peut récupérer l'offset et le dark maître déjà créé lors de la passe 1 d'une séance uniquement si ces derniers sont bien identiques à toutes les séances prétraitées (binning compris)
Dans ce cas, il faut cocher au niveau du menu "Projet" : "Définir les maîtres offset et darks pour tous les projets" et sélectionner le répertoire où l'on a copié les images de calibration maître

Etapes restant à effectuer avant de relancer le processus de prétraitement depuis Sirilic :

  • Il faut s'assurer que toutes les séances (ou sessions) qui devaient être retirées suite au filtrage visuel l'ont bien été.

  • Lorsque le filtrage du FWHM max a été choisi, il faut le paramétrer au niveau de l'application Sirilic.
    Pour chaque session corespondant au(x) filtre(s) de luminance, il faut appliquer le paramètre FWHM au niveau du menu "Propriété", onglet "IMAGES" dans la partie "Rejecting Filter" (exemple : "FWHM:8.0")

  • Effectuer une sauvegarde du projet Sirilc : Menu "Fichier/Sauv"

  • Fermer l'application Siril qui ne sert plus et qui prend de la mémoire RAM pour rien

Pour relancer le processus de prétraitement, il faut :

  1. Lancer l'étape 1 : construction des dossiers (les données vont être effacées au préalable)
  2. Lancer l'étape 2 : construire et exécuter le script Siril

🔥Attention :le déroulement du script peut échouer si il n'y a pas au moins 2 images à prétraiter dans une session suite au filtrage FWHM (le message est clairement indiqué dans le log) Il faut supprimer la session dans ce cas.

6.2.4 Vérifications

A la fin de la passe 2 du processus de prétraitement, plusieurs points sont à vérifier au niveau du log de Sirilic :

  • A la fin du fichier, on peut voir le nombre d'images qui ont été alignées par filtre
  • Vérifier le nombre d'images retenues avec le critère FWHM en cherchant à partir de la fin du fichier vers le haut "Utilisation du filtre de FWHM". Le nombre se situe juste en dessous : "number of filtered-in images: 34"
  • Dans le cas d'images prises avec un binning différent, il faut s'assurer que les images prétraitées finales ont bien toute la même taille de fichier et que leur dimension en pixels sont bien au maximum des capacités de la caméra (4656 x 3520 dans mon cas, SIRIL choisi la résolution la plus grande lors de la dernière étape d'alignement des filtres et extrapole les bin2x2 en bin1x1)
  • Il se peut que SIRIL n'ait pas choisi l'image prétraitée en luminance en tant qu'image de référence pour l'alignement final des filtres entre eux : il est alors possible de le faire manuellement au niveau de SIRIL en créant une séquence spécifique avec les images prétraitées des filtres et en choisissant l'image de référence désirée pour procéder à l'alignement (il en va de même pour l'alignement des sessions corespondant à un même filtre)

Téléchargement de la procédure au format PDF

Haut de la page

Copyright © 2025 Olivier Ravayrol - Tous droits réservés




Haut de la page

A propos de ce site

Le but de ce site est de partager des photos, des techniques, des matériels avec mon retour d'expérience ainsi que celui d'autres astronomes amateurs.

Version 4.2



Contact