Le scripting pour iris

Iris, le freeware de Christian Buil est un des logiciels de traitement les plus utilisé en astronomie, il permet l'aquisition, le prétraitement et le traitement
d'images webcam, apn et ccd, ses fonctionnalités vont même jusqu'au traitement d'image à caractère scientifique.
Ce logiciel a la partiularité de proposer une interface graphique très sobre, mais aussi un interpréteur de commande, et c'est lui qui fait la puissance d'iris.

screenonglet

En effet, après avoir lu de nombreux tutoriaux, et avoir pratiqué un peu je me suis aperçut que les commandes accessibles depuis l'interface sont les plus utilisées
mais ne représentent qu'une petite partie de l'éventail des possibilitées d'iris, de très nombreuses foncitonnalités étant accessibles uniquement à partir des commandes, la liste des commande est accessible à l'adresse http://www.astrosurf.com/buil/iris/tutorial17/doc30_fr.htm

screenshot

Une fois que la maitrise de ces commandes commence à venir, on s'aperçoit qu'il devient indispensable de scripter  ces commande pour gagner du temps.
Un script et un fichier texte en .pgm que l'on cré par defaut dans le répertoire C:\\ et qui contient une liste de commande préalablement écrite.
Ce script sera utilisé en lancant depuis iris la commande >run script  ou script est le nom de votre script.
Toutes les informations sur le scripting sous iris sont expliquées ici

Bien que la plupart des chaîne des traitement et prétraitement soient déjà écrites, ou que des commande existent pour prendre en charge
une série d'image, on peut remarquer que l'écriture de script destinés à traiter de manière répétitive une série d'image peut s'avérer longue et fastidieuse.
En particulier dans l'exemple qui va suivre, ou je veut traiter une série d'image de manière à réaliser une animation avec virtualdub.
J'ai donc écrit une toute petite application en c console: un générateur de script pour iris.

Pour ceux qui ont déjà un ide voici un exemple de code à utiliser pour écrire ce fichier scriptiris.pgm

#include <stdio.h>    //include nécessaire à l'usage du language c
#include <stdlib.h>

int main()
{

unsigned long iii=1;            // déclaration de la variable d'itération
FILE* fichier = NULL;         // et du pointeur sur notre fichier


fichier = fopen("C:\\scriptiris.pgm", "w+"); \
    if (fichier == NULL) \
        {printf("Impossible d'ouvrir le fichier scriptiris.txt");}

                                    // ici on créé notre fichier scriptiris.pgm

fprintf(fichier,"th_cut readyy readyyy 360 0 100 \n");   

                                    //réglage des seuil ( de 0 à 360) pour les 100 images

while (iii < 101)
{
    fprintf(fichier,"load ready%ld  \n",iii);      //chargement de la iiième image ready
    fprintf(fichier,"setsubsky 5 2  \n");         // régle les coeff de retrait de gradient
    fprintf(fichier,"subgradient mask  \n");     //retrait du gradient avec  masque
    fprintf(fichier,"sblur 3 5  \n");                 // flou coloré sur les étoiles
    fprintf(fichier,"scale 1 0.25 0.25  \n");     // réduction d'un facteur 4 des images
    fprintf(fichier,"save readyy%ld  \n",iii);     // sauvegarde des images
    iii++ ;
}


fclose(fichier);
    return 0;
                            //fermeture du fichier et fin

}

Icone
Comme on peut le voir, l'application a généré un fichier.pgm de 11ko contenant l'ensemble de nos commandes.

screenpgm

Bien sur il est possible décrire des scripts bien plus complexes, comprenant des directives de poses et des commentaire etc etc ...
Vous trouverez de bonnes astuces ainsi que le logiciel scriptis sur cette page  http://www.astrolabo.com/?p=1599