dimanche 9 juillet 2017

SIRIL le traitement d'images astro sous linux

Quand on veut faire du traitement d'images astronomiques sous windows  on a un très large choix d'outils tels Registax , Iris , Deepskystacker .... Lorsque j'ai délaissé windows pour linux j'ai continué à utiliser certains de ces logiciels grâce à WineHQ avant de trouver une vrai alternative : SIRIL .



Pour ses auteurs SIRIL  se veut une transposition à Linux de IRIS (L+IRIS=LIRIS->SIRIL !!) ce faisant ils ont réussi à garder le meilleur (l'efficacité des fonctionnalités)  et écarté le moins bon (l'interface Homme Machine de Iris). Pour commencer il faut installer SIRIL, si vous êtes sous ubuntu deux solutions :
  • soit vous êtes feignant  vous allez le télécharger depuis la logithèque d'ubuntu et vous démarrez SIRIL en cliquant sur l'icone du logiciel qui va apparaître dans la barre de lanceurs
  • soit vous êtes très fainéant et vous tapez dans une console la commande

    sudo apt-get install siril 

    puis lancez SIRIL via la commande   siril  
La fenêtre principale de SIRIL va s'ouvrir et vous allez pouvoir commencer à traiter vos images. Pour l'instant le logiciel n'affiche qu'une seule fenêtre principale composée de 6 onglets avec chacune un rôle bien précis :

  1. conversion :  convertir les images brutes en format fits
  2. image sequences : informations sur les séquences  d'images traitées
  3. pre-processing :pré-traiter  les images brutes
  4. registration :  aligner les images  pré-traitées 
  5. stacking : empiler les images alignées 
  6. out puts : garder les informations sur toutes les opérations faites 
quand nous allons commencer à travailler avec SIRIL il s'ouvrira en plus deux fenêtres de visualisation de l'images  (une vue par couches RGB l'autre avec  l'image finale). Pour traiter votre série d'image nous allons passer par ces 6 onglets et enchaîner les étapes usuelles du traitement d'images astro.

conversion : commencez par définir un répertoire de travail avec vos images brutes  (pour moi /home/roux/Documents/astronomie/photo/siril/deepsky/ et une série d'images avec des noms de la forme IMG_*.JPG) . Quelque soit le format (JPG, CRW, tiff, vidéo avi ou autre) SIRIL doit d'abord les convertir  au format *.fit :
  • ajouter les images (du répertoire de travail)  à la liste
  • définissez un nom générique pour les images  ("IMG_" ici) 
  •  appuyez sur le bouton conversion ...
  • SIRIL stocke les nouvelles images *.fit dans le répertoire de travail

image_sequence : désormais SIRIL a chargé en mémoire votre liste d'image IMG_*.fit c'est ce qui apparaît dans le deuxième onglet. A chaque nouvelle série d'image générée un fichier *.seq sera créé dans le répertoire de travail et cet onglet indiquera que c'est cette nouvelle série d'images qui est chargée. C'est très pratique si vous souhaitez reprendre votre travail à partir d'une des étapes (retour en arrière ou reprise après une pause).



pre-processing : c'est le moment de faire les prétraitements usuel de vos images , je vais me contenter d'un traitement avec un "dark" (pour enlever les pixels chaud et une partie du bruit thermique) mais le traitement avec BIAS ou PLU se fait de la même manière. Je suppose que j'ai déjà un fichier dark.fit dans mon répertoire de travail (mais on peut le créer avec SIRIL voir plus loin) :
  • je sélectionne le fichier dark.fit dans la ligne "use dark"  
  • je coche la ligne et je lance le prétraitement "start preprocessing"
  • une nouvelle série d'image pp_IMG_*.fit est crée 
  • ainsi qu'un fichier pp_IMG_.seq qui est sélectionné dans l'onglet image_sequence
  • les deux fenêtres de visualisation des images s'ouvrent et affichent le résultat de la première image de la séquence 

registration : il faut maintenant aligner les images, il y a plusieurs méthodes d'alignement sur une seule étoile, toute les étoiles, une petite zone de l'image. Je vous conseille cette dernière méthode, qui est sélectionnée par défaut, mais vous devez sélectionner la zone en question dans la fenêtre d'affichage des couches RGB de l'image (voir plus loin):
  • sélectionner une méthode d'alignement et  éventuellement  sélectionner une zone de l'image pour l'alignement (voir plus bas)
  • lancer l'alignement ("go resgister")
  • aucune image n'est créée mais un fichier r_pp_IMG_.seq est créé contenant la listes des décalages (en pixels) entre les images

stacking : on peut maintenant passer à l'empilement des images. Là encore il faut sélectionner  une méthode d'empilement, SIRIL choisit par défaut la méthode  "sum" pour faire une moyenne additive des images (il y en a d'autre pour les darks par exemple). Cliquez sur "start stacking" et SIRIL commence l'empilement (c'est un peu plus long que les autres traitement une dizaine de secondes pour une vingtaine d'images de 10 millions de pixels) .


Si on avait voulu créer une image dark.fit  il aurait  suffit de charger dans SIRIL la liste des darks "bruts" puis d'aller directement à l'onglet stacking (aucun alignement à faire) et de choisir la méthode "median" pour l’empilement.

Une fois l'empilement lancé  le logiciel passe automatiquement à l'onglet "out-puts" jusqu'à la fin du traitement ou une dernière fenêtre de notification apparaît.

Il ne reste plus qu'à passer au post-traitement des images, dans la barre de menu on trouvera plusieurs fonctionnalités de base pour améliorer son image  : réglage de luminosité/contraste,niveau des couleurs,retrait du gradient , traitement par ondelettes ... on pourra aussi modifier certains paramètres depuis la fenêtre de visualisation des couches RGB. Pour sauver l'image final  un clic droit dans la fenêtre de visualisation propose différents choix de sauvegarde. Toutes ces fonctionnalités mériteraient un autre billet pour être décrites!

l'alignement a été fait sur le petit carré sélectionné dans la fenêtre de visualisation

Bilan  : personnellement après ce premier test j'ai adopté SIRIL  et je l'ai utilisé pour mes dernières images astro :

les points forts 


  • une interface très épurée on ne perd pas de temps à chercher les menus 
  • une vitesse de traitement très rapide 
  • les résultats de chaque étape sont enregistrés avec un fichier *.seq qui permet à siril de reprendre la chaîne de traitement depuis cette étape 




les points faibles (il faut bien en trouver !) :


  • une fois l'image finale obtenue , l'interface très épurée est un peu moins parlante pour retrouver certains traitement 
  •  SIRIL renumérote les images brutes avec un nom déconnecté de celui du fichier d'origine problème si on veut réaliser des opérations qui exploitent les données exif des fichiers de départ ( comme par exemple des timelapse avec affichage de l'heure



  • on aurait bien aimé pouvoir docker les 3 fenêtres dans une seule et même fenêtre principale pour s'adapter à l'environnement disponible, le fait que la fenêtre principale ne soit pas redimensionnable est parfois gênant ..
  • on a hâte de retrouver toutes les fonctionnalités de IRIS ( gradient rotationnel, photométrie, astrométrie ...)


4 commentaires:

  1. Bonjour. Pour posséder la dernière version disponible il faut installer la version PPA de Ubuntu. En effet, la version des dépots est la version 0.9.1. Celle-ci est obsolète.
    Comment faire : https://doc.ubuntu-fr.org/siril

    La version actuelle, la 0.9.7, est bien meilleure que la 0.9.1

    RépondreSupprimer
  2. Très intéressant en effet.
    Pour rebondir sur le com de lock :
    A partir de la version Ubuntu 17.04, la version est 9.4 et à partir de la 17.10 il s'agit de la 9.7
    Sinon je me permets quelques ressources si on désire aller plus loin :
    https://free-astro.org/siril_doc-fr/#Reference_documentation_1
    et côté Ubuntu ne pas oublier la doc de base :
    https://doc.ubuntu-fr.org/siril

    RépondreSupprimer
    Réponses
    1. Merci pour ces précisions. En général je reste sur les versions LTS d'ubuntu, d'où mon décalage, une mise à jour complète du système tous les 2 ans c'est déjà bien :-)

      Supprimer
  3. Bonjour,

    Merci beaucoup pour ce tuto, je débute en Astro et je suis sous Linux Mint, je viens de tester Siril et les 1er résultats sont vraiment bons.

    RépondreSupprimer

Pour écrire des formules mathématiques vous pouvez utiliser la syntaxe latex en mettant vos formules entre des "dollars" $ \$....\$ $ par exemple :
- $\sum_{n=1}^\infty {1\over n^2}={\pi^2\over 6}$ s'obtient avec \sum_{n=1}^\infty {1\over n^2}={\pi^2\over 6}
- $\mathbb R$ s'obtient avec {\mathbb R} et $\mathcal D$ s'obtient avec {\mathcal D}
- pour les crochets $\langle .,. \rangle$ dans les commentaires utilisez \langle .,. \rangle
vous pouvez écrire du html dans les commentaires :
- italique <i> ... </i> gras <b> ... </b>
- lien <a href="http://adresse "> .... </a>