LIB TT 
une librairie de prétraitement d'images astronomiques 
version 20021115

Manuel de l'utilisateur

Ce guide de l'utilisateur s'adresse aux astronomes qui veulent écrire des scripts de traitement d'image utilisant la librairie TT. Rappelons que seul le format d'images FITS est reconnu.

1. Guide de référence du mode script de TT

L'intérêt principal de la librairie TT est de pouvoir exécuter des commandes entrées sous la forme de scripts.Un script TT est composé d'une seule chaîne de caractères contenant des lignes (séparateurs \n du langage C). Chaque ligne est analysée séquentiellement. Au sein d'une ligne, la première chaîne de caractères rencontrée doit contenir le mot clé de définition. Si le mot clé n'est pas reconnu, le restant de la ligne est interprété comme une simple remarque. Le séparateur blanc est utilisé pour les paramètres suivants de la ligne.

Il existe actuellement quatre mots-clés de définition :

1.1. Paramétrages des définitions IMA/

La forme générale d'une ligne définie par un mot clé de type IMA/ est la suivante :définition rep_in nom_in ext_in indice_deb indice_fin rep_out nom_out ext_out indice_out fonction paramètres ... Exemple d'une ligne de script :IMA/STACK . i 1 5 .fit c:\toto j . .fit SK bitpix=32 kappa=1.5 nullpixel=-1000 jpegfile

Ce script demande d'effectuer un pile kappa-sigma (fonction SK) des images i1.fit à i5.fit du répertoire courant en une image j.fit dans le répertoire c:\toto. L'image j.fit sera enregistrée en entiers de 4 octets (bitpix=32), le coefficient kappa vaut 1.5 et les pixels de valeur inférieure ou égale à -1000 ADU ne seront pas pris en compte dans calcul des kappa-sigma.

A noter : dans ce propos, le terme de nom complet signifie le nom du fichier incluant le répertoire et le suffixe. Ainsi : c:\toto\j.fit est un nom complet alors que le nom de l'image est j.

Si un paramètre doit contenir des caractères blancs, encadrer le paramètre par des doubles quotes. Par exemple :

IMA/SERIES . i 1 5 .fit c:\toto j 1 .fit RESAMPLE "paramresample=1.5 0 0 0 1.5 0 0"

les double quotes doivent encadrer aussi le mot désignant le paramètre.

Noter que l'extension .mt pour le format FITS gère le système d'indexation des images différemment des autres extensions. Des zéros sont ajoutés automatiquement devant les indices pour que l'indice contienne 4 chiffres. Par exemple IMA/SERIES . i 1 5 .mt c:\toto j 1 .fit COPY, va chercher les fichiers i0001.mt à i0005.mt en lecture.

1.1.1. Liste générale des fonctions disponibles pour IMA/

 
mot clé de définition [et paramètres disponibles] mot clé de la fonction [et paramètres disponibles]
IMA/STACK [bitpix jpegfile skylevel nullpixel 
jpeg_quality]
ADD 
SK [kappa] 
SORT [percent] 
MED 
MEAN
IMA/SERIES [bitpix jpegfile skylevel nullpixel 
jpeg_quality]
SUB [file offset] 
ADD [file offset] 
OFFSET [offset] 
COPY [nbsubseries] 
DIV [file] [constant] 
FILTER [threshold] [type_threshold] [kernel_width] [kernel_type] [kernel_coef] 
OPT [dark] [bias] [therm_kappa] [unsmearing] 
TRANS [trans_x] [trans_y] 
STAT [pixelsat_value] [fwhm] [objefile] [pixefile] [border] [detect_kappa] [pixint] 
DELETE 
NORMGAIN [normgain_value] 
NORMOFFSET [normoffset_value] 
CATCHART [path_astromcatalog] [astromcatalog] [catafile] [jpegfile_chart]  [jpegfile_chart2] 
HEADERFITS [file] 
REGISTER [translate] [normaflux] 
ASTROMETRY [file_ascii] 
UNSMEARING [unsmearing] 
INVERT [mirror] [flip] [xy] [normaflux] 
CONV [kernel_type] [sigma] 
SUBDARK [dark] [bias] [exptime] [dexptime] [unsmearing] 
RGRADIENT [xcenter] [ycenter] [radius] [angle] 
HOUGH [threshold] [binary] 
BACK [back_kernel] [back_threshold] [sub] [div] 
RESAMPLE [paramresample] [normaflux] 
CUTS [hicut] [locut] [keytype] [cutscontrast] 
MULT [constant] 
SORTX [x1] [x2] [width] 
SORTY [y1] [y2] [height] 

Fonctions écrites par tt_user3 
ROT [y0] [x0] [angle] 
BINX [x1] [x2] [width] 
BINY [y1] [y2] [height] 
PROFILE [offset] [direction] [filename] 
MATRIX [x1] [x2] [y1] [y2] [filematrix] 
WINDOW [x1] [x2] [y1] [y2] 
LOG [offsetlog] [coeff] 
MEDIANX [x1] [x2] [width] 
MEDIANY [y1] [y2] [height] 
REC2POL [y0] [x0] [scale_theta] [scale_rho] 
POL2REC [y0] [x0] [scale_theta] [scale_rho] [width] [height] 

Fonctions écrites par tt_user4 
ASTROMETRY2

 1.1.1.2. Paramètres optionnels de la définition IMA/SERIES

1.1.1.3. Paramètres optionnels de la définition IMA/STACK

1.2. Fonctions de la définition IMA/STACK

Chacune des fonctions de IMA/STACK peut être associée aux paramètres optionnels généraux de IMA/STACK. Les paramètres optionnels (et leur argument) spécifiques à chaque fonction sont décrits maintenant :

1.2.1. Fonction ADD

1.2.2. Fonction MEAN

1.2.3. Fonction MED

1.2.4. Fonction SORT

1.2.5. Fonction SK

1.3. Fonctions de la définition IMA/SERIES

Chacune des fonctions de IMA/SERIES peut être associée aux paramètres optionnels généraux de IMA/SERIES. Les paramètres optionnels (et leur argument) spécifiques à chaque fonction sont décrits maintenant :

1.3.1. Fonction ADD

1.3.2. Fonction SUB

1.3.3. Fonction OFFSET

1.3.4. Fonction COPY

1.3.5. Fonction DIV

1.3.6. Fonction FILTER

1.3.7. Fonction OPT

1.3.8. Fonction TRANS

1.3.9. Fonction STAT

1.3.10. Fonction DELETE

1.3.11. Fonction NORMGAIN

1.3.12. Fonction NORMOFFSET

1.3.13. Fonction CATCHART

1.3.14. Fonction HEADERFITS

1.3.15. Fonction REGISTER

1.3.16. Fonction ASTROMETRY

 
Le paramètre [epsilon] permet de régler le rayon d'appariement de la méthode des triangles (=0.002 par défaut). [delta] permet de régler le nombre de pixels d'appariement final (=1 par défaut).
Si le paramètre [objefile] est présent, il indique le nom du catalogue généré par Sextractor à utiliser comme liste d'objets. Le catalogue est de la forme suivante :
    Indice    Flux    ErrFlux    Mag    ErrMag    Backgnd    X    Y    X2    Y2    XY    a    b    theta    fwhm    flag
    avec     X2 : moment d'ordre 2 selon X
                Y2 : moment d'ordre 2 selon Y
                XY : moment d'ordre 2 selon X-Y
                a : grand axe de l'ellipse représentant au mieux l'objet
                b : petit axe de l'ellipse représentant au mieux l'objet
                theta : angle de l'ellipse représentant au mieux l'objet
                flag : flag sextractor

1.3.17. Fonction UNSMEARING

1.3.18. Fonction INVERT

1.3.19. Fonction CONV

1.3.20. Fonction SUBDARK

Soustraction d'un dark de temps de pose différent des images brutes. Le nom du dark est [dark] et celui du bias est [bias]. Si [exptime] est le temps d'intégration des images et [dexptime] le temps d'exposition du dark, le dark est corrigé du rapport de ces valeurs. Si [exptime] et [dexptime] sont des chaînes de caractères, alors la valeur des temps d'intégration sera recherchée comme la valeur de ces mots clé.
Par défaut, [exptime]="EXPTIME" et [dexptime]="EXPTIME".

A la suite des corrections précédentes, il est possible d'effectuer une correction de traînée (deconvflat) dans le cas d'une image effectuée avec une caméra sans obturateur. Pour ce faire, indiquer la valeur du rapport de lecture (en général proche de 0.0005) dans le paramètre [unsmearing].

1.3.21. Fonction RGRADIENT

Effectue un gradient rotationnel, centré sur la position pixel définie par [xcenter] [ycenter]. Le gradient a pour paramètre radial [radius] (en pixel) et pour paramètre angulaire [angle] (en degrés).

1.3.22. Fonction ROT

Effectue une rotation d'un [angle] (en degrés) autour du point défini par les coordonnées [x0] [y0]. Les mots clé d'astrométrie (WCS), éventuellement présents dans l'en-tête Fits, sont modifiés en conséquence.

1.2.23. Fonction BINX

Attribue, à chaque ligne, une valeur constante égale à la somme de tous les pixels de cette ligne entre les pixels [x1] et [x2]. L'image finale comporte [width] colonnes (20 par défaut).

1.2.24. Fonction BINY

Attribue, à chaque colonne, une valeur constante égale à la somme de tous les pixels de cette colonne entre les pixels [y1] et [y2]. L'image finale comporte [height] colonnes (20 par défaut).

1.2.25. Fonction PROFILE

Extrait la valeur numérique des pixels d'une ligne ou d'une colonne dans un fichier texte [filename]. [direction]=x ou y respectivement pour effectuer le profil selon les lignes ou les colonnes. [offset] représente le numéro de ligne ou de colonne sur lequel sera effectué le profil. Si [direction]=x, alors [offset] peut être compris entre 1 et le nombre de colonnes. Si [direction]=y, alors [offset] peut être compris entre 1 et le nombre de lignes.

1.2.26. Fonction MATRIX

Extrait une fenêtre [x1] [x2] [y1] [y2] de l'image et écrit les valeurs de ces pixels dans un fichier texte [filematrix]. L'image de sortie est la même que celle d'entrée.

1.2.27. Fonction WINDOW

Extrait une image de sortie dans la fenêtre [x1] [x2] [y1] [y2] de l'image d'entrée.

1.2.28. Fonction LOG

Effectue une opération mathématique de logarithme selon la formule :
[coeff] *log10(value-[offsetlog])

La valeur [nullpixel] (zéro par défaut) apparaît lorsque (value-[offsetlog]) est négatif (log non défini).

1.2.29. Fonction MEDIANX

Attribue, à chaque ligne, une valeur constante égale à la médiane de tous les pixels de cette ligne entre les pixels [x1] et [x2]. L'image finale comporte [width] colonnes (20 par défaut).

1.2.30. Fonction MEDIANY

Attribue, à chaque colonne, une valeur constante égale à la médiane de tous les pixels de cette colonne entre les pixels [y1] et [y2]. L'image finale comporte [height] colonnes (20 par défaut).

1.2.31. Fonction REC2POL

Projection polaire centrée en [y0] [x0] de l'image d'entrée. Par défaut, les axes polaires ont 1degré/pix pour l'angle et 1 pix/pix pour l'éloignement. Il est possible de modifier ces valeurs en utilisant les facteurs d'échelle [scale_theta] [scale_rho].

1.2.32. Fonction POL2REC

Projection cartésienne centrée en [y0] [x0] à partir de l'image d'une projection polaire. Il est possible de modifier les valeurs des facteurs d'échelle [scale_theta] [scale_rho]. Enfin, [width] et [height] sont les largeur et hauteur de l'image finale.

1.2.33 Fonction HOUGH

Transformée de Hough. Chaque point de l'image, supérieur à [threshold] (=0 par défaut), est représenté, dans l'espace de Hough (T, R) par une sinusoïde d'intensité I, d'équation R = y*sin(T) - x*cos(T) avec -90<=T<90. La valeur R=0 est située à la ligne telle que y=naxis2/2 et la valeur T=0 est située à la colonne x=naxis1/2 (T=0, R=0 est donc au milieu de l'image). L'échelle de T vaut 1 degré par pixel (R est en pixel de l'image initiale). I vaut 1 si on a précisé [binary] sinon il vaut la valeur d'intensité du pixel de l'image initiale. La transformée de Hough permet de repérer la position de pixels alignés (traînée de smearing, satellite, avion, etc.).

1.2.34. Fonction BACK

Synthétise une image du fond de ciel. L'image est d'abord découpée en pavés carrés de côté [back_kernel] (=8 par défaut) pixels. Dans chaque carré est calculée la valeur du fond de ciel en prenant la fraction [back_threshold] (=0.1 par défaut) des valeurs de pixels triés dans l'ordre d'intensité croissante (back_threshold=0 pour ne prendre que les valeurs minimales et =1 pour les valeurs maximales).
Ajouter [sub] sans argument si l'on souhaite obtenir directement le résultat de la soustraction du fond à l'image initiale (une valeur constante égale à la moyenne du fond synthétique est ajoutée au résultat de façon à retrouver la dynamique initiale).

Ajouter [div] sans argument si l'on souhaite obtenir directement le résultat de la division du fond à l'image initiale (une valeur constante égale à la moyenne du fond synthétique est multipliée au résultat de façon à retrouver la dynamique initiale).

1.2.35. Fonction ASTROMETRY2

Effectue l'astrométrie de la même manière que ASTROMETRY mais calcule les coefficients de déformation du second ordre. ces coefficients sont codés par les mots clés FITS standards PV* dans l'en-tête de l'image de sortie.

1.2.36 Fonction RESAMPLE

Effectue une transformation linéaire de type :
x_out = a[0]*x_in + a[1]*y_in + a[2]
y_out = a[3]*x_in + a[4]*y_in + a[5]

La valeur des coefficients a[0] à a[5] est codée dans le paramètre [paramresample] sous la forme de la suite des coefficients 0 à 5. Par exemple, pour effectuer une réduction homogène de l'image d'un facteur 2, on écrira :

IMA/SERIES ... RESAMPLE "paramresample=0.5 0 0 0 0.5 0"

Par défaut, l'intégrale du flux est conservée (par exemple, si l'image est dilatée d'un facteur deux sur les deux axes, sa dynamique sera réduite d'un facteur quatre). Pour imposer une normalisation autre du flux, utiliser le paramètre [normaflux]. Par exemple, pour garder la dynamique originelle, utiliser normaflux=1.

Les mots clé d'astrométrie (WCS), éventuellement présents dans l'en-tête Fits, sont modifiés en conséquence de la transformation géométrique.

1.2.37 Fonction CUTS

Calcule les seuils de visualisation de l'image par analyse de l'histogramme. La valeur des seuils est complétée dans l'en-tête FITS. Le mot clé correspondant au seuil haut est définit par [hicut] (MIPS-HI par défaut) et celui du seuil bas est définit par [locut] (MIPS-LO par défaut). Le type de valeur pour l'en-tête FITS est donnée par [keytype] et peut valoir INT, FLOAT ou STRING (INT par défaut). Par exemple :
IMA/SERIES ... CUTS hicut=SH locut=SB keytype=FLOAT

Les paramètres [lofrac] et [hifrac] servent à fixer la fraction de l'histogramme où seront calculés les seuils. [lofrac] (=0.05 par défaut) est la fraction pour le seuil bas et [lofrac] (=0.05 par défaut) est la fraction pour le seuil haut. ces valeurs peuvent varier de 0 à 1.

Le paramètre [cutscontrast] (=1 par défaut) sert à adoucir le contraste. Plus sa valeur est grande, plus doux sera le contraste. La valeur doit être une quantité réelle positive ou nulle.

La méthode de calcul de la fonction CUTS fourni un résultat bien plus rapide que le calcul des seuils par la fonction STAT. Cependant, la qualité du calcul est un peu meilleure pour la fonction STAT que l'on préférera pour des petites images (inférieures à 500x500 typiquement). La fonction CUTS présente un grand intérêt sur les grandes images car seuls 100 000 points servent au calcul. Le temps de calcul est donc le même quelque soit la taille de l'image (alors qu'il peu devenir long pour la fonction STAT).

1.3.38. Fonction MULT

1.2.39. Fonction SORTX

Attribue, à chaque ligne, une valeur constante égale à la valeur triée à [percent] (=50 pour la médiane, =100 pour le maximum) de tous les pixels de cette ligne entre les pixels [x1] et [x2]. L'image finale comporte [width] colonnes (20 par défaut).

1.2.40. Fonction SORTY

Attribue, à chaque colonne, une valeur constante égale à la valeur triée à [percent] (=50 pour la médiane, =100 pour le maximum)  de tous les pixels de cette colonne entre les pixels [y1] et [y2]. L'image finale comporte [height] colonnes (20 par défaut).

2. Exemples de scripts

Nous allons étudier ici quelques cas classiques de traitement d'images astronomiques.

2.1. Prétraitement des images CCD

Le prétraitement des images consiste à soustraire le dark aux images brutes puis de diviser par le flatfield.
Tout cet exemple traite des images acquises suivantes : Nous allons d'abord préparer des images synthétiques de bias, dark et flat, résultant d'empilements, afin d'atténuer le bruit. Enfin, nous allons prétraiter les images en utilisant la méthode de l'optimisation du thermique. Les images prétraitées seront placées dans le chemin ./prt

2.1.1. Préparation du bias

Le bias est une image de très court temps d'intégration, obtenue dans le noir absolu. Le prétraitement proposé consiste à faire une pile médiane : IMA/STACK ./bias/ bias- 1 9 .fit ./bias/ bias . .fit MED

2.1.2. Préparation du dark

Le dark est une image de temps d'intégration proche de celui des images sky, obtenue dans le noir absolu. Le prétraitement proposé consiste à faire une pile médiane : IMA/STACK ./dark/ dark- 1 9 .fit ./dark/ dark . .fit MED

2.1.3. Préparation du flat

Le bias est une image obtenue sur une surface lumineuse la plus uniforme possible. Le prétraitement proposé consiste à faire une correction de dark, suivie d'une normalisation en gain et d'une pile médiane.SET/VAR $smearing 0
IMA/SERIES ./flat/ flat- 1 9 .fit ./flat/ f . .fit OPT bias=./bias/bias.fit dark=./dark/dark.fit unsmearing=$smearing
IMA/SERIES ./flat/ f- 1 9 .fit ./flat/ f . .fit NORMGAIN normgain_value=10000
IMA/STACK ./flat/ f- 1 9 .fit ./flat/ flat . .fit MED
IMA/SERIES ./flat/ f- 1 9 .fit . . . .fit DELETE

Si les images ont été obtenues avec un obturateur, la valeur de $smearing doit être égale à zéro. Avec des images obtenues sans obturateur, il est nécessaire de placer une valeur non nulle à $smearing.

2.1.4. Prétraitement des images brutes

SET/VAR $sky sky
SET/VAR $smearing 0
IMA/SERIES ./sky/ $sky- 1 9 .fit ./prt/ i . .fit OPT bias=./bias/bias.fit dark=./dark/dark.fit unsmearing=$smearing
IMA/SERIES ./prt/ i- 1 9 .fit ./prt/ i . .fit DIV file=./flat/flat.fit constant=10000
IMA/SERIES ./prt/ i- 1 9 .fit ./prt/ i . .fit NORMOFFSET normoffset_value=200 skylevelSi les images ont été obtenues avec un obturateur, la valeur de $smearing doit être égale à zéro. Avec des images obtenues sans obturateur, il est nécessaire de placer une valeur non nulle à $smearing.

2.1.5. Registration et empilement des images prétraitées

SET/VAR $sky sky
IMA/SERIES ./prt/ i- 1 9 .fit ./prt/ i . .fit STAT objefile=./prt/x$sky.fit
IMA/SERIES ./prt/ i- 1 9 .fit ./prt/ i . .fit REGISTER translate=before nullpixel=-1000
IMA/STACK ./prt/ i- 1 9 .fit ./prt/ $sky . .fit MED nullpixel=-1000
IMA/SERIES ./prt/ i- 1 9 .fit . . . .fit DELETE
IMA/SERIES ./prt/ x$sky . . .fit . . . .fit DELETE

2.1.6. Mise en forme de l'image prétraitée

SET/VAR $sky sky
IMA/SERIES ./prt/ $sky . . .fit ./prt/ $sky . .fit STAT fwhm jpegfile=./prt/$sky.jpg

2.2. Calibration astrométrique d'une image prétraitée

IMA/SERIES ./prt/ $sky . . .fit ./prt/ $sky . .fit STAT objefile=./prt/x$sky.fit
IMA/SERIES ./prt/ $sky . . .fit ./prt/ $sky . .fit CATCHART path_astromcatalog=/cdrom/  astromcatalog=Microcat catafile=./prt/c$sky.fit
IMA/SERIES ./prt/ $sky . . .fit ./prt/ $sky . .fit ASTROMETRY
IMA/SERIES ./prt/ $sky . . .fit ./prt/ $sky . .fit CATCHART path_astromcatalog=/cdrom/  astromcatalog=Microcat catafile=./prt/c$sky.fit jpegfile_chart2=./prt/$skyb.jpg
IMA/SERIES ./prt/ x$sky . . .fit . . . .fit DELETE
IMA/SERIES ./prt/ c$sky . . .fit . . . .fit DELETE
 
 

Cette page est tenue à jour par Alain Klotz.
Dernière mise à jour le : 15/11/2002

Accueil | Copies d'écrans | Télécharger | Plan du site | Interface standard | Observations à thèmes | Scripts | Extensions | FAQ | Qui veut aider ? | Liens | Suivi des bugs | Suivi des scripts

 


Copyright © AUDELA