specINTI

V 1.2.1

par Christian Buil

specINTI Editor

V 1.2.1

par Valérie Desnoux 

10 mars 2022

Sommaire :



1 : A quoi sert specINTI 

2 : De quoi parle-t-on 

3 : Comment installer specINTI et specINTI Editor

3.1 : Sous Windows

3.2 : Sous macOS

3.3 : Sous Linux

3.3 : Installer la base de données spectrales

4: Pour démarrer

4.1 : La configuration instrumentale

4.2 : La session d’observation

4.3 : Comment afficher une image avec specINTI Editor

4.4 : La méthode d’étalonnage utilisée

4.5 : Comment fonctionne specINTI

4.6 : Un premier exemple de traitement

4.7 : Comment afficher un profil spectral

4.8 : Principes généraux d’utilisation de specINTI Editor

4.9 : specINTI en vidéo

5 : Dans l’intimité de specINTI

5.1 : La correction géométrique des spectres

5.2 : L’étalonnage spectral

    5.2.1 : Etalonnage automatique

    5.2.2 : Etalonnage semi-automatique

5.3 : L’évaluation de la réponse instrumentale

5.4 : L’étalonnage spectral : épisode 2

5.5 : Comment réduire le bruit

6 : Les modes d’étalonnage supportés

7 : Le contenu du fichier « observation »

8 : Exemple d’utilisation du mode d’étalonnage #0

9 : Second exemple d’utilisation mode d’étalonnage #0

10 : Exemple d’utilisation du mode d’étalonnage #1

11 : Exemple d’utilisation du mode d’étalonnage #2

12 : Exemple d’utilisation du mode d’étalonnage #3

13 : Exemple d’utilisation du mode d’étalonnage #4

14 : Exemple d’utilisation avec les données d’un spectrographe ALPY600

15 : Les modes spéciaux

15.1 : Mode -1 : évaluation du polynôme de dispersion avec un spectre en absorption

15.2 : Mode -2 : évaluation du polynôme de dispersion avec un spectre en émission

15.3 : Mode -3 : évaluation du bruit et du gain de la caméra

16 : Paramètres avancés

16.1 : Comment conserver la position verticale des traces de spectres

16.2 : Comment imposer le non retrait du fond de ciel

16.3 : Comment imposer un décalage spectral 

16.4 : Comment réaliser un binning sur le profil spectral

16.5 : Comment agir manuellement sur la géométrie du spectre 2D

16.6 : Comment exploiter optimalisent le flat-field

16.7 : Comment calculer la réponse instrumentale

16.8 : Comment contrôler le bon déroulement du traitement

17 : L’interface de specINTI Editor

18 : Manuel de référence du fichier de configuration

19 : Manuel de référence du fichier d’observation

20 : vidéos et compléments

Annexe : le matériel d’observation

Pour faciliter la lecture, vous pouvez télécharger l’ensemble de cette documentation sous la forme d’un fichier PDF. Cliquez sur ce lien : specINTI.pdf

1 : A quoi sert specINTI 

specINTI est un logiciel informatique qui traite de les images spectrales réalisées avec un spectrographe à réseau.


Si vous êtes un habitué des logiciels de traitement d’images ou de retouche d’images, vous n’allez pas être dépaysé. Il est en effet question de partir d’une image  « brute » prise au télescope et que l’on cherche à améliorer, embellir ou encore, y extraire un détail particulier.


Le point de départ est donc le même, que l’image numérique soit prise directement au foyer du télescope ou au travers d’un spectrographe. Ce dernier est tout de même un filtre plus sophistiqué que ceux que l’on utilise parfois en imagerie du Ciel Profond. De fait, un spectrographe n’est rien d’autre qu’un ensemble de filtres colorés (des milliers !) mis bout à bout pour explorer la lumière colorée des astres, du bleu au rouge par exemple. Le logiciel doit éliminer quelques défauts des images brutes, venant du détecteur où de toute le reste de l’instrument. Ces défauts ont tendance à transformer la réalité de l’image originelle, ce que le logiciel cherche à corriger. C’est le même combat que vous utilisiez un logiciel de retouche d’image traditionnel ou un logiciel de traitement de données spectrales.


L’analogie ne s’arrête pas là. Il arrive qu’avec un logiciel de traitement d’images vous cherchiez à fusionner des images distinctes d’un astre du ciel pris au travers de filtres colorés, bleu, vert et rouge, afin de construire une image en couleur de celui-ci. Le résultat est souvent spectaculaire. En spectrographie, après les opérations basiques de traitement - transparentes pour vous - le logiciel assemble les micro-imagettes du même astre, réalisées cette fois dans une myriade de filtres, afin de construire une courbe d’intensité en fonction de la couleur, plus facile à apprécier et à interpréter que de simples nombres. Cette courbe présente sous forme graphique la distribution spectrale du rayonnement, communément appelée « profil spectral ». Si vous êtes un amoureux de la couleur des astres, avec la minutie avec laquelle elle est détaillée, vous allez apprécier la spectrographie et ce qu’elle permet de voir !


Soyons honnêtes, si vous avez lu quelques livres sur la question ou consulté la partie « Etoile » du site Sol’Ex, vous vous êtes sûrement rendu compte qu’un spectrographe tel que Star’Ex ne va pas immédiatement donner une magnifique image en multicouleurs de la galaxie Messier 51 (certains spectrographes sont cependant capables de cette prouesse, comme MUSE). Les objets que nous allons prioritairement observer dans le ciel sont des étoiles, c’est-à-dire des points lumineux sur la voûte céleste. Mais quel spectacle ! Sûrement inattendu pour la plupart d’entre-vous. Une large majorité des connaissances du cosmos vient en effet de notre fameux « profil spectral ». Il est impossible de passer au travers, même lorsqu’on est amateur, dès lors que l’on est curieux des choses du ciel.



2 : De quoi parle-t-on  


Cela n’intéressera vraiment que les spécialistes de la programmation informatique, mais sachez tout de même que specINTI est un logiciel écrit en langage Python, très populaire, simple à apprendre et puissant. Rassurez-vous, nul n’est besoin de connaître la programmation pour utiliser specINTI. spenINTI est une application multiplateforme. Vous pouvez télécharger ldes versions aussi bien pour un ordinateur Windows, MacOS ou Linux. L’installation ne prend que quelques secondes et le logiciel est prêt à l’emploi.


Cependant, la forme originelle de specINTI peut dérouter, et même inquiéter. A la base, ce logiciel n’est rien d’autre qu’une simple fonction, sans aucune interface. D’un côté on fourni à cette fonction un descriptif de votre instrument et de votre observation, et de l’autre côté, la fonction délivre le profil spectral des objets observés (plus quelques images de contrôles). Vous n’avez rien d’autre à faire, et specINTI est même capable de traiter les données de plusieurs astres automatiquement (toute une nuit d’observation), sans votre intervention.


On est donc très loin d’un logiciel à l’interface multicolore, qui exploite les derniers standards du monde de l’informatique et des interactions homme-machine ! Ce choix peut perturber, mais il est le gage d’une grande puissance et d’une capacité d’évolution considérable pour le futur, des qualités qui doivent plutôt vous rassurer. C’est aussi la démarche du projet Sol’Ex/Star’Ex qui se prolonge ici : vous entrez dans le sujet en profondeur si vous êtes curieux d’apprendre, et en fin de compte, vous êtes plus efficace et satisfait. Outre l’efficacité, la gratification personnelle est le but.


Mais specINTI n’est pas qu’une simple fonction, aride d’aspect. Le logiciel est conçu pour être accompagné d’interfaces qui aident à l’utiliser, et qui peuvent prendre des formes très diverses, jusqu’à être des applications Web par exemple dans le futur. L’actuelle distribution de specINTI inclue une telle interface, c’est specINTI Editor. Sans nul doute, c’est au travers de cette interface que vous aller évaluer et tester, puis je l’espère, utiliser specINTI.


Pour résumer, specINTI peut être exploité de trois façons différentes :


Première façon : comme une fonction qu’on exécute depuis un terminal informatique, qu’on alimente avec un fichier de paramètres (un simple fichier texte). Cette manière est plutôt réservée aux informaticiens et développeurs.


Seconde façon : au travers d’une interface graphique tout à fait classique, telle qu’on les trouve dans les environnements Windows ou MacOS. L’interface actuellement proposée est specINTI Editor. Ce sera votre manière privilégiée d’utiliser le logiciel. Les exemples qui illustrent cette documentation s’appuient sur cette interface. Si vous en avez le goût et les connaissances, vous pouvez parfaitement créer entièrement une nouvelle interface, tout à votre image. Les informations pour que cela soit possible sont données dans cette documentation (voir la manuel de référence à la section 16).


Troisième façon : d’une manière totalement transparente, dans une chaîne de traitement fortement autorisée, qui s’intègre par exemple dans la démarche de l’exploitation des télescopes situés à grande distance. Un exemple est le pipeline de traitement des données spectrales du groupe 2spot qui opère en « remote » un télescope au Chili -  une robotisation sur ce thème est une première mondiale chez les amateurs (https://2spot.org/FR/). Le moteur pour le traitement des spectres est specINTI, mais la carrosserie est une superbe application informatique, sophistiquée et très interactive, écrite par Matthieu Le Lain. Pour l’utilisateur, specINTI n’apparaît jamais, mais l’application est bien présente.



3 : Comment installer specINTI et specINTI Editor


3.1 : Sous Windows


Pour télécharger specINTI Editor, cliquez sur ce lien : specinti_editor_windows.zip. C’est la manière la plus simple d’utiliser specINTI, depuis un mode fenêtre standard. 


Pour télécharger specINTI, cliquez sur ce lien : specinti_windows.zip. Il s’agit de la version « console » de l’application, sans interface, plutôt réservée aux développeurs. 


Décompressez le contenu du (des) fichier(s) ZIP (environ 86 Mo) dans le(s) répertoire(s) de votre choix de l’ordinateur.


A ce stade vous avez deux possibilités : (1) soit utiliser l’application specINTI en ligne de commande, (2) soit utiliser specINTI au travers de l’interface specINTI Editor.


On ne discute dans cette note que de l’usage  la version « fenêtre »   de specINTI, donc de l’application specINTI Editor.  Dans le répertoire où vous avez décompressé l’archive « specinti_editor_windows.zip » vous trouvez deux fichiers : l’application specinti_editor.exe proprement dite et un sous répertoire « _configuration » (indispensable au fonctionnement). Il est parfaitement possible de copier un lien vers l’application sur votre bureau Windows.


Si vous cliquez sur le fichier specinti_editor.exe, au bout de 4 à 5 secondes, la fenêtre suivante suivante s’ouvre sur l’écran (elle peut évoluer suivant les versions) :

Dans les faits, se sont deux fenêtres qui s’ouvrent simultanément. Attention, l’une peut cacher l’autre. Une des fenêtres est l’interface specINTI Editor proprement dit, l’autre est une fenêtre dans laquelle s’affiche des informations sur le déroulement du traitement  - appelée « fenêtre de sortie » :

Lors de la décompression, un sous-répertoire du répertoire d’installation, nommé « _configuration », est créée avec quelques fichiers à l’intérieur. Ce sous-répertoire aura une grande importance par la suite.

3.2 : Sous Mac OS X

Vous pouvez télécharger des versions de specINTI et de specINTI Editor fonctionnant sur MacOS Sierra et MacOS Big Sur depuis la page suivante : https://stellartrip.net/specinti-mac-linux/ .


Décompressez le contenu du (des) fichier(s) ZIP (environ 390 Mo) dans le(s) répertoire(s) de votre choix de l’ordinateur.


A ce stade vous avez deux possibilités s’offrent  (1) soit utiliser l’application specINTI en ligne de commande, (2) soit utiliser specINTI au travers de l’interface specINTI Editor. Dans cette note, c’est cette dernière possibilité qui est décrite.

Pour utiliser specINTI en mode ligne de commande, vous devez lancer le programme Terminal situé dans le dossier Applications de votre Mac : 

Il faut indiquer dans Terminal le chemin d’accès à l’application specINTI Editor. Supposons que le dossier d’installation choisi soit « specinti_macos » (un sous-dossier du dossier « Documents » par exemple) Pour cela, faire click droit avec la souris sur le répertoire d’installation pour afficher un menu déroulant, puis, en même temps, cliquez sur la touche « Option » du clavier : sélectionnez alors l’option Copier « specinti_macos » en tant que nom de chemin.


Tapez ensuite dans le Terminal : cd, puis collez le chemin précédemment copier. Par exemple, ici : cd /Users/macbuil/Documents/specinti_macos :

Pour exécuter specINTI Editor en vue de traiter vos spectres, tapez ensuite dans le terminal la ligne suivante :  ./specinti_editor



A ce stade, lors du tout premier lancement de l’application, vous allez rencontrer le message de sécurité suivant :

Ne vous inquiétez pas, tout est normal ! Il y a plusieurs façon d’autoriser votre ordinateur d’accepter le lancement du logicie, par exemple en allant dans le dossier « Préférences systèmes ». Nous allons procéder différemment. Cliquez sur la bouton « Afficher dans le Finder », puis double-cliquez sur l’intititulé de l’application specinti_inti dans le dossier qui s’affiche. Une fois de plus vous allez aboutir à message d’avertissement, mais différent :

Cliquez sur le bouton « Ouvrir » et patientez durant 20 à 60 secondes (ce point sera améliorer plus tard). Dans la version actuelle, une console va s’ouvrir, indiquant un échec de l’exécution :

Cependant, dorénavant votre ordinateur a assimilé le fait que specINTI Editor est un logiciel fiable. Retournez dans votre Terminal, et exécutez à nouveau la commande :  ./specinti_editor.  Cette fois, le lancement va jusqu’à son terme :

Suivant votre OS, la durée de lancement peut aller de 10 à 50 secondes, mais ensuite le logiciel tourne à la vitesse maximale, rassurez vous, quelque soit votre système d’exploitation.. 

3.3 : Sous Linux

Vous pouvez télécharger des versions de specINTI et de specINTI Editor fonctionnant spis Linux (Debian/Ubuntu (x86_64) et Raspberry Pi 4 - Ubuntu (ARM v8)) Depuis la page suivante : https://stellartrip.net/specinti-mac-linux/.



3.4 : Installer la base de données spectrales

Que vous soyez sous Windows ou sous macOS, il est recommandé de télécharger une base de données contenant un ensemble de spectres de référence (un catalogue spectrophométrique), que l’on aura en particulier l’occasion d’utiliser pour calculer la réponse spectrale de l’ensemble instrumental en fonction de la longueur d’onde.


Pour télécharger cette base, cliquez sur ce lien : data_base (taille 11 Mo).


Décompressez cette archive dans un répertoire de votre choix (par exemple « data_base »). 

4 : Pour démarrer


Sachez d’abord que specINTI est capable de s’adapter au traitement de données acquises avec des configurations instrumentales fort diverses. Quelques-unes de ces possibilités sont décrites à la section 6 et suivantes de cette note.


Dans la présente partie, pour une prise en main facilitée du logiciel, je propose de vous lancer dans le grand bain (tout en essayant de ne pas vous noyer) en prenant pour appui un fil conducteur : une observation bien concrète réalisée avec le spectrographe Star’Ex  associé à un petit télescope.


Afin d’être le plus efficace possible, vous pouvez télécharger tous les fichiers de ce fil conducteur (images et données diverses), rejouer les exemples que j’expose et improviser autour d’eux. Téléchargez ces donnés en cliquant sur ce lien (taille 41 Mo) : session19122021. Il s’agit d’une observation datant du 19 décembre 2021. Décompressez cette archive dans un répertoire de votre choix. Pour ce fil conducteur, on considère que le chemin accédant aux données est : d:\starex_19122021, mais vous êtes libre de ce choix.


En complément, en plus des informations délivrées dans le cadre de ce fil conducteur, notez la possibilité de visionner une vidéo à la section 4.9 (recommandé pour bien utiliser votre spectrographe), détaillant une observation Star’Ex avec une lunette de 100 mm, en configuration « haute-résolution spectrale » et introduisant l’utilisation de specINTI.

4.1 : La configuration instrumentale


La configuration instrumentale du fil conducteur est typique de l’usage de Star’Ex. Si vous démarrez en spectrographie, si vous êtes en mode découverte, je vous recommande d’adopter cette configuration ou quelque chose d’approchant avec l’équipement que vous avez déjà sous la main (une petite lunette ou un petit télescope, en privilégiant toujours la qualité de la monture au diamètre de l’instrument - une règle d’or en astronomie d’observation !). Notre regard va ce porter sur des régions très détaillées du spectre (avec un pouvoir de résolution de R=20000 pour les déjà connaisseurs), en sacrifiant la couverture spectrale (vous n’aller pas pouvoir tout le spectre du bleu ou rouge en une fois). Par expérience, c’est la meilleure façon pour apprendre la spectrographie.  J’utilise ici :


- Un télescope de type Maksutov, de diamètre 127 mm et de focale 1500 mm, soit un rapport F/D de 12 environ (marque Sky-Watcher). La taille relativement modeste de cet instrument permet une prise en main facilitée de Star’Ex tout en autorisant de manière quasi mécanique l’acquisition effective de spectres à haute résolution spectrale (voir la partie « Théorie » de ce site). Tout ce qui va être dit ici est valable si votre télescope (ou lunette) est ouvert entre F/D=8 et F/D=15. Si vous disposez d’un instrument ouvert à f/5 ou f/6, une lentille de Barlow devra être utilisée pour emmener le rapport F/D entre 10 et 13 (voir les quelques recommandations données sur cette page).


- Un spectrographe Star’Ex équipé du réseau de 2400 traits/mm et de la configuration 80 x 125, c’est-à-dire un objectif collimateur de 80 mm de focale et d’un objectif de caméra de 125 mm. On est donc fort proche de la combinaison utilisée pour observer le Soleil (configuration Sol’Ex).Il y a tout de même deux différences : l’une concerne l’usage d’une caméra refroidie (ici le modèle ASI183MM pro de la marque ZWO) et une fente large de 19 microns (au lieu de 10 microns) - que vous pouvez acheter auprès le la société Shelyak (voir à la section « Etoiles » du site). Cette configuration est sûrement le plus court chemin pour passer de Sol’Ex à Star’Ex (donc, du Solar Explorer au Star Explorer).


Au fait, pourquoi une fente de 19 microns de large ? Rappelons la formule mathématique faisant le lien entre la largeur angulaire de la fente sur le ciel en secondes d’arc (A), la largeur physique (w) de cette fente au foyer du télescope et la focale (F) du télescope :


A = 206264 x w / F


Ici on a :


A = 206264 x 0,019 / 1500 = 2,6 secondes d’arc


L’angle calculé est proche de la valeur caractéristique en longue pose de l’angle du disque de seeing pour un site d’amateur, compris typiquement entre 2,5 et 3 secondes d’arc. C’est grâce à cette fente relativement étroite, liée aux caractéristiques du télescope, que l’on peut viser une performancs que l’on peut qualifier de professionnelles en termes de résolution spectrale.

Star’Ex au foyer d’un télescope Maksutov de 127 mm de diamètre. On remarque la caméra d’acquisition ASI183MM Pro et le cube de guidage équipé d’une caméra ASI290MM.

4.2 : La session d’observation


La session d’observation traitée date donc du 19 décembre 2021. Le lieu de l’observatoire est à proximité de la ville d’Antibes, dans des conditions de ciel semi-urbaines. Star’Ex était ici réglé pour étudier la raie H-alpha à 6563 A et son voisinage (donc, la partie rouge du spectre). Afin de limiter au domaine du raisonnable le volume de données à télécharger pour rejouer les traitements, j’ai réduit le nombre d’images effectivement acquises lors de cette session, mais vous disposez de l’essentiel pour vous mettre en situation. Le logiciel d’acquisition est Prism et les données sont sauvegardées dans le format FITS.


Les étoiles à traiter sont au nombre de trois : gamma Pégase, alpha Grande Ourse et psi Persée.


Au moment de l’observation, plusieurs images du spectre de ces étoiles ont été prises en séquence. Le temps de pose élémentaire est de 600 secondes pour chacune d’elles. Ces données élémentaires vont être additionnées par le logiciel specINTI afin d’aboutir au temps de pose final, sensiblement plus long. Par exemple, si la séquence pour un objet comporte trois images élémentaires, le temps d’intégration cumulé sera de 3 x 600 secondes = 1800 secondes = 30 minutes. C’est toujours une bonne idée de fractionner un temps de pose très long en pauses plus brèves. Simultanément, afin de minimiser le bruit, un temps de pose unitaire assez long, de 300 à 900  est une bonne initiative.


Les images du spectre des étoiles sont accompagnées d’images auxiliaires, nécessaires pour réaliser le traitement des données et les étalonnages. Si vous examinez de contenu de la session, vous allez trouver les fichiers suivants :


  • gammapeg-1.fits … gammapeg-4.fis    (4 images élémentaires du spectre de l’étoile gamma Pégase)
  • psiper-1.fits … psiper-5.fits    (5 images élémentaires du spectre de l’étoile psi Persée)
  • alphauma-1.fits … alphauma-4.fits       (4 images élémentaires du spectre de l’étoile alpha Grande Ourse)
  • o1.fits … o-4.fits      (4 images du signal d’offset, ou bias)
  • n600-1.fits … n600-5.fits    (5 images du signal d’obscurité, exposées chacune 600 secondes)
  • led-1.fits … led-4.fits   (4 images flat-field)
  • calib_neon-1.fits       (1 image d’étalonnage spectral « pleine pupille »)
  • reponse.fits     (la réponse instrumentale précalculée) 
  • m_HD003360.fit   (un spectre de référence qui va aider à trouver la réponse instrumentale)


Ce sont là les ingrédients pour réussir une bonne recette et un grand plat ! Rappelez-vous que specINTI est capable de traiter les images dans un « pipeline » (traitement par lot d’une nuit d’observation en automatique), d’où la présence du spectre de plusieurs objets pour en faire la démonstration.


Les images d’offset, de dark et de flat-field sont fournies en nombre insuffisant pour tirer le meilleur parti des données acquises, mais en nombre suffisant pour apprendre à exploiter specINTI et l’esprit général.


Quelques rappels…


Les images d’offset sont obtenues en bouchant l’ouverture du télescope et en posant très brièvement (0,1 seconde).


Les images dark (ou du signal d’obscurité, encore dit thermique) sont réalisées en bouchant l’ouverture du télescope et en posant au moins aussi longtemps que le plus grand temps d’exposition pratiqué sur les étoiles (ici 600 secondes). Notez qu’il aurait été parfaitement possible d’utiliser des images d’obscurité exposées 900 secondes, specINTI sachant parfaitement ajuster numériquement le temps de pose de toutes vos images pour un traitement cohérant. De même si vous avez acquis des images spectrales avec une exposition de 180 secondes, il est inutile de faire des darks de 180 secondes, car ceux exposés 600 secondes conviendront parfaitement pour le traitement.


La technique que j’ai utilisée pour capturer les images flat-field consiste à disposer à l’entrée du télescope un panneau LED d’éclairage de chantier - voir ci-contre. Ce panneau est simplement posé à l’entrée du télescope. Le but est d’éclairer assez intensément la pupille de celui-ci de façon approximativement uniforme. Malgré les apparence, la lumière émise par les LED est loin d’être blanche. La manque signal dans de rouge est significatif (le temps de pose est ici de 9 secondes pour acquérir une image « LED » d’intensité correcte autour de la raie H-alpha, tout en évitant absolument de saturer le détecteur). Cette technique, un peu « rustique »; ce révèle efficace lorsqu’on on travaille en haute résolution spectrale, comme ici, sur un petit intervalle de longueur d’onde et avec un petit télescope.


Que ce soit pour l’observation des étoiles ou pour la prise des images d’étalonnage (offset, dark, …), la température du capteur de la caméra (une ASI183MM pro) est toujours la même, ici -25°C. Ceci est crucial pour obtenir des données homogènes. De la même manière le gain et de signal de décalage (offset) de la caméra est constant (ici un gain de 150 et un offset de 40). Toutes les acquisitions sont réalisées en binning 1x1 et on réalise un fenêtrage dès l’acquisition pour ne conserver  la partie de l’image qui encadre la trace des spectres, et ainsi ne pas trop encombrer le disque dur.



4.3 : Comment afficher une image avec specINTI Editor


Vous êtes sûrement curieux de savoir à quoi ressemble une image de spectre réalisée avec cet équipement. Lancez l’application specINTI Editor et rendez-vous sur l’onglet « Visu image ». Dans la partie supérieure, vous trouvez deux zones d’entrée de texte et des boutons. Cliquez sur le bouton « Ouvrir » supérieur et dans le boîte dialogue qui apparaît alors, sélectionnez le fichier image de votre choix, par exemple l’image « gammapeg-1.fits ». Voici le résultat :

Nota : il n’est pas exclu que l’aspect de l’interface soit légèrement différente sous Windows car j’ai utilise ici MacOS pour cette démonstration.


La trace horizontale est celle du spectre de l’étoile gamma Peg après un pose de 600 secondes, réalisée avec notre petit télescope de 127 mm de diamètre.  Sur la gauche, l’échancrure sombre dans la trace est la raie H-alpha, à 6563 A. Vous ne voyez pas l’image dans son ensemble. Pour vous déplacer dans celle-ci, glissez avec la souris en maintenant le pointeur dans l’image tout en appuyant sur le bouton gauche. Un petit rectangle gris en haut de la fenêtre matérialise le contour de l’image et le rectangle rouge à l’intérieur matérialise la région présentement affichée.


Vous pouvez ajuster le contraste et la luminosité de l’image en jouant sur les curseurs situés dans la partie inférieure.



4.4 : La méthode d’étalonnage utilisée


Un détail important est visible dans l’image affichée du spectre : des traits verticaux barrent celle-ci. Ce sont des raies spectrales (monochromatiques) émises par une lampe néon allumée en permanence à l’avant de l’ouverture du télescope - voir ci-contre. La lampe est ici fixée avec du ruban adhésif (Kapton) - histoire de poursuivre dans la rusticité ! Une pièce de maintien plus sophistiquée, réalisée en impression 3D, est bien sûr possible. La lampe est une petite veilleuse contenant du gaz néon, comme celle que l’on trouve parfois dans les interrupteurs des multiprises 220V (un voyant rougeâtre de contrôle). Vous pouvez  réaliser le montage électrique vous-même, tel que cela est  expliqué en annexe de cette documentation. J’ai utilisé ici une ampoule miniature (luciole) référencée 582852 chez le fournisseur Conrad. La taille est relativement modeste, aussi l’occultation provoquée n’est pas pire que celle de l’obstruction du miroir secondaire du télescope. Bien sûr, la part d’occultation est d’autant plus réduite que le télescope est de grande taille. Retenez que le gain conféré par cette luciole rouge est très supérieur à la perte de flux qu’elle occasionne, tout particulièrement avec Star’Ex ! Voici pourquoi…


Quel est en effet l’intérêt de cette lampe qui veille toute la nuit en permanence sur l’instrument ? 


Comme vous le constatez dans l’image de gamma Peg, le spectre de référence du néon, avec ces raies à des longueurs d’onde bien connues et immuables, est inscrit dans l’image même des spectres d’étoiles, comme une empreinte. Ce spectre du néon est similaire au code-barre qui accompagne tous les produits que vous achetez dans une grande surface, permettant d’identifier sans ambiguïté la nature de ceux-ci. Ici, le spectre du néon est un code-barre utilisé pour identifier la longueur d’onde de tous les points du spectre de l’étoile, et ce avec une haute précision.


Ce principe d’étalonnage permanent (ou semi-permanent, dans le sens où vous pouvez illuminé l’entrée du télescope qu’une fraction du temps de pose pratiqué sur la cible) est efficace, quel que soit le diamètre du télescope. Mais comme cela a déjà été indiqué plus haut, il faut éviter que la lampe ne mange pas trop sur la surface utilise de l’instrument collecteur. Avec une petite lunette, il n’y a pas d’autre choix de positionner cette lampe en bord d’objectif, comme ici, sur une lunette de Sky-Watcher EVOSTAR de 100 mm de diamètre :

Lampe néon positionnée à l’entrée d’une lunette de 100 mm avec une simple pince à linge (simple, rustique et efficace, car mise en place et retrait très rapide si le besoins de fait sentir). Il y a ici a priori tous les choix possibles pour le positionnement en azimut, mais il faut privilégier celui correspondant à l’axe long de la fente, afin de réduire au minima les erreurs d’étalonnage spectral.

Après le temps de pose généralement pratiqué, il importe que les raies monochromatiques issues de cette lampe spectrale ne saturent par l’image donnée par le capteur, ce qui ruinerait toute la précision d’étalonnage. Généralement, cela impose de réduire très significativement le flux lumineux produit (en interposant une densité optique, du papier calque, du papier blanc tout simplement). L’image ci-après est celle du spectre de l’étoile de type Be Pleione, située dans l’amas M45, pose avec une lunette de 100 mm et de telle manière qu’après 600 secondes de pose (10 minutes) avec un un allumage permanent, les raies ne saturent pas le détecteur :

Le graphique suivant montre le profil spectral de l’étoile Pléione correspondant, alors que l’on a demandé à specINTI de ne pas retirer le signal venant du fond de ciel, et donc aussi les raies d’étalonnage :

L’empreinte des fines raies du néon est bien visibles en superposition au spectre de l’étoile. Rassurez-vous, lors de l’usage normal de specINTI, le signal du font de ciel est retiré, après que le logiciel se soit servi des raies du néon pour effectuer un étalonnage précis, ce qui donne le résultat final suivant (somme de 7 poses de 600 seconde avec une lunette de 100 mm de diamètre et un pouvoir de résolution de R=21000) :

L’un des forts intérêts du principe d’étalonnage décrit est que si des déformations mécaniques du spectrographe ont lieu lorsque vous pointez d’un endroit à l’autre du ciel, le spectre de l’étoile va certes se déplacer à la surface du détecteur (par rapport à la grille de pixels), mais aussi, de concert et de la même façon, l’empreinte du spectre du néon. Donc, même si votre spectrographe se déforme sous l’effet de la gravité, ce qui est particulièrement le cas avec un instrument tel que Star’Ex, fait de plastique et très léger par rapport au poids de la caméra d’acquisition adoptée, les spectres vont pouvoir être parfaitement étalonnés en longueur d’onde :

En haut, une premier image du spectre de l’étoiles Pléione. En bas une seconde image en simulant un glissement du spectres de plusieurs dizaines de pixels suite à une déformation mécanique du spectrographe.  Les spectres de l’étoile de et la lampe d’étalonnage bougeant de concert, cet incident n’affecte pas la précision d’étalonnage.

Cette technique est baptisée « mode latéral ». Sous diverse forme, cette approche consistant à observer dans le même temps le spectre d’une étoile et de la source d’étalonnage est aussi vieille que la spectrographie astronomique. Elle est la base encore aujourd’hui pour réaliser de la spectrographie de haute précision. Dans le document ci-après, la capture simultanée du spectre d’une étoile et des raies d’étalonnage d’une lampe Thorium-Argon sur le spectrographe échelle HARPS (document ESO) :

J’insiste beaucoup sur l’idée de l’étalonnage latéral, car Star’Ex ne dispose pas de système propre pour cela dans un souci de simplicité, mais aussi d’efficacité (en fait, cette technique est utilisable avec tous les spectrographes dès lors que la lampe émet des raies spectrales en position et en nombre suffisant). Il n’y a pas de mécanique très particulière à réaliser, aucune motorisation n’est nécessaire, et la lampe elle-même ne coûte que 1 euro environ.


Ce long aparté est d’importance, car la façon d’utiliser specINTI, on va le voir, dépend fortement de la méthode adoptée pour étalonner les données spectrales. Je recommande d’expérimenter le mode latéral en priorité lors de vos premiers essais avec Star’Ex.



4.5 : Comment fonctionne specINTI


specINTI doit être alimenté par deux types d’informations, fournies sous forme de fichiers texte possédant l’extension «.yaml». Le premier type concerne la description de votre configuration instrumentale et la désignation du répertoire de travail (l’endroit où se trouvent les images à traiter). Le second type concerne la description des images acquises  et à traiter. Plus précisément : 


• Le fichier dit de «configuration» est conforme dans son organisation interne au format informatique YAML. Il peut être édité avec l’application NotePad sous Windows, par exemple, ou mieux, avec l’application specINTI Editor. Ce fichier contient une liste de paramètres décrivant votre instrument, la configuration du spectrographe, vos options de traitement, votre lieu d’observation, etc. Normalement, l’essentiel de la structure de ce fichier de configuration est écrit une seule fois (si vous ne changez pas d’instrument tous les jours !). En principe, seule l’indication du chemin de la session d’observation à traiter sur le disque doit être modifiée d’une nuit à l’autre, ainsi que la désignation d’un fichier contenant les paramètres d’observation (voir ci-après). Le nom du fichier de configuration (de votre choix) est passé en paramètre de l’application specINTI depuis l’invite de commande Windows ou le Terminal MacOS (exemple : specinti mon-fichier_de_configuration). Mais il est bien plus aisé et direct d’utiliser pour cela l’application specINTI Editor : il suffit d’appuyer sur un bouton. Dès lors, l’application specINTI s’exécute en suivant les options de traitement choisies par vous et transmises via le fichier de configuration. Noter que les fichiers de configurations doivent êtes regroupés dans un sous-répertoire du répertoire contenant l’application specINTI, nommé obligatoirement «_configuration». Par exemple, c:\programme\specinti\_configuration, si c:\programmee\specinti est le répertoire d’installation de l’application. 


• Un fichierYAML dit d’ « observation », décrivant l’observation à traiter (l’ensemble des spectres acquis lors d’une nuit par exemple). Le contenu de ce fichier s’organise sous forme de blocs de données, chacun étant associé à l’observation d’un objet distinct du ciel. Dans un bloc on trouve le nom des fichiers images de la cible, le nombre de ces images, ainsi que des informations sur les données d’étalonnage. specINIT lit le contenu de ce fichier «observation» à la suite du fichier de «configuration», puis traite en séquence l’ensemble des données de manière automatique. Votre seul travail après chaque nuit d’observation consiste à écrire le fichier d’observation correspondant, avec un éditeur de textes, ou plus simplement, avec l’application specINTI Editor. Certains logiciels d’acquisition seront mêmes en mesure un jour d’écrire automatiquement le fichier d’observation au moment même où cette dernière se déroule.



4.6 : Un premier exemple de traitement


Ouvrez l’application specINTI Editor puis dirigez-vous vers l’onglet « Configuration », le premier à gauche. Lors de l’installation, le sous-répertoire « _configuration » a été créé automatiquement. Il contient un certain nombre de fichiers de configuration dont vous pouvez vous inspirer. Pour notre démonstration, repérez le fichier dont le nom est « config_mak_ha127_mode3.yaml » à droite et double cliquez sur ce nom dans la liste :

Le contenu du fichier de configuration sélectionné s’affiche alors dans la partie gauche, dans une zone permettant de l’éditer, comme dans un traitement de texte. Ne faites aucune modification pour le moment, mais explorez le contenu de ce fichier en ajustant la barre de défilement verticale. On y trouve un certain nombre de paramètres accompagnés de commentaires (ces dernier sont précédés du caractère « # »). Ne vous inquiétez pas, il est normal d’être un peu perdu à ce stade.


Il va sûrement falloir malgré tout modifier l’un des paramètres du fichier « conf_mak127_ha_mode3 » pour pouvoir lancer la démonstration. Il s’agit du premier de la liste, appelé working_path. Il indique le chemin du répertoire dans lequel vous avez copié les images à traiter. Remarquez la syntaxe dans cet exemple :


working_path: /Volumes/Samsung_T5/starex_19122021/


On trouve d’abord l’intitulé du paramètre (working_path), suivi du caractère « : » (sans blanc),  puis la valeur du paramètre séparé par au moins un blanc. Supposons que le chemin de votre répertoire de travail soit :  d:\starex_12122021. Dans ce cas, modifiez la ligne en écrivant :


working_path:  d:\starex_19122021


Une fois cela fait, il est important de cliquer sur le bouton « Sauver » en bas de l’onglet pour que la modification soit prise en compte.


Il faut ensuite indiquer à specINTI quelles sont les données à traiter. C’est l’objectif du fichier YAML d’observation, qui doit se trouver dans le répertoire de travail.


Lorsque vous avez décompressé les images de la démonstration, le fichier « obs_gammapeg.yaml » a aussi été copié, en tant qu’exemple.


Aller dans l’onglet « Observations » de l’application specINTI Editor. Ici encore, ne vous inquiétez pas de ce que vous voyez, les choses devraient s’éclaircir un peu plus loin.


La première opération à réaliser depuis cet onglet est de préciser le chemin du répertoire de travail, l’endroit de votre disque dur où se trouvent les images à traiter. Il faut pour cela cliquer sur le bouton « Parcourir ». Ce sera par exemple D:\starerx_19122021/


Tout comme pour l’onglet « Configuration », vous avez à droite une liste des fichiers « yaml » déjà présents dans le répertoire de travail. Sélectionnez celui appelé « obs_gammapeg.ymal » par un double click. Nota : vous pouvez donner le nom que vous souhaitez aux fichiers d’observations (ainsi qu’aux fichiers de configuration).


Les champs de la partie gauche de l’onglet se remplissent alors automatiquement. Vous allez sûrement reconnaître le nom des images qui composent notre observation, plus particulièrement celle de l’étoile gamma Pégase : 

Dans le premier champ, « Liste objets », nous avons le nom officiel de l’étoile, tel qu’il est désigné dans la base du CDS. Vous pourriez parfaitement utiliser le numéro dans le  catalogue Henry-Drapper écrivant n: HD 886 (les blancs sont autorisés, ainsi que les majuscules).


Vient ensuite le nom générique des fichiers images de la séquence à traiter (gammapeg-), et le nombre (4). 


Nous allons utiliser une procédure d’étalonnage qui ne nécessite pas la prise d’images distinctes d’étalonnages, puisque l’empreinte de la lampe néon se trouve mêle aux images spectrales des étoiles (voir à la la section 4.4 et les explications sur le « mode latéral »). C’est la raison pour laquelle le nombre d’images d’étalonnages (ici le spectre du néon) est mis à 0.


Nous retrouvons aussi le nom de nos images d’offset, de dark et flat-field (lampe LED), ainsi que leurs nombres. Les derniers champs sont un peu particuliers. Ils précisent à specINTI Editor comment vous nommez les noms génériques des images dans une séquence (ici, les noms se terminent par un tiret « -» , ce qui est recommandé), ou encore, comment vous nommez vos images d’étalonnages lorsqu’elles sont présentes.


L’une des grandes forces de specINTI Editor est de remplir tous ces champs automatiquement par l’appui sur le bouton « Auto » (le logiciel inspecte le contenu de votre répertoire de travail, votre seule tâche étant d’indiquer le nom officiel de l’astre dans le premier champ). Lire la partie 7 de cette documentation pour une description détaillée du fichier d’observation. 


Nous sommes maintenant en mesure de fournir à specINTI l’ensemble des données dont il a besoin pour travailler : le contenu du fichier de configuration (onglet « Configuration ») et le contenu du fichier d’observation (onglet « Observations »). Il est possible de lancer votre premier traitement.  Cliquez pour cela sur le bouton « Exécuter ». Si vous examinez la console de sortie (rappelez-vous qu’elle peut être masquée par la fenêtre de specINTI Editor), vous allez voir des informations défilées. Au bout de 20 à 40 secondes (suivant la vitesse de votre ordinateur), le traitement s’achève. specINTI ouvre automatiquement l’onglet « Png galerie » et affiche une petite vignette avec le résultat, le profil spectral de l’étoile gamma Peg : 

specINTI produits d’autres informations sous forment de fichiers de résultats copiées dans votre répertoire de travail. Ces fichiers commencent toujours par le caractère « underscore », « _ » et le plus souvent, le nom de l’objet est suivi par la date de la prise de vue (format aammjj_fff). 


Le fichier « _gammapeg_20211218_702.fits » est le plus important : il s’agit du profil spectral calculé et sauvegardé dans le le format FITS. Vous allez pouvoir analyser celui-ci avec des programmes spécialisés comme VisualSpec, ISIS, SpAudace, etc.


Le fichier _gammapeg_20211218_702_2D.fits est une image qui ressemble fortement aux images 2D de départ du spectre de l’étoile gamma Peg, à ceci près qu’il s’agit ici de la somme de vos 4 images brutes, prétraitées, avec le fond de ciel retiré et recentrées suivant l’axe vertical.


Le fichier _gammapeg_20211218_702.png est une image au format graphique PNG du profil de l’étoile (c’est une version « Quick-Look »). 


Le fichier _gammapeg_20211218_702.yaml est une copie du fichier de configuration utilisé pour traiter l’objet. Cette copie va ce révéler précieuse si un jours (ou plusieurs mois ou années) après vous souhaitez retraiter vos images de la même manière (il suffit de copier ce fichier YAML dans le sous -répertoire « _configuration » du répertoire d’installation de specINTI. Avec l’expérience, vous allez constater que cette copie, une sorte d’archive,  constitue un éléments fort du logiciel.



4.7 : Comment afficher un profil spectral


Sélectionnez l’onglet « Visu profil », puis cliquez sur le bouton « Ouvrir ». Choisissez le profil spectral au format FITS à afficher (ici _gammapeg_20211218_702.fits) :  

Vous pouvez réaliser quelques opérations sur ce graphique, comme un zoom. Tout à droite de l’onglet, nous avons le contenu de l’entête du fichier FITS affiché. Vous pouvez ajouter un titre, détailler une partie et sauvegarder le résultat sous la forme d’un fichier graphique PNG.


Un rappel : pour afficher une image 2D, utilisez l’onglet « Visu image », par exemple ici l’image  _gammapeg_20211218_702_2D.fits  :

4.8 : Principes généraux d’utilisation de specINTI Editor


specINTI Editor est principalement un logiciel permettant d’éditer les fichiers YAML de configuration et d’observations, puis de lancer l’application specINTI.


Faisons un test en modifiant l’actuel fichier de configuration, conf_mak127_ha_mode3. Ouvrez l’onglet de « Configuration » puis allez à la fin du fichier de paramètres dans le but d’en ajouter un nouveau. Il s’agit du paramètre expand auquel on attribue la valeur 800 : 


expand: 800

Il était parfaitement possible d’insérer où bon vous semble cette ligne, l’ordre des paramètres étant sans influence. Vous pouvez aussi ajouter un commentaire, y compris à la suite du paramètre en faisant par exemple :


expand: 800    # ceci est mon nouveau paramètre


Sauvegardez cette modification en appuyant sur le bouton « Sauver », puis relancez le traitement en cliquant sur « Exécuter ».  Tout semble se dérouler comme précédemment, mais pas tout à fait : specINTI produit deux fichiers de résultat supplémentaires, appelés ici _gammapeg_20211218_702_2D2.fits et _gammapeg_20211218_702_2D2.png  :

Dans les deux cas (sous le format FITS et sous le format PNG) specINTI à transformé le profil spectral de l’étoile en une image 2D, en dupliquant le profil x fois verticalement l’intensité spectrale de ce profil. La valeur de x est la valeur même du paramètre expand, donc ici, l’image fait 800 pixels de haut (note :le résultat est normalisé à l’intensité 255) :

La manipulation que nous venons de réaliser est fondamentale : nous avons ajouté un paramètre, mais nous pourrions de la même manière modifier la valeur d’un paramètre existant ou le supprimer. L’usage de specINTI et sa paramétrisation ne sont pas plus compliqués. La liste complète des paramètres est donnée à la section 16 de cette notice.


Voici un autre exemple. Repérez dans le fichier de configuration le paramètre sigma_gauss. La valeur actuelle est probablement 1.0. Modifiez là en donnant la valeur 0 :


sigma_gauss: 0


Pensez à sauvegarder le fichier, puis relancez specINTI. Le profil de gamma Peg apparaît à présent plus bruité, car il n’est plus du tout lissé par un filtre gaussien (une opération de convolution) lors du traitement. Essayez ensuite 4,5 par exemple, et constatez le résultat. Lors de ces manipulations, surveillez la valeur du résultat Resolution power = xxxx dans la fenêtre de sortie. Vous allez voir qu’au fur et à mesure que vous lissez l’image, et donc diminuez le bruit, le pouvoir de résolution diminue aussi. On ne peut pas gagner sur les tous les tableaux ! Après ces petites expériences, pensez à revenir à la valeur 1.0 initiale, caractéristique pour le type de données traitées (et comme toujours, sauvegardez votre modification).


Apprenons à présent à modifier le fichier d’observation. Depuis l’onglet « Observations », changez par exemple le nombre d’images traitées dans la séquence de l’étoile gamma Peg, en passant de 4 à 1 (à la section « Nb image par objet ». Sauvegardez la modification en appuyant sur le bouton « Sauver », puis lancez l’exécution. Le traitement est plus rapide, car la séquence se limite à présent à une seule image (le bruit est aussi plus important, d’un facteur racine de 4 environ, c’est-à-dire d’un facteur 2 - car le nombre d’images traitées est divisé par 4).


Réalisons une autre expérience, riche d’enseignement. Dans le champ « Liste objets », entrez :


gamma Peg, psi Per, alpha UMa


Ce sont les noms des trois étoiles observées, dont les données sont présentes dans le répertoire de travail. Les noms sont séparés par une virgule. Les blancs ne font qu’améliorer la lisibilité. Une fois fait, cliquez sur le bouton « Auto » pour obtenir ceci :

specINTI Editor a rempli pour vous tous les champs en considérant ces trois objets simultanément et d’une manière que specINTI peut comprendre. Sauvegardez le fichier d’observation modifié, puis lancez le traitement. Nos trois étoiles sont traitées automatiquement en séquence. Ce traitement par lot est une des caractéristiques de specINTI. En association avec specINTI Editor, vous êtes déchargé d’un travail pouvant être fastidieux et vous pouvez vaquer à d’autres tâches durant le traitement. Au terme des opérations, vous avez une vision synthétique des profils spectraux, et dans le répertoire de travail, tous les fichiers de résultat :

Vous pouvez examiner la structure du fichier d’observation « obs_gammapeg.yaml » modifié en l’ouvrant avec une application de traitement de texte :


gamma Peg:

- gamma Peg

- gammaPeg-

- 4

- gammaPeg_neon-

- 0

- led-

- 4

- n600-

- 5

- o-

- 4

- None

- 0


psi Per:

- psi Per

- psiPer-

- 5

- psiPer_neon-

- 0

- led-

- 4

- n600-

- 5

- o-

- 4

- None

- 0


alpha UMa:

- alpha UMa

- alphaUMa-

- 4

- alphaUMa_neon-

- 0

- led-

- 4

- n600-

- 5

- o-

- 4

- None

- 0


C’est ce langage que comprend specINTI. On distingue trois sections ou blocs, correspondants aux trois étoiles traitées. La structure des blocs est immuables et elle est assez facile à comprendre - voir section 17 pour le détail.


Astuce : pour connaitre la version du logiciel specINTI utilisé, insérez dans le fichier de configuration la ligne suivante, en lancez le programme :


Version: 1

4.9 : specINTI en vidéo


Vous avez à votre disposition une vidéo en deux parties qui introduit l’utilisation de specINTI, en s’appuyant sur des observations réalisées avec une lunette de 100 mm de diamètre en haute-résolution spectrale :

Vidéo #1 : cliquez sur la vignette

Vidéo #2 : cliquez sur la vignette

Voir d’autres vidéos et compléments à la section 10.

5 : Dans l’intimité de specINTI


Dans cette partie vous allez apprendre le fonctionnement profond du logiciel, la signification des paramètres les plus importants et la manière de tirer le meilleur profit de l’ensemble. On aborde ici la question des corrections géométriques, de l’étalonnage spectral, de l’évaluation de la réponse instrumentale. Après cette lecture, vous allez devenir un expert du traitement des spectres ou quasi ! De fait, même si tout ne vous paraît pas clair zip premier abord, sachez que je reviens sur toutes ces notions plus loin dans la documentation, au travers de nouveaux exemples. Et puis, pratiquez et testez ; c’est la meilleure façon d’apprendre. 


 

5.1 : La correction géométrique des spectres


Idéalement, votre Star’Ex doit être réglé pour que l’axe de dispersion soit bien horizontal (à mieux que 0,2 ou 0,3° près si possible) et que vos raies spectrales soient bien verticales (à mieux que 0,5° si possible). Mais même si vous respectez ces précisions d’alignement (via respectivement l’orientation de la caméra et de la fente), elles se révèlent insuffisantes pour atteindre un bon résultat. Un logiciel spécialisé, tel que specINTI, doit apporter sa pierre pour réduire encore ces défauts géométriques résiduels.


Le défaut d’inclinaison de la trace du spectre par rapport à l’horizontale s’appelle le «tilt», le défaut de basculement des raies par rapport à la verticale s’appelle le «slant», le défaut de courbure des raies (elles ne sont alors pas toujours des segments bien rectilignes) s’appelle le «smile».


Vous pouvez certes indiquer à specINTI à partir du fichier de configuration la valeur des défauts à corriger (qu’il faut alors avoir mesuré au préalable). On utilise pour cela les paramètres respectifs tilt, slant et smile. Il  s’avère cependant bien plus simple de laisser specINTI calculer pour vous les valeurs numériques des rectifications géométriques à apporter. Au final, les données seront comme si elles étaient acquises avec un instrument parfait.


Astuce : Pour vous rendre compte de l’ampleur de ces défauts géométriques, affichez par exemple l’image brute « gammapeg-1.fits » depuis l’onglet « Visu image » de  specINTI Editor. Avec la souris, cliquez vers le milieu de la trace tout en appuyant sur le touche « shift » (ou Majuscule). Une ligne horizontale rouge apparaît alors à l’écran, qui vous aide à apprécier le défaut de tilt de la trace. Il est ici subtil, mais bien réel et encore trop fort. Dans le même esprit, si vous cliquez à la souris au niveau d’une raie d’émission du néon, tout en maintenant la touche « Control » enfoncée (touche Option dur un Mac), un trait vertical de couleur cyan apparaît dans l’image. Vous allez constater que les raies ne sont pas strictement verticales - c’est le défaut de slant.


specINTI se sert de la trace du spectre et des raies provenant d’une lampe d’étalonnage spectral (voir à la section suivante) pour trouver automatiquement les angles de tilt et de slant. Mais pour que cela soit possible il faut indiquer au logiciel les limites d’un tronçon de la trace des spectres, large de 200 à 2000 pixels typiquement (il y a de souplesse), à l’intérieur duquel ladite trace est définie avec un bon rapport signal à bruit et exempte de raies fortes (si possible). Les bornes en pixels de ce segment de spectre sont fournies au logiciel au travers du paramètre xlimit dans le fichier de configuration. En explorant le fichier de configuration de notre actuel fil conducteur, vous allez ainsi repérer la ligne,


# ---------------------------------------------------

# Bornes x pour mesures géométriques

# ---------------------------------------------------

xlimit: [1650, 2500]  


Remarquez la syntaxe, avec ici deux valeurs transmises simultanément : les coordonnées gauche puis droite du segment. Elles sont entre deux crochets [….] et séparées par une virgule. Vous pouvez ajouter des blancs comme bon vous semble pour rendre tout ceci plus lisible. Le choix de ces bornes est quelque peu arbitraire. Ici elles délimitent grossièrement la partie centrale du spectre sur un segment faisant 2500 - 1650 = 850 pixels de long, ce qui est tout à fait correct.


A ce stade, vous devez commencer à vous dire que le nombre de paramètres est grand, et que cela peut devenir un problème pour utiliser le logiciel ! Ne soyez pas trop inquiet, ce nombre signifie que vous pouvez avoir une action fine sur le logiciel. Vous disposez par ailleurs d’exemples de fichiers de configuration qui sont autant des trames sur lesquelles vous pouvez vous appuyer. Vous n’avez pas à tout inventer, à tout réécrire. Mais surtout, si vous ne changez pas votre équipement d’observation, ces paramètres sont immuables. Ils sont en quelque sorte définis à vie, et vous pouvez presque oublier leur existence. Une fois ceci assimilé, il apparaît que l’usage de specINTI est plus simple qu’il n’y paraît !


Pour bien vous rendre compte que les défauts géométriques de tilt et de slant sont bien corrigées (noter que le logiciel retourne dans la fenêtre de sortie les valeurs angulaires trouvées), affichez l’image 2D finale (_gammapeg_20211218_702_2D.fits). Puis, par exemple, superposez le réticule rouge de contrôle en faisant « shift + click souris » : la trace est cette fois parfaitement parallèle à ce trait. 


La correction du défaut de « smile » (« sourire » en français), lorsqu’il est présent, est plus délicate avec la version actuelle de specINTI, car il n’existe pas de fonction interne qui calcule l’ampleur de ce défaut de manière automatique, à savoir, un rayon de courbure en pixels. La recherche de la valeur est manuelle, par essais successifs. Mais comme dit précédemment, une fois l’évaluation effectuée, vous n’avez plus à y revenir. 


Analysons le cas du défaut de smille dans la situation de notre exemple. Repérez dans le fichier de configuration fourni en exemple la ligne suivante :


smile_radius: -27000


et mettez là en commentaire (en ajoutant devant le caractère « # »). Le but de la manoeuvre est d’essayer de mettre en évidence ce défaut par l’analyse de la forme des raies du néon. Une autre opération est nécessaire pour que ces dernières soient visibles dans l’image 2D du résultat final : déclarez momentanément un nouveau paramètre dans le fichier de configuration, appelé sky_remove. Ajoutez dans le fichier de configuration la ligne suivante :


sky_remove: 0


sky_remove fait partie de la catégorie des paramètres optionnels. En lui donnant la valeur 0, vous demandez à specINTI de ne pas retirer le signal du fond de ciel lors du traitement, et donc de conserver l’empreinte des raies de la lampe néon (pour retourner au fonctionnement normal, il faut fournir la valeur 1, ou plus simplement encore, supprimer ce paramètre). 


Sauvegardez la modification du fichier de configuration et lancez le traitement de gamma Peg. En affichant le profil au terme des opérations vous constatez alors qu’au profil de l’étoile s’ajoute comme prévu celui de la lampe néon. Analysez aussi l’image « _gammapeg_20211218_702_2D.fits » : au niveau d’une des raies du néon faites « Control + click souris ». Par rapport au trait vertical qui se dessine alors, vous allez constater que les raies du néon sont très légèrement courbes. C’est subtil, mais cela mérite une correction. Le défaut est propre à la configuration de Star’Ex équipé d’un réseau de 2400 traits/mm. Après avoir retiré le caractère de commentaire, essayez par exemple :


smile_radius: -2000


Le signe détermine le sens de la courbure pour la correction (concave ou convexe). Relancez le traitement et visualisez à nouveau l’image résultat  «_gammapeg_20211218_702_2D.fits» :

Le défaut de smile apparait cette fois inversé et fortement surcorrigé. La valeur -2000 pour le rayon de courbure n’est manifestement pas la bonne !  Après quelques essais, vous allez converger vers la valeur -27000 pixels (en gros), à l’adopter pour obtenir des raies bien droites si vous travaillez avec Star’Ex dans la configuration 80x125 et avec un réseau de 2400 t/mm autour de la raie H-alpha. Rétablissez donc la paramètre smile_radius avec la valeur de -27000 et pensez à réactiver le retrait du fond de ciel en supprimant le paramètre sky_remove ou en écrivant,


sky_remove: 1


Astuce : après le retrait du fond de ciel, il se peut qu’un résidu des raies d’étalonnage demeure perceptible en serrant les seuils d’affichage. Il s’agit d’un pseudo-bruit provenant des diverses interpolations réalisées pour rectifier la géométrie. Il se peut aussi que les artefacts proviennent d’une évaluation encore trop approximative du smile. Dans ce cas, modifiez la valeur de smile_radius par petites touches et voyez si le défaut se réduit.


Nos spectres sont à présent parfaitement rectifiés sur le plan géométrique, comme si on disposait d’un spectrographe parfait et idéalement réglé.



5.2 : L’étalonnage spectral


Cette section montre comment specINTI s’y prend pour étalonner les spectres en longueur d’onde. Sachez que ce logiciel dispose de plusieurs algorithmes pour réaliser ce type d’opération, 5 précisément, numérotés de 0 à 4 et appelés « modes d’étalonnages ». Voir aussi à la section 6 de cette notice. Pour l’exemple traité en tant que fil conducteur (la session du 18 décembre 2021), j’utilise une méthode d’étalonnage dite latérale, associées aux modes specINTI numéros 3 ou 4 (voir section 6). Le paramètre du fichier de configuration permettant de sélectionner l’algorithme d’étalonnage spectral est calib_mode.


L’étalonnage spectral consiste à attribuer à chaque point du spectre une longueur d’onde aussi précise que possible. Une difficulté vient du fait qu’il n’est pas possible de convertir directement les rangs des pixels dans l’image spectrale 2D en des longueurs d’onde. Une des raisons est que la loi de dispersion le long de l’axe spectral n’est jamais parfaitement linéaire (parfois pas du tout, avec les spectrographes à prismes).


Le bon usage de specINTI, mais aussi d’un spectrographe tout entier, dépend de la manière dont on comprend les principes de l’étalonnage en longueur d’onde. Le sujet est donc d’importance.


Examinons l’une des images brutes de la séquence de l’étoile gamma Peg. On peut y repérer 5 raies d’émission du néon, dont les longueurs sont indiquées dans l’image reproduite ci-après : 

L’image gammapeg-1.fits. La trace horizontale du spectre de gamma Pégase est bien visible sur cette pose de 600 secondes. Dans la partie explorée du spectre, autour de la raie H-alpha, 5 raies du néon sont identifiables, donc on précise la longueur d’onde angströms. Pour ne pas encombrer  le disque dur, remarquez que seule une petits fraction de l’image du capteur a été acquise, via une opération de fenêtrage, ou « cropping » en anglais, au moment de l’observation. C’est la raison de l’aspect filiforme de ce document.

La logiciel va utiliser les longueurs d’onde (L) de ces raies et leurs positions précises (X) pour trouver la relation mathématique entre ces deux quantités. Plus exactement cette relation est une fonction polynomiale du type X =a L^2 + b L + c, si on décide de définir un polynôme de degré 2 (souvent suffisant en haute résolution spectrale avec Star’Ex). Ne vous préoccupez pas trop de ces considérations mathématiques, le logiciel fait bien sur le travail pour vous.


Dans l’intervalle spectral couvert par Star’Ex en haute résolution autour de la raie H-alpha, on note donc la présence de 5 raies de référence pour réaliser l’étalonnage en longueur d’onde. En pratique, nous n’allons utiliser que les 4 premières en partant de la gauche, la plus à droite à 6717 A apparaissant moins nette que les autres à cause des aberrations optiques (le domaine spectral de pleine netteté va ici de 6490 à 6690 A).


specINTI offre la possibilité de réaliser l’étalonnage spectral de façon semi-manuelle ou de façon automatique. Il est facile d’imaginer que la méthode automatique est la plus simple à utiliser, ce qui est vrai, mais au prix d’un caractère moins général (dans la version actuelle, seul un étalonnage à base de raies du néon est compatible avec le mode automatique).


Commençons par d’écrire la méthode automatique, que vous allez surement apprécier.

5.2.1: L’étalonnage automatique


Le logiciel sait repérer automatiquement les raies du gaz néon présentes dans vos images d’étalonnage (y compris en mode latéral), mesurer leurs positions précises à une fraction de pixel près, les coupler à des longueurs d’onde de lui-même, puis enfin calculer le polynôme de dispersion qui rattache les rangs des pixels à ces longueurs d’onde. Cette fonction de haut niveau offre un vrai confort d’usage de specINTI.


Pour activer celle-ci il suffit d’inclure le paramètre auto_calib dans le fichier de configuration. Voici un exemple d’usage, approprié pour notre fil conducteur :


# ---------------------------------------------------

# Recherche automatique des raies d'étalonnage

# ---------------------------------------------------

auto_calib: [6500, 6700]


Les deux valeurs numériques de ce paramètre sont les longueurs d’onde minimale et maximale entre lesquelles specINTI recherche automatiquement les raies d’étalonnage. Dans notre exemple nous voulons exclure la raie située à la longueur d’onde 6717 A, d’où le choix borné par les longueurs d’onde 6500 A - 6700 A.


Si vous lancez le traitement, la fenêtre de sortie fournit les informations suivantes :


Lateral mode calibration...

Calibration coefficients:

-4.587269053198374e-07, 0.06475318322826282, 6432.2345972267585

Residue = 0.0001

FWHM = 5.65 pixels

Dispersion = 0.0624 A/pixel

Resolution power = 18717 @ 6606 A


Il est précisé que vous utilisez le mode latéral. On trouve ensuite les coefficients du polynôme de dispersion calculé (termes a, b, c), rattachant les pixels à des longueurs d’onde. Le résidu permet d’évaluer la qualité de l’ajustement réalisé, ici à l’ordre 2. Le fait que l’on trouve une valeur nulle ou très petite (du genre 0,01) signifie que l’ajustement est très correctement réalisé (en particulier, specINTI a réussi à détecter automatiquement les bonnes raies d’étalonnage).


Comme autre information, vous trouvez la largeur à mi-hauteur (FWHM) des raies de la lampe néon en pixels (ici 5,65), la valeur de la dispersion spectrale moyenne en angströms par pixel dans les images brutes. Le pouvoir de résolution est aussi calculé, mais il faut ici être prudent sur la signification du résultat, j’y reviendrais.


Note : vous allez trouver aussi dans le fenêtre de sortie le nombre de raies utilisées pour l’étalonnage spectral, ici 4 raies :


Automatic search of calibration lines...

Number of calibration lines find = 4


Le degré maximum possible de la loi de dispersion calculée est égal au nombre de raie moins 1, donc ici le l’ordre du polynôme ne peut être supérieur à 3. Dans l’exemple,  nous utilisons un polynôme de degré 2, suffisant pour étalonner dans le domaine spectral observé :


# ----------------------------------------------------------------

# Ordre du polynôme d'étalonnage à évaluer

# Obligatoire si calib_mode = 0 ou 3 

# ----------------------------------------------------------------

poly_order: 2


Astuce : il est possible d’utiliser specINTI dans un mode « vérification », de « test » ou même pédagogique. Pour cela ont doit donner au paramètre check_mode la valeur 1,


# ----------------------------------------------------------------

# Mode vérification

# Si la valeur est 0 (mode par défaut), déroulement standard

# Si la valeur est 1, sortie d’informations de contrôles supplémentaires

# ----------------------------------------------------------------

check_mode: 1


specINTI génère dans le répertoire de travail un fichier PNG, appelé « _step12.png»,  montrant sur un graphique le spectre d’étalonnage utilisé avec les longueurs d’ondes attribuées aux raies d’émission qu’il a détecté :

5.2.2: L’étalonnage semi-automatique


Décrivons maintenant le mode semi-automatique, le plus universel donc. Noter que le fait d’écrire «semi»  dans « semi-automatique » signifie que le logiciel accomplit tout de même un gros travail par lui-même afin de vous aider !


Le travail qui vous est échu consiste à identifier dans les images acquises les raies du néon auxquelles on peut attribuer une longueur d’onde précise (ces longueurs d’onde sont extraites de tables). Vous devez ensuite mesurer approximativement la position de ces raies en pixels suivant l’axe horizontal de l’image (l’axe X, avec les longueurs d’onde croissantes de gauche à droite).


Les raies d’émission du néon ainsi localisées constituent une sorte d’atlas. Comme indiqué à la section précédente, nous allons utiliser seulement les 4 premières en partant de la gauche. Les longueurs d’onde sont passées à specINTI via la paramètre  wavelength du fichier de configuration . Dans notre exemple, nous avons bien,


wavelength: [6506.53, 6532.88, 6598.95, 6678.28]


La fin de votre travail consiste à instruire le paramètre line_pos du fichier de configuration (ce paramètre devient obligatoire lorsque vous n’utilisez pas l’étalonnage automatique). Il s’agit des coordonnées en pixels des raies correspondant aux longueurs d’onde du paramètre wavelength (la correspondance entre les deux tables doit bien entendu être respectée). Pour ce faire, affichez une des images brutes de la séquence de l’étoile gamma Peg, puis notez la position X approximative des 4 premières raies du néon à l’endroit où elles interceptent la trace du spectre. Vous allez trouver environ X = 1158, 1573, 2624, 3909 : 

Astuce : si en même temps que vous cliquez dans l’image vous appuyez sur la touche « Alt » du clavier, specINTI Editor copie la coordonnée X pointée dans le champ « X coord » située en bas à droite de l’onglet. Si vous faites de même avec la seconde raie, la coordonnée X de celle-ci s’affiche aussi dans le même champ avec une virgule de séparation, et ainsi de suite. Au final, Il suffit de copier (Ctrl X) le contenu de ce champ, puis de le coller (Ctrl V) comme valeur du paramètre de line_pos (en n’oubliant pas les crochets). L’opération réduit les erreurs de transcription.


Ne vous inquiétez pas trop de la précision de ces relevés de position, une erreur de plusieurs pixels sera sans effet. Par défaut, la tolérance de specINTI est de +/- 25 pixels, mais vous pouvez augmenter celle-ci en ajoutant le paramètre (optionnel donc) search_wide, avec une valeur qui est la largeur de tolérance. Par exemple pour une tolérance de +/- 50 pixels, ajoutez où vous voulez dans le fichier de configuration la ligne suivante :


search_wide: 100


Finalement, voici comment transformer le fichier de configuration pour travailler en mode d’étalonnage semi-automatique (la commande auto_calib n’apparait alors pas dans le fichier) : 


# ---------------------------------------------------

# Longueur d’onde des raies d'étalonnage

# ---------------------------------------------------

wavelength: [6506.53, 6532.88, 6598.95, 6678.28]


# ---------------------------------------------------

# Position des raies d'étalonnages en pixels 

# ---------------------------------------------------

line_pos: [1158, 1573, 2624, 3909]


# ----------------------------------------------------------------

# Largeur en pixels de la zone de recherche des raies

# d'étalonnage spectral

# ----------------------------------------------------------------

search_wide: 100


Continuons à explorer le contenu du fichier de configuration. Ce qui est dit ici est aussi valable pour le mode d’étalonnage automatique. Intéressons-nous aux zones de calcul du signal du fond de ciel. Ces zones permettent d’éliminer le fond de ciel des images de spectres (et les raies d’étalonnage en mode latéral dans le résultat final). Elles sont situées de part et d’autre de la trace du spectre et définies relativement à la coordonnée verticale de cette trace pour chaque image élémentaire acquise. On utilise le paramètre sky pour définir ces zones, par exemple :


# ---------------------------------------------------

# Zones de calcul du fond de ciel

# ---------------------------------------------------

sky: [100, 22, 22, 100]


Quatre valeurs sont passée à specINTI. Les deux premiers (100, 22) définissent la zone du ciel au-dessous de la trace, les deux suivant (22, 100) au-dessus de la trace. Les valeurs sont des coordonnées Y en pixels relativement à la trace du spectre.


J’en profite pour décrire un autre paramètre important du fichier de configuration, par ailleurs obligatoire : bin_size. Celui-ci fixe la largeur de binning en pixels. Le binning spectral en question consiste à « ramasser » colonne après colonne l’ensemble du signal compris entre deux bornes écartées de la valeur bin_size en pixels, centrée sur la trace, de manière à obtenir les points du profil spectral. La valeur de bin_size doit être suffisante grande pour additionner (collecter) près de 99% du signal de l’étoile, mais a contrario, pas excessivement large, car sinon en plus de collecter le signal , on collecte aussi le bruit. 


# ---------------------------------------------------

# Largeur de binning

# ---------------------------------------------------

bin_size: 24


La copie d’écran ci-après explique de manière géométrique l’impact de ces paramètres :

Astuce : il est possible de faire apparaitre des lignes qui matérialisent la position des zones de ciel et de binning dans une image 2D, comme dans la vue ci-dessus. Pour cela, passer specINTI on mode vérification (ou « debug ») en lançant le traitement de l’étoile gamma Peg, en ajoutant la ligne suivante dans le fichier de configuration :


check_mode: 1


On l’a vu, la valeur par défaut de ce paramètre est 0, et correspond à l’usage de routine du programme. Si vous le passez à 1, le logiciel délivre plus d’informations sur son déroulement et génère des fichiers de contrôles dans le répertoire de travail. L’une de ces images s’appelle « _step101.fits ». Si vous visualisez son contenu, vous aller voir des lignes ajoutées qui matérialisent les zones telles quelles sont actuellement définies. Vous pouvez modifier à votre guise les paramètres sky et bin_wide, puis constater l’effet sur l’image « _spec101.fits » en relançant le traitement (comme à chaque fois, pensez à sauvegarder le fichier de configuration modifié au préalable).


Noter que si vous réalisez plusieurs images du spectre d’une étoile, et si pour une raison ou un autre, les traces ne se superposent pas entre ces images (flexion de l’instrument, modification de la consigne de guidage….), cela n’a aucune importance car specINTI traite les images d’une séquence indépendamment les unes des autres. Par exemple, le logiciel repère pour vous la position verticale de la trace de l’étoile dans l’image courante traitée, et centre parfaitement la zone de binning ou les zones de calculs du fond de ciel sur cette position. Le traitement est donc optimal, même si quelques défauts affectent l’acquisition (jusqu’à un certain point).


Vous pouvez revenir au mode normal d’emploi du logiciel en faisant :


check_mode: 0


ou en supprimant cette ligne afin de ne pas encombrer le fichier de configuration.



5.3 : L’évaluation de la réponse instrumentale


Nous abordons une partie un peu plus complexe, qui souvent rend perplexe les débutants, et même parfois les moins débutants. Il s’agit de calculer la réponse spectrale instrumentale, c’est-à-dire la loi d’atténuation du vrai flux provenant de l’objet observé en fonction de la longueur d’onde. Cette atténuation provient de la variation spectrale de la transmission optique du télescope ou encore de la réponse spectrale du détecteur (le  rendement quantique dépend de la longueur d’onde).


La transmission optique de notre propre atmosphère joue aussi un rôle. On sait que cette dernière atténue plus le rayonnement bleu que le rayonnement rouge et change donc la distribution réelle du signal spectral enregistré de l’astre. Normalement il faut séparer la question de l’atmosphère du reste de l’instrument (la raison est que la transmission de l’atmosphère varie en fonction de la date et de la hauteur de l’astre  sur l’horizon, alors que la réponse intrinsèque de l’instrument est constante et à évaluer une seule fois donc).  Pour simplifier, dans cette notice nous allons considérer cependant que l’atmosphère fait partie de l’instrument et nous ne ferons pas cette séparation (se sera l’objet d’une autre note).


Le but de l’évaluation de la réponse instrumentale est donc de corriger le spectre apparent de l’astre pour trouver sa vrai distribution spectrale, telle que nous l’observerions en orbite autour de la Terre (sans atmosphère) et avec un instrument parfait en terme de réponse spectrale, c’est-à-dire se comportant comme un filtre gris (par d’atténuation du rouge relativement au bleu, par exemple).


Faisons un peu de mathématiques, mais vraiment élémentaires !


Supposons que l’on observe une étoile et que l’intensité observée dans le profil brut (mais déjà étalonné en longueur d’onde, voir à la section précédente) soit de 0.4 dans le bleu, de 1,0 dans le vert et de 1,2 dans le rouge. Notre spectre ne contient donc que 3 points, pour simplifier bien sûr. Puisqu’il s’agit d’un spectre « observé »  on décrit le spectre de la manière suivante :


O[0.4, 1.0, 1.2]


Notez qu’il s’agit de valeur relative (sans unités physiques). De manière arbitraire, l’intensité dans le vert est de 1,0. C’est volontaire et commode : on dit que le spectre est normalisé à l’unité, ici dans sa partie verte (on aurait pu choisir une autre longueur d’onde). L’essentiel est de bien voir que nous enregistrons 20% de signal en plus dans le rouge que dans le vert dans cet exemple.


Il existe des bases de données qui sont des catalogues de spectres montrant la distribution spectrale « vraie » de certains astres du ciel, que l’on considère pour cette raison comme des astres de références ou étalon. Ce sont des catalogues spectrophotométrqiues. Cette distribution est celle que l’on constaterait si l’instrument était neutre spectralement. Nous avons vu à la section 3.3 la possibilité de télécharger une base spectrophométrique spécialement configurée pour specINTI. Elle est constituée d’un large ensemble de spectres d’étoiles considérés comme des étalons spectraux : pour l’essentiel une base spectrophométrique appelée MILES.


Supposons que F soit le vrai flux lumineux provenant de l’astre observé, avec les valeurs 1,1 dans le bleu, 1,3 dans le vert et 0,6 dans le rouge. On note :


F[1.3, 1.0, 0.6]


En fonction de la longueur d’onde, à l’évidence, entre le vrai flux F et le signal observé O il y a une très grande différence. Il n’est pas trop faux de dire que notre mesure est du « n’importe quoi » à ce stade !


Il faut bien sûr y remédier. La cause de cet écart vient de la réponse au flux de l’ensemble instrumental. Au premier coup d’oeil, le très faible signal relatif observé dans le bleu (0,4) par rapport au flux réel attendu (1,1)  indique que notre instrument atténue fortement la partie bleue du spectre.


Comme faire pour trouver l’ampleur de ce facteur d’atténuation en fonction de la longueur d’onde, autrement dit la réponse instrumentale R ? La solution est simple, il suffit de diviser le spectre observé O par le spectre réel F extrait de la base de données, c’est-à-dire faire :


R = O / F


Soit en valeur numérique,


R = O[0.4, 1.0, 1.2] /  F[1.3, 1.0, 0.6] = [0.31, 1.00, 2,00]


Que signifie ce résultat R[0.31, 1.00, 2,00] pour la réponse instrumentale si activement recherchée ? On apprend que l’instrument atténue d’un facteur 0,31 le flux lumineux incident de l’astre relativement au vert. De même, l’instrument est 1,2 fois plus transparent au rayonnement rouge qu’au rayonnement vert.


Dès lors que la réponse R est connue, la correction de la distorsion en flux causée par l’instrument est simple afin de trouver le vrai flux « calculé » Fc de l’astre :


Fc = O / R


Soit :  Fc = O[0.4, 1.0,  1.2]  / R[0.31, 1.00, 2,00] = [1.3, 1.0, 0.6]


C’est très précisément cette opération de division que réalise specINTI pour corriger les données spectrales. Jetez un oeil dans le fichier de configuration de ce fil conducteur, vous allez trouver le paramètre suivant :


# ----------------------------------------------------------------

# Nom du fichier de réponse instrumentale

# ----------------------------------------------------------------

instrumental_response: reponse


On indique ici à specINTI que la réponse instrumentale R est contenu dans un fichier FITS nommé « reponse.fits » (un profil spectral) et présent dans le répertoire de travail. C’est une réponse calculée par l’auteur, et copiée dans votre répertoire de la session d’observation au moment de la décompression du fichier ZIP. Je vais cependant vous apprendre à trouver par vous-même la valeur de R conforme à votre instrument. Ce travail est assez fastidieux à la base, mais il est bien facilité par l’interface specINTI Editor, on va le voir.


La réponse R est ici considérée comme une constante de l’instrument, et donc peu s’appliquer à tous les astres observés lors d’une session et même lors de plusieurs sessions si l’instrument demeure égal à lui-même. Donc l’effort pour trouver la réponse instrumentale est à consentir une seule fois, « sur le papier ». 


Supposons que l’on observe une autre étoile, dont le flux réel est inconnu. Si le signal apparent constaté est  O[0.3, 1.0, 1.0], le flux recherché est donc :


Fc = O[0.3, 1.0, 1.0] / R[0.31, 1.00, 2.00] = [0.97, 1.00, 0.50]


et ainsi de suite.


Nous venons de voir les ingrédients nécessaires au calcul de la réponse instrumentale : une étoile de référence présente dans le ciel et une observation de cette étoile, puis ensuite une « simple » division (R = O / F). Mais les choses ne sont pas tout à fait aussi simples, sans êtres insurmontables !


Je vais me servir de l’étoile gamma Pégase pour trouver concrètement la réponse instrumentale de Star’Ex, équipé de son réseau de 2400 t/mm autour de la raie H-alpha. Mais gamma Peg est astre « banal » dans le sens où son profil spectral hors atmosphère et hors instrument ne se trouve pas nominativement dans la base de donnée MILES. Il faut rechercher un substitue de mêmes type spectral, c’est-à-dire une étoile classé B2IV, qui est le type spectral de gamma Pegase (utilisez des services du Web ou d’un logiciel de carte du ciel pour vérifiez que le type spectral de gamma Peg est bien celui-ci).


Pour bien jouer le jeu, nous allons calculer le profil spectral de gamma Peg en supposant que l’on ne dispose pas encore de la réponse instrumentale. C’est simple, dans le fichier de configuration, on met en commentaire le paramètre instrumental_response


#instrumental_response: reponse


puis on sauvegarde le fichier de configuration ainsi modifié, et on relance le traitement. Le résultat est celui-ci :

Avec un oeil un peu averti, on s’alerte d’un détail. Le spectre est nettement plus intense dans sa partie rouge que dans sa partie bleue, un résultat pas très logique compte tenu du type spectral de l’étoile, celui d’une étoile chaude. Pour comprendre cette apparente anomalie, il faut entrer plus en profondeur dans l’équipement utilisé.


L’anomalie est à rechercher autour de la façon dont le flat-fied est ici réalisé, avec une lampe de chantier équipée de puissantes LED. J’ai pu le souligner, la lumière produite présente un fort déficit de rouge par rapport au bleu, y compris à l’intérieur d’un domaine spectral aussi étroit que celui qui nous intéresse ici. Pour vous en rendre compte, visualisez un des fichiers images LED, « led-1.fits » par exemple, et vous allez constater que l’image est nettement plus intense à gauche qu’à droite (d’un facteur deux environ). Le traitement flat-field pouvant se résumer à une simple division,


Image après flat-field = Image avant flat-field   /  flat-field


puisque le flat-field est moins intense dans le rouge, cette partie du spectre après l’opération se retrouve en surintensité. C’est l’inverse pour le côté bleu. Ceci explique l’allure inversée du profil précédent. Cette distorsion produite par la coloration de la source flat-field n’est en réalité pas gênante, le but du flat-field étant de rectifier des défauts de petite échelle dans les images : présences de poussières, variation de la sensibilité interpixels, franges, etc. L’enseignement est que la forme de réponse instrumentale trouvée va dépendre de la source utilisée pour réaliser le flat-field. 


Si vous modifiez la manière de réaliser le flat-field (changement de lampe par exemple), il faudra recalculer une nouvelle réponse. On considère que le système de prise du flat-field fait ainsi partie intégrante de l’instrument. Si vous avez la curiosité, refaites le traitement après avoir remplacé momentanément le nom générique « led- » par le nom réservé « none » dans le fichier d’observation, ce qui signifie que l’on n’emploie  pas les données LED pour le traitement. Le résultat est très différent.


specINTI Editor dispose d’un outil intégré facilitant le calcul de la réponse et ainsi que la recherche de notre étoile de référence de type B2IV dans la base MILES. Ouvrez l’onglet de l’interface tout à droite, appelé «Réponse», le bien nommé. En face le champ « Profil objet », tout en haut de la fenêtre, cliquez sur le bouton « Ouvrir », et dans la boîte de dialogue qui s’ouvre,  sélectionnez le fichier « _gammapeg_20211218_702.fits » dans le répertoire de travail, puis cliquez sur le bouton « Afficher » : 

Comparons notre profil observé de gamma Peg à celui d’une étoile de type spectral comparable. Pour ce faire, cliquez le bouton « Database », puis dans la boîte de dialogue qui s’ouvre alors, cliquez sur le bouton « Parcourir » pour sélectionner le répertoire où vous avez copié la base de données spectrales. Dans la liste déroulante qui apparaît alors à chaque ligne vous avez la référence d’une étoile (son numéro HD), les coordonnées équatoriales (2000.0), le type spectral et la magnitude. Explorez la liste jusqu’à la catégorie des étoiles de type B2IV. Sectionnez l’une des étoiles ayant ce type, par exemple HD3360 :

Cliquez sur « Send » puis sur « Afficher ». Les profils du spectre de l’étoile observé et de l’étoile de référence équivalente peuvent alors être comparés sur le même graphique (notez que le nom des profils des étoiles de référence MILES débutent toujours par « m_ xxxx») :

Repérez le bouton « Diviser ». Il permet de diviser le premier spectre par le second, c’est-à-dire effectuer l’opération R=O/F. Appuyez sur ce bouton… Une nouvelle courbe apparaît à l’écran, de couleur verte. C’est le résultat de notre division, et c’est donc censé être la réponse instrumentale :

Certes il y a une coïncidence de position des raies spectrales, preuve que le type spectre est bien similaire, mais le compte n’y est pas, pas du tout même. Dès le premier coup d’oeil il apparaît que les courbes bleu et orange sont décalées l’une par rapport à l’autre. Pas énormément, mais suffisamment pour produire dans le résultat de la division un effet « bas relief » très asymétrique. Ce décalage spectral n’est pas le fruit d’une erreur d’étalonnage. Il résulte du fait que la vitesse radiale de l’étoile n’est pas prise en compte dans les calculs. Cette vitesse est notamment celle de la Terre en rotation annuelle autour du Soleil, à une vitesse proche de 29 km/s. L’effet « bas-relief » lui-même trahit une différence de forme des raies entre les termes de la division, pour la raison que les spectres acquis par Sol’Ex le sont avec un pouvoir de résolution d’environ R=18000, alors que les détails dans les spectres MILES correspondent à un pouvoir de résolution de  R=1000 environ. Pour que nos spectres « O » et « F » soient comparables, ils doivent donc subir quelques transformations. 


La première d’ente elles consiste à décaler spectralement le spectre de référence « F » de manière à ce qu’il se superpose mieux à celui du profil observé « O ». On s’aide pour cela de la présence des raies spectrales. Dans le champ « Translater », entrer la valeur 0,6, ce qui signifie un décalage spectral de 0,6 angström sur le spectre F. Cliquez sur le bouton «Translater », puis sur le bouton « Diviser » pour voir le résultat :

Les artefacts au niveau des raies sont toujours bien présents, mais de forme plus symétrique, ce qui indique que les spectres se superposent en longueur d’onde. La valeur de 0,6 A est le fruit d’essais successifs pour aboutir à ce résultat. En couplant les actions « Translater » puis « Diviser », en 4 ou 5 essais vous allez trouver une valeur correcte.


Reste à régler le problème de la différence de résolution spectrale. Dans le champ « Lisser objet » entrer la valeur 34, cliquer sur le bouton correspondant, puis sur le bouton « Diviser » :

Le résultat de cette division (courbe verte) montre des artefacts considérablement atténués. Ceci signifie que les résolutions spectrales sont proches entre le numérateur et le dénominateur. La valeur de 34 est une fois de plus trouvée par essais successifs. Elle correspond à une force de lissage (via une convolution par une fonction gaussienne).


Le travail est presque achevé. La courbe verte  comporte encore des accidents qui ne se sont pas de nature instrumentale. Par exemple, les raies telluriques de la vapeur d’eau atmosphérique peuvent en être à l’origine. Il faut donc encore filtrer la courbe verte y gommer ces défauts de traitement (une courbe de réponse digne de ce nom est assez uniforme, sans détails à haute-fréquence). Pour ce faire, entrez ici la valeur 1500 dans le champ « Filtrer » et cliquez sur le bouton correspondant (bien sûr, vous pouvez tester plusieurs valeurs). Vous obtenez une courbe rouge, qui est la réponse finale recherchée. Elle épouse la forme de la division initiale, mais sans les défauts locaux :

Pour finir, sauvegardez le fichier de la réponse spectrale ainsi calculée dans le répertoire de travail en cliquant sur le bouton « Sauver ». Le nom du fichier est imposé : _rep.fits. Vous pouvez parfaitement changer ce nom depuis l’explorateur de fichiers. Voici l’aspect final de l’onglet « Réponse » dans le contexte du fil conducteur :

Dans le fichier de configuration inscrivez (par exemple):


instrumental_response: _rep


et lancez le traitement. Le résultat est bien conforme à la distribution spectrale espérée d’une étoile de type B2IV :

5.4 : L’étalonnage spectral : épisode 2


Quoique donnant des résultats fort corrects, la méthode, d’étalonnage décrite à la section 5.2 n’est pas parfaite. Le problème vient du fait qu’à cause des aberrations optiques résiduelles dans le télescope et dans le spectrographe, les rayons lumineux qui viennent de la lampe spectrale, située en bord de miroir ne suivent pas la même chemin moyen que les rayons venant de l’astre observé, qui eux sont uniformément répartis sur toute la surface du miroir. Le résultat est un biais d’étalonnage pouvant être non linéaire en fonction de la longueur d’onde, ce qui est gênant. Certes, le défaut est fort discret dans le cas de Star’Ex dans la configuration 80x125 + réseau de 2400 t/mm, mais lorsqu’on est perfectionniste il faut chercher à le réduire mieux que l’on peut.


L’idéal serait que la lumière de la lampe néon éclaire toute la surface du miroir de télescope ou de l’objectif de lunette, au même titre que la lumière des étoiles, mais c’est techniquement compliqué en pleine pupille. Sur un télescope de taille relativement grande, disons à partie de 150 mm de diamètre, le fait de disposer 4 lampes sur les branches du secondaire améliore déjà la situation, et on peut aussi songer à emmener la lumière de la source étalon par des fibres optiques pour une occultation minimale de la surface du miroir primaire.


Une autre solution possible lorsque le diamètre de l’instrument est petit, comme ici, consiste à réaliser deux étalonnages distincts :


1) un premier étalonnage spectral que l’on pratique qu’une fois en début de nuit, ou même plus épisodiquement encore, en agitant manuellement la lampe néon devant l’entrée du télescope ou de la lunette, de manière aléatoire durant un temps de pause relativement long, et ce en dehors de la visée de toute étoile. On synthétise de cette manière un éclairage uniforme de la pupille par la lampe d’étalonnage. Le résultat ressemble à ceci :

Spectre d’une lampe néon agitée en permanence devant l’ouverture du télescope durant une pose de 60 seconds. On simule de cette manière un éclairement uniforme de l’entrée du télescope par lampe d’étalonnage qui occuperait toute la surface du miroir. 

Cet étalonnage avec un éclairage « uniforme » va servir à calculer les coefficients de degrés supérieure du polynôme de dispersion. 


2) un second étalonnage « permanent »  en utilisant une lampe étalon discrète accrochée en bord de pupille, comme nous l’avons déjà décrit. Ce spectre « latéral », inscrit dans les images mêmes des objets observés, n’a plus à présent qu’un rôle de recalage des spectres élémentaires entre eux afin de compenser le bougé du spectre  induit par les flexions mécaniques.


Ce principe d’étalonnage exploitant deux sources étalons distinctes, l’une utilisée de manière très épisodique, l’autre en permanence, est géré par specINTI en donnant la valeur 4 au paramètre calib_mode.


Voici les modifications à apporter au fichier de configuration (le résultat est le fichier de configuration « conf_mak127_ha_mode4 », déjà présent dans le sous-répertoire lors de l’installation de la distribution). D’abord faire :


# ---------------------------------------------------

# Mode d'étalonnage spectral

# ---------------------------------------------------

calib_mode: 4


Ensuite, fournir les valeurs des coefficients d’étalonnage, établis en utilisant la lampe néon en pleine pupille (voir plus loin), via le paramètre calib_coef :


# ------------------------------------------------------------------------------

# Coefficients d''étalonnage spectral 

# Obligatoire si calib_mode = 2 ou 4

# ------------------------------------------------------------------------------

calib_coef: [-4.88182e-7, 0.064892, 6433.022]


Si le polynôme est de la forme L = a2 x P^2 + a1 x P + a0, l’ordre est [a2, a1, a0].


Noter que le paramètre poly_order n’est plus obligatoire car specINTI analyse les valeurs du paramètre calib_coef et trouve de lui-même le degré du polynôme.


Vous pouvez à présent sauvegarder le fichier de configuration et lancer le traitement, avec à la clef un étalonnage spectral légèrement plus précis que le précédent, réalisé en mode 3.

Voyons comme promis la façon de trouver les coefficients du polynôme de dispersion afin de mettre en oeuvre le mode 4 d’étalonnage. L’image spectrale utilisée pour cela est réalisée avec la lampe néon agitée devant d’ouverture du télescope. Le résultat est le fichier « calib_neon-1.fits » qui se trouve dans le répertoire de la session. La pause est de 60 secondes, tout en essayant d’avoir un éclairage approximativement homogène du miroir primaire après ce laps de temps. Synthétisons un fichier d’observation spécifique pour ce cliché, que nous appelons « obs_neon.yaml » (par exemple) :

Le fichier d’observation est réduit à sa plus simple expression : une seule image à traiter (calib_neon-1) et on n’utilise pas les images LED, pas franchement utiles ici (remarquer le « none » donné au nom du fichier flat-field).


Astuce : l’image calib_neon-1 peut très bien avoir été acquise par jour de mauvais temps, en déposant le tube du télescope ou de la lunette sur une table, avec bien entendu Star’Ex à l’extrémité. C’est aussi une bonne façon de prendre en main l’instrument et les procédures de traitement. 


Pensez à sauvegarder ce fichier d’observation dans le répertoire de travail (bouton « Sauver »).


Fabriquons afin un fichier de configuration dédié au calcul des coefficients du polynôme de dispersion, et uniquement à cela (il est en fait déjà présent dans le sous-répertoire « _configuration », sous le nom « conf_mak127_ha_calib_mode4.yaml » (pour l’utiliser, pensez à mettre à jour le chemin vers votre répertoire de travail) . Voici le listing complet de ce fichier afin de faire quelques commentaires dessus :



# ********************************************************************************

# Configuration Star'Ex  2400 t/mm - 80x125 - fente 19 microns - Mak127

# Evaluation du polynôme de dispersion à partir d'une image de  lampe néon

# ********************************************************************************


# ---------------------------------------------------

# Répertoire de travail

# ---------------------------------------------------

working_path: /Volumes/Samsung_T5/starex_19122021/


# ---------------------------------------------------

# Fichier d'observation

# ---------------------------------------------------

batch_name: obs_neon


# ---------------------------------------------------

# Mode d'étalonnage spectral

# ---------------------------------------------------

calib_mode: -2


# ---------------------------------------------------

# Recherche automatique des raies d'étalonnage

# ---------------------------------------------------

auto_calib: [6500, 6700]


# ---------------------------------------------------

# Coordonnée Y typique de la trace des spectres

# ---------------------------------------------------

posy: 212


# ---------------------------------------------------

# Largeur de binning (obligatoire)

# ---------------------------------------------------

bin_size: 24


# ---------------------------------------------------

# Zones de calcul du fond de ciel

# ---------------------------------------------------

sky: [100, 22, 22, 100]


# ------------------------------------------------

# Angle de tilt

# ------------------------------------------------

tilt: -0.1


# ------------------------------------------------

# Rayon de courbure du smile

# -----------------------------------------------

smile_radius: -27000


# ----------------------------------------------------------------

# Largeur en pixels de la zone de recherche des raies

# d'étalonnage spectral

# ----------------------------------------------------------------

search_wide: 100


# ----------------------------------------------------------------

# Ordre du polynôme d'étalonnage à évaluer

# ----------------------------------------------------------------

poly_order: 2


# ----------------------------------------------------------------

# Motif de filtrage médian (optionnel)

# ----------------------------------------------------------------

kernel_size: -3


# ----------------------------------------------------------------

# Filtrage gaussien  (optionnel)

# ----------------------------------------------------------------

sigma_gauss: 1




Les points marquants sont les suivants…


Le paramètre calib_mode prend la valeur -2, ce qui a pour effet d’activer une procédure spéciale visant à calculer le polynôme de dispersion à partir d’une ou plusieurs images d’une même source à raies d’émission (c’est notre cas). Voici aussi les explications à la section 13.2.


Pour simplifier au maximum, nous nous plaçons en mode de recherche automatique de raies en faisant auto_calib: [6500, 6700]. Notez que ceci est possible car la lampe spectrale utilisée est du type néon.


Un nouveau paramètre est introduit : posy. Il indique à specINTI la coordonnée verticale approximative de la trace du spectre des étoiles en pixels. Dans notre exemple Y = 212 environ, à mesurer avec le pointeur de souris. Cette information est aussi délivrée lors du traitement normal des spectres dans le fenêtre de sortie, dans la ligne Computed mean Y = 212.


On défini aussi la valeur du paramètre tilt, obligatoire en mode d’étalonnage -2. C’est l’angle de tilt caractéristique de la trace des spectres, lui aussi fourni dans la fenêtre de sortie en mode d’étalonnage « standard ». Le paramètre smile_radius précisant la valeur du rayon de courbure du smile est en revanche optionnel (le rayon de courbure est infini si ce paramètre est absent).


On va le voir au paragraphe suivant (5.5), les paramètres optionnels kernel_size et sigma_gauss offrent la possibilité de pratiquer un filtrage du bruit bien adapté aux données traitées (images CMOS avec un échantillonnage de 5 pixels/FWHM au moins). Ce filtrage influence très peu le résultat sur les coefficients d’étalonnage, mais en revanche, ils permettent de disposer d’une évaluation assez fidèle du pouvoir de résolution spectral.


Avec l’exemple du fil conducteur, voici à quoi on aboutit :


Calibration coefficients:

-4.881817397236489e-07, 0.06489238626835633, 6433.021659265822

Residue = 0.0002

FWHM = 5.00 pixels

Dispersion = 0.0624 A/pixel

Resolution power = 21092 @ 6579 A


Les termes du polynôme aussi trouvés sont ceux-là mêmes que nous avons utilisés plus haut pour traiter le spectre de l’étoile gamma Peg avec le  mode 4 d’étalonnage (rappel : calib_coef: [-4.88182e-7, 0.064892, 6433.022]).

5.5 : Comment réduire le bruit


Le bruit est la composante aléatoire du signal. Dans la mesure du possible, il faut chercher à le réduire afin de détecter des signaux faibles et améliorer la précision de mesure.


Vous avez sûrement remarqué la présence du paramètre :


kernel_size: -3


S’il est défini avec une valeur négative, specINTI réalise un filtrage médian dans les images optimisé afin de réduire un bruit typique des capteurs CMOS : le bruit télégraphe (ou encore bruit « poivre et sel »). La manière d’employer au mieux ce paramètre sera discutée plus loin dans la documentation. Retenez que si vous utilisez un capteur CMOS et si vos raies monochromatiques ont une largeur à mi-hauteur (FWHM) de 5 pixels ou plus, je recommande d’utiliser la valeur -3.


Un autre paramètre efficace pour réduire le bruit est un lissage à partir d’un filtre gaussien, comme ici :


# ----------------------------------------------------------------

# Filtrage gaussien

# ----------------------------------------------------------------

sigma_gauss: 1.0


Le paramètre sigma_gauss indique à specINTI la largeur de la gaussienne de convolution à utiliser. Le filtrage est d’autant plus accentué que la  valeur est grande, mais attention, vous perdez aussi de la résolution spectrale. Les données de ce fil conducteur sont assez fortement suréchantillonnées (5 pixels par éléments de résolution au moins), ce qui signifie qu’un filtre à 1.0 (sigma) n’affecte que très peu la résolution spectrale alors qu’il diminue sensiblement bruit. Vous pouvez tester des valeurs comme 0,5 ou encore 5,0 et voir l’effet sur le résultat.


Une étape cruciale du traitement des spectres est le passage de l’image au profil. Il y a mieux à faire que réaliser une simple addition dans la zone de binning (dans la largeur bin_size). On parle d’extraction optimale du profil lorsque le logiciel réalise une sommation pondérée qui tient compte de l’intensité du signal dans chaque colonne de l’image. Il peut y avoir aussi une réjection des rayons cosmiques par la même occasion (specINTI implémente l’algorithme dit de Hornes). Cette extraction n’a un effet que si on observe des spectres de faible intensité, voire de très faible intensité, avec un signal proche d’être noyé dans le bruit. Si vous observez l’étoile Vega, très brillante, ou même gamma Peg, l’addition arithmétique simple conviendra. Pour sélectionner la méthode par simple addition du signal, insérer ce paramètre dans le fichier de configuration :


# ----------------------------------------------------------------

# Mode d'extraction du profil (optionnel)

# 0: standard (valeur par défaut), 1: optimisé

# ----------------------------------------------------------------

extract_mode: 0


ou simplement ne pas ajouter cette ligne.


Si vous désirez utiliser l’extraction optimale (qui fonctionnera aussi bien avec des étoiles brillantes et faibles, mais qui ne montrera sa puissance qu’avec ces dernières, et qui va aussi allonger le temps de calcul), faites :


extract_mode: 1


Mais utiliser extract_mode avec la valeur 1 impose de définir au moins deux autres paramètres : noise et gain. Il concernent les caractéristiques de votre caméra (son bruit de lecture en électrons et son gain en électrons/ADU). Il s’agit là d’une fonction avancée de specINTI, consultez la partie 15.1 de de cette documentation pour en faire un bon usage. A titre d’exemple, avec la caméra ASI183MM utilisée pour cette démonstration, avec un gain constructeur de 150, voici comment est complété le fichier de configuration pour une extraction optimale du profil spectral :


# ----------------------------------------------------------------

# Mode d'extraction du profil (optionnel)

# 0: standard (valeur par défaut), 1: optimisé

# ----------------------------------------------------------------

extract_mode: 1


# ----------------------------------------------------------------

# Bruit de lecture en e-

# Obligatoire si extract_mode = 1

# ----------------------------------------------------------------

noise: 2.5


# ----------------------------------------------------------------

# Gain électronique en e-/ADU

# Obligatoire si extract_mode = 1

# ----------------------------------------------------------------

gain: 0.0418


Enfin, specINTI propose deux techniques pour évaluer le signal du fond de ciel : (1)par un calcul médian, (2) par un ajustement de polynômes de Legendre. La première est la plus rapide et correspond à la valeur par défaut. Vous avez le même résultat en faisant :


sky_mode: 0


L’évaluation par des polynômes est activée en faisant dans le fichier de configuration,


sky_mode: 1


Cette dernière option est plus lourde en termes de temps de calcul, mais donne un résultat légèrement meilleur, surtout lorsqu’on traite des spectres de faible intensité.

6 : Les modes d’étalonnage supportés


J’ai plusieurs fois indiqués dans les parties précédentes que specINTI pouvez aboutir au profil spectral final suivant plusieurs modes d’étalonnage, numérotés de 0 à 4. Ces modes sont étroitement associées à la manière d’utiliser le spectrographe. Voici sous une forme résumée à quoi correspondent ces modes et les circonstances pour les utiliser.


Mode #0 : C’est ce mode que l’on peut considérer comme « standard » en spectrographie. Vous utilisez une lampe d’étalonnage à raies d’émission (néon, argon, mercure…) et dans la mesure du possible, vous réalisez une prise de spectre de cette lampe avant et après la prise des images sciences de l’objet visé. specINTI exploite le ou les spectre(s) de cette lampe pour calculer automatiquement le polynôme d’étalonnage (loi de dispersion qui rattache les numéros  pixels de l’image à des longueurs d’onde) et l’applique aux données « science ».

 

Mode #1 : Vous avez déjà évalué par ailleurs les termes du polynôme d’étalonnage spectral caractéristique de votre spectrographe - une sorte de constante du matériel. Pour réalisé cette évaluation vous vous êtes servi du spectre d’une lampe spectrale à raies d’émission ou les raies d’absorption d’une étoile chaude de type spectral A ou B. Cette loi de dispersion peut être calculée avec un logiciel autre que specINTI (VisualSpec, i-Spec, …) ou avec specINTI lui-même (voir à la section 5.4). Ce polynôme est directement appliqué aux données à traiter et vous n’avez pas besoin d’utiliser une source d’étalonnage durant toute la session d’observation. Ce mode #1 est dit « expérimental » ou de « test », mais pas prévu pour traiter concrètement les observations.. Rien ne dit en effet que  la fonction d’étalonnage effective n’évolue pas au cours de la session, en fonction de la température, du pointage du télescope… L’usage du seul polynôme de dispersion générique peut conduire à des  erreurs d’étalonnage significatives. En dehors d’opérations de tests, vous devez donc éviter d’utiliser le mode #1.


Mode #2 : Ce mode est mixte entre les modes #0 et #1,  précédemment décrits. L’idée de base est qu’un phénomène de flexion mécanique du spectrographe, variable en fonction du point du ciel pointé, ou une déformation thermoplastique, liée à un changement de température, conduit au premier ordre à une translation de l’image du spectre sur le détecteur. Supposons le polynôme d’étalonnage suivant, d’ordre 3 :


Lambda = A3  x X^3 +  A2 x X^2 + A1 x X + A0


avec lambda, la longueur d’onde, X le rang d’un pixel dans l’image suivant l’axe spectral et (A0, A1, A2, A3), les coefficients du polynôme d’étalonnage.


Par la modélisation, et par l’expérience, on sait qu’au premier ordre au moins, si l’instrument subit une déformation mécanique ou thermique, c’est le terme A0 qui est majoritairement affecté. Cela signifie que malgré les accidents qui peuvent survenir, le spectre demeure conforme à lui-même au cours de la session (ou plusieurs sessions) à une translation près. Par exemple, son échelle moyenne (terme A1) ne change pas. On dit que le spectre demeure affine. Les termes d’ordres supérieurs sont eux aussi raisonnablement constants dès lors que la translation n’est pas considérable (disons quelques pixels à quelques dizaines de pixels, en règle générale.).


En fin de compte, le mode #2 d’étalonnage consiste : (1) à évaluer le polynôme d’étalonnage une fois par nuit (en général) en exploitant les raies de la série de Balmer (par exemple) observées sur une étoile de type A ou B en raison du fort contraste de ces raies dans le spectre des étoiles de ce type,  (2) à considérer que ce polynôme est une constante instrumentale pour la nuit en question et même les suivantes parfois, à l’exception du terme A0, (3) à exploiter une source d’étalonnage (lampe à raie d’émission) pour chaque étoile observée afin de seulement recaler le terme A0 (une seule raie est nécessaire, mais vous pouvez en utiliser plusieurs, et dans ce cas, specINTI calcule une valeur moyenne de A0, plus précise). 


Le mode #2 règle un problème délicat et assez commun : il est la solution lorsque votre lampe spectrale ne possède pas assez de raies pour couvrir tout le domaine spectral observé, ou lorsque les raies sont peu intenses et mal distribuées. Ce mode #2 est particulièrement utile si vous travaillez en basse résolution spectrale avec un spectrographe couvrant un large domaine de longueurs d’onde.


Mode #3 : specINTI réalise un étalonnage spectral avec les raies d’une lampe étalon qui éclaire le spectrographe alors même que l’on observe les étoiles. L’illumination d’étalonnage prend la forme d’une brève exposition relativement au temps d’exposition pour obtenir l’image science, ou encore prend la forme d’un éclairage permanent du miroir du télescope alors même que l’on observe les cibles « science » (la brillance de cette source est alors atténuée pour qu’au d’un temps long d’exposition elle n’éblouisse pas les images science.  A chacune des poses élémentaires sur les cibles est donc associé un spectre d’étalonnage, qui s’imprime dans le spectre même de la cible. Il y a bel et bien superposition de deux spectres au final. On parle de mode d’étalonnage latéral car les raies d’émission d’étalonnage apparaissent de part et d’autre de la trace du spectre.


De fait, le spectre des raies d’étalonnage se mélange au spectre de l’étoile que l’on observe, mais rassurez-vous, au terme du traitement, le spectre étalon va s’effacer des données science. specINTI sait trouver la position précise des raies d’étalonnage et établir à partir d’elles le polynôme d’étalonnage consécutif, qu’il applique ensuite au spectre science.


L’intérêt du mode #3 est qu’il s’écoule un temps minimal entre le moment où on observe les cibles science et le moment où on réalise l’étalonnage. En éclairage permanent, le décalage temporel est même nul. L’étalonnage est alors plus précis et les spectres mieux résolus, car on compense de la sorte les effets de dérives de l’instrument durant la session sur une cible, qui peuvent déplacer d’image optique du spectre sur le détecteur. Ce mode nécessite une organisation technique particulière pour injecter le flux d’étalonnage en même temps que l’on observe la cible. Il peut s’agir du dispositif d’étalonnage attaché au spectrographe lui-même, que l’on active brièvement, où encore un dispositif situé à l’entrée même du télescope (voir section 4.4). C’est par exemple ce mode #3 d’étalonnage qu’il faut utiliser si on désire réaliser des mesures de précision de vitesses radiales. C’est aussi celui-ci qui est privilégié dans les observatoires professionnels. 


Mode #4 : Ce mode est intermédiaire entre le mode #0 et le mode #3. On évalue les termes du polynôme d’étalonnage en utilisant par exemple les raies de Balmer d’une étoile A ou B. Ces coefficients sont alors considérés comme des constantes de l’instrument, ou tout au moins, des valeurs qu’on ne réactualise pas fréquemment. En revanche, specINTI utilise le mode latéral (#4) pour réaliser le recalage du terme A0 du polynôme, qui lui peut évoluer en fonction du temps ou encore du pointage du télescope.


Le mode #4 est peut bénéficier du fait que l’on observe sous un ciel pollué, en ville, en présence de raies de lampes d’éclairage urbain du sodium ou du mercure : on se sert alors de cette source de pollution comme un avantage puisqu’on dispose de l’équivalent d’une lampe étalon gratuite et permanente. C’est un des rares cas où la pollution lumineuse sert à quelques chose de positif en astronomie ! Si l’observatoire est très isolé de la pollution lumineuse, il est parfois possible d’exploiter des raies émises par la haute atmosphère, en particulier la raie verte à 5577 A, toujours présente lorsqu’on travaille en basse résolution. Cette utilisation des raies artificielles ou naturelles, venant du ciel lui-même, est bien sûr fort simple, mais aussi précise, car il n’y a quasi aucun biais d’étalonnage : les rayons venant de la cible science et de la source d’étalonnage suivant le même chemin optique , ce qui est la Graal en matière d’étalonnage.

7 : Le contenu du fichier «observation»


Le fichier d’observation décrit la session à traiter (nom des cibles, images d’étalonnages…) - relire la section 4.6 au besoin. Le fichier d’observation doit se situer dans le répertoire où se trouvent les données  - c’est le répertoire dit de «travail». La structure du fichier  respecte le standard YAML. Voici un contenu caractéristique :


# *******************************************************

Altair:

# *******************************************************

- Altair              # catalog name

- altair-             # generic target file name

- 13                  # number of target spectral images           

- altair_neon-        # generic spectral lamp files name

- 1                   # number of spectral lamp images

- altair_tung-        # generic flat lamp files name 

- 18                  # number of flat images

- n900-               # generic dark files name

- 16                  # number of dark images

- o-                  # generic offset files name

- 25                  # number of offset files name 

- none                # optical atmospheric transmission

# *******************************************************


Il est question d’un simple texte que vous pouvez rédiger avec les outils d’édition qu’offre votre ordinateur ou mieux encore, en exploitant l’application specINTI Editor (voir à la partie 5 de cette documentation). L’écriture de ce fichier doit respecter une structure et une syntaxe particulière (voir aussi le manuel de référence à la section xxx).


Notez d’abord que vous pouvez insérer des commentaires où bon vous semble, ce qui améliore la lisibilité. Un commentaire débute par le caractère «  # »  .


A chaque objet cible à traiter est associé un bloc de données. Il y a donc autant de blocs qu’il y a d’objets observés. Le début d’un bloc est marqué par un texte (ou clefs)  suivi de deux points « : ». Dans l’exemple ci-devant :


Altair:


Le texte de ce préambule n’a pas d’importance pour nous, il sert seulement à circonscrire le bloc actuel des blocs précédent ou suivant. Les minuscules ou majuscules, ou encore les espaces sont possibles. Vous auriez par exemple pu écrire « Ma belle observation de Altair: ». 


Ma belle observation de Altair:


Seul compte les deux-points « : » à la fin de la ligne. 


Viennent ensuite 12 lignes (ce nombre est imposé, hors commentaires) décrivant l’observation proprement dite d’une cible donnée, en l’occurrence celle du spectre de l’étoile Altair (c’est un exemple). Chaque ligne doit débuter par un tiret « - » suivi d’au moins un blanc. L’ordre de ces lignes doit impérativement être respecté relativement à leurs significations.


Ligne 1 : la désignation « officielle » de l’étoile, que l’on trouve dans les catalogues, et compris pas le CDS. Pour cette étoile on pourrait encore choisir « HD 187642 » ou encore « 53 Aql », et on écrirait alors,


- HD187642


ou 


- 53 Aql



Lignes 2 et 3 : le nom générique des images brutes au format FITS de l’étoile à traiter et le nombre d’images correspondant de la séquence. Dans l’exemple, les fichiers images de la séquence sont nommés sur le disque de stockage : altair-1, altair-2…, altair-13. Pour une question de lisibilité, je recommande au moment de l’acquisition de faire en sorte que le nom générique donné aux fichiers images ce terminer par un tiret, comme dans cet exemple..


Lignes 4 et 5 : le nom générique des fichiers d’étalonnage spectral et leur nombre. Notez que vous êtes absolument libre du nom donné au fichier. Dans l’exemple, il n’y a qu’un seul fichier d’étalonnage, appelé « altair_neon-1 ».


Lignes 6 et 7 : le nom générique des images flat-field et leur nombre. Ici, on dispose de la séquence altair_tung-1,  altair_tung-2…, altair_tung-18. Je précise plus loin comment ces images ont été acquises. Ces images sont combinées par specINTI pour produire un « flat maître ».


Lignes 8 et 9 : le nom générique des images du signal d’obscurité et leur nombre. Dans l’exemple, on utilise 16 images de dark exposées 900 secondes dans l’obscurité, que l’on a décidé d’appeler : n900-1,  n900-2…, n900-18. Ces images vont être combinées automatiquement par specINTI de manière à construire un « dark maître ».


Lignes 10 et 11 : le nom générique des images du signal d’offset et leur nombre. Ici : o-1,  o-2…, o-25. Ces images sont prises dans l’obscurité avec un temps de pose très bref. specINTI exploite ces images individuelle pour produire automatiquement une image « offset maître ».


Ligne 12 : le nom d’un fichier FITS contenant le spectre de la transmission atmosphérique au moment de l’observation et dans la ligne de visée de la cible.  Pour simplifier, nous n’utilisons pas ici un tel fichier, et on indique pour cela le nom « none ».


Si ces 12 lignes sont impératives. Il se peut malgré tout que vous ne disposiez pas de tous les fichiers nécessaires. Par exemple, vous avez oublié d’acquérir les images flat-field (ce qui n’est pas bien !). Comment faire alors ?


L’astuce consiste à indiquer un nombre nul d’images pour la séquence correspondante. Par exemple, supposons que vous n’avez pas d’images flat-field pour cette observation. Dans ce cas vous allez écrire quelque chose comme :



- altair_neon-        # generic spectral lamp files name

- 1                   # number of spectral lamp images

- altair_tung-        # generic flat lamp files name 

- 0                   # number of flat images

- n900-               # generic dark files name

- 16                  # number of dark images


 Le nom générique de la séquence n’a alors plus d’importance, et vous pourriez parfaitement écrire :


- pas de flat-field   # generic flat lamp files name 

- 0                   # number of flat images


specINTI va traiter dans tous les cas vos spectres avec les données dont il dispose, mais attention tout de même, la disponibilité du trio de fichiers « flat, dark, offset » est vraiment la règle pour bien exploiter vos observations.


Le fichier d’observation révèle sa puissance lorsqu’on comprend qu’il est possible d’enchaîner le traitement de plusieurs cibles à la suite et de manière entièrement automatique. Il suffit de réaliser des copier-coller des blocs cibles, la structure du fichier étant répétitive. Par exemple :



# *******************************************************

Altair:

# *******************************************************

- Altair              # catalog name

- altair-             # generic target file name

- 13                  # number of target spectral images           

- altair_neon-        # generic spectral lamp files name

- 1                   # number of spectral lamp images

- altair_tung-        # generic flat lamp files name 

- 18                  # number of flat images

- n900-               # generic dark files name

- 16                  # number of dark images

- o-                  # generic offset files name

- 25                  # number of offset files name 

- none                # optical atmospheric transmission

# *******************************************************


# *******************************************************

Vega:

# *******************************************************

- Vega                # catalog name

- vega-               # generic target file name

- 18                  # number of target spectral images           

- vega_neon-          # generic spectral lamp files name

- 1                   # number of spectral lamp images

- altair_tung-        # generic flat lamp files name 

- 18                  # number of flat images

- n900-               # generic dark files name

- 16                  # number of dark images

- o-                  # generic offset files name

- 25                  # number of offset files name 

- none                # optical atmospheric transmission

# *******************************************************


Ici specINTI va d’abord calculer le spectre de l’étoile Altair, puis poursuivre avec le traitement du spectre de l’étoile Véga. Vous pouvez inclure de cette façon autant de blocs cibles que vous souhaitez.


Noter dans l’exemple que pour le traitement de l’étoile Véga,  on utilise les mêmes données d’étalonnage (même flat-field,, mêmes dark, etc). Ce n’est pas obligatoire, mais c’est souvent le cas en pratique. 


Telles que les choses sont décrites, à chaque objet, specINTI calcule les images maîtres du flat-field, du dark et de l’offset, chacun des blocs étant indépendant des autres. Ce calcul est heureusement rapide, mais il y a une manière plus élégante d’écrire le fichier « batch », comme le montre l’exemple suivant :


# *******************************************************

Altair:

# *******************************************************

- Altair              # catalog name

- altair-             # generic target file name

- 13                  # number of target spectral images           

- altair_neon-        # generic spectral lamp files name

- 1                   # number of spectral lamp images

- altair_tung-        # generic flat lamp files name 

- 18                  # number of flat images

- n900-               # generic dark files name

- 16                  # number of dark images

- o-                  # generic offset files name

- 25                  # number of offset files name 

- none                # optical atmospheric transmission

# *******************************************************



# *******************************************************

Vega:

# *******************************************************

- Vega                # catalog name

- vega-               # generic target file name

- 18                  # number of target spectral images           

- vega_neon-          # generic spectral lamp files name

- 1                   # number of spectral lamp images

- _flat               # generic flat lamp files name 

- 0                   # number of flat images

- _dark               # generic dark files name

- 0                   # number of dark images

- _offset             # generic offset files name

- 0                   # number of offset files name 

- none                # optical atmospheric transmission

# *******************************************************

 

Il faut comprendre les choses de la manière suivante à présent. Lors du traitement de la première cible (Altair), specINTI génère les fichiers maîtres flat-field, dark et offset, et les sauvegardes dans le répertoire de travail en utilisant les noms réservés respectifs suivant « _flat », « _dark » et « _offset ». Si vous examinez votre système de stockage des données, vous allez trouver ces fichiers. 


Pour le traitement du second objet, « Vega », on fait en sorte d’indiquer à specINTI d’utiliser les images maîtres pré-calculées et non pas refaire le calcul complet de ces images maîtres. Il suffit de préciser pour cela le nom réservé aux lignes correspondantes et mettre la valeur 0 pour le nombre d’images. Dans cette situation, le calcul est bien sûr plus rapide.


Pour exploiter cette possibilité, il faut avoir généré au moins une fois les fichiers _flat, _dark, _offset. La méthode est en réalité très souple, car les fichiers en question peuvent très bien avoir été créés lors d’une session antérieure, il y a un jour, il y a un mois… Il suffit de copier ces images maîtres dans l’actuel répertoire de travail. 


Astuce : supposons que dans une longue séquence d’étoiles décrites dans le fichier « batch », vous ne souhaitez par traiter les données d’un ou plusieurs de ces objets. Il est inutile d’écrire un fichier « batch » d’observation spécifique, dans lequel il faudrait supprimer les blocs des objets non désirés. Le plus simple dans cette situation consiste à indiquer un nombre nul pour la séquence des images « science » que l’on ne veut pas traiter. Ainsi, dans l’exemple :


# *******************************************************

Altair:

# *******************************************************

- Altair              # catalog name

- altair-             # generic target file name

- 0                   # number of target spectral images           

- altair_neon-        # generic spectral lamp files name

- 1                   # number of spectral lamp images

- altair_tung-        # generic flat lamp files name 

- 18                  # number of flat images

- n900-               # generic dark files name

- 16                  # number of dark images

- o-                  # generic offset files name

- 25                  # number of offset files name 

- none                # optical atmospheric transmission

# *******************************************************


# *******************************************************

Vega:

# *******************************************************

- Vega                # catalog name

- vega-               # generic target file name

- 18                  # number of target spectral images           

- vega_neon-          # generic spectral lamp files name

- 1                   # number of spectral lamp images

- altair_tung-        # generic flat lamp files name 

- 18                  # number of flat images

- n900-               # generic dark files name

- 16                  # number of dark images

- o-                  # generic offset files name

- 25                  # number of offset files name 

- none                # optical atmospheric transmission

# *******************************************************


specINTI saute le traitement de l’étoile Altair, et va directement au traitement de l’étoile Vega. Cette astuce est fort utile pour la mise au point du fichier « batch » ou pour reprendre le traitement en cas d’un échec sur seulement quelques objets, ainsi isolés dans le fichier d’observation.


Une fois le fichier d’observation rédigé, vous le sauvegardez dans le répertoire où se trouvent vos données, le répertoire de « travail », en ajoutant l’extension « .yaml », par exemple ici « obs_altair.yaml » ou encore « observation_du_1010201.yaml ».


Pour finir, rappelez-vous que s’il est possible d’écrire le fichier de configuration à partie d’un simple éditeur standard de texte, l’application specINTI Editor est conçue pour notamment faciliter grandement l’écriture de celui-ci et pour éviter les erreurs de toute sorte lors de la rédaction. A terme certains logiciels d’acquisition d’images astronomique seront même en mesure de générer le fichier d’observation à la volée, au fur et à mesure que l’observation se déroule. 

8 : Exemple d’utilisation du mode d’étalonnage #0


Il est difficile de dissocier les parties matérielles et logicielles (hardware et software) lorsqu’il est question d’exploiter efficacement un système d’observation. Les spécificités de ces parties s’imbriquent l’une dans l’autre. C’est la raison d’être des modes d’étalonnages de specINTI, rattachées à des manières particulières d’utiliser l’instrument.


Cette section inaugure la description de ces modes d’étalonnage dans des situation bien précises, illustrées par des exemples, que vous pouvez expérimenter vous mêmes (les données sont téléchargeables).


On débute par le mode d’étalonnage numéro #0.


L’exemple choisi correspond à une session d’acquisition Star’Ex en haute résolution spectrale (R = 12000), en visant la zone de la raie H-alpha (6563 A). La date de la session est le 22/10/2021. Les données peuvent être télécharger depuis ce lien : session22102021. Décompressez le contenu de l’archive zip dans un répertoire de votre choix. Pour cette démonstration le chemin des données sur le disque est quelque chose comme ...\starex_22102021.


Le télescope est un Newton de 250 mm de diamètre ouvert à f/4 à la base, dont très lumineux (sur la manière de configurer Star’Ex pour être utilisé sur un télescope donné, consultez cette page). Sol’Ex est équipé d’un réseau de 2400 traits/mm (celui-là même employé pour les observations solaires), mais dans une configuration dite « 80 mm x 80 mm ». Cela signifie qu’on exploite l’objectif optimisé de 80 mm pour la collimateur (c’est la configuration standard lors des observations du Soleil, donc commune à Sol’Ex et Star’Ex), mais avec l’habituel objectif de 125 mm de focale remplacé par un second objectif de 80 mm (donc, le même modèle que pour la fonction collimateur, que vous pouvez vous procurer séparément auprès de la société Shelyak). Grace à la relative courte focale de l’objectif de caméra et à la fente de 35 microns choisie pour ce montage, l’ensemble offre une assez bonne luminosité sur les objets du ciel à surface étendue. 


Cependant, à la base, le rapport d’ouverture du télescope utilisé (f/4) génère un fort vignettage interne à l’intérieur de Star’Ex. Pour cette raison, Il faut adjoindre au montage optique une lentille de Barlow (ici un modèle APM de grandissement X 2,7) de manière à porter la focale du télescope de 1 mètre à 2,5 mètres environ (précisément, compte tenu de l’écartement de la lentille de Barlow APM et de la fente, soit 98 mm environ, le grandissement est de X 2,45, soit une focale résultante de 2,45 m). Voir la disposition générale :

La photographie ci-contre montre le spectrographe Star’Ex à l’extrémité du télescope Newton de 250 mm en configuration 80x80. La caméra « science » (ou principal) est une ASI183MM, la caméra de guidage est une caméra ASI290MM.


Note : en utilisant un télescope Schmidt-Cassegrain ouvert à f/10, un télescope Cassegrain à f/12, ou encore un télescopes Ritchey-Chretien à f/8, l’usage d’une lentille de Barlow pouvait être évité.

On va traiter une séquence de 13 images du spectre de l’étoile Altair, nommées altair-1, altair-2…, altair-13. On dispose de 13 spectres de cette étoiles, ainsi des données d’étalonnage suivantes :

La technique utilisée pour obtenir l’image d’étalonnage spectral : 4 petites ampoules néon fixées en permanence sur les branches du support du miroir secondaire.

La technique utilisée pour obtenir l’image d’étalonnage flat-field : une lampe a incandescence fixée momentanément, via un bras escamotable, devant l’ouverture et qui éclaire un écran fait de feuilles de papier calque.

Un mot sur les techniques d’étalonnage présentées sur les photographies ci-devant. Concernant les lampes néon (qui ne coutent que 1 à 2 euros pièces et alimentées en 220V en toute sécurité au travers d’un convertisseur 12V/220V - voir le détail en annexe de cette notice), on voit qu’elles font ombre sur le miroir primaire avec la solution d’étalonnage adoptée. Mais l’impact sur la magnitude des objets observée est en réalité fort minime (et ce d’autant plus que le télescope est de grand diamètre). Les lampes sont accrochées aux branches avec des pinces à linge en bois qui doivent revenir à 0,1 euro pièce. Le fait de disposer de 4 points d’éclairage assez bien répartie à l’entrée du télescope réduit le biais d’étalonnage par rapport à l’usage d’une seule lampe (il est recommandé de positionner ces lampes à un rayon de 0,70 à 0,75 par rapport au centre dru miroir, mais pas à l’extrême bord pour une efficacité maximale). Si on ajoute qu’il n’y a aucun élément mécanique mis en oeuvre, on devine que cette configuration est peu coûteuse et simple à mettre en oeuvre.


Concernant l’acquisition flat-field, elle peut impressionner, mais il faut ici encore souligner que c’est la meilleure façon pour obtenir des données de qualités, en travaillant de façon rigoureuse dans la pupille d’entrée du télescope. Plutôt qu’utiliser un écran diffusant global, vous pouvez aussi disposer des ampoules à filaments incandescents type « luciole » au xénon en permanence sur les branches du secondaire, où ammener le flux d’étalonnage via des fibres optiques.


Il faut en premier éditer le fichiers YAML d’observation décrivant la prise de spectre de l’étoile Altair. Le plus simple est d’utiliser l’application specINTI Editor pour cette tâche :



Après avoir sélectionné le répertoire de travail (bouton « Parcourir »), on entrer le nom de l’étoile à traiter dans le champ « Liste objets », le nom générique des images d’étalonnage, puis enfin, on clique sur le bouton « Auto ». Il vous reste à sauvegarder sur le disque cette description de l’observation en utilisant le bouton « Sauver » (le fichier est automatiquement sauvegardé dans le répertoire de travail).


Il reste à écrire le fichier de configuration de l’instrument.

Vous avez déjà dans le sous-répertoire « _configuration » un fichier de configuration type prédéfini pour notre session d’observation :  conf_22102021.yaml. Vous pouvez utiliser specINTI Editor pour le visualiser et l’éditer.


Le listing de ce fichier de configuration est reproduit ci-contre. 


On remarque d’abord qu’il est possible de mettre des commentaires, qui commencent par le caractère #. Les sauts de lignes sont aussi permis. Les parties importantes sont les paramètres. Il se présentent sous la forme :


Paramètre: xxxxx


Les deux points attachés au nom de l’intitulé du paramètre sont impératifs. Puis vient la valeur attribuée au paramètre, séparée par au moins un blanc. L’ordre des paramètres dans le fichier de configuration est indifférent.


Dans l’exemple, le premier paramètre est working_parth. On indique ici le chemin ou se trouve les données à traiter (le répertoire de travail).


Le paramètre batch_name est le nom du fichier décrivant l’observation à traiter. Nous l’avons édité précédemment, et nous lui avons donné le nom complet « obs_altair.yaml ». Ce nom doit être donné sans l’extension dans le paramètre batch_name.


Le paramètre calib_mode fixe le mode d’étalonnage utilisé,  ici le mode 0 pour cette démonstration.


Nous nous plaçons dans la situation d’un étalonnage spectral automatique en utilisant les raies de la source néon comprises dans l’intertervalle spectre 6500-6700 AA, d’où la présence du paramètre :


auto_calib: [6500, 6700]


bin_size précise la hauteur de binning en pixels afin d’extraire le profil spectral de l’image 2D. Cette hauteur doit être suffisante pour inclure la majeure partie du signal de la trace, ici :








Le paramètre sky est une table de 4 paramètres définissant la hauteur en pixels de la zone d’évaluation du fond de ciel de part et d’autre de la trace du spectre .


Dans l’exemple on a fait [120, 26, 26, 120] :


sky: [120, 26, 26, 120]


Ce paramètre est l’exemple type de ceux dont on ne change jamais la valeur. On ne le défini qu’une seule fois, puis ensuite, ce n’est que du copier/coller pour construire un nouveau fichier de configuration. Voir ci-contre comment il faut interpréter cette liste de nombres :

#*********************************************************************

# Configuration Sol'Ex 2400 t/mm - Newton 250 f/10 - fente 35 microns

# Mode étalonnage 0 : nécessite un fichier étalon distinct type néon

#*********************************************************************


# ----------------------------------------------------------------

# Répertoire de travail

# ----------------------------------------------------------------

working_path: /Volumes/Samsung_T5/starex_22102021


# ----------------------------------------------------------------

# Fichier batch de traitement

# ----------------------------------------------------------------

batch_name: obs_altair


# ----------------------------------------------------------------

# Mode d'étalonnage spectral

# ----------------------------------------------------------------

calib_mode: 0


# ---------------------------------------------------

# Recherche automatique des raies d'étalonnage

# ---------------------------------------------------

auto_calib: [6500, 6700]


# ----------------------------------------------------------------

# Largeur de binning

# ----------------------------------------------------------------

bin_size: 28


# ----------------------------------------------------------------

# Zones de calcul du fond de ciel

# ----------------------------------------------------------------

sky: [120, 26, 26, 120]


# ----------------------------------------------------------------

# Bornes x pour mesures géométriques

# ----------------------------------------------------------------

xlimit: [300, 1600]


# ----------------------------------------------------------------

# Ordre du polynôme d'étalonnage à évaluer

# ----------------------------------------------------------------

poly_order: 2


# ----------------------------------------------------------------

# Applique une correction smile

# ----------------------------------------------------------------

smile_radius: -17000


# ----------------------------------------------------------------

# Nom du fichier de réponse instrumentale

# ----------------------------------------------------------------

instrumental_response: reponse


# ----------------------------------------------------------------

# Motif de filtrage médian

# 0: pas de filtrage, sinon: 3, 5, ...

# Valeur négative : optimisé pour le bruit impusionnel

# ----------------------------------------------------------------

kernel_size: -3


# ----------------------------------------------------------------

# Filtrage gaussien

# ----------------------------------------------------------------

sigma_gauss: 0.8


# ----------------------------------------------------------------

# Zone de normalisation à l'unité

# ----------------------------------------------------------------

norm_wave: [6640, 6660]


# ----------------------------------------------------------------

# Zone de cropping du profil

# ----------------------------------------------------------------

crop_wave: [6500, 6700]


# ----------------------------------------------------------------

# Longitude du lieu d'observation

# ----------------------------------------------------------------

Longitude: 7.0928


# ----------------------------------------------------------------

# Latitude du lieu d'observation

# ----------------------------------------------------------------

Latitude: 43.5869


# ----------------------------------------------------------------

# Altitude du lieu d'observation en mètres

# ----------------------------------------------------------------

Altitude: 40


# ----------------------------------------------------------------

# Site d'observation

# ----------------------------------------------------------------

Site: Antibes St-Jean


# ----------------------------------------------------------------

# Description de l'instrument

# ----------------------------------------------------------------

Inst: Newton250 + SolEx (2400) + ASI183MM


# ----------------------------------------------------------------

# Observateur

# ----------------------------------------------------------------

Observer: cbuil

Astuce : pour la valeur numérique des paramètres , vous pouvez indifféremment écrire, 


sky: [120, 26, 26, 120]


et,


sky:

- 120

- 26

- 26

- 120


ou encore quelque chose comme, 


calib_mode: 

- 0






Le paramètre xlimit prend aussi la forme d’une liste valeurs : les coordonnées en pixels suivant l’axe des longueurs d’onde qui délimitent un segment de spectre associé à des intensités (flux) relativement intenses. specINTI va se servir de ce segment de spectre pour calculer certains paramètres géométriques. En haute résolution, comme ici, où seule une portion du spectre global visible est capturé, le choix est vraiment arbitraire, ne vous posez pas trop de questions : prévoir seulement un écartement de plusieurs centaines de pixels entre les deux bornes. En l’espèce j’ai choisi les valeurs [300, 1600], qui encadrent approximativement la raies H-alpha : 

La situation sera un peu différente en basse résolution. Dans ce cas, il faut sélectionner la portion de la trace du spectre qui parait la plus intense dans l’image et bien sûr, exclure la partie où le signal est nul, car aucune mesure n’y est possible.


Le paramètre poly_order fixe le degré du polynôme d’étalonnage calculé autolaitquement par specINTI. Un polynôme de degré 2 est ici tout à fait suffisant (dans l’intervalle spectral considéré, la dispersion est quasi linéaire). Un polynôme de degré 3 serait plutôt nuisible, car le processus d’extrapolation des longueurs d’onde peut devenir divergent (à l’extérieur du domaine spectral couvert par les raies d’étalonnage). Ici on écrit donc,


# ----------------------------------------------------------------

# Ordre du polynôme d'étalonnage à évaluer

# ----------------------------------------------------------------

poly_order: 2


L’examen attentif des raies dans l’image du spectre de la lampe néon (fichier image « altair_neon-1.fits ») montre qu’elles sont légèrement courbes (effet de «smile»). Cette courbure est bien connue des observateurs solaires qui exploitent Sol’Ex. Il s’agit d’un défaut géométrique provoqué par le réseau de diffraction. Il est important que specINTI puisse redresser ces raies lors du traitement afin de retirer correctement le fond de ciel. Pour cela, il faut fournir la valeur du rayon de cette courbure en pixels, car actuellement specINTI ne possède pas de fonction qui calcule cette valeur automatiquement. Cette constante de l’instrument doit être trouvée par essais successifs, afin que les raies soient bien droites après correction et avant que le profil spectral soit extrait. On visualise (sous specINTI Editor par exemple) pour chaque itération la forme des raies du néon après avoir attribué au paramètre optionnel check_mode la valeur 1.  L’image intermédiaire dans laquelle on voit la forme finale des raies du néon (au terme du traitement) s’appelle _step71.fits. Après quelques essais en retouchant la valeur du paramètre smile_radius, on tombe sur une valeur du rayon de courbure voisine de -17000, et on écrit donc :


# ----------------------------------------------------------------

# Applique une correction smile

# ----------------------------------------------------------------

smile_radius: -17000


Le paramètre instrumental_response précise le nom du fichier de réponse instrumentale employé pour rectifier la non-uniformité de réponse du détecteur ou la présence de vignettage optique de l’image du spectre (les bords obscurcis par rapport au centre, par exemple). Vous trouverez un profil de réponse instrumentale dans le répertoire de la session (reponse.fits).


Vous pouvez retrouver ce profil de réponse en utilisant l’outil « Réponse » de specINTI Editor. Mais attention, Altair est une étoile particulière. Elle est de type spectral A7V , jusqu’ici tout va bien, mais c’est aussi une étoile qui tourne très vite sur elle-même - c’est un rotateur rapide - ce qui élargie considérablement les raies par effet Doppler. Du coup, le profil d’une étoile de référence de type A7V ne se superpose pas bien au profil apparent de Altair. Vous avez surement télécharger à la partir 3.3 de cette documentation la base de donnée spectrale. C’est le moment de s’en servir. Vous allez y trouver un spectre de l’étoile Altair réalisée par le spectrographe UVEX sur l’un des quatre télescope du VLT (ESO). Le nom de ce fichier de référence est UVEX_altair.fits. 


Vous pouvez faire le calcul en partant de zéro, en mettant un commentaire devant la ligne du paramètre instrumental_response, comme si vous n’en disposez pas. Vous calculez donc le spectre de Altair sans utiliser une réponse instrumentale. Voici ensuite comment remplir l’onglet « Réponse » pour trouver un bon résultat (entrainez-vous à modifier les valeurs) : 

Partant de là, procédez au calcul final en faisant :


instrumental_response: _rep


Le paramètre norm_wave est optionnel. Vous pouvez le supprimer afin de raccourcir le fichier de configuration. Il est tout de même bien pratique. Le but est simple : normaliser à l’unité le spectre final calculé en utilisant l’intensité moyenne trouvée entre les deux bornes indiquées, ici entre 6640 A et 6660 A, puisque :


# ----------------------------------------------------------------

# Zone de normalisation à l'unité

# ----------------------------------------------------------------

norm_wave: [6640, 6660]



On trouve ensuite dans le fichier de configuration les lignes :


# ----------------------------------------------------------------

# Zone de cropping du profil

# ----------------------------------------------------------------

crop_wave: [6500, 6700]


Ce paramètre, optionnel,  indique à specINIT qu’il doit découper le spectre final en ne conservant que la région spectrale comprise entre 6500 A et 6700 A.


Note : si pour une raison ou une autre, vous ne souhaitez pas effectuer un étalonnage spectral automatique, mais semi-automatique, vous devez supprimer du fichier de configuration la commande auto_calib, puis ensuite repérer les raies du néon présentent dans le domaine spectral observé et trouver leur position approximative suivant l’axe spectral  : 

Vous ajoutez ensuite dans le fichier de configuration les lignes suivantes :


# ----------------------------------------------------------------

# Longueurs en A d'onde d'étalonnage

# ----------------------------------------------------------------

wavelength: [6506.53, 6532.88, 6598.95, 6678.28]


# ----------------------------------------------------------------

# Position des raies en pixels

# ----------------------------------------------------------------

line_pos: [508, 772, 1443, 2265]


Puis vous relancez le calcul du spectre. Le résultat ne devrait pas être différent de ce que vous obtenez en mode automatique.


Astuce : l’ordre des longueurs d’onde fourni est n’est pas critique dans la table wavelength, mais bien sûr, il faut garder la correspondance avec la table line_pos. Cependant, la première raie de la liste a une importance particulière pour specINIT : je recommande en mode semi-manuel de faire en sorte que la raie la plus  intense (sans être saturée !) soit mise en premier dans la liste (le logiciel s’en sert pour trouver l’angle de slant, ou basculement, des raies par rapport à la verticale). Vous pouvez même exploiter cette possibilité en mode automatique en forçant la désignation de la raie qui doit servir à évaluer le slant, en écrivant par exemple :


line_pos: [1443]


Voici un extrait du fichier de sortie :


Automatic search of calibration lines...

Number of calibration lines find = 4

Calibration function...

Calibration coefficients:

-1.2156109393183942e-06, 0.10114573237101979, 6455.632542169011

Residue = 0.0004

Resampling...

FWHM = 5.86 pixels

Dispersion = 0.0978 A/pixel

Resolution power = 11481 @ 6578 A


Et le profil résultat (_altair_20211022_832.fits) pour cette démonstration du mode #0 d’étalonnage :





Astuce : si vos fichiers possèdent l’extension .FIT et non pas .FITS, ajoutez la ligne suivante dans le fichier de configuration :


# ----------------------------------------------------------------

# Extension des fichiers FITS

# O: .fits (par défaut) - 1: .fit

# ----------------------------------------------------------------

file_extension: 1

9 : Second exemple d’utilisation du mode d’étalonnage #0

Il est encore question du mode #0 d’étalonnage dans cette partie, mais avec des données acquises avec un assez petit instrument, une lunette de marque TS, de 65 mm de diamètre seulement et de 420 mm de longueur focale. On montre à cette occasion qu’il est possible de réaliser des observations spectrographies de haute qualité avec un aussi petit équipement. Star’Ex est toujours à la manœuvre, avec un réseau de 2400 traits/mm; la configuration 80 x 125, et une fente faisant seulement 10 microns de large. A y regarder de près, il s’agit précisément de la disposition utilisée pour observer le Soleil, à ceci près que l’on a ajouté le cube de guidage. Mais comme toujours en spectrographie, une caméra principale d’acquisition refroidie est quasi indispensable (ici une ASI183MM), ainsi qu’une petite caméra de guidage. C’est le prix pour observer le spectre des étoiles. Le fait d’utiliser un petit instrument permet d’adopter une fente très étroite (4,9 seconde d’arc sur le ciel, ce qui est généreux), et ainsi atteindre une très haute résolution spectrale, de R=26000 au niveau de la raie H-alpha, ce qui est remarquable en spectrographie stellaire amateur.

Le spectrographe Star’Ex en version haute-résolution spectrale attachée au foyer d’une lunette de 65 mm de diamètre. Noter une astuce pour diminuer les flexions au niveau du tube caméra pour l’objectif de 125 mm de focale. Plutôt qu’utiliser le tube habituel, assez long et relativement flexible car réalisé en PETG, j’ai ici adopté un tube dit « raccourci », conçu à la base pour une caméra à fort tirage (type ASI6200MM pro , ASI2600MM pro…). Le fichier STL de cette pièce est fourni dans la page « Construction » du site Sol’Ex, à la partie 4 et à la section consacrée à la caméra ASI6200MM. L’astuce est que le tube allonge nécessaire (un simple tube T2 mâle/femelle en métal) est en métal et situé au delà du système de focalisation hélicoïdal , ce qui rigidifie l’ensemble.

Le tracé optique des rayons lumineux à l’intérieur de Star’Ex pour cette disposition est montré ci-après : 

On remarque un vignettage optique (perte de rayons lumineux) dans le plan d’incidence au niveau du réseau. Le problème est moins grave qu’il n’y paraît, car il faut raisonner en termes de surface optique collectrice et considérer que le vignettage est nul dans le plan perpendiculaire à la figure. Il apparaît en fin de compte que la perte de photons occasionnée par l’ouverture du faisceau à f/6,5 ne s’élèvent qu’à 15% (ce qui représente environ 0,2 magnitude). On va pouvoir survivre à ce déficit.


Les spectres à traiter ont été acquis lors d’une session datant du 25/08/2021. On n’exploite ici qu’une partie des données acquises à cette occasion, à savoir 26 images brutes de la brillante étoile Véga, 8 images brutes de l’étoile symbiotique RS Oph alors en éruption, et 6 images brutes de l’étoile de type Be QR Vul. Vous pouvez télécharger l’ensemble des données pour réaliser le traitement en cliquant sur ce lien : session25082021.


Voici par exemple la trace d’une du spectre de l’étoile Véga dans une des images brutes de la séquence (pose de 60 secondes) : 

En raison de sa courte focale,  lunette délivre des spectres très fin, alors même que les données sont acquises en binning 1x1 (obligatoire pour disposer d’un bon facteur pour révéler un maximum de détails dans le spectre). Ci-après un détail seulement de la trace, centrée sur la raie H-alpha, l’échancrure sombre au centre :

Les fines raies en absorption sont provoquées par les molécules de vapeur d’eau présentes dans la couche d’atmosphère terrestre que la lumière de l’étoile rencontre avant de parvenir à notre lunette (ce sont des raies dites telluriques).


A chaque prise d’une séquence sur une cible est associée l’image spectrale d’une lampe néon agitée devant l’ouverture de la lunette durant le temps d’exposition (40 à 60 secondes). L’image suivante montre une des images du spectre de la lampe néon, avec la raie choisie pour étalonner (4 raies) :

Le flat-field est réalisé en plaçant une lampe à filament de tungstène devant l’ouverture de la lunette et en interposant une feuille de papier calque faisant office de diffuseur :

Remarquez comment sont nommées les images, et comparez avec les autres exemples. Vous allez remarquer des constantes et ceci est extrêmement important pour bien observer, puis bien traiter :


- la manière de nommer les images, avec un nom générique suivi d’un tiret ‘-‘ est adopté systématiquement.

- les fichiers cibles sont désignés par l’un des noms officiels valides, tels que donnés par le CDS.

- les noms des fichiers images sont toujours court. Par exemple, pour les images dark, j’utilise simplement la lettre « n » suivit du temps de pose. Pour les images d’offset, je ne m’embarrasse pas : o-1,  o-2, …

- il n’y a jamais de blanc dans les noms d’images, car c’est une forte source d’erreur et de problème de lisibilité. Si vous voulez séparer d’une partie d’un nom, utilisez toujours comme séparateurs le underscore « _ ».


Les choses sont faciles lorsqu’on utilise un vrai logiciel d’acquisition d’images astronomique, tel que Prism, mais il faut l’admettre, moins aisée si on exploite un logiciel comme SharpCap, formidable pour les acquisitions à haute cadence, mais fortement déficient pour l’imagerie à longue pose, avec la rigueur spécifique que cela exige.


Vous avez à présent l’habitude de ma façon de « ranger » les images, et donc vous pouvez parfaitement décoder le contenu de la session du 25/08/2021 du premier regard. Par exemple, si vous éditez le fichier d’observation « à la main », vous allez sûrement écrire quelque chose du genre :


# *******************************************************

Vega:

# *******************************************************

- Vega              # catalog name

- Vega-             # generic target file name

- 21                # number of target spectral images           

- vega_neon-        # generic spectral lamp files name

- 1                 # number of spectral lamp images

- vega_tung-        # generic flat lamp files name 

- 19                # number of flat images

- n600-             # generic dark files name

- 13                # number of dark images

- o-                # generic offset files name

- 4                 # number of offset files name 

- none              # optical atmospheric transmission

# *******************************************************


# *******************************************************

RS Oph:

# *******************************************************

- RS Oph            # catalog name

- rsoph-            # generic target file name

- 8                 # number of target spectral images           

- rsoph_neon-       # generic spectral lamp files name

- 1                 # number of spectral lamp images

- _flat             # generic flat lamp files name 

- 0                 # number of flat images

- _dark             # generic dark files name

- 0                 # number of dark images

- _offset           # generic offset files name

- 0                 # number of offset files name 

- none              # optical atmospheric transmission

# *******************************************************


# *******************************************************

QR Vul:

# *******************************************************

- QR Vul            # catalog name

- qrvul-            # generic target file name

- 6                 # number of target spectral images           

- qrvul_neon-       # generic spectral lamp files name

- 1                 # number of spectral lamp images

- _flat             # generic flat lamp files name 

- 0                 # number of flat images

- _dark             # generic dark files name

- 0                 # number of dark images

- _offset           # generic offset files name

- 0                 # number of offset files name 

- none              # optical atmospheric transmission

# *******************************************************


Si vous utilisez l’interface du logiciel specINTI Editor, vous aller obtenir un résultat assez semblable en faisant :

Quant au fichier de configuration, il peut prendre la forme suivante (fichier nommé « conf_25082021_mode0.yaml » présent dans le répertoire _configuration de la distribution specINTI) :




# *****************************************************************************

# Configuration 2400 t/mm - Lunette TS 65/420 mm - fente 35 microns

# Mode étalonnage 0

# ****************************************************************************


# ----------------------------------------------------------------

# Répertoire de travail

# ----------------------------------------------------------------

working_path: /Volumes/Samsung_T5/starex_25082021


# ----------------------------------------------------------------

# Fichier batch de traitement

# ----------------------------------------------------------------

batch_name: obs_vega


# ----------------------------------------------------------------

# Mode d'étalonnage spectral

# ----------------------------------------------------------------

calib_mode: 0


# ---------------------------------------------------

# Recherche automatique des raies d'étalonnage

# ---------------------------------------------------

auto_calib: [6200, 6720]


# ----------------------------------------------------------------

# Largeur de binning

# ----------------------------------------------------------------

bin_size: 18


# ----------------------------------------------------------------

# Zones de calcul du fond de ciel

# ----------------------------------------------------------------

sky: [120, 16, 16, 120]


# ----------------------------------------------------------------

# Bornes x pour mesures géométriques

# ----------------------------------------------------------------

xlimit: [450, 1700]


# ----------------------------------------------------------------

# Ordre du polynôme d'étalonnage à évaluer

# ----------------------------------------------------------------

poly_order: 2


# ----------------------------------------------------------------

# Applique une correction smile

# ----------------------------------------------------------------

smile_radius: -21000


# ----------------------------------------------------------------

# Nom du fichier de réponse instrumentale

# ----------------------------------------------------------------

instrumental_response: reponse_vega


# ----------------------------------------------------------------

# Mode d'extraction du profil (optionnel)

# 0: standard (valeur par défaut), 1: optimisé

# ----------------------------------------------------------------

extract_mode: 1


# ----------------------------------------------------------------

# Bruit de lecture en e-

# ----------------------------------------------------------------

noise: 2.8


# ----------------------------------------------------------------

# Gain électronique en e-/ADU

# ----------------------------------------------------------------

gain: 0.024


# ----------------------------------------------------------------

# Motif de filtrage médian

# 0: pas de filtrage, sinon: 3, 5, ...

# Valeur négative : optimisé pour le bruit impusionnel

# ----------------------------------------------------------------

kernel_size: -3


# ----------------------------------------------------------------

# Filtrage gaussien

# ----------------------------------------------------------------

sigma_gauss: 0.5


# ----------------------------------------------------------------

# Zone de normalisation à l'unité

# ----------------------------------------------------------------

norm_wave: [6640, 6650]


# ----------------------------------------------------------------

# Zone de cropping du profil

# ----------------------------------------------------------------

crop_wave: [6510, 6710]


# ----------------------------------------------------------------

# Longitude du lieu d'observation

# ----------------------------------------------------------------

Longitude: 7.0928


# ----------------------------------------------------------------

# Latitude du lieu d'observation

# ----------------------------------------------------------------

Latitude: 43.5869


# ----------------------------------------------------------------

# Altitude du lieu d'observation en mètres

# ----------------------------------------------------------------

Altitude: 40


# ----------------------------------------------------------------

# Site d'observation

# ----------------------------------------------------------------

Site: Antibes St-Jean


# ----------------------------------------------------------------

# Description de l'instrument

# ----------------------------------------------------------------

Inst: TS65 + SolEx (2400) + ASI183MM


# ----------------------------------------------------------------

# Observateur

# ----------------------------------------------------------------

Observer: cbuil



Les résultats :

Ces spectres sont très détaillés et les raies telluriques de la vapeur d’eau (H2O) apparaissent très fines, ce qui est le signe d’un haute résolution spectrale. On rappelle que ces spectres sont réalisés avec une lunette de 65 mm de diamètre seulement.


Astuce : les acquisitions de cet exemple ont été obtenues lors d’une nuit d’été avec une humidité ambiante assez élevée. Les raies de la vapeur d’eau dans nos spectres constituent de vrais hygromètres. C’est ainsi que les raies H2O sont très profondes, ce que la haute résolution accentue.


La présence de fortes raies telluriques peut poser problème lorsqu’on cherche à évaluer la réponse instrumentale, car celles-ci peuvent masquer significativement le continuum spectral. specINTI offre la possibilité de supprimer les raies ou les zones de raies les plus intenses. On utilise pour cela, provisoirement au moment de la recherche de la réponse instrumentale,  le tandem de commande suivante :


# ----------------------------------------------------------------

# Longueur d’onde centrale en A des zones à effacer

# ----------------------------------------------------------------

clean_wave: [6518, 6532.3, 6543.8, 6552.5, 6574.8]



# ----------------------------------------------------------------

# Largeur spectrale en A de la zone à effacer

# ----------------------------------------------------------------

clean_wide: [14, 2, 4, 2, 3]


Par exemple ici, une interpellation linéaire est réalisée dans le profil spectral autour de 6518 A sur une largeur de +/-7 A. Voici le résultat avant et après l’effacement des zones sélectionnées :







Astuce : le spectre de l’étoile QR Vul présente plus de bruit que celui de Véga, ce qui n’est pas anormal, l’étoile étant de plus faible éclat (magnitude de V=4.7) mais l’activité dans la raie H-alpha est parfaitement détectée, alors qu’il s’agit de phénomènes à faible contraste. La visibilité de ce détail peu être encore amélioré en augmentant le rapport signal sur bruit au détriment de la résolution spectrale, en pratiquant un binning suivant l’axe spectral, ici d’un facteur 12, en ajoutant le paramètre bin_factor dans le fichier de configuration  :


* ———————————————————————

* Facteur de binning

* ———————————————————————

bin_factor: 12


Voici ce que l’on obtient alors, avec une diminution sensible du bruit et un pouvoir de résolution voisin de R=15000 (donc encore élevé) :

10 : Exemple d’utilisation du mode d’étalonnage #1

Le mode  d’étalonnage #1 est particulier.  Il est réalisé à partir d’un polynôme d’étalonnage prédéfini et qu’il ne nécessite pas nécessaire de disposer d’un fichier d’étalonnage pour traiter les spectres.


On garde l’exemple de la section précédente,  à ceci près que le paramètre calib_mode prend la valeur :


# ----------------------------------------------------------------

# Mode d'étalonnage spectral

# ----------------------------------------------------------------

calib_mode: 1


Par ailleurs, il faut fournir à spectINTI la valeur des termes du polynôme d’étalonnage prédéfini. C’est le rôle du paramètre calib_coef. Dans l’exemple de la section précédente, pour l’observation de l’étoile Véga avec la lunette de 65 mm, on écrira (on reprend ici les coefficients indiqués dans la fenêtre de traitement en mode #0) :


# ----------------------------------------------------------------

# Mode d'étalonnage spectral

# ----------------------------------------------------------------

calib_coef: [-4.875017e-07, 0.064096, 6488.074


Il n’est pas utile d’indiquer le degré du polynôme d’étalonnage, car specINTI l’évalue automatiquement à partir du contenu du paramètre calib_coef.


En revanche, un nouveau paramètre, power_res, devient obligatoire dans le fichier de configuration afin de donner une estimation du pouvoir de résolution du spectre (uniquement utilisé pour remplir l’en-tête du profil spectral final). Par exemple :


power_res: 22000


Le difficulté du mode d’étalonnage #1 est que si à la suite du traitement de l’étoile Véga on traite le spectre de l’étoile RS Oph, il faut changer les valeurs du paramètre calib_coef car il est peut probable que les coefficients d’étalonnage soient parfaitement identiques entre ces deux objets, ce qui est vite fastidieux et source d’erreur.


Le mode #1 n’est utile que dans des applications très spécifiques ou pour la mise au point d’une chaîne d’acquisition et de traitement. Ne pas l’utiliser en traitement de routine !

11 : Exemple d’utilisation du mode d’étalonnage #2

L’hypothèse du mode #2 d’étalonnage est que l’on dispose d’une loi de dispersion fiable (les termes du polynôme), sauf le premier terme de celui-ci (A0), que l’on considère évoluer au cours de l’observation en raison des flexions mécaniques et des effets thermohélastiques. Les autres termes du polynômes A1, A2… ne sont eux sensibles qu’au seconde ordre à ces évolutions. Ces termes sont donc assimilés des constantes instrumentales.


L’enjeu est donc d’estimer la valeur de A0 pour chaque objet observé.


L’effet de l’évolution accidentelle et non prévisible du terme A0 sur la qualité de l’étalonnage spectral peut être fortement réduit, voir même annulé, si une ou plusieurs raies de références provenant d’une lampe étalon est (sont) disponible(s). Cette information spectrale d’étalonnage va permettre d’actualiser la valeur A0 du polynôme initial, en améliorant la précision.


Comme exemple, Star’Ex est exploité dans une version à basse résolution spectrale, permettant de capturer l’ensemble du spectre photo-visuel en une fois (de 3800 A à 7000 A). Pour ce faire, Star’Ex est utilisé en configuration 80x80 et avec un réseau de 300 traits/mm (dont relativement peu dispersif). La caméra d’acquisition est une ASI183MM pro. Pour ce qui concerne le télescope, il s’agit d’un Newton de 250 mm f/4, donc très lumineux. Le spectrographe est directement au foyer, sans l’ajout d’une lentille de Barlow. On a choisi une fente de 19 microns, soit compte tenu de la focale de 1000 mm du télescope, une largeur angulaire de la fente sur le ciel de 3,9 secondes d’arc. Le schéma optique est représenté sur la figure suivante (on notera que le vignetage est sensible dans le plan d’incidence au niveau de l’objectif de caméra pour les parties extrêmes du spectre enregistré, en raison de l’ouverture du télescope  - f/4) : 

Ci-après, une image brute du spectre de l’étoile HD31295, de type A0V, qui va servir à trouver les coefficients d’étalonnage grâce à la présence bien visible des raies de Balmer. Cette même étoile servira aussi à calculer la courbe de réponse instrumentale :

Vous pouvez técharher cette session en cliquant sur le lien suivant : session16102021.


specINTI dispose de la capacité de trouver la loi de dispersion spectrale en se servant de la position de Balmer (la série de l’hydrogène situé dans la partie visible du spectre). Le logiciel établi la relation entre ces positions et les longueurs d’onde correspondantes que l’on trouve dans des tables. Pour ce faire, il faut utiliser un outil spécial que l’on active en donnant la valeur -1 au paramètre calib_mode.


En partant de la raie H-alpha et en allant vers le bleu, voici les premières longueur d’onde de la série de Balmer :


[6562.81, 4861.34, 4340.48, 4101.75, 3970.08, 3889.05, 3835.39]


On relève dans l’une des images de la séquence de l’étoile HD31295 les positions X en pixels correspondent de ces mêmes raies :


[2853, 1122, 586, 342, 206, 124, 67]


Dans le fichier de configuration associé au mode -1 on écrit :



# ---------------------------------------------------

# Longueurs en A d'onde d'étalonnage

# ---------------------------------------------------

wavelength2: [6562.81, 4861.34, 4340.48, 4101.75, 3970.08, 3889.05, 3835.39]


# ---------------------------------------------------

# Position des raies en pixels (obligatoire)

# ---------------------------------------------------

line_pos2: [2853, 1122, 586, 342, 206, 124, 67]


Plus globalement, voici le listing complet (assez court) du fichier de configuration permettant de trouver la loi de dispersion à partie des raies de Balmer (présent sous le nom « conf_16102021_mode-1.yaml » dans le répertoire _configuration) :


# *****************************************************************

# Sol'EX 300 t/mm - Newton 250 f/4 - fente 19 microns

# Etalonnage mode -1 (recherche du polynôme de dispersion) 

# *****************************************************************


# ---------------------------------------------------

# Répertoire de travail

# ---------------------------------------------------

working_path: /Volumes/Samsung_T5/starex_16102021


# ---------------------------------------------------

# Fichier batch de traitement

# ---------------------------------------------------

batch_name: obs_hd31295


# ---------------------------------------------------

# Mode d'étalonnage spectral

# ---------------------------------------------------

calib_mode: -1


# ---------------------------------------------------

# Ordre du polynôme d'étalonnage à évaluer

# ---------------------------------------------------

poly_order: 3


# ---------------------------------------------------

# Largeur de binning

# ---------------------------------------------------

bin_size: 40


# ---------------------------------------------------

# Zones de calcul du fond de ciel

# ---------------------------------------------------

sky: [150, 24, 24, 150]


# ---------------------------------------------------

# Bornes x pour mesures géométriques

# ---------------------------------------------------

xlimit: [1500, 2500]


# ---------------------------------------------------

# Position des raies en pixels (obligatoire)

# ---------------------------------------------------

line_pos2: [2853, 1122, 586, 342, 206, 124, 67]


# ---------------------------------------------------

# Longueurs en A d'onde d'étalonnage

# ---------------------------------------------------

wavelength2: [6562.81, 4861.34, 4340.48, 4101.75, 3970.08, 3889.05, 3835.39]


# ---------------------------------------------------

# Position d'une ou plusieurs raie(s) d'émission(s) dans

# le spectre d'étalonnage pour les corrections géométriques

# ---------------------------------------------------

line_pos: [2132, 2552, 2890]


# ----------------------------------------------------------------

# Largeur en pixels de la zone de recherche des raies

# ----------------------------------------------------------------

search_wide: 40


Le dernier paramètre, search_wide, détermine la tolérance en pixels de la zone de recherche des raies dans le spectre de la lampe étalon - c’est la raison pour laquelle les positions indiquées dans le paramètre line_pos peuvent êtres approximatives (la valeur par défaut est de 50 pixels) : 

Ce fichier de configuration se trouve dans le pack téléchargé de la session sous le nom « conf_1510201_mode-1.yaml »


Le ficher d’observation de l’étoile HD31295 se présente de la manière suivante (il est ici sauvegardé sous le nom « obs_hd31295.yaml) :


# *******************************************************

HD31295:

# *******************************************************

- HD31295             # catalog name

- hd31295-            # generic target file name

- 4                   # number of target spectral images           

- hd31295_neon-       # generic spectral lamp files name

- 1                   # number of spectral lamp images

- hd31295_tung-       # generic flat lamp files name 

- 25                  # number of flat images

- n900-               # generic dark files name

- 10                  # number of dark images

- o-                  # generic offset files name

- 25                  # number of offset files name 

- none                # optical atmospheric transmission

# *******************************************************


Ou sous specINTI Editor :









En lançant specINTI avec le fichier de configuration « conf_1610201_mode-1 », le logiciel retourne le polynôme de dispersion trouvé avec a raie de Balmer (on a sélectionné ici un polynôme de degré 3) :


Computed calibration coefficients:

-1.3363159413417123e-09, 7.984244247577967e-06, 0.9662521337860043, 3773.7120640511644

Residue = 0.08 A


Il est maintenant possible d’extraire le le profil spectral de l’étoile en s’inspirant de ce fichier de configuration (conf_1610201_mode2.yaml) :

A gauche, l’aspect très raide (« boxy ») des raies du néon, à droite les mêmes raies adoucies après un filtrage gaussien (sigma=1). L’image à droite est bien plus sure à manipuler que l’image de gauche pour les traitements ultérieurs. 

Le paramètre calib_mode prend bien sûr la valeur 2.


On passe au travers du paramètre calib_coef, les coefficients du polynôme de dispersion trouvée à partir des raies de Balmer.


Le paramètre wavelength précise à specINTI les longueurs d’onde des raies du néon sélectionnées pour rafraîchir la valeur A0 du polynôme de dispersion (ici 3 raies).


Le paramètre line_pos indique la position approximative de ces mêmes raies dans les images.


On retrouve la valeur du paramètre search_wide fixée à 40 pixels dans cet exemple.


Le fait que le paramètre kernel_size vaille -3 signifie que l’on demande un filtrage médian optimisé avec un noyau de 3x3 pixels.


On pratique aussi un léger filtrage gaussien des images en faisant sigma_gauss: 1.0, Ce filtrage est d’autant plus opportun qui adoucit la forme « pixelisé » des raies fines qui caractérise le configuration instrumentale employée (la finesse d’image révèle les bords nets de la fente, ce qui est une source de pseudo bruit que le filtrage gaussien contribue à diminuer , sans perte significative de résolution spectrale. 

On exploite la méthode optimale pour extraire le profil spectral de l’image (algorithme de Horne) en faisant extract_mode: 1. Simultanément, il faut fournir le gain et le bruit de lecture de la caméra employé (paramètres gain et noise) - voir section xxx.


Vous allez trouver la réponse instrumentale précalculée dans les fichier de la session (paramètre instrumental_response). Vous pouvez à titre d’exercice la retrouver en notant que le type spectral de l’étoile HD 31295 est A0V. L’opération est d’autant plus simple que HD 31295 est une étoile MILES que vous allez trouver dans la « data base ». Donc le processus est idéal : vous observez une étoile de référence et vous obtenez la réponse avec le profil réel de ce même objet.

# *****************************************************************

# Configuration Sol'EX 300 t/mm - Newton 250 f/4 - fente 19 microns

# Etalonnage mode 2 

# *****************************************************************


# ---------------------------------------------------

# Répertoire de travail

# ---------------------------------------------------

working_path: /Volumes/Samsung_T5/starex_16102021


# ---------------------------------------------------

# Fichier batch de traitement

# ---------------------------------------------------

batch_name: obs_hd31295


# ---------------------------------------------------

# Mode d'étalonnage spectral

# ---------------------------------------------------

calib_mode: 2


# ----------------------------------------------------------------

# Coefficients du polynôme d'étalonnage spectral

# ----------------------------------------------------------------

calib_coef: [-1.336316e-9, 7.98424e-6, 0.96625, 3773.712]


# ---------------------------------------------------

# Longueurs en A d'onde d'étalonnage

# ---------------------------------------------------

wavelength: [5852.49, 6266.49, 6598.95]


# ---------------------------------------------------

# Position des raies en pixels (obligatoire)

# ---------------------------------------------------

line_pos: [2132, 2552, 2890]


# ---------------------------------------------------

# Largeur de binning

# ---------------------------------------------------

bin_size: 40


# ---------------------------------------------------

# Zones de calcul du fond de ciel

# ---------------------------------------------------

sky: [150, 24, 24, 150]


# ---------------------------------------------------

# Bornes x pour mesures géométriques

# ---------------------------------------------------

xlimit: [1500, 2500]


# ----------------------------------------------------------------

# Largeur en pixels de la zone de recherche des raies

# ----------------------------------------------------------------

search_wide: 40


# ----------------------------------------------------------------

# Taille noyau de filtrage médian

# ----------------------------------------------------------------

kernel_size: -3


# ----------------------------------------------------------------

# Filtrage gaussien

# ----------------------------------------------------------------

sigma_gauss: 1.0


# ----------------------------------------------------------------

# Mode d'évaluation du fond de ciel

# ----------------------------------------------------------------

sky_mode: 1


# ----------------------------------------------------------------

# Mode d'extraction du profil

# ----------------------------------------------------------------

extract_mode: 1


# ----------------------------------------------------------------

# Bruit de lecture en e-

# Obligatoire si extract_mode = 1. (1.8)

# ----------------------------------------------------------------

noise: 1.5


# ----------------------------------------------------------------

# Gain électronique en e-/ADU

# Obligatoire si extract_mode = 1

# ----------------------------------------------------------------

gain: 0.0418


# ----------------------------------------------------------------

# Nom du fichier de réponse instrumentale

# ----------------------------------------------------------------

instrumental_response: reponse


# ----------------------------------------------------------------

# Zone de normalisation à l'unité

# ----------------------------------------------------------------

norm_wave: [6640, 6660]


# ----------------------------------------------------------------

# Zone de cropping du profil

# ----------------------------------------------------------------

crop_wave: [3900, 7000]


# ----------------------------------------------------------------

# Longitude du lieu d'observation (optionnel)

# ----------------------------------------------------------------

Longitude: 7.0928


# ----------------------------------------------------------------

# Latitude du lieu d'observation (optionnel)

# ----------------------------------------------------------------

Latitude: 43.5869


# ----------------------------------------------------------------

# Altitude du lieu d'observation en mètres (optionnel)

# ----------------------------------------------------------------

Altitude: 40


# ----------------------------------------------------------------

# Site d'observation (optionnel)

# ----------------------------------------------------------------

Site: Antibes St-Jean


# ----------------------------------------------------------------

# Description de l'instrument (optionnel)

# ----------------------------------------------------------------

Inst: Newton250 + SolEx (300) + ASI183MM


# ----------------------------------------------------------------

# Observateur (optionnel)

# ----------------------------------------------------------------

Observer: cbuil

Comment fonctionne plus exactement le mode #2 d’étalonnage ?


Dans un premier temps specINTI étalonne le spectre de référence (le spectre de lampe avec les raies d’émission) en utilisant tel quel les coefficients du polynôme fourni par le paramètre calib_coef. Dans un second temps, le logiciel analyse les longueurs d’onde trouvée avec ce premier étalonnage pour les raies indiquées dans les paramètres wavelength et line_pos. Par rapport aux longueurs d’onde attendues (les valeurs théoriques), un écart se révèle généralement. Dans l’exemple, specINTI calcule l’écart moyen pour les 3 raies choisies. Vous avez une information sur la valeur de ce décalage en angströms dans la fenêtre de sortie :


Mean spectral shift = -0.702 A


Il est ici de -0,702 angström (ou approchant). C’est l’erreur d’étalonnage caractéristique que l’on réaliserait si on utilise tel que le polynôme calculé. Le spectre de l’étoile est alors simplement déplacé dans son ensemble de cette valeur de décalage. C’est une opération de recentrage qui équivaut à une translation, ce qui équivaut à modifier le terme constant A0 du polynôme.


Si vous traitez les données d’une autre étoile, accompagnée du spectre d’étalonnage correspondant, specINTI va réaliser la même opération : en utilisant des termes d’ordre supérieur du polynôme de dispersion, considérés comme constant, mais va effectuer un correctif du terme A0 pour tenir compte du glissement du spectre sur la matrice CMOS suite à une flexion mécanique différentielle (par exemple).


On comprend qu’à chaque étoile observée, il faut associer le spectre de la lampe étalon (l’idéal est d’acquérir un spectre avant la pause sur la cible et un second à la fin de la pause, ce qui réduit les erreurs associées à une dérive intrapause. Vous pouvez aussi adopter le mode #4 d’étalonnage, fort semble au mode #2, mais avec une lampe d’étalonnage constamment allumée.


Le calcul préalable du polynôme de dispersion avec les raies de Balmer est rendu nécessaire, car la lampe néon utilisée concentre toutes ces raies de référence dans le rouge, si bien qu’il est impossible d’étalonner la partie bleue. 


Voici l’allure du spectre final de l’étoile HD 31295 :

12 : Exemple d’utilisation du mode d’étalonnage #3

Le mode #3 est associé à une prise de vue de la lampe d’étalonnage, alors que l’on observe simultanément la cible dont on prend le spectre (voici aussi les explications données à la section 5 de cette notice). 


Pour télécharger le fichiers de cette démonstration, cliquez ici : session23102021. Afin de d’alléger ce téléchargement, seules les images combinées de l’offset, du dark et du flat-field sont fournie, avec les noms respectifs _offset, _dark, _flat.


Il est question de traiter une observation des l’étoile QR Vul (6 images),  beta Lyr (13 images), omicron Aqr (5 images) et V442 And (5 images). Ce sont toutes des étoiles de type Be, qui montrent la raie H-alpha en émission. Star’Ex est exploité en configuration haute résolution avec un réseau de 2400 traits/mm, la disposition 80x80 et une fente de 35 microns de large. Le télescope est un Newton de 250 mm f/4, emmener à une rapport F/D voisin10 grâce à l’ajout d’une lentille de Barlow. L’image présentée ci-dessous est celle d’une pose de 600 secondes sur QR Vul, alors que le système d’étalonnage à base de lampes néon est allumé durant 20 secondes vers le milieu de la pose science (4 lucioles néon fixées sur les branches de l’araignée support du miroir secondaire). Du coup, on observe comme « imprimé » dans le spectre de l’étoile le spectre des raies du néon en émission. C’est le mode dit « latéral ».  

Le fichier de configuration en mode #3 est voisin de celui du mode #0. Voici le listing complet utilisé, dans lequel sont soulignées les quelques spécificités (dans le répertoire _configuration, ce est sauvegardé sous le nom « conf_23102021_mode3.yaml » :

Le paramètre calib_mode prend  la valeur 3.


On active la recherche automatique des raies d’étalonnage avec le paramètre auto_calib. ATTENTION : cette fonction est utilisable ici car on travaille dans un domaine restreint de longueur d’onde (haute résolution spectrale) et que la source est une lampe néon.


La largeur de binning est choisi de 30 pixels de manière à intégrer 99% du flux de l’étoile (environ !).


La zone de calcul du fond de ciel (paramètre sky) est bornée par les limites [100, 16, 16, 100], comme l’indique aussi de manière graphique l’extrait d’image ci-après : 

Il y a cependant une spécificité au mode latéral : les zones A et B de calcul du fond de ciel sont aussi utilisées pour synthétiser un profil du spectre du néon, qui exclut le spectre de l’étoile. C’est ce spectre de la lampe d’étalonnage qui permet ensuite au logiciel de trouver les coefficients du polynôme de dispersion


Les paramètres clean_wave et clean_wide sont utilisés pour gommer les résidus de raies d’étalonnage dans le profil. On précise successivement la longueur d’onde des raies de la lampe néon situées dans le domaine spectral isolé, puis la largeur en angströms d’une zone centrée sur ces longueurs d’onde où le logiciel réalise une interpellation linéaire (entre les bornes de chaque zone). Les artéfacts sont d’autant plus visibles que les raies d’étalonnages sont intenses. : il faut donc choisir l’intensité de ces lampes (en ajoutant un filtre sous forme de papier calque ou en jouant sur l’exposition) pour obtenir un bon équilibre entre une intensité suffisante forte pour réaliser une mesure précise, mais pas trop aussi pour ne pas produire des défauts locaux visibles. Ces dernières remarques constituent les seules vraies difficultés du mode latéral.


Lorsqu’on travaille en mode latéral, il est recommandé de sélectionner l’extraction optimale du fond de ciel, d’où la valeur 1 donnée au paramètre sky_mode.


Vous devez penser à définir le degré du polynôme d’étalonnage que doit évaluer specINTI. Ici on choisit un polynôme de degré 2 (paramètre poly_ordre).


Noter encore que l’on réalise une extraction optimale du profil et que l’échantillonnage demeure suffisant pour mettre en route l’algorithme CMED (CmosMED, consistant en un filtrage médian optimisé et un léger filtrage gaussien).


# ********************************************************************

# Configuration Sol'EX 2400 t/mm - Newton 250 f/10 - fente 35 microns

# Mode étalonnage 3 : superposition du spectre néon

# ********************************************************************


# ----------------------------------------------------------------

# Répertoire de travail

# ----------------------------------------------------------------

working_path: /Volumes/Samsung_T5/starex_23102021


# ----------------------------------------------------------------

# Fichier batch de traitement

# ----------------------------------------------------------------

batch_name: obs_qrvul


# ----------------------------------------------------------------

# Mode d'étalonnage spectral

# ----------------------------------------------------------------

calib_mode: 3


# ----------------------------------------------------------------

# Recherche automatique des raies d'étalonnage

# ----------------------------------------------------------------

auto_calib: [6500, 6700]


# ----------------------------------------------------------------

# Largeur de binning

# ----------------------------------------------------------------

bin_size: 30


# ----------------------------------------------------------------

# Zones de calcul du fond de ciel

# ----------------------------------------------------------------

sky: [100, 16, 16, 100]


# ----------------------------------------------------------------

# Mode d'évaluation du fond de ciel

# ----------------------------------------------------------------

sky_mode: 1


# ----------------------------------------------------------------

# Bornes x pour mesures géométriques

# ----------------------------------------------------------------

xlimit: [300, 1600]


# ----------------------------------------------------------------

# Longueurs en A d'onde d'étalonnage

# ----------------------------------------------------------------

wavelength: [6506.53, 6532.88, 6598.95, 6678.28]


# ----------------------------------------------------------------

# Position des raies en pixels

# ----------------------------------------------------------------

line_pos: [508, 772, 1443, 2265]


# ----------------------------------------------------------------

# Largeur en pixels de la zone de recherche des raies

# ----------------------------------------------------------------

search_wide: 50


# ----------------------------------------------------------------

# Ordre du polynôme d'étalonnage à évaluer

# ----------------------------------------------------------------

poly_order: 2


# ----------------------------------------------------------------

# Effacement des résidus de la lampe spectrale

# ----------------------------------------------------------------

clean_wave: [6506.53, 6532.88, 6598.95, 6678.28]

clean_wide: [2, 2, 3, 3]


# ----------------------------------------------------------------

# Nom du fichier de réponse instrumentale

# ----------------------------------------------------------------

instrumental_response: reponse


# ----------------------------------------------------------------

# Motif de filtrage médian

# ---------------------------------------------------------------

kernel_size: -3


# ----------------------------------------------------------------

# Filtrage gaussien

# ----------------------------------------------------------------

sigma_gauss: 0.6


# ----------------------------------------------------------------

# Mode d'extraction du profil

# ----------------------------------------------------------------

extract_mode: 1


# ----------------------------------------------------------------

# Bruit de lecture en e-

# ----------------------------------------------------------------

noise: 1.5


# ----------------------------------------------------------------

# Gain électronique en e-/ADU

# ----------------------------------------------------------------

gain: 0.0418


# ----------------------------------------------------------------

# Applique une correction smile

# ----------------------------------------------------------------

smile_radius: -16000


# ----------------------------------------------------------------

# Zone de normalisation à l'unité

# ----------------------------------------------------------------

norm_wave: [6640, 6660]


# ----------------------------------------------------------------

# Zone de cropping du profil

# ----------------------------------------------------------------

crop_wave: [6500, 6700]


# ----------------------------------------------------------------

# Longitude du lieu d'observation

# ----------------------------------------------------------------

Longitude: 7.0928


# ----------------------------------------------------------------

# Latitude du lieu d'observation

# ----------------------------------------------------------------

Latitude: 43.5869


# ----------------------------------------------------------------

# Altitude du lieu d'observation en mètres

# ----------------------------------------------------------------

Altitude: 40


# ----------------------------------------------------------------

# Site d'observation

# ----------------------------------------------------------------

Site: Antibes St-Jean


# ----------------------------------------------------------------

# Description de l'instrument

# ----------------------------------------------------------------

Inst: Newton250 + SolEx (2400) + ASI183MM


# ----------------------------------------------------------------

# Observateur

# ----------------------------------------------------------------

Observer: cbuil

Le fichier d’observation est quant à lui généré de cette façon :


Les résultats :

13 : Exemple d’utilisation du mode d’étalonnage #4

Pour illustrer l’utilisation du mode #4, j’utilise les données de la session du 16/10/2021, déjà discuté à la section 9 de ce document. Il est question d’une observation réalisée en basse résolution sur un télescope Newton de 250 mm. Cette fois nous allons nous intéresser à des cibles de faible éclat - des étoiles très jeunes en âge, souvent encore dans le cocon de poussière et de gaz : HL Tau, XZ Tau, T Tau, FU Ori.


Le mode #4 utilise un polynôme de dispersion prédéfini, préalablement établi en utilisant la série de Balmer de l’hydrogène d’étoiles chaudes (par exemple), mais on ajuste le premier terme de ce polynôme pour chaque cible et pour chaque prise de spectre en exploitant un spectre latéral provenant d’une source artificielle ou d’une source naturelle.


Prenons le cas de l’observation de la proto-étoile HL Tau de magnitude 14,5. On dispose de 3 prises de vue du spectre de l’objet, exposées chacune 900 secondes. Voici l’aspect d’une de ces images : 

Le spectre de HL Tau est la fine et faible trace horizontale vers le centre. On remarque la présence de raies parasites provenant de lampes à haute pression de sodium pour l’essentiel. Il s’agit de la pollution lumineuse qui affecte mon site d’observation, proche de la ville d’Antibes, dans les Alpes Maritime. On identifie deux raies fines en émission dans la partie verte du spectre. Nous allons nous en servir pour caler précisément le spectre en longueur d’onde (ajustement du terme A0). La raie à 5460,73 A provient du mercure présent dans les lampes de l’éclairage urbain. La raie à la longueur d’onde à 5577,35 A provient de l’émission de l’oxygène dans la très haute atmosphère (c’est cette raie, dite « interdite », qui colore en vert les aurores polaires). C’est bien à partir de la présence permanente de ces raies « naturelles » nous allons pouvoir étalonner nos spectres d’étoiles. Point n’est besoin d’une source d’étalonnage complexe, d’un dispositif plus au moins complexe : la nature nous offre tout ce dont on a besoin. Qui plus est,  la lumière qui vient de ces raies, donc exploitées pour étalonner nos spectres en longueur d’onde, suit rigoureusement le même chemin que celui des étoiles que l’on observe et dans le même temps. On ne peut faire mieux en matière d’étalonnage et c’est la garantie d’une très haute précision.

Voici le fichier de configuration utilisé, qui commence sûrement a être naturel pour vous (fichier conf_16102021_mode4.yaml).


Le paramètre calib_mode prend la valeur 4.


La table wavelength contient les longueurs d’onde des deux raies sélectionnées pour affiner l’étalonnage spectral. Remarquez l’ordre choisi : la longueur d’onde 5577,35 A apparait en premier, car c’est la plus intense des deux. C’est cette raie qui va être utilisée par specINTI pour trouver automatiquement l’angle de slant.


La position approximative de ces raies est l’objet du paramètre line_pos (en respectant l’ordre).


Ce sont là les seules modifications à réaliser dans le fichier de configuration pour passer d’un mode standard  d’étalonnage (mode #2, avec un fichier d’étalonnage distinct, au mode d’étalonnage latéral (mode #4, avec les données d’étalonnages intégrées dans l’image même des cibles).

# *****************************************************************

# Configuration Sol'EX 300 t/mm - Newton 250 f/4 - fente 19 microns

# Etalonnage mode 4 

# *****************************************************************


# ---------------------------------------------------

# Répertoire de travail

# ---------------------------------------------------

working_path: /Volumes/Samsung_T5/starex_16102021


# ---------------------------------------------------

# Fichier batch de traitement

# ---------------------------------------------------

batch_name: obs_hltau


# ---------------------------------------------------

# Mode d'étalonnage spectral

# ---------------------------------------------------

calib_mode: 4


# ----------------------------------------------------------------

# Coefficients du polynôme d'étalonnage spectral

# ----------------------------------------------------------------

calib_coef: [-1.336316e-9, 7.98424e-6, 0.96625, 3773.712]


# ---------------------------------------------------

# Largeur de binning

# ---------------------------------------------------

bin_size: 40


# ---------------------------------------------------

# Zones de calcul du fond de ciel

# ---------------------------------------------------

sky: [150, 24, 24, 150]


# ---------------------------------------------------

# Bornes x pour mesures géométriques

# ---------------------------------------------------

xlimit: [1500, 2500]


# ----------------------------------------------------------------

# Largeur en pixels de la zone de recherche des raies

# ----------------------------------------------------------------

search_wide: 40


# ---------------------------------------------------

# Longueurs en A d'onde d'étalonnage

# ---------------------------------------------------

wavelength: [5577.35, 5460.73]


# ---------------------------------------------------

# Position des raies en pixels (obligatoire)

# ---------------------------------------------------

line_pos: [1857, 1738]


# ----------------------------------------------------------------

# Nom du fichier de réponse instrumentale

# ----------------------------------------------------------------

instrumental_response: reponse


# ----------------------------------------------------------------

# Taille noyau de filtrage médian

# ----------------------------------------------------------------

kernel_size: -3


# ----------------------------------------------------------------

# Filtrage gaussien

# ----------------------------------------------------------------

sigma_gauss: 1.0


# ----------------------------------------------------------------

# Mode d'évaluation du fond de ciel

# ----------------------------------------------------------------

sky_mode: 1


# ----------------------------------------------------------------

# Mode d'extraction du profil

# ----------------------------------------------------------------

extract_mode: 1


# ----------------------------------------------------------------

# Bruit de lecture en e-

# ----------------------------------------------------------------

noise: 1.5


# ----------------------------------------------------------------

# Gain électronique en e-/ADU

# ----------------------------------------------------------------

gain: 0.0418


# ----------------------------------------------------------------

# Zone de normalisation à l'unité

# ----------------------------------------------------------------

norm_wave: [6640, 6660]


# ----------------------------------------------------------------

# Zone de cropping du profil

# ----------------------------------------------------------------

crop_wave: [3850, 7000]


# ----------------------------------------------------------------

# Longitude du lieu d'observation (optionnel)

# ----------------------------------------------------------------

Longitude: 7.0928


# ----------------------------------------------------------------

# Latitude du lieu d'observation (optionnel)

# ----------------------------------------------------------------

Latitude: 43.5869


# ----------------------------------------------------------------

# Altitude du lieu d'observation en mètres (optionnel)

# ----------------------------------------------------------------

Altitude: 40


# ----------------------------------------------------------------

# Site d'observation (optionnel)

# ----------------------------------------------------------------

Site: Antibes St-Jean


# ----------------------------------------------------------------

# Description de l'instrument (optionnel)

# ----------------------------------------------------------------

Inst: Newton250 + SolEx (300) + ASI183MM


# ----------------------------------------------------------------

# Observateur (optionnel)

# ----------------------------------------------------------------

Observer: cbuil

Voici la disposition de l’onglet « Observations » pour produire un fichier d’obervation qui traite nos 4 étoiles en une fois (obs_hltau.yaml) :  

Et le résultat…

Avec plus de détails…

Le spectre de l’étoile HL Tau, avec une forte émission de la raie H-alpha.

Le spectre de l’étoile FU Ori, une autre proto-étoile, obtenu suivant le même protocole. Noter que les composantes du doublet du sodium sont séparées (écart de 6 A). Un profil P-Cyg est aussi visible au niveau de la raie H-alpha.

Spectre de l’étoile XZ Tau. On note la faible émission des raies H&K du Ca II dans l’UV, proche du bruit.

Spectre de l’étoile T Tau. L’émission H&K est mieux visibles, ainsi que celle de raies de l’hélium..

Astuce : pour certaines observations spéciales, vous pouvez demander à specINTI de ne pas retirer le fond de ciel dans votre image combinée finale et aussi dans votre profil spectral final. Il suffit d’ajouter la ligne suivante dans le fichier de configuration  (c’est un paramètre optionnel) :


sky_remove: 0

En haute l’image (2D) finale du spectre de HL Tau lorsque le paramètre sky_remove prend la valeur 1 (valeur standard par défaut). En bas, lorsque la valeur du paramètre est 0.

En haute le spectre de HL Tau lorsque le paramètre sky_remove prend la valeur 1 (valeur standard par défaut). En bas, lorsque la valeur du paramètre est 0. On notera l’importance de la pollution lumineuse depuis mon observatoire de la Côte d’Azur, mais cela n’empèche pas de faire de la spectrographie stellaire. Tous les espoirs sont permis en spectrographie, même si votre site n’est pas parfait !

14 : Exemple d’utilisation avec les données d’un spectrographe ALPY600

Cette partie montre qu’il est possible d’utiliser specINT sur des données issues de spectrographes autres que Star’Ex. L’exemple concerne un spectrographe ALPY600 (Shelyak), équipé d’une caméra ATIK414EX (Atik), fixé sur un télescope Ritchey-Chretien de 12 pouces. L’ensemble est opéré en «remote control » depuis le Chili par l’équipe 2spot, voir : https://2spot.org/FR/.


Les particularités des spectres sont : 


1 - Une acquisition des images en plein format (pas de crop) et en binning 1x1.

2 - La partie visible du spectre entre en entier sur la largeur du capteur, avec un échantillonnage de 3,55 pixels / A.

3 - Le capteur possède des pixels de grande taille (6,45 microns), avec pour conséquence un échantillonnage de 2,8 pixels par élément de résolution - on n’est pas loin du sous-échantillonnage. La trace du spectre est par ailleurs très fine.

4 - Le ciel du Chili est très sombre, pas de pollution locale, mais en revanche les raies de la haute atmosphère sont présentes - nous  allons nous en servir. Un dispositif d’étalonnage dédié à l’Alpy600 est aussi disponible, constitué d’une lampe starter de tube fluorescent, dite « RELCO », qui offre un spectre de raies d’émission du néon et de l’argon mélangé.


On va traiter une séquence de deux objets. Celui de l’étoile HD 223352 (delta Scl) de type spectral A0V, puis celui de l’étoile cataclysmique VY Scl (en éruption au moment de l’observation). Vous pouvez télécharger les données en cliquant sur ce lien : session2spot.


Les deux objets sont très proches angulairement dans le ciel. La réponse instrumentale (fichier « reponse ») a été trouvée à partir du spectre de HD 223352, par comparaison avec le spectre théorique d’une étoile A0V. La transmission atmosphérique n’est pas calculée, car elle est ici considérée incluse dans le fichier « réponse » , compte tenu de la proximité des deux objets.


Pour trouver la loi de dispersion spectrale, nous allons nous servir des raies de Balmer bien visibles dans le spectre de l’étoile HD 223352. La lampe dite « néon » qui a été obtenue par les auteurs de cette observation ne va nous servir qu’à évaluer l’angle de slant (basculement des raies). La source de lumière à l’origine de cette image étalon n’est en réalité pas une lampe néon, mais une lampe starter de tube fluorescent (modèle RELCO) incluant du gaz néon, mais aussi d’autres composés comme l’argon. La lumière est injectée dans le spectrographe Alpy600 par le boîtier d’étalonnage Sheyliak situé face à la fente (une motorisation permet de sélectionner soit le flux venant de la cible, soit le flux venant de la lampe RELCO). Voici une représentation de cette image spectrale :

On remarque un nombre assez élevé de raies, en particulier dans le bleu, ce qui peut apparaître pratique pour étalonner le spectre dans cette région. En réalité il n’en est rien. Compte tenu du pouvoir de résolution du spectrographe Alpy600, environ R=600 à 900, et compte tenu de la faible intensité et du nombre de ces raies dans le bleu, il est très difficile de les distinguer les unes des autres avec certitude. En plus, le contenu spectral des lampes starter peut parfaitement évoluer d’un modèle à l’autre, et en outre, l’intensité relative des raies changent avec le temps. L’auteur de ces lignes considère que cette source d’étalonnage n’est pas fiable, surtout dans un contexte d’automatisation des observations. C’est la raison pour laquelle, même si ce n’est pas parfait non plus, il est bien préférable d’établir une fois pour toutes une la loi d’étalonnage à partir d’une source naturelle, ici une étoile et ces raies de Balmer en absorption. La loi d’étalonnage ainsi trouvé est simplement recalée en translation à chaque cible (en général) - on verra comment plus loin - pour tenir compte des éventuelles déformations du spectrographe.


Rappelons comment est trouvé le polynôme d’étalonnage à partir des raies de Balmer sur cette observation 2spot (voir aussi les explications données à la section 9 de cette note).


On définit en premier le fichier d’observation associé à l’étoile HD223352, que nous appelons « obs_hd223352.yaml » dans le répertoire de travail :


A gauche, le fichier de configuration utilisée pour trouver le polynôme d’étalonnage à partir des raies de Balmer dans le spectre de l’étoile HD 223352. Noter qu’une image d’étalonnage (lampe spectrale à raies d’émission) est utilisée pour trouver la valeur de l’angle de slant (basculement). La position en pixel de la raie que l’on emploie pour cela est passée par le paramètre line_pos (ici X = 807).



Par ailleurs, la position approximative des raies de Balmer choisie est entrée dans le paramètre line_pos2 et les longueurs d’onde correspondantes sont entrées dans le paramètre wavelength2.


Noter que la tolérance de recherche des raies de Balmer (paramètre search_wide) est resserrée à 10 pixels, car lesdites raies sont très proches les unes autres dans la partie ultra-violette et il y a risque que le logiciel les confonde.






# ******************************************************************

# Configuration 2SPOT - Etalonnage sur raies de Balmer

# ALPY600 sur télescope RC12 f/8

# ******************************************************************


# ---------------------------------------------------

# Répertoire de travail

# ---------------------------------------------------

working_path: /Volumes/Samsung_T5/starex_2spot


# ---------------------------------------------------

# Fichier batch de traitement

# ---------------------------------------------------

batch_name: obs_hd223352


# ----------------------------------------------------------------

# Extension du nom des fichiers FITS (optionnel)

# 0: .fits (par défaut) - 1: .fit

# ----------------------------------------------------------------

file_extension: 1


# ---------------------------------------------------

# Mode d'étalonnage spectral

# ---------------------------------------------------

calib_mode: -1


# ----------------------------------------------------------------

# Ordre du polynôme d'étalonnage à évaluer

# ----------------------------------------------------------------

poly_order: 3


# ---------------------------------------------------

# Largeur de binning

# ---------------------------------------------------

bin_size: 24


# ---------------------------------------------------

# Zones de calcul du fond de ciel

# ---------------------------------------------------

sky: [130, 16, 16, 130]


# ---------------------------------------------------

# Bornes x pour mesures géométriques

# ---------------------------------------------------

xlimit: [560, 980]


# ---------------------------------------------------

# Position des raies en pixels (obligatoire)

# ---------------------------------------------------

line_pos2: [1009, 526, 382, 316, 279, 256, 241, 230]


# ---------------------------------------------------

# Longueurs en A d'onde d'étalonnage

# ---------------------------------------------------

wavelength2: [6562.81, 4861.34, 4340.48, 4101.75, 3970.08, 3889.05, 3835.39, 3797.90]


# ---------------------------------------------------

# Position d'une raie d'émission(s) dans

# le spectre d'étalonnage pour la mseure du slant

# ---------------------------------------------------

line_pos: [807]


# ----------------------------------------------------------------

# Applique une correction géométrique du type smile is présent

# Rayon de courbure en pixels

# ----------------------------------------------------------------

smile_radius: 12000


# ----------------------------------------------------------------

# Largeur en pixels de la zone de recherche des raies

# ----------------------------------------------------------------

search_wide: 10

Voici le résultat dans la fenêtre de sortie :


Line coordinates find:

[1009.56  526.49  381.94  315.58  278.82  256.03  240.93  230.33]

Computed calibration coefficients:

-2.91916203926938e-07, 0.00042624512654172286, 3.400906126515167, 2995.3237592169503

Residue = 0.24 A

End.


Remarquez que le logiciel retourne les coordonnées précises des raies Balmer, à comparer avec les valeurs en entrée (paramètre line_pos2). Le fait que l’erreur de calcul soit inférieure à 1 A est un indicateur que la calcul c’est bien déroulé.


A ce stade, vous pouvez calculer le profil spectre des cibles en utilisant le mode #2. Employez par exemple le fichier de configuration : « conf_2spot_mode2.yaml », présent dans la distribution specINTI. Vous allez sûrement remarquer un décalage spectral de l’ordre de 4 angströms par rapport à la position des raies. Cette erreur, élevée, vient soit d’un déplacement accidentel dans le spectrographe entre la prise du spectre de l’étoile et la prise du spectre de la lampe étalon, soit d’une erreur systématique induite pas le système d’étalonnage intégré.


Il y a bien mieux à faire : ce passer totalement d’image d’étalonnage par une lampe artificielle dès lors que les coefficients du polynôme de dispersion est trouvé. Pour ce faire, nous allons exploiter une raie naturelle du fond de ciel. Il s’agit de la raie [II] (raie verte aurorale), toujours plus ou moins présente dans la lumière venant du fond du ciel lorsqu’on observe depuis le sol. C’est le point d’accroche dont on a besoin pour finaliser l’étalonnage spectral, et cela dans les meilleures conditions qui soit (voir au début de cette section). Ci-après le spectre de l’étoile VY Scl :

Nous sommes clairement dans un mode latéral d’étalonnage, mais avec un spectre de référence que la Nature nous offre généreusement. C’est ici le mode #4 qui va permettre d’étalonner simplement et précisément les spectres 2spot acquis sous ciel du Chili (dans les lieux moins protégés, ce sont les raies de la pollution lumineuse (mercure…) qui nous rendent alors un fier service !). Voici comment écrire le fichier de configuration en mode #4 pour ces données acquises avec un spectrographe Alpy600 (vous ferez de même avec un Sol’Ex exploité en basse résolution) :

Le paramètre calib_mode prend bien la valeur 4.


Leș fichiers FITS (générés pas le programme MaximDL dans la situation de cette session) ont l’extension .FIT et non pas .FITS, d’où la valeur 1 donnée paramètre file_extension (la valeur par défaut est 0).


On retrouve la valeur des termes du coefficient du polynôme d’étalonnage trouvés un peu avant paramètre calib_coef).



Le paramètre wavelength, ne contient qu’une seule longueur d’onde, celle de la raie de l’oxygène atmosphérique (mais il pourrait s’agir d’une série de raies pour une précision encore meilleure).


On passe la coordonnée X de cette raie de l’oxygène au travers du paramètre line_pos (ici encore, il pourrait être question d’une liste de positions).


On réalise une extraction optimale du profil puisque extract_mode vaut 1. On fourni aussi le bruit de lecture de la caméra ATIK414L via le paramètre noise (3,8 e-), ainsi que le gain électronique au travers du paramètre gain (ici 0,26 e-/ADU).


Un autre paramètre optionnel associé à l’extraction optimale du profil est le seuil de réjection des rayons cosmiques lors d’un processus itératif (algorithme de Horne). Il s’agit du paramètre cosmic_th. Nous l’avons ignoré jusqu’alors, car nous avons utilisé sa valeur par défaut sans le savoir, qui est de 25, et recommandée par Horne. Vous pouvez donc changer cette valeur.


On remarque aisément que les raies spectrales sont courbes, une caractéristique du spectrographe ALPY600, qui exploite un grism dans sa combinaison optique. Le paramètre smile_radius prend ici la valeur de 12000 pixels, que l’on trouve par essais successifs.


Ce fichier de configuration montre l’usage d’un autre non vu jusqu’alors, hot_pixels. Tout pixel dans l’image du dark dont l’intensité dépasse la valeur du seuil fourni se voit remplacé par l’intensité moyenne des pixels qui l’entoure. Généralement ce paramètre optionnel n’est pas utilisé, mais il est nécessaire ici, car un temps long s’est écoulé entre la réalisation des images du signal d’obscurité et les images sciences, faisant que le dark maître corrige mal ces dernières images. D’où une commande qui retire les points chauds jugés déviant dans le dark.


Un autre paramètre optionnel, hot_pixels2, voisin du précédent, agit cette fois sur certains défauts cosmétiques récalcitrant dans l’image science elle-même. Dans les images en question les rayons cosmiques sont nombreux en raison de la situation de l’observatoire (haute altitude) et cette commande peut parfois rendre service (à tester avec parcimonie, la plupart du temps inutile).


On notera enfin les paramètres qui définissent l’instrument et le lieu d’observation. Ces informations sont inscrites dans l’en-tête des fichiers profils.

# ******************************************************************

# Configuration 2SPOT - Mode #4

# ALPY600 sur télescope RC12 f/8

# ******************************************************************


# ---------------------------------------------------

# Répertoire de travail

# ---------------------------------------------------

working_path: /Volumes/Samsung_T5/starex_2spot


# ---------------------------------------------------

# Fichier batch de traitement

# ---------------------------------------------------

batch_name: obs_vyscl


# ----------------------------------------------------------------

# Extension du nom des fichiers FITS (optionnel)

# 0: .fits (par défaut) - 1: .fit

# ----------------------------------------------------------------

file_extension: 1


# ---------------------------------------------------

# Mode d'étalonnage spectral

# ---------------------------------------------------

calib_mode: 4


# ----------------------------------------------------------------

# Coefficients d'étalonnage spectral

# ----------------------------------------------------------------

calib_coef: [-2.919162e-07, 0.000426245, 3.40091, 2995.324]


# ---------------------------------------------------

# Longueurs d'onde d'étalonnage en A

# ---------------------------------------------------

wavelength: [5577.35]


# ---------------------------------------------------

# Position d'une ou plusieurs raie(s) d'émission(s) d'étalonnage

# ---------------------------------------------------

line_pos: [730]


# ---------------------------------------------------

# Largeur de binning

# ---------------------------------------------------

bin_size: 24


# ---------------------------------------------------

# Zones de calcul du fond de ciel

# ---------------------------------------------------

sky: [130, 16, 16, 130]


# ---------------------------------------------------

# Bornes x pour mesures géométriques

# ---------------------------------------------------

xlimit: [560, 980]


# ----------------------------------------------------------------

# Largeur en pixels de la zone de recherche des raies

# ----------------------------------------------------------------

search_wide: 30


# ----------------------------------------------------------------

# Mode d'extraction du profil

# ----------------------------------------------------------------

extract_mode: 1


# ----------------------------------------------------------------

# Nom du fichier de réponse instrumentale (optionnel)

# ----------------------------------------------------------------

instrumental_response: reponse


# ---------------------------------------------------------------

# Correction flat-field

# ---------------------------------------------------------------

flat_mode: 1


# ----------------------------------------------------------------

# Bruit de lecture en e-

# Obligatoire si extract_mode = 1

# ----------------------------------------------------------------

noise: 3.8


# ----------------------------------------------------------------

# Gain électronique en e-/ADU

# Obligatoire si extract_mode = 1

# ----------------------------------------------------------------

gain: 0.26


# ----------------------------------------------------------------

# Seuil de rejeton des rayons cosmiques - valeur typique: 25 

# Fonctionnel si extract_mode = 1

# ----------------------------------------------------------------

cosmic_th: 25


# ----------------------------------------------------------------

# Applique une correction géométrique du type smile is présent

# Rayon de courbure en pixels

# ----------------------------------------------------------------

smile_radius: 12000


# ----------------------------------------------------------------

# Filtrage des points chauds dans le dark

# ----------------------------------------------------------------

hot_pixels: 500


# ----------------------------------------------------------------

# Filtrage des points chauds dans l'image science

# ----------------------------------------------------------------

hot_pixels2: 50000


# ----------------------------------------------------------------

# Zone de normalisation à l'unité

# ----------------------------------------------------------------

norm_wave: [6640, 6660]


# ----------------------------------------------------------------

# Zone de cropping du profil

# ----------------------------------------------------------------

crop_wave: [3700, 7300]


# ----------------------------------------------------------------

# Longitude du lieu d'observation

# ----------------------------------------------------------------

Longitude: -70.853


# ----------------------------------------------------------------

# Latitude du lieu d'observation

# ----------------------------------------------------------------

Latitude: -30.526


# ----------------------------------------------------------------

# Altitude du lieu d'observation en mètres

# ----------------------------------------------------------------

Altitude: 1710


# ----------------------------------------------------------------

# Site d'observation

# ----------------------------------------------------------------

Site: DSC


# ----------------------------------------------------------------

# Description de l'instrument

# ----------------------------------------------------------------

Inst: RC12 + ALPY600 + ATIK414 


# ----------------------------------------------------------------

# Observateur (optionnel)

# ----------------------------------------------------------------

Observer: 2spot

Le profil calculé de l’étoile VY Scl.

15 : Les modes spéciaux

15.1 : Mode -1 : évaluation du polynôme de dispersion avec un spectre en absorption

Il est possible de calculer le polynôme de dispersion spectrale du degré de son choix à partir des raies de Balmer (spectre d’absorption) depuis specINTI. C’est le mode d’étalonnage -1 (noter la valeur négative). 


Voici la procédure. Ecrivez le fichier de configuration de la manière suivante (extrait) :


# ---------------------------------------------------

# Mode d'étalonnage spectral

# ---------------------------------------------------

calib_mode: -1


# ---------------------------------------------------

# Longueur d’onde des raies de Balmer

# ---------------------------------------------------

wavelength2: [3889.05, 3970.08, 4101.75, 4340.48, 4861.34, 6562.81]


# ---------------------------------------------------

# Position approximative des raies de Balmer en pixels

# ---------------------------------------------------

line_pos2: [259, 283, 318, 386, 528, 1012]


# ---------------------------------------------------

# Degré du polynôme d’étalonnage

# ---------------------------------------------------

poly_order: 3


# ---------------------------------------------------------------

# Correction flat-field

# ---------------------------------------------------------------

flat_mode: 1


# ---------------------------------------------------

# Position des raies d’étalonnage en pixels

# ---------------------------------------------------

line_pos: [807]


Les paramètres wavelength2 et line_pos2 représentent respectivement les longueurs d’onde des raies de Balmer choisies et leur coordonnée approximative en pixel dans l’image. On choisit le degré du polynôme au travers du paramètre poly_ordre (ici le degré 3). Rappelez-vous que si n est le nombre de raies de Balmer choisies, le degré ne peut pas dépasser n-1.  Il est recommandé d’attribuer la valeur 1 au paramètre flat_mode pour un maximum de précision (correction flat-field au niveau du profil).  Attention,  vous devez disposer au moins d ‘une raie d’étalonnage en émission de manière à pouvoir évaluer l’angle de slant (le paramètre line_pos doit être défini)


Le traitement porte sur une étoile dans laquelle les raies de Balmer sont bien contrastées, par exemple :


# *********************************************************

HD 223352:

# *********************************************************

- HD 223352             # catalog name

- HD 223352-            # generic target file name

- 11                    # number of target spectral images  

- HD 223352_Neon-       # generic spectral lamp files name

- 1                     # number of spectral lamp images

- flat-                 # generic flat lamp files name 

- 32                    # number of flat images

- Dark_1200-            # generic dark files name

- 5                     # number of dark images

- Dark_bias-            # generic offset files name

- 17                    # number of offset files name 

- none                  # optical atmospheric transmission


Le traitement s’arrête avec l’affichage du polynôme de dispersion calculé (le traitement de l’étoile n’est pas complet) :


Computed calibration coefficients:

-2.6658628005617566e-07, 0.0003809274285578211, 3.4241240905489154, 2991.942942846281

Residue = 0.04 A

End.


Vous pouvez à présent rapporter ces éléments dans le fichier de configuration pour les traitements proprement dits :


# ----------------------------------------------------------------

# Coefficients d'étalonnage spectral

# ----------------------------------------------------------------

calib_coef: [-2.6658628005617566e-07, 0.0003809274285578211, 3.4241240905489154, 2991.9429428]

15.2 : Mode -2 : évaluation du polynôme de dispersion avec un spectre en émission

Tout comme le mode -1, le mode -2 permet de calculer le polynôme de dispersion spectrale du degré de son choix, mais à présent en exploitant un spectre d’émission, provenant par exemple d’une lampe spectrale de référence.


La structure du fichier d’observation sera par exemple :


# *********************************************************

POLYNOME DE DISPERSION A PARTIR D’UNE LAMPE NEON:

# *********************************************************

- Lampe neon            # catalog name

- neon-                 # generic target file name

- 4                     # number of target spectral images  

- none                  # generic spectral lamp files name

- 0                     # number of spectral lamp images

- none                  # generic flat lamp files name 

- 0                     # number of flat images

- n600-                 # generic dark files name

- 16                    # number of dark images

- o-                    # generic offset files name

- 29                    # number of offset files name 

- none                  # optical atmospheric transmission


Ici, neon-1, … neon-4 sont les images du spectre d’une lampe néon.


Le fichier de configuration caractéristique s’écrit alors de la manière suivante (extrait) :


# ---------------------------------------------------

# Mode d'étalonnage spectral

# ---------------------------------------------------

calib_mode: -2


# ---------------------------------------------------

# Longueur d’onde des raies de Balmer

# ---------------------------------------------------

wavelength: [6506.53, 6532.88, 6598.95, 6678.28, 4861.34]


# ---------------------------------------------------

# Position approximative des raies de Balmer en pixels

# ---------------------------------------------------

line_pos: [1163, 1574, 2625, 386, 528, 3911]


# ---------------------------------------------------

# Degré du polynôme d’étalonnage

# ---------------------------------------------------

poly_order: 2


# ---------------------------------------------------------------

# Position verticale typique de la trace du spectre

# ---------------------------------------------------------------

posy: 200




Les paramètres wavelength et line_pos représentent respectivement les longueurs d’onde des raies d’émission choisies et leur coordonnée approximative en pixel dans l’image. Ces deux paramètres sont obligatoires, à moins d’utiliser le paramètre auto_calib (recherche automatique des raies d’une lampe à gaz néon). D’autres paramètres sont obligatoires : (1) le paramètre posy, précisant la coordonnée verticale approximative en pixels de la trace des spectres stellaires à étalonner, (2) le paramètre tilt, précisant l’angle du tilt typique de la trace des spectres stellaires, (3) le paramètre bin_size, utilisé pour calculer le profil du spectre d’émission,  (4) le paramètre sky, utilisé pour évaluer l’angle de slant des raies d’émission.


Le traitement s’arrête avec l’affichage du polynôme de dispersion calculé et l’évaluation du pouvoir de résolution spectral.

15.3 : Mode -3 : évaluation du bruit et du gain de la caméra

Le mode -3 permet de calculer le gain et le bruit de lecture de votre caméra. Les valeurs en question sont utiles lorsque le mode d’extraction optimal (Horne) est demandé.


Le calcul est réalisé à partir de deux images flat-field et deux images d’offset (au minimum), dans une zone commune des images associée à un niveau de signal dans le flat-field relativement élevé et uniforme. Cette zone est délimitée par un rectangle en valeurs de pixels dont on donne les coordonnées des coins opposés (X1, Y1) et (X2, Y2).  Ces valeurs sont fournies à specINTI au travers du paramètre area, sous la forme : 


area: [x1, y1, x2, y2]

Définition de la surface de l’image flat-field à partir de laquelle specINTI va calculer le gain et le bruit de la caméra.

Voici comment remplir le fichier de configuration :


# ---------------------------------------------------

# Mode d'étalonnage spectral

# ---------------------------------------------------

calib_mode: -3


# ---------------------------------------------------

# Longueur d’onde des raies de Balmer

# ---------------------------------------------------

area: [940, 350, 1000, 600]


Par exemple, si le fichier batch d’observation comporte les éléments suivants :


# *********************************************************

HD 223352:

# *********************************************************

- HD 223352             # catalog name

- HD 223352-            # generic target file name

- 11                    # number of target spectral images  

- HD 223352_Neon-       # generic spectral lamp files name

- 1                     # number of spectral lamp images

- flat-                 # generic flat lamp files name 

- 32                    # number of flat images

- dark1200-             # generic dark files name

- 5                     # number of dark images

- offset-               # generic offset files name

- 17                    # number of offset files name 

- none                  # optical atmospheric transmission


le logiciel exploite les images flat-1, flat-2, offset-1, offset-2 pour calculer le gain et le bruit de lecture.  Voici un exemple de sortie :


Camera gain = 0.250 e-/ADU   -  Read Out Noise = 3.73 e-

End.


16 : Paramètres avancés

16.1 : Comment conserver la position verticale des traces de spectres


Si le paramètre posy est défini dans le fichier de configuration, la coordonnée Y (verticale) des traces de spectres dans les images 2D reste en l’état (pas de recentrage vertical des traces pour qu’elles se superposent, ce que fait normalement le logiciel). Par ailleurs specINTI utilise la coordonnée du paramètre posy comme une référence (pour le calcul du binning, du fond de ciel, etc). Par exemple 


posy: 235


Cette possibilité permet de gérer des situations difficiles, lorsque la trace du spectre est quasi imperceptible et non mesurable. Ce paramètre est aussi utile pour traiter le cas des objets qui présentent une surface étendue et faible (nébuleuses, comètes, …). Cependant, dans le cas général, ne définissez par ce paramètre et laissez specINTI calculer la position verticale de la trace du spectre dans chacune des images d’une séquence, le résultat est en général très bon. 



16.2 : Comment imposer le non retrait du signal de fond de ciel


Si la valeur attribuée au paramètre sky_remove est 0, le fond de ciel n’est pas retiré des images, ce qui est commode pour certaines vérifications (forme des raies) ou pour les travaux concernant des objets à surface étendus (nébuleuses, comètes). Noter que la valeur par défaut est :


sky_remove: 1


ce qui signifie que le fond de ciel autour de la trace est retiré, ce qui équivaux aussi à ne pas définir le paramètre sky_rmode (c’est la situation « standard »).



16.3 : Comment imposer un décalage spectral


Le paramètre optionnel  spectral_shift appliquer un décalage spectral systématique en angströms à tous les spectres calculés. Par exemple, pour un décalage de -0,26 A :


spectral_shift: -0.26


Pour une étoile donnée, ceci permet par exemple d’appliquer un décalage Doppler, où parfois de rectifier un biais d’étalonnage de l’instrument (erreur systématique).



16.4 : Comment réaliser un binning sur le profil spectral 


Vous pouvez aussi pratiquer un binning sur le profil final (agglomération des points du spectre) en utilisant le paramètre bin_factor. Le but est d ‘accroître le rapport signal sur bruit (au détriment de la résolution spectrale bien sûr). La valeur indiquée est le facteur de binning. Par exemple, pour additionner par 4 les points du profil, faire :



bin_factor: 4



16.5 : Comment agir manuellement sur la géométrie du spectre 2D


Les paramètres tilt et slant, lorsqu’ils sont défini dans le fichier de configuration, imposent à specINTI d’utiliser ces valeurs respectives en degrés pour la correction du tiilt et du slant des images, et non pas les valeurs mesurées. Par exemple :


tilt: -0.055


ou encore,


slant: 0.37



16.6 : Comment réaliser une bonne correction flat-field


Le flat-field est une image d’étalonnage visant à éclairer uniformément l’entrée de la lunette ou du télescope avec une source de lumière la plus blanche possible (mais pas nécessairement blanche). Le but est de calculer une image maître représentant une carte des défauts locaux de sensibilité de sensibilité à la surface du capteur (franges d’interférences du détecteur, vignettage optique, présence de poussières, etc), afin de faciliter le calcul de la réponse instrumentale (qui contrairement au flat-field, intègre la notion de sensibilité spectrale de la chaîne de mesure en fonction de la longueur d’onde et qui est alors une vraie constante de l’instrument).


L’image ci-contre montre la prise d’une séquence d’images flat-field en utilisant un panneau d’éclairage à lampes LED, simplement posé à l’entrée de la lunette. Ces images individuelles (15 à 30) sont moyennées par specINTI, pour produire une image flat-fied maître peu bruitée (le nom de sauvegarde du flat-field est par défaut « _flat », mais vous pouvez par la suite changer ce nom).

L’image ci-après montre le flat-field maître réalisé de cette manière. Il est question ici de traiter des images à haute résolution spectrale (R=20000) autour de la raie H-alpha :

L’axe spectral est horizontal. On note que l’intensité du signal enregistré est très variable avec la longueur d’onde. Ceci vient des LED, qui envoient bien plus de photons dans la partie plutôt bleue (à gauche) que dans la partie plutôt rouge (à droite). Cet écart chromatique n’est pas gênant pour obtenir un flat-field correct dès lors que le rapport signal sur bruit est correct partout (d’où l’intérêt de faire la moyenne de nombreuses images élémentaires).


specINTI divise les images de la cible observée par l’image maître dès lors que le nom de ce flat-field (ou les flat-fields élémentaires) et indiqué dans le fichier YAML d’observation. Ceci a pour effet de gommer les non-uniformités locales (après retrait de l’offset et du signal d’obscurité).


L’opération est automatique et transparente. Cependant elle ne donne un résultat correct que si la configuration de l’instrument est stable entre la prise des images à corriger et la prise du flat-field. En raison des flexions ou des déformations thermoplastiques de l’instrument, ce n’est pas toujours le cas, et même rarement le cas. Il en résulte une correction imparfaite et même parfois pire que le mal, surtout si le décalage se fait suivant l’axe spectral. Il faut donc être vigilant si le risque de flexions est significatif.


Supposons que la coordonnée en pixels d’une raie spectrale d’étalonnage (venant d’une lampe néon par exemple) soit X=194 au moment de la prise des images de la cible, et que cette même coordonnée soit X=208 au moment de prendre les images fla-field. Les déformations de l’instrument représentent donc dX = 194 - 208 = -14 pixels. Cela signifie qu’avant de réaliser la correction flat-field proprement il faut tâcher de déplacer toute l’information de l’image flat-field maître de -14 pixels pour optimiser le traitement.


Il se peut que les déplacements se chiffre en plusieurs dizaines de pixels. Il faut s’inquiéter si le décalage dépasse 100 pixels, mais la correction demeure possible. En particulier, le fait de pouvoir compenser les déformations de l’instrument au cours du temps autorise une prise d’image « sur table », comme cela est précisé à l’annexe de ce document. C’est une vraie facilité au final, car cela dégage de l’obligation de réaliser la prise des flat-field durant l’observation des étoiles, ce qui représente une simplification et un gain de temps.


specINTI Editor dispose d’un outil pour réaliser le décalage en pixels du flat-field maître afin que celui-ci soit cohérent avec les images à traiter. Pour ce faire, ouvrir dans l’interface l’onglet « Décalage Flat » (version 1.2 et au-dessus de specINTI Editor) :

Vous devez fournir :


- le nom du fichier maître à décaler (suivant l’axe spectral), ici « _flat » ;

- la valeur du décalage en pixels (attention au signe), ici +12 pixels ;

- la valeur d’un paramètre de lissage dont l’effet est décrit plus loin ;  

- le nom du fichier flat-field décalé, qui devient alors votre image d’étalonnage maître (ici _flat2).


Voici un exemple, qui explicite aussi l’impact du paramètre de lissage. Les images ci-après montrent une toute petite portion d’un flat-field réalisé lors d’une observation à haute résolution spectrale (R=20000) de la raie H-alpha avec Star’Ex équipé d’une caméra à capteur CMOS ASI183MM. L’image est très agrandie et affichée avec un très fort contraste pour bien faire ressortir tous les défauts. On note en particulier une structure en grille (de 14 pixels de pas environ), caractéristique du capteur utilisé (Sony IMX183), venant du procédé de fabrication. L’intensité relative de cette grille représente 1% à 1,5% du signal total. Il s’agit typiquement d’un défaut que la correction flat-field doit être en mesure de corriger (ce même défaut est présent dans les images spectrales). Cependant, une difficulté surgit : ce défaut de « fonderie » du détecteur, dit « haute fréquence » ne se déplace jamais en pixels suite à un effet de flexion mécanique, puisqu’il est attaché au détecteur lui-même. On est donc conduit à un traitement correctif très subtil de l’image flat-field si on souhaite un résultat parfait  :


- un rattrapage du décalage constaté en pixels entre les prises de spectres des cibles et les prises flat-field, dans le but de corriger les lentes variations de sensibilité le long de l’axe spectral, des défauts « basse fréquence » : certains phénomènes d’interférences, le vignettage optique…


- mais au besoin, ne pas réaliser ce décalage pour les défauts « hautes fréquences », liés aux caractéristiques du détecteur, comme ici le quadrillage de fonderie ou l’écart de réponse interpixel,  qui sont insensibles aux flexions.


C’est la raison de la présence du paramètre « Lissage ». Voici comment les choses se présentent :

En haut, le flat-field maître de départ. En comparant la position des raies spectrales de la lampe d’étalonnage, il apparait qu’il existe un déplacement de l’image optique de +50 pixels entre la prise du spectre des étoiles et la prise de l’image flat-field.


Au centre, le flat-field maître de départ a été décalé de +50 pixels afin de compenser par le traitement numérique l’effet des flexions mécaniques. L’image à subit une translation classique de 50 pixels en donnant la valeur 0 au paramètre « Lissage ».  Mais mauvaise nouvelle, la grille liée à la technologie du détecteur est aussi entrainé par ce déplacement, ce qui ne devrait pas être le cas. Moralité les défauts basse-fréquence, souvent le plus visibles, seront bien corrigsé, mais en revanche les défaut haute-fréquence ne le seront pas, ou même accentués.


En bas, le flat-field maître de départ est toujours décalé de 50 pixels pour ce qui concerne les défauts basse-fréquence, alors que le défaut de grille (haute-fréquence) n’a pas bougé, ce qui est le but recherché. Pour arriver à ce résultat, on a donné la valeur 7 au paramètre « Lissage » (c’est une valeur typique, recommandée ici). specINTI utilise un algorithme spécial pour réaliser un décalage qui n’affecte que les basse fréquence. La correction flat-field sera alors optimale.

16.7 : Comment calculer la réponse instrumentale


specINTI Editor intègre un outil pratique pour calculer la réponse instrumentale. Ce sera la façon la plus commode pour vous. Notez que quelques paramètres de specINTI peuvent aussi, mais de manière moins commode : ref_profile_name et response_blur . Ces fonctions ont surtout un rôle de test.  Exemple :


# --------------------------------------------------------------

# Nom du profil de référence pour l’évaluation de la réponse

# instrumentale

# --------------------------------------------------------------

ref_profile_name: _A0V


# --------------------------------------------------------------

# Facteur de lissage de la réponse instrumentale 

# --------------------------------------------------------------

response_blur: 300


La procédure revient à diviser le profil spectral calculé d’une étoile (sans appliquer une correction de réponse instrumentale, qui est inconnue à ce stade) par la distribution réelle du flux de l’objet que l’on extrait d’un spectre de référence de même type spectral. Cette procédure est active dès lors que le paramètre ref_profile_name est défini dans le fichier de configuration. Il indique le nom du fichier FITS contenant le profil de référence. Dans l’exemple ci-dessus,  il s’agit d’un spectre dont le nom est «_a0v.fits» sur le disque, mais vous pouvez utiliser une tout autre désignation. Le principal est que le fichier de référence soit un spectre du même type spectral que l’étoile que l’on traite (un spectre MILES  par exemple, voir dans la base de données spectrales associées à SpecINTI (section 3.3), ou encore celle du logiciel i-Spec, par exemple).


L’idéal pour trouver la réponse instrumentale consiste à observer une étoile chaude de type spectral A ou B. Le résultat de la division est lissé avec une force proportionnelle à la valeur du paramètre response_blur (la valeur caractéristique est comprise entre 300 et 3000), puis sauvegardé dans le répertoire de travail sous un nom réservé : « _rep.fits ».


specINTI vous prévient dans le « log » de sortie qu’il a écrit le fichier « _rep », par exemple :


JD-OBS  = '2459488.7633'                                                        

Computed response file: /Volumes/Samsung_T5/specINTI_test/2spot/_rep.fit

----------------------------------------------------

Processed spectrum files name and path:

/Volumes/Samsung_T5/specINTI_test/2spot/_hd223352_2D.fit

/Volumes/Samsung_T5/specINTI_test/2spot/_hd223352_2021101_263.fit

----------------------------------------------------

End of the processing.


Commencez avec la valeur 300 pour le paramètre response_blur, puis visualisez le spectre de réponse « _rep » pour vous assurer qu’il est satisfaisant. Changez la valeur du paramètre au besoin afin de lisser les défauts jugés comme des artefacts. 


Un problème peut advenir si la résolution spectrale des spectres délivrés par votre instrument est très différence de celle du spectre de référence : lors du calcul de la réponse, des incidents peuvent apparaître au niveau des raies d’absorption profonde. Dans ce cas, il faut essayer d’égaliser au mieux les deux fichiers (le profil de votre étoile et celui de référence). Pour  dégrader momentanément la résolution de vos spectres afin de calculer la réponse, pratiquez un lissage en ajustant la valeur du paramètre sigma_gauss, par exemple pour aboutir à une forte dégradation de la résolution, faire sigma_gauss: 20. Une fois la réponse calculée, pensez à supprimer le paramètre sigma_gauss, ou donnez-lui une valeur cohérente en rapport avec le pouvoir de résolution escomptée. Il peut encore exister un décalage spectral entre le profil de l’étoile et le profil de référence, en général lié à la non-prise en compte de la vitesse radiale causée par le mouvement annuel de la Terre autour du Soleil (cci s’observe en haute résolution spectrale). Dans ce cas, il faut en plus ajuster la valeur du paramètre spectral_shift_wave (la valeur est un décalage spectral en angströms). 


Finalement, renommez le fichier « _rep.fits » du nom de votre choix (« reponse.fits » par exemple) et dans le fichier de configuration, faites  :


Instrumental_response: reponse


ou encore,


Instrumental_response: _rep 


Après avoir évalué la réponse pensez à supprimer le paramètre ref_profile_name dès lors que vous traite de manière routinière vos données, la réponse de votre instrument étant dorénavant connue.


Voici par exemple le résultat de la recherche automatique de la réponse instrumentale de l’instrumentation 2spot , donc dans la situation de la basse résolution spectrale (voir section xxx) :

16.8 : Comment contrôler le bon déroulement du traitement

Si la valeur du paramètre optionnel check_mode vaut 1, specINTI entre dans un mode de fonctionnement délivrant dans la console une grande quantité d’informations sur le déroulement du programme et les calculs effectués. Des images et des profils de contrôle sont aussi écrits dans le répertoire de travail comme autant de résultats intermédiaires (sous les noms génériques respectifs _stepxxx et _profilexxx). Pour une étoile donnée, specINTI produit aussi dans le mode de vérification une séquence des profils traités individuels @pro1, @pro2, … @pron, avec n, le nombre d’images que comporte la séquence. L’option check_mode est un moyen  de dépanner les utilisateurs en difficultés et possède aussi une valeur pédagogique. Par défaut ce paramètre vaut 0 (quantité d’information en sortie restreinte et pas de fichiers intermédiaires sauvegardés dans le répertoire de travail).


Voici un extrait des sorties specINTI si on fait  check_mode: 1 :


Computed slant angle = 0.051

...........

Smile correction...

...........

$$$$ -> _step7

Img#1 -> Y = 518

Img#2 -> Y = 518

Img#3 -> Y = 518

Img#4 -> Y = 518

Img#5 -> Y = 517

Img#6 -> Y = 517

Img#7 -> Y = 517

Img#8 -> Y = 517

Img#9 -> Y = 517

Img#10 -> Y = 517

Img#11 -> Y = 517

$$$$ -> _step8

Gaussian filtering...

$$$$$ -> _step9

Sky substraction...

Profile extraction (optimal method)...

Img#1 -> cosmics ray number = 12

Img#2 -> cosmics ray number = 16

Img#3 -> cosmics ray number = 12

Img#4 -> cosmics ray number = 12

Img#5 -> cosmics ray number = 8

Img#6 -> cosmics ray number = 20

Img#7 -> cosmics ray number = 12

Img#8 -> cosmics ray number = 12

Img#9 -> cosmics ray number = 8

Img#10 -> cosmics ray number = 16

Img#11 -> cosmics ray number = 12

$$$$$ -> _step9

$$$$$ -> _step10

$$$$$ -> _step11

Evaluate lines position...

$$$$$ -> _step12

5852.49

804.9169365421932

Predefined calibration function + computed shift...

Calibration coefficients:

-2.6658628005617566e-07, 0.0003809274285578211, 3.4241240905489154, 2991.9429428

Parmi les images de contrôle produites, on peut relever celle nommée « _step5 » : c’est l’image de la lampe d’étalonnage avant correction de l’effet de smile (« sourire » en français). Pour certaines configuration instrumentales, l’effet de smile peut être sensible en effet, et il doit être corrigé en ajustant la valeur du paramètre  smile_radius,  qui fournit à specINTI la valeur du rayon de courbure du smile en pixels. En symétrie de l’image « _step5 », specINTI produit l’image « _step71 » : il s’agit encore de l’image de la lampe d’étalonnage, mais après correction de l’effet de smile. Normalement les raies doivent être à présent bien droites et verticales. Si ce n’est pas le cas agissez sur le paramètre smile_radius, et relancez le calcul jusqu’à ce que le résultat soit bon.


Une autre images intermédiaire utile est nommée « _step10 » : il s’agit de la somme de toutes les images individuelles de la séquence d’observation, après correction par specINTI de tous les défauts géométriques, du recentrage vertical des traces et le retrait du fond de ciel. L’image « _step101 » est similaire à ceci près que la trace des zones de calcul du fond de ciel et de binning est inscrite dans l’image (sous forme de traits horizontaux).


Si vous travaillez dans les mode 0 et 2 d’étalonnage spectral, le fichier «_profile3» est le profil spectral de la lampe d’étalonnage (précisément le profil extrait de la première image de la séquence). Ce profil peut servir à juger la finesse des raies, leur symétrie, etc.


Si vous travaillez dans les mode 3 et 4 d’étalonnage spectral, le fichier « _lateral3 » est le profil spectral de la lampe d’étalonnage extrait des zones latérale  et étalonné en longueur d’onde (précisément le profil extrait de la première image de la séquence)

17 : L’interface specINTI Editor

Après la lecture de tout ce qui précède vous avez surement entrevue la souplesse et la puissance du mode de fonctionnement de specINTI. Mais il es probable que vous percevez que l’écriture des fichiers de paramètres, qui plus est sans commettre des erreurs, est une opération assez lourde, malcommode, plutôt réservée à des experts. Le fait même de devoir lancer specINTI peut être une source d’inquiétude.


C’est pour palier à ces difficultés que l’application specINTI Editor a été écrite. On se retrouve ici dans un environnement plus graphique et convivial;, même si la philosophie de specINTI est entièrement conservée. La force de specINTI Editor est de vous permettre d’écrire plus simplement les fichiers de configuration et d’observation, de façon plus sure et visuelle. specINTI Editor facilite aussi la maintenance des fichiers de configuration. specINTI Editor offre la possibilité d’afficher les images de spectres (vos images brutes par exemple) ainsi que des profils spectraux (les résultats de vos traitement). Et autre avantage, pas des moindres, l’application permet de lancer specINTI par l’apui d’un simple bouton (il devient inutile d’aller dans une console de commande). 


17.1 : Présentation générale


Au lancement, la fenêtre ci-dessous apparait : 

On trouve 5 onglets :


Configuration

Accès aux fichiers de configuration du répertoire « _configuration » pour l'édition de type texte simple. 

Observations

Permet de relire et de générer le fichier d’observations pour traitement.

Visu Image

Permet d’afficher des images fits.

Png galerie

Affiche sous forme de vignettes png les résultats du traitement par specINTI.

Visu profil

Permet d’afficher des profils spectraux, dans le format fichiers fits 1D


En accès direct c’est-à-dire quel que soit l’onglet actif, le bouton Executer lance le script de configuration sélectionné dans l’onglet Configuration. Le bouton Sortir permet de mettre fin à l’application. On peut également cliquer dans la case de fermeture de l'application.


A la fermeture de specINTI Editor, l’application crée le fichier specINTI_ini.yaml, permettant de retrouver la même configuration logicielle lors du lancement suivant. Ce fichier contient les paramètres suivants : 


    -    config_file: nom du dernier fichier de configuration, sans extension yaml

    -    obs_file: dernier répertoire des observations

    -    reponse_dir :  non utilisé

    -    postfix_img: postfix générique des séquences d'images, souvent "-"

    -    postfix_cal: postfix générique des séquences d'images, souvent "-" ou "_neon"

    -    prefix_cal: prefix générique des séquences d'images de calibration si utilisé



17.2 : Configuration

Cet onglet propose un éditeur de texte pour éditer le fichier de configuration utilisé par specINTI. 


La liste de droite répertorie les fichiers yaml du répertoire « _configuration ». Au lancement, le dernier fichier utilisé est affiché et son nom est sélectionné en bleu dans la liste.


Pour voir et éditer un autre fichier de la liste, cliquer sur son nom dans la liste à droite. On peut modifier le texte comme dans un éditeur de texte classique. Pour faire un copier/coller utiliser les raccourcis clavier (Ctrl+C/Ctrl+V). On peut sauver le fichier sous le même nom ou entrer un nouveau nom dans la zone de texte « Fichier de config à sauver ». Le nouveau fichier s’ajoute à la liste de droite.


Pour lancer specINTI en association avec le fichier de configuration courant, cliquer sur le bouton Executer. Les modifications du texte ne seront pas prises en compte si le fichier n’a pas été sauvé. Attention donc, en cas de modification du texte, il est important d’enchainer à la suite l’appui sur le bouton Sauver et le bouton Exécuter.


17.3 : Observations

Il s’agit de l’outils de lecture et de génération d'un fichier d’observations. Le fichier yaml sera sauvé dans le répertoire des observations.

 

Sélectionnez le répertoire des observations avec le bouton Parcourir. Il s’agit bien ici de sélectionner un répertoire et non pas un fichier.


La liste des fichiers avec extension .yaml présents dans ce répertoire est affichée sur la droite. 


A noter : specINTI génère automatiquement des fichiers .yaml qui reproduisent la configuration utilisée lors d'un traitement. Le nom du fichier de cette copie commence par le prefix "_" (elle ne doit pas être confondu avec les fichiers d'observations.


Tous les champs sont éditables manuellement.


La puissance du générateur réside dans le bouton "Auto ». Celui-ci permet de remplir automatiquement les champs. Pour cela il est impératif de définir les préfixes et postfixes des noms de vos images :


    •    Image file postfix : indique le(s) caractère(s) de séparation entre le nom racine et le numéro de l’image dans la séquence. Par exemple "-" pour des séquences de type "etoile-1 ", "etoile-2 "… "etoile-n ».


    •    Calibration file préfixe : indique le(s) caractères(s) avant le nom racine du fichier d’étalonnage. Par exemple "a" pour "aetoile-1". Ce champ reste vide si le préfixe n’est pas utilisé dans votre standard de nomination des fichiers.


    •    Calibration file postfix : indique le(s) caractère(s) après le nom racine du fichier d’étalonnage. Par exemple " _neon-"  pour "etoile_neon-1".


Entrez la liste des intitulés des objets avec un format compatible avec Simbad (CDS).Exemple : "EW Lac", "Altair", "HD 6226" 


Les noms doivent être séparés par des virgules, suivies ou non d'un blanc.. Exemple :  Altair, EW Lac, 60 Cyg, omi Cas


Entrez les noms des images d'offset, de noir et de flat avec leur postfixe.


Exemples :     "o-", "n300-", "f-"

ou

"_offset", "_dark", "_flat"


Les images maîtres doivent être présentes dans le répertoire des observations (le répertoire de travail). 


A ce stade vous pouvez alors clliquer sur Auto si votre standard de nommage des fichiers respecte la convention décrite. Les champs Liste Images, Nombre d'image par objet, Liste Calibration, Nombre d'images de calibration, ainsi que le nombre des images d'offset, de noir et de flat vont être automatiquement remplis. Les opérations effectuées sont donc les suivantes :


    •  Suppression des espaces dans les identifiants des objets pour créer le nom racine avec son postfixe.  Par exemple "EW Lac" deviendra "EWLac-"


    •    Pour chaque objet, comptage du nombre d'image de la séquence de l'objet ayant le nom racine image.


    •    Ajoute les préfixes et postfixes aux noms racine pour créer les noms du fichier d'étalonnage pour chaque objet.


    •  Comptage du nombre d'images des offset, noir et flat Si le nombre d'image est à « 0 »,  specINTI utilise le nom de l'image comme une image maître déjà générée.


Il est donc important de nommer les images à l'acquisition en accord avec cette convention pour que la fonction de remplissage automatique fonctionne en un seul click.


Exemple de noms à l'acquisition pour les étoiles : 

gamcas-1, v442and-1, HD192685-1


Exemple de noms à l'acquisition pour les images de calibration : 

gamcas_neon-1, v442and_neon-1, hd19265_neon-1 


ou avec un prefixe:

agamcas-1, av442and-1, ahd192685-1


Exemple de remplissage automatique après avoir remplis manuellement Liste objets (ainsi que les champs des images maîtres) :

Si vous n'utilisez pas de standard pour nommer les fichiers ou si vous souhaitez modifier le(s) nom(s) ou nombres, vous pouvez bien sur éditer chacun des champs manuellement. Par exemple, si une image de d’étalonnage n'a pas été faite pour un objet, vous pouvez le champ pour la remplacer avec le nom d'un autre fichier d'étalonnage associé à un autre objet. 


Vous pouvez aussi repartir d'un fichier d'observations existant. Pour cela, cliquer sur l'un des fichiers de la liste de droite. Cela peut être utile pour corriger une éventuelle erreur ou modifier un paramètre.


Terminez en indiquant le nom du fichier « observations » et cliquez sur Sauver pour le sauver.  N'oubliez pas cette dernière étape… Pour utiliser ce fichier, mettre son nom dans le fichier de configuration (paramètre batch_name) , sauver le fichier de configuration et lancer le traitement avec le bouton Executer.


Si l'on deploie la zone « Mode avancé », on trouve deux listes supplémentaires :


    -    Liste fichier trans atm : liste des fichiers de transmission atmosphérique par objet.

    -    Liste décalage flat : décalage en pixels du flat-field pour une correction par objet.


Voir la documentation de specINTI pour leur utilisation. Par défaut les listes sont respectivement initialisées à None et 0.

17.4 : Visu image


Cet onglet est un visionneur d'image fits. Les extensions acceptées sont : .fits et .fit. Il permet d'afficher alternativement deux images. Notamment, cette possibilité est très utile pour faciliter l'identification des raies d’étalonnage et leurs positions.

Pour afficher une image, cliquer sur l’un des deux boutons Ouvrir. Si deux images sont chargées, on peut basculer d'une image à l'autre avec les boutons Afficher.


Pour déplacer et explorer l'image faire un click-drag avec la souris. En haut à droite un petit rectangle violet représente la région de l'image actuellement affichée.


Si vous êtes perdu dans l'image, le bouton Reset en bas permet de recaler l'image (position gauche/bas) et de revenir aux seuils par défaut :

    •    Seuil haut : image maximum / 3

    •    Seuil bas : image minimum * 3


Le premier slider permet de changer le seuil bas du contraste, le deuxième slider change le seuil haut. Les mêmes seuils sont utilisés pour les deux images.


Pour obtenir les coordonnées et l'intensité d'un pixel faire un click gauche souris. Les valeurs sont affichées en dessous de l'image dans la zone x: y: I: 


Pour mémoriser la coordonnée en x des positions des raies d’étalonnage, maintenez la touche "Alt" avec un click souris. La valeur sera ajoutée dans la liste « X coord ». Ce champ est éditable. On peut copier ces valeurs avec le raccourci clavier Ctrl+C et ainsi les coller dans le fichier de configuration pour le mot clef line_pos.


Pour être précis dans la localisation des raies spectrales, il est important de repérer leurs positions à la hauteur du spectre de l'objet. Pour cela on dispose d'une ligne horizontale rouge que l'on place sur le spectre dans l'image objet et que l'on rappelle ensuite sur l'image d’étalonnage.  Pour placer la ligne, faire "Shift" et click souris. Afficher alors l'image d’étalonnage et faire apparaitre à nouveau la ligne rouge avec le bouton Ligne. On prendra alors les positions des raies à la bonne hauteur par rapport à la position du spectre, symbolisée par cette ligne rouge horizontale.  Vous pouvez aussi afficher une ligne verticale à la position de la souris en faisant «Ctrl» et click souris. Cette ligne est pratique pour contrôler la verticalité des raies spectrales (défaut de «slant») ou leurs courbures (défaut de «smille»).



17.5 : Png gallery


Cet onglet affiche les images png des profils spectraux obtenus après traitement. L'application bascule automatiquement sur cet onglet à la fin du traitement. Les images png sont crées et sauvées par specINTI dans le répertoire des observations (ou « répertoire de travail »).

17.6 : Visu profil


Cet onglet permet de visualiser un profil spectral. Ces spectres sont des fichiers fits dont les données sont une liste d'intensité, donc un tableau à une dimension. Ouvrir le fichier fits avec le bouton Ouvrir.  L'entête fits du fichier est également affiché sur la droite 

La barre d'outils permet d'interagir avec le graphique. On peut avec la souris sélectionner une section du profil pour zoomer, se déplacer et revenir à tout moment à l'affichage par défaut avec le bouton "Maison". On peut également sauver la figure sous la forme d’une image png. Le déplacement de la souris sur le graphique donne l'intensité et la longueur d'onde à la position de la souris :

Si l'on ouvre un deuxième fichier, le profil sera ajouté au graphique ;

Pour effacer les profils, utiliser le bouton Effacer .


Sur la droite l'entête fits du fichier est affichée. On peut utiliser les barres de défilement ou modifier la tailler des colonnes en plaçant la souris sur la ligne de séparation des colonnes.

18 : Manuel de référence du fichier de configuration

Sans que cela soit obligatoire, vous pouvez organiser (et écrire) le fichier de configuration en regroupant les paramètres dans trois sections distinctes :


- une section regroupant les paramètres que l’on modifie lorsqu’on passe d’une session d’observation à une autre (typiquement, le traitement d’une nuit par rapport à une autre).


- une section liée à vos préférences sur la manière de traiter les spectres, préférences qui sont en général génériques d’une session d’observation à l’autre (mais qui peuvent aussi être propres au traitement d’un objet particulier au sein d’une même session, mais ce qui est plutôt rare).


- une section de paramètres liée à la manière d’exploiter votre logiciel d’acquisition ou à votre observatoire (extension des fichiers FITS, vos coordonnées géographiques). Ces renseignements peuvent être isolés, car ils n’impactent pas la qualité de vos traitements.


C’est cette organisation par section que j’adopte dans le présent manuel de référence afin d’en faciliter la lecture.



18.1 : Paramètres liés à la session d’observation

BATCH_NAME : Paramètre optionnel. Désigne le nom du fichier d’observation (de type .yaml) qui se trouve dans le répertoire de travail (ce fichier d’observation fourni le nom du ou des objet(s) à traiter, ainsi que le nom et le nombre de fichiers d’étalonnage). Si le paramètre batch_name n’est pas défini dans le fichier de configuration, le logiciel postule que le nom du fichier de configuration est ‘object.yaml’. Il est cependant vivement recommandé de définir ce paramètre en pointant vers un fichier d’observation au nom explicite.


Exemple:

batch_name: obs_qrvul 

WORKING_PATH : Paramètre obligatoire. Chemin d’accès du répertoire contenant les images à traiter et le fichier de traitement (.yaml)., aussi appelé « répertoire de travail ».


Exemple sous maxOS :

 working_path: /Volumes/Samsung_T5/specINTI_test/300/ 


Exemple sous Windows : 

 working_path: c:\observations\nuit_051221\

18.2 : Paramètres liées aux spectres

AUTO_CALIB : Paramètre optionnel. Réalise une recherche automatique des raies d’étalonnage (obligatoirement et uniquement du gaz néon) et un étalonnage spectrale, lui aussi automatique. Cette fonction est utilisable aussi bien dans les modes standards d’étalonnage (#0 ou # 2) que dans les modes latéraux (#3 et #4). La recherche des raies est bornée par les deux longueurs d’onde passée en parallèle. MAIS ATTENTION :  auto_calib n’est fonctionnel qu’en haute résolution spectrale (réseau de 2400 t/mm), dans un domaine spectral où les raies spectrales sont bien réparties sur toute la largeur du spectre enregistré, et bien sur, lorsque la source d’étalonnage est une lampe du type néon. 


Exemple :

auto_calib: [6450, 6750]


Exemple :

auto_calib: [6450, 6750]



AUTO_CALIB_TH : Paramètre optionnel. Seuil de détection des raies d’étalonnage en ADU pour la fonction auto_calib. Les raies spectrales utilisées sont alors celles dont l’intensité au pic dépasse ce seuil. Normalement, il est inutile d’ajouter le paramètre auto_calib_th, (le seuil est dans ce cas calculé automatiquement par le logiciel), mais il peut dans quelques rares circonstances s’avérer utile de le définir manuellement.



BIN_FACTOR : Paramètre optionnel. Facteur de binning (agglomération) des points du spectre final. Par exemple, si la valeur de ce paramètre est 2, les points sont additionnées 2 par 2 (specINTI calcule une valeur moyenne). Le binning permet d’accroitre le rapport signal sur bruit, lorsque celui-ci est bas dans le spectre initial, mais bien sur, le pouvoir de résolution diminue (dans une proportion déterminée par la valeur de l’échantillonnage relativement à la finesse spectrale - il n’y a pas nécessairement une relation directe entre le facteur de binning et la résolution spectrale au final).


Exemple :

bin_factor: 6



BIN_SIZE : Paramètre obligatoire. Largeur en pixels de la zone de binning (ou d’agglomération) du spectre 2D pour construire le profil spectral  Il est recommandé que cette largeur permette d’englober l’essentiel du signal de l’objet suivant l’axe spatial (vertical), disons 99% de ce signal afin d’éviter les erreurs photométriques. Une largeur excessive la la zone de binning peut entrainer un ajout du bruit (dans un moindre mesure si la valeur du paramètre optionnel extract_mode est 1.).











Exemple :

bin_size: 24



CALIB_COEF : Paramètre obligatoire si la paramètre calib_mode prend les valeurs 1, 2 et 4. Termes du polynôme de dispersion spectrale sous la forme d’une liste commençant par le terme de degrés le plus élevé, par exemple [A4, A3, A2, A1, A0]. specINTI évaluer le degré du polynôme à partir du nombre de terme fourni.


Exemple :

calib_coef: [-4.82275e-10, 4.5412e-6, 0.96946, 3771.874]



CALIB_MODE : Paramètre optionnel. Sélection du mode d’étalonnage spectral en fonction de la valeur du paramètre. 


Si la valeur et 0 : étalonnage classique avec un spectre de raies en émission d’une lampe de référence. specINTI calcule le polynôme de dispersion avec ces raies. C’est le mode par défaut.

Si la valeur est 1 : l’étalonnage est réalisé à partir des seuls termes d’un polynôme de dispersion prédéfini, que l’on a renseigné par ailleurs (paramètre calib_coef). 

Si la valeur est 2 :  l’étalonnage est réalisé à partir des termes d’un polynôme de dispersion prédéfini, que l’on a renseigné par ailleurs (paramètre calib_coef), mais en plus le logiciel se sert des raies en émission d’un spectre de lampe étalon pour caler précisément le spectre en translation uniquement.

Si la valeur est 3 : l’étalonnage est réalisé en mode latéral en se servant des raies d’émission d’un spectre de lampe de référence allumée dans le temps d’exposition de la cible. Le polynôme de dispersion est évalué à partir des raies en émission.

Si la valeur est 4 : l’étalonnage est effectué grâce aux termes d’un polynôme de dispersion prédéfini, que l’on indique par ailleurs (paramètre calib_coef), mais dont on ajuste le premier terme (translation) en se servant du spectre d’émission d’un spectre latéral de référence superposé au spectre de la cible.


Le paramètre peut aussi prendre des valeurs négatives pour des modes spéciaux :

Si la valeur est -1 : utilitaire pour évaluer les termes du polynôme de dispersion (voir la partie 11 de cette notice)

Si la valeur est -2 : utilitaire pour évaluer le bruit et le gain de la caméra (voir la partie 11 de cette notice)


Exemple :

calib_mode: 2

CLEAN_WAVE : Paramètre optionnel. Une liste de longueur d’onde d’onde autour desquelles le logiciel réalise une interpellation linéaire sur une largeur fournie dans le paramètre clean_wide correspondant. Cette fonction permet de gommer certains artefacts ou encore des raies telluriques identifiées par leurs longueur d’onde en angströms.


Exemple :

clean_wave: [6543.9, 6552.5]



CLEAN_WIDE : Paramètre optionnel. Une liste de largeurs spectrales en angströms aux extrémités desquelles le logiciel réalise une interpellation linéaire pour effacer un détail du profil spectral traité. Ce paramètre s’emploi en conjonction avec le paramètre clean_wave. l


Exemple :

clean_wave: [2.0, 2.4]



COSMIC_TH : Paramètre optionnel. Paramètre avancé agissant sur le seul de détection des rayons cosmiques lorsque l’extraction optimale du profil est demandée (voir le paramètre extract_mode). La valeur par défaut est 25, et ne devrait pas être modifié, sauf à repérer des artefacts dans le profil spectral lorsque l’extraction optimale est demandée. 


Exemple :

cosmic_th: 50



CROP_WAVE : Paramètre optionnel. Isole une portion du spectre final calculé, portion délimité par deux longueurs d’onde : [lambda1, lambda2]. Ce paramètre aide par exemple à extraire la partie jugée significative du spectre.


Exemple :

crop_wave: [3800, 7500]



EXPAND : Paramètre optionnel. Si ce paramètre est défini, au terme du traitement, specINTI génère une nouvelle image 2D, représentant le profil spectral élargie suivant l’axe vertical sur le nombre de lignes passées en paramètre (le profil est dupliqué x fois). L’image produite est au format FITS et au format PNG et elle est normée à l’intensité 255.


Exemple :

expand: 800


EXTRACT_MODE : Paramètre optionnel. Si la valeur est nulle (valeur par défaut), specINTI extrait le profil spectral brut des images spectrales 2D en réalisation une simple addition colonnes après colonnes dans la largeur bin_size. C’est une méthode expéditive qui convient pour les objets brillants. Si le signal du spectre est très peu intense par rapport au bruit, il est préférable d’employer une méthode d’extraction optimale qui réduit significativement le en effectuant une addition pondéré. L’algorithme élimine aussi les rayons cosmiques pouvant se trouver dans la zone de binning lors d’un processus itératif (Keith Horne ,1986;  "An Optimal Extraction Algoritm for CCD Spectroscopy", PASP v. 98, p. 609). On active l’extraction optimale en donnant la valeur 1 au paramètre.


Attention, si l’extraction optimale est demandée, les paramètres noise et gain deviennent obligatoires.


Exemple :

extract_mode: 1

noise: 2.5

gain: 0.042 


Un autre paramètre dépendant est cosmic_th.



FLAT_MODE : Paramètre optionnel. Il s’agit d’un paramètre avancé, rattaché à l’extraction optimale du profil (binning optimal, voir le paramètre extract_mode). La valeur par défaut est 0, et correspond à une usage standard de l’image flat-field (une image de la sensibilté relative de l’instrument dans le plan du détecteur et du détecteur lui-même). Dans cette situation, la correction flat-field est réalisée au niveau des images brutes. Cependant, cette façon de faire peut modifier la distribution du bruit dans le fond de ciel en fonction de la longueur d’onde, ce qui va perturber l’algorithme d’extraction optimale (seulement dans la situation de la spectrographie à basse résolution spectrale en général). Si la valeur du paramètre extract_mode est 1, il peut être utile de réaliser la correction flat-field au niveau du profil final en attribuant la valeur 1 au paramètre flat_mode. Le résultat de la correction est moins rigoureux, mais peut être plus efficace en termes de réduction sur les objets de très faible éclat.


Exemple :

flat_mode: 1



GAIN : Paramètre optionnel, sauf si extract_mode = 1. Gain électronique de la caméra en électrons / ADU. 


Exemple:

gain: 0.042


HOT_PIXELS : Paramètre optionnel.  Elimine les pixels chauds dans l’image du signal d’obscurité (dark). On considère qu’un pixel est chaud si son intensité dépasse la valeur fournie en paramètre, exprimée en unité de ADU. L’intensité du pixel est remplacé par la moyenne de l’intensité de ces 8 voisins. 


Exemple:

hot_pixels: 6500



HOT_PIXELS2 : Paramètre optionnel.  Elimine les pixels chauds dans chacune des images du spectre d’une séquence. On considère qu’un pixel est chaud si son intensité dépasse la valeur fournie en paramètre, exprimée en unité de ADU. L’intensité du pixel est remplacé par la moyenne de l’intensité de ces 8 voisins. 


Exemple:

hot_pixels2: 50000


INSTRUMENTAL_RESPONSE : Paramètre optionnel. Nom d’un fichier FITS, du type profil spectral, contenant la réponse instrumentale de l’ensemble instrumental (le télescope, le spectrographe, le détecteur). Ce fichier doit se trouver dans le répertoire de la session traitée. Dès lors que la paramètre est utilisé, la spectre extrait est corrigé de la réponse instrumentale afin de construire le profil réel de l’astre.


Exemple :

instrumental_response: reponse_starex300



KERNEL_SIZE : Paramètre optionnel. specINTI offre l’option de réaliser un filtrage de type médian aux images du filtre avant extraction du profil spectral, utile pour les capteurs CMOS avec lesquels le bruit impulsionnel (dit bruit télégraphe, ou RTS) est significatif. La valeur du paramètre est la taille du noyau de convolution (kernel). Il faut fournir une valeur impaire. Par exemple la valeur 3 correspond à un noyau de convolution de 3x3 pixels. Il n’est pas recommandé de dépasser la valeur 5.


Si vous fournissez une valeur négative, le logiciel réalise encore un filtrage médian, mais avec un algorithme de pondération optimisé, à la fois efficace sur le bruit impulsionnel, mais restituant lieux les détails de l’image qu’un filtrage médian classique. Noter que l’algorithme optimal est plus lent à l’exécution que l’algorithme standard.


Exemple :

kernel_size: -3

LINE_POS : Paramètre obligatoire. Les coordonnés en pixels dans l’image du spectre, suivant l’axe spectral, des raies dont les longueurs d’onde sont fournies avec le paramètre wavelength. Si les raies d’étalonnage sont bien penchées (slant) faite en sorte de réaliser la mesure des positions au niveau de l’intersection avec la trace du spectre. Par exemple :


Ne vous inquiétez par trop de la précision de ces relevés. Par défaut, l’erreur peut être de +/-25 pixels. Vous pouvez parfaitement modifier cette dernière valeur en vous servant du paramètre search_wide (la réduire ou l’augmenter).


Example :

line_pos: [237, 450, 633]

NOISE : Paramètre optionnel, sauf si extract_mode = 1. Fourni au logiciel la valeur du bruit de lecture du détecteur en électrons. 


Exemple :

noise: 2.5

NORM_WAVE : Paramètre optionnel. Si ce paramètre est défini dans le fichier de configuration, le spectre final est normalisé à l’unité en utilisant la moyenne des intensités comprises dans une région spectrale déterminée par deux longueurs d’onde fournies en paramètre [lambda1, lambda2].


Exemple :

norm_wave: [6600, 6620]

PLANCK : Paramètre optionnel. Si ce paramètre est défini dans le fichier de configuration, le spectre final est multiplié par la profil de Planck associé à la température en degré K fournie en paramètre.


Exemple :

planck: 2900

POLY_ORDER : Paramètre obligatoire si calib_mode vaut 0, 3 ou -1. Fixe l’ordre du polynôme de dispersion trouvée à partir des raies d’une lampe d’étalonnage. Si n est le nombre de raies utilisées, l’ordre du polynôme ne peut pas être supérieur à n-1.


Exemple :

poly_order: 3

POSY : Paramètre optionnel. En temps normal, specINTI calcule une coordonnée verticale (suivant l’axe Y) de la trace du spectre spécifique à chacune des images d’une séquence. Le traitement est en quelque sorte individualisé pour chaque image, ce qui donne un résultat optimale. Mais Il peut y avoir des situations où la trace est quasi imperceptible ou des cas ou l’on ne souhaite pas que le logiciel fasse le calcul pour vous. Dans cette dernière situation, définissez le paramètre posy dans le fichier de configuration en précisant la cordonnée Y du spectre. specINTI prend alors pour base la coordonnée indiquée pour la hauteur de la trace pour toutes images de la séquence. 


Attention à ne pas généraliser l’emploi de posy. Il doit l’être en cas de force majeure, car le calcul réalisé par specINTI sera toujours plus précis.  Dans l’écrasante majorité des situations le logiciel trouve automatiquement la bonne valeur de la position de la trace du spectre, et vous ne devez donc pas utiliser la commande posy


Exemple :

posy: 376


SEARCH_WIDE : Paramètre optionnel. Modifie la tolérance sur la valeur des coordonnés horizontale des raies fournie dans le paramètre line_pos. La valeur par défaut est de +/-25 pixels, ce qui correspond à une valeur du paramètre de 50. Au besoin, vous pouvez augmenter la valeur si les raies d’’étalonnage sont bien détachées les unes des autres et au contraire la réduire si les raies sont proches et s’il y a un risque quelles soient confondu par le logiciel.


Example :

search_wide: 68

SIGMA_GAUSS : Paramètre optionnel. Application d’un filtrage gaussien aux images 2D du spectre si valeur du paramètre n’est pas nulle. Plus la valeur est forte, plus le filtrage est appuyé. Simultanément le lissage appliqué réduit le bruit, mais peut conduire à une réduction du pouvoir de résolution final. Une valeur comprise entre 0,5 et 1,5 est typique (elle est a tester pour trouver le meilleur compromis en réduction du bruit et réduction de la finesse des spectres).


Exemple :

sigma_gauss: 1.0

SKY : Paramètre obligatoire. Jeu de coordonnées en pixels suivant l’axe spatial (vertical)  délimitant deux zones de calcul du signal du fond de ciel de part et d’autres de la trace du spectre. Ces coordonnées sont relatives à la coordonnée verticale de la trace du spectre. Le format des données du paramètres est [y1, y2, y3, Y3], avec l’interprétation géométrique suivante :



Exemple: 

sky: [180, 30, 30, 180]


Les coordonnées indiquées peuvent êtres parfaitement assymétriques par rapport à la trace du spectre, par exemple : 

sky: [110, 25, 30, 180].


Il faut définir avec soin les valeurs des coordonnées ainsi fournie, car elles sont utilisée de nombreuses fois dans specINTI, pas seulement pour calculer le fond de ciel. Les coordonnées (y2, y3) définissent une zone dans laquelle un filtrage optimal est demandé (voir le paramètre, voir le paramètre kernel_size. Les coordonnées y1 et y4 sont par ailleurs employées pour évaluer l’angle de slant (basculement) des raies (un défaut géométrique, voir aussi le paramètre slant). 


Noter que specINTI n’utilise par des valeurs par défaut pour définir la taille et la position des zones de calcul du fond de ciel, car l’appréciation de l’utilisateur est ici importante. Elles doivent d’abord exclure la trace du spectre traitée. Par ailleurs, une largeur excessive peut faire que les erreurs résiduelles de correction géiéltriques du spectre affectent le profil spectral final, ou encore réalise un méllange accidentel avec la trace d’un objet voisin. Vous ne devez pas non plus sortie des lilmites de l’image. Une largeur trop étroite peut générer du bruit. Un hauteur de calcul de 100 à 250 pixels est généralement considérée comme correcte. En général, les valeurs du paramètre sky ne changent jamais pour une instrumentation données.


SKY_MODE : Paramètre optionnel. Choix de la méthode utilisée pour retirer le fond de ciel (voir aussi le paramètre sky). Si le paramètre vaut 0 (valeur par défaut), pour chaque colonne indépendamment, le logiciel calcule l’intensité médiane dans les zones d’évaluation du fond de ciel et soustrait cette valeur de la colonne. Si le paramètre est 1, le logiciel ajuste par un polynôme de Legendre l’intensité du fond de ciel  dans les zones de d’évaluation, puis soustrait la valeur interpolée à la trace di spectre le long de la colonne en question. Cette dernière technique est généralement plus précise, mais aussi plus lente en temps d’exécution.


Exemple :

sky_mode: 1

SKY_REMOVE : Paramètre optionnel. Si la valeur est 0, le fond de ciel n’est pas retiré des images (utile pour certaines observations de nébuleuses par exemple). Si la valeur est 1 (valeur par défaut, quasiment toujours adoptée), le fond de ciel est retiré (voir le paramètre sky_mode).


Exemple :

sky_remove: 1

SLANT : Paramètre optionnel. Normalement, l’angle de slant (basculement) des raies spectrales  de la trace du spectre est déterminée automatiquement par le specINTI :


Le logiciel se sert de cet angle pour emmener les raies a êtres perpandiculaires à l’axe de dispersion (ce qui est recommandé dès l’acquisition). Vous pouvez cependant imposer la valeur de l’angle de slant au travers du paramètre slant, en fournissant l’angle en degrés.


Exemple :

Slant: -0.51

SMILE_RADIUS : Paramètre optionnel. Le smile (sourire en français) est une déformation géométrique des raies spectrales, qui au lieu d’êtres rectiligne présentent une forme courbure, avec un rayon de courbure R en pixel, qui est la valeur du paramètre :

Le smille est propre à certaines catégorie de spectrographe seulement. Lorsque le rayon de courbure des raies est défini au travers du paramètre smile_radius, specINTI corrige la distorsion dans le images 2D afin que les raies soient bien rectilignes au final. 


Une astuce : si le paramètre check vaut 1, le logiciel produit dans le répertoire de travail une image _step5.fits qui montre la forme des raies d’étalonnage avant correction de l’effet de smile, et l’image _step71.fits après correction La confrontation de ces images permet d’ajuster la valeur du rayon de courbure, ainsi que son signe (courbure concave ou convexe suivant l’axe des longueurs d’onde).


Exemple :

smile_radius: -18500

SPECTRAL_SHIFT_WAVE : Paramètre optionnel. Décalage spectral du profil spectral final d’une certaine quantité en angströms. Peut corriger une erreur d’étalonnage systématique, par exemple.


Exemple :

spectral_shift_wave: 0.24

SPECTRAL_SHIFT_VEL : Paramètre optionnel. Décalage spectral du profil spectral final d’une certaine quantité en km/s. Peut corriger un décalage Doppler, par exemple.


Exemple :

spectral_shift_vel: -22.3

TILT : Paramètre optionnel. Normalement, l’angle de tilt (inclinaison) de la trace du spectre est déterminée automatiquement par le specINTI :

Le logiciel se sert de cet angle pour emmener la trace horizontale (ce qui est recommandé dès l’acquisition). Vous pouvez cependant imposer la valeur de l’angle de tilt au travers du paramètre tilt, en fournissant l’angle en degrés.


Exemple :

Tilt: -1.32

XLIMIT : Paramètre obligatoire. Jeu de deux valeurs en pixels délimitants une régions de la trace dans laquelle le logiciel va réaliser un certain nombre de calculs pour extraire le profil spectral le mieux possible. Le format est [x1, x2], avec x1 et x2 les bornes qui encadrent une partie de la trace du spectre jugée comme sufissemlment intense pour que les calculs ce déroulent correctement. Le choix est très souple. Disons seulement que la trace doit y être perceptible et d’une largeur relativement constante. Typiquement la valeur de x2 - x1 doit être être supérieur à 200 pixels, mais peut très bien être de 2000 pixels.

Exemple: 

xlimit: [452, 1966]

WAVELENGTH : Paramètre obligatoire. Un ensemble de longueurs d’onde de raies d’étalonnage qui permettent à specINTI de calculer le polynôme de dispersion (relation entre le rang des pixels suivant l’axe spectral dans vos images et les longueurs d’onde. Ce paramètre est obligatoire dans tous les modes d’étalonnage spectral car les valeurs fournies permettent aussi de calculer certains paramètres géométriques du spectre ou encore le pouvoir de résolution.


Ce paramètre est étroitement lié au paramètre LINE_POS, qui précise quelles sont les positions approximatives des raies correspondantes dans vos images 2D (voir LINE_POS).


Vous pouvez parfaitement indiquer une seule raie ou une liste de très nombreuses raies. Exemples :

wavelength: [6532.88]

wavelength: [6506.53, 6532.88, 6598.95, 6678.28]

18.3 : Paramètres d’exploitation

ALTITUDE : Paramètre optionnel. Altitude du lieu d’observation en mètres. Cette information est inscrite dans l’entête du fichiers FITS du spectre traité.


Exemple :

altitude: 105

CHECK_MODE : Paramètre optionnel. Ce paramètre détermine la nature des sorties à l’écran ou dans le répertoire de travail lors du déroulement du traitement. Si la valeur est 0 (valeur par défaut) les informations délivrées se limitent au juste nécessaire. Si la valeur est 1, specINTI  fourni un surplus d’information concernant chaque étape du traitement et écrit dans le répertoire de travail des fichiers image et spectre correspondant à ces étapes (fichiers avec les noms réservés _stepxxx et _profilexxx). L’option 1 est notamment utile pour contrôler le bon déroulement du traitement et de repérer des erreurs et pour dépanner les utilisateurs en difficulté (une sorte de SAV !).


Exemple :

check_mode: 1

FILE_EXTENSION : Paramètre optionnel. Choix du type d’extension des fichiers FITS. Si la valeur est 0 (valeur par défaut), l’extension est « .fits ». Si la valeur est 1, l’extension est « .fit ».


Exemple :

file_extension: 1

INST : Paramètre optionnel. Intitulé du matériel d’observation. Cette information est inscrite dans l’entêtre du fichiers FITS du spectre traité.


Exemple :

inst: T250+Solex(300)+ASI183MM

LATITUDE : Paramètre optionnel. Latitude du lieu d’observation en degrés. Cette information est inscrite dans l’entête du fichiers FITS du spectre traité.


Exemple :

latitude: 34.56342

LONGITUDE : Paramètre optionnel. Longitude du lieu d’observation en degrés. Cette information est inscrite dans l’entêtre du fichiers FITS du spectre traité.


Exemple :

longitude: -1.45441

POWER_RES : Paramètre optionnel, obligatoire seulement si calib_mode = 1. Renseigne le pouvoir de résolution spectral. Cette information est inscrite dans l’entêtre du fichiers FITS du spectre traité.


Exemple :

power_ref: 15000

OBSERVER : Paramètre optionnel. Nom de l’observateur. Cette information est inscrite dans l’entêtre du fichiers FITS du spectre traité.


Exemple :

observer: C. Buil

SITE : Paramètre optionnel. Nom du site d’observation. Cette information est inscrite dans l’entêtre du fichiers FITS du spectre traité.


Exemple :

site: Antibes St Jean



VERSION : Paramètre optionnel. Retourne la version du logiciel specINTI si la valeur du paramètre est 1. L’exécution du programme s’arrète après l’affichage du numéro de version.


Exemple :

Version: 1

19 : Manuel de référence du fichier d’observation

Le fichier d’observation est au format YAML. Il est localisé dans le répertoire des sessions d’observation, ou « répertoires de travail ». Il est organisé sous forme de blocs de données. Ces blocs (un par objet traité)  ont un format strict.


Chacun de ces blocs contient le nom générique des fichiers image de spectre de l’objet traiter, le nom catalogue l’objet, le nom et le nombre des images d’étalonnage…


La structure d’un bloc est la suivante :


XXXXX:       -> nom du bloc, généralement celui-ci rappelle celui de la cible, mais pas obligatoire

- NNNNN   -> le nom catalogue de l’objet (un nom reconnu par le CDS)  

- AAAAAA    -> le nom générique des  images spectrales (2D) à traiter

- BB             -> le nombre de d’images spectrales à traiter

- CCCCC     -> le nom générique des images (2D) de la lampe d’étalonnage

- DD            -> le nombre d’images d’étalonnage

- EEEEE      -> le nom générique des images flat-field

- FF            -> le nombre d’images flat-field

- GGGG      -> le nom générique des images du signal d’obscurité (dark)

- HH            -> le nombre d’images du signal d’obscurité.

- IIIIII            -> le nom générique des images d’offset (ou bias)

- JJ.              -> le nombre d’images d’offset.

- KKKK      -> le nom d’un fichier spectral situé dans le répertoire de travail, représentant la transmission optique de l’atmosphère dans la direction visée.


On remarque que le fichier d’observation contient 13 lignes. 


En plus de ces lignes obligatoires, il est possible d’ajouter des lignes de commentaires (un texte précédé du caractère #),


Si vous ne disposez pas d’images individuelles d’étalonnages permettant de générer soit le flat-field, soit le dark soit l’offset, indiqué 0 pour le nombre d’images correspondant. Le prétraitement ignorera alors les opérations concernées par les images maitres en question.


La structure du fichier d’observation est présentée concrètement dans l’exemple suivant, avec en plus l’echaineme,t automatique des traitement correspondant à deux blocs. Cependant, dans le second bloc, le nombre d’images spectrales à trairer étant mis à 0, le bloc en question sera ignoré.

 


# *******************************************************

HD31295:

# *******************************************************

- HD31295              # catalog name

- hd31295-             # generic target file name

- 4                    # number of target spectral images           

- hd31295_neon-        # generic spectral lamp files name

- 1                    # number of spectral lamp images

- hd31295_tung-        # generic flat lamp files name 

- 30                   # number of flat images

- n900-                # generic dark files name

- 10                   # number of dark images

- o-                   # generic offset files name

- 36                   # number of offset files name 

- none                 # optical atmospheric transmission

# *******************************************************


# *******************************************************

HL Tau:

# *******************************************************

- HL Tau              # catalog name

- hltau-              # generic target file name

- 0                   # number of target spectral images           

- hd31295_neon-       # generic spectral lamp files name

- 1                   # number of spectral lamp images

- hd31295_tung-       # generic flat lamp files name 

- 30                  # number of flat images

- n900-               # generic dark files name

- 10                  # number of dark images

- o-                  # generic offset files name

- 36                  # number of offset files name 

- none                # optical atmospheric transmission

# *******************************************************


Notez l’usage des commentaires.


Les noms de fichiers _flat, _dark et _flat sont réservés. Ils s’agit respectivement du nom des images maitres du flat-field, du dark et de l’offset, automatiquement écrites dans le répertoire de travail lors du calcul du bloc précédent celui actuellement traité. Par exemple, si fichiers sont disponibles pour les trois images maitres en question, vous allez écrire quelque chose comme :



# *******************************************************

HL Tau:

# *******************************************************

- HL Tau              # catalog name

- hltau-              # generic target file name

- 0                   # number of target spectral images           

- hd31295_neon-       # generic spectral lamp files name

- 1                   # number of spectral lamp images

- _flat               # image maître du flat-field 

- 0                   # number of flat images

- _dark               # image maitre du dark

- 0                   # number of dark images

- _offset             # image maître de l’offset

- 0                   # number of offset files name 

- none                # optical atmospheric transmission

# *******************************************************


Si vous ne disposez pas du fichier de transmission atmosphérique, fournissez le nom ‘none’


Comme on l’a vu, pour aller directement au bloc suivant depuis un bloc donné, indiquer la valeur 0 pour le nombre d’images spectrales de la cibles à traiter dans le bloc à sauter.


Une ligne de rang 14 peut être ajoutée. Elle est optionnelle et précise le décalage en pixels à  appliquer suivant l’axe X au fichier flat-field lors de la phase de prétraitement des images spectrales. Il s’agit d’une fonction avancée donnant la possibilité de tenir compte d’une éventuelle déformation thermo-mécanique du spectrographe, faisant que le motif flat-field effectif « glisse » suivant l’axe spectral entre le moment où le spectre est pris et le moment où les images flat-field ont été prises. Par exemple :


# *******************************************************

HD31295:

# *******************************************************

- HD31295              # catalog name

- hd31295-             # generic target file name

- 4                    # number of target spectral images           

- hd31295_neon-        # generic spectral lamp files name

- 1                    # number of spectral lamp images

- hd31295_tung-        # generic flat lamp files name 

- 30                   # number of flat images

- n900-                # generic dark files name

- 10                   # number of dark images

- o-                   # generic offset files name

- 36                   # number of offset files name 

- none                 # optical atmospheric transmission

- -23                  # flat-field shift

# *******************************************************



A la section 16.6 de cette notice est décrite une autre façon de gérer le décalage entre pixels des images cibles et flat-field induit par uns flexion de l’instrument. La technique employée au niveau du fichier d’observation correspond à une translation pure de l’image flat-field, avec le paramètre « Lissage » (méthode simplifié). En ce sens, l’’onglet « Décalage Flat » de l’interface specINTI Editor offre plus de souplesse (voir section 16.6). 

20 : Vidéos et compléments

Sous la forme d’un fichier PDF, la présentation faite lors de l’atelier Sol’Ex du 21 janvier 2022, avec plein de conseils et une introduction à specIINTI : bien_débuter_avec_starex.pdf


Ainsi que la vidéo complète de cet atelier, à voir en cliquant sur la vignette ci-après :

Annexe : le matériel d’étalonnage

Je l’ai déjà indiqué, la manière de ce servir d’un logiciel de traitement des spectres est étroitement liée au matériel qui a servi à acquérir ceux-ci. L’inverse est aussi vrai. La prise de vu des images d’étalonnage et leur exploitation est toujours un sujet délicat pour les débutants en spectrographie. Une source de découragement parfois. Pourtant, si vous avez le bon matériel, pas nécessairement le plus cher, tout devient plus simple au moment du traitement.


Pour ma part, avec Star’Ex, je privilégie l’emploi des lampes d’étalonnages spectral distribuées dans la pupille du télescope, en lieu et place du traditionnel module d’étalonnage que l’on dispose juste à l’avant du spectrographe. Il est rare que ces modules produisent en effet un résultat tout à fait satisfaisant, car cette fonction est difficile a réaliser sur le plan optique (elle doit reproduire les caractéristiques du télescope employé dans un tout petit volume). Donc je vais au plus simple et au plus précis : des lampes dans l’ouverture du tube télescopique, que l’on peut allumer et éteindre à loisir manuellement, en utilisant un système synchronisé avec l’acquisition des spectres sciences au travers d’une commande à relais, ou même allumées en permanence (pour l’étalonnage dit « latéral »).


J’utilise l’équipement suivant pour alimenter ces lampes en sécurité (une alimentation 220V vers 12V puis un convertisseur 12V vers 220 V qui évite tout risque d’électrocution sur le télescope) :  

Les lampes néon employés disposent d’un culot E10 et sont équipées d’une résistance qui permet de les alimenter directement sur une tension de 220 V (ici, via un convertisseur). On peut ce procurer ces lampes (LG234 230V) sous la référence 582852 chez le fournisseur Conrad.

Extrait du catalogue Barthelme montrant le type de lampe néon utilisé.

Vous trouverez des lampes néon équivalentes chez RS (ref 655-9435), ainsi que des douilles E10 (ref 171-8580).

Le catalogue Conrad propose par ailleurs des lampes fluorescentes miniatures (type « lucioles ») remplies de gaz autre que le néon, pouvant se révéler  intéressantes pour l’étalonnage spectral :

Certaines lampes miniatures (lucioles) émettant une couleur verte (Conrad Electronic ref : 720215, par exemple), ou bleu (Conrad Electronic ref : 719535, par exemple) montrent des raies du xénon ou encore de l’argon, utiles pour étalonner les spectres sur un large domaine spectral. Ces raies de gaz nobles sont cependant d’assez faibles intensité, parfois superposés à un spectre diffus de fluorescence malheureusement.


Vous pouvez télécharger un document PDF très complet sur ce lien : http://www.astrosurf.com/buil/specinti/Atlas_Spectral_Lamps.pdf (ou en cliquant sur l’image suivante) constituant un atlas de raies spectrales émises par des lampes à décharge. Cette base de référence est illustrée par des spectres obtenus avec Star’Ex dans diverses configurations (c’est aussi une bonne révision des multiples possibilités de Star’Ex). Vous allez surement consulter fréquemment ce document lorsqu’il sera question d’identifier les raies d’une source ou encore étalonner de façon précise un spectre :

Un Atlas de lampes spectrales.

Afin de réaliser l’étalonnage spectral, la méthode traditionnelle pour envoyer la lumière d’une ou plusieurs lampes à raies d’émission au travers de la fente d’entrée du spectrographe est d’utiliser un boitier d’illumination située juste en avant de cette fente. Cette solution est une complexification (mécanisme escamotable, accroissement du tirage optique) et n’est pas exempte de défauts en termes de performances (difficulté à réaliser un bon couplage de l’ouverture de la source de lumière relativement à celle du télescope, …). Une alternative, testée dans le contexte du projet Star’Ex, simple et efficace, consiste à injecter le flux d’étalonnage dès l’entrée du télescope, par exemple via des fibres optiques (ce qui facilite la mise en oeuvre du le mode d’étalonnage « latéral », voir les modes 3 et 4 dans cette documentation) :

Eclairement d’un certains nombre de points (4 en l’espèce) de la pupille d’une lunette (ici une SkyWatcher 100ED). La fibre est un modèle très économique, en plastique est de 1,5 mm de diamètre (modèle CHINLY, voir chez Amazon par exemple). On utilise une paire de ciseau pour la coupe à la longueur voulue.

Détail de la disposition et de l’attache de l’interface fibre  à l’entrée de la lunette. Il faut absolument éviter que les fibres éclairent l’extrême bord du miroir ou de l’objectif. Au contraire, la sortie de fibre doit se situer sur un diamètre valant 0,70 à 0,75 du diamètre total de l’objectif).

A gauche, leș fibres sont regroupés dans un petit tube, avec à l’autre extrémité une lampe (unique) néon type LG234 (voir plus haut). Le tube est suffisamment long pour pouvoir ajuster la distance entre la lampe et l’entrée des fibres afin de pouvoir moduler l’intensité du flux à l’entrée de la lunette. A droite, le détail du support de fibre. L’obstruction du faisceau arrivant des objets du ciel est totalement négligeable, et donc la perte de magnitude quasi nulle.

Enfin, pour la réalisation du flat-field, il faut disposer de lampes qui produisent un spectre continu le plus blanc possible. Une possibilité consiste à utiliser des lampes miniatures à gaz xénon alimentées en basse tension (3V) produisent une telle lumière et que l’on installe dans l’ouverture du télescope, par exemple la référence Conrad 1590267. Une autre possibilité, moins contraignante, consiste à réaliser le flat-field a posteriori (en dehors de l’observation nocturne) :

Réalisation d’un flat-field « sur table » (donc en dehors du télescope) à partir d’une lampe miniature xénon 3V, produisant une lumière bien blanche (température de couleur élevée). Un diaphragme est positionné devant le coulant d’interface. Le diamètre du trou est calculé pour simuler le rapport d’ouverture (F/D) du télescope employé par ailleurs. Noter encore la mise en place d’un diffuseur au niveau du trou (papier calque), important pour assurer un éclairage homogène en ouverture et réduire ainsi les biais d’étalonnage.

Copyright (C) 2020-2022 Christian Buil

Web : www.astrosurf.com/buil