Audela |
![]() |
La librairie libRGB ajoute des fonctions de manipulation de fichiers et de buffers d'images en couleurs à un interpréteur Tcl utilisant Audela. Le principe général de libRGB est de séparer l'image d'un buffer en ses trois composantes rouge, vert, bleu (RGB) et les afficher à l'écran. Techniquement, les caméras CCD couleurs fournissent une image dans le buffer dans lequel les pixels correspondent à l'une des trois couleurs. En fonction de l'algorithme de codage utilisé par le constructeur du composant CCD, on peut repérer la couleur de chaque pixel et synthétiser trois images correspondant aux couleurs prises séparément les unes des autres.
Sépare les trois composantes RGB d'un buffer en trois buffers.On peut préciser le numéro des trois buffers R, G et B en les indiquant dans une liste associée à l'option -buffer. Par défaut, les buffers R, G et B ont pour numéro respectif 1001, 1002 et 1003. Il n'est pas nécessaire de créer les buffers (::buf::create) avant la fonction rgb_split (elle les crée elle même).
On peut spécifier le type d'algorithme de codage de la couleur en précisant le type de l'option -rgb. Les caméras couleurs suivantes ont été identifiées :
- Kaf-0400C : -rgb cfa
- WebCam : -rgb bgr (testé uniquement sur Philips VestaPro)
Affiche une image couleur dans une zone de visualisation. La liste {hicutr locutr} contient les valeurs numériques du seuil haut et du seuil bas de visualisation de l'image rouge. {hicutg locutg} {hicutb locutb} ont les mêmes rôles mais pour les images verte et bleue respectivement.L'option -zoom permet d'effectuer un affichage grossi (valzoom=1 par défaut). Les valeurs autorisées sont 1, 2 et 4.
L'option -window permet de n'afficher qu'une fenêtre de l'image.
L'option -buffer permet de préciser le numéro des trois buffers R, G et B en les indiquant dans une liste associée. Par défaut, les buffers R, G et B ont pour numéro respectif 1001, 1002 et 1003.
L'option -image permet de préciser le numéro de l'image spécifiée par l'option "-image image" lors de la création du widget image Tk.
L'exemple ci dessous montre l'utilisation de la fonction rgb:
#--- crée une fenetretoplevel .testcolorwm geometry .testcolor 768x512+0+0wm title .testcolor "test pour images en couleur"#--- cree le canevas pour l'imagecanvas .testcolor.canvas -borderwidth 0 -relief flat -width 768 -height 512pack .testcolor.canvas#--- cree un widget image dans un canvas pour afficher l'objet de visualisation.testcolor.canvas create image 1 1 -image image1000 -anchor nw -tag img1#--- cree une zone de visualisation pour le buffer 1001, l'image 1000 (et on crée l'objet visu20)::visu::create 1001 1000 20#--- charge une image RGBbuf1 load m57#--- sépare l'image RGB du buffer 1 en trois buffers 51, 52 et 53 pour R, G et Brgb_split 1 -buffer {51 52 53} -rgb bgr#--- affiche l'image en couleur à partir des buffers 51, 52 et 53reg_visu {300 0} {300 0} {300 0} -buffer {51 52 53} -image 1000
Cette fonction permet d'enregistrer les trois buffers image dans un seul fichier FITS. filename est le nom du fichier FITS qui contiendra l'image couleur enregistrée.L'option -buffer permet de préciser le numéro des trois buffers R, G et B en les indiquant dans une liste associée. Par défaut, les buffers R, G et B ont pour numéro respectif 1001, 1002 et 1003.
Si on précise trois noms de fichiers au lieu d'un seul (cas où filenameg filenameb son utilisés) alors l'image couleur sera enregistrée par trois fichiers FITS indépendants sur le disque.
Cette fonction permet de lire les trois buffers image enregistrés préalablement dans un seul fichier FITS. filename est le nom du fichier FITS qui contient l'image couleur.L'option -buffer permet de préciser le numéro des trois buffers R, G et B en les indiquant dans une liste associée. Par défaut, les buffers R, G et B ont pour numéro respectif 1001, 1002 et 1003.
Si on précise trois noms de fichiers au lieu d'un seul (cas où filenameg filenameb son utilisés) alors l'image couleur sera chargée en mémoire à partir des trois fichiers FITS indépendants sur le disque.