Leçon 24 : Acquisition d'images avec une Webcam

Iris permet d'acquérir des images depuis une Webcam de type USB.

Connecter la Webcam à un port USB de l'ordinateur, puis pour afficher en continu l'image provenant de la caméra lancer, la commande Prévisualisation du menu Webcam :

 

Pour arréter de mode d'acquisition continu, décocher la commande Prévisualisation.

Si l'image n'apparaît pas où présente un aspect peut satisfaisant, c'est peut être que les paramètres de la caméra sont mal réglés ? Lancez alors la commandes Propriétés vidéo... du menu Webcam. La fenêtre de réglage correspondant à votre modèle de caméra apparaît alors à l'écran, ici pour une ToUcam Pro de Philips

Pour régler un problème de visualisation d'image avec cette caméra il suffit souvent de cocher l'option Entièrement automatique à la rubrique Réglage.

Nota : si votre webcam n'est pas reconnu par Iris, il est possible que cela provienne d'un problème de définition du canal vidéo. Par défaut Iris utilise le canal 0 et cela ne peut être modifier depuis le programme. Il est cependant possible d'agir sur ce paramètre de la manière suivante : (1) sortir du programme Iris, (2) éditer le fichier IRIS.INI qui se trouve dans le répertoire Windows de votre disque dur (c'est un fichier texte), (3) changer la valeur de la variable WebCamDriver en essayant les valeurs de 1 à 10, (4) sauvegarder la modification et quitter l'éditeur de texte ayant servi à modifier IRIS.INI, (5) lancer Iris et essayer, (6) reprendre au point 1 si cela ne fonctionne pas avec un autre numéro pour le canal.

La commande  Capture Vidéo... du menu Webcam permet d'enregistrer un film du type AVI sur le disque. Voici la boite de dialogue qui s'ouvre alors :

Dans cet exemple, en cliquant sur le bouton GO, vous aller acquérir un film AVI d'une durée de 30 secondes qui sera sauvegardé sur le disque sous le nom JUPITER.AVI dans le répertoire de travail courant. La fréquence d'acquisition est de 15 secondes (vous pouvez choisir des valeurs telles que 5, 10, 15, 20, .... images par secondes).

En sélectionnant l'option Incrémentation d'index, Iris ajoute automatiquement au nom du fichier la valeur d'un indice. Dans l'exemple suivant :

... le film est sauvegardé sous le nom JUPITER1.AVI et l'index s'incrémente automatiquement d'une unité. Si vous appuyez à encore sur le bouton GO à ce stade, le nouveau fichier AVI est sauvegardé sous le nom JUPITER2.AVI, et ainsi de suite. Cette possibilité facilite le stockage de nombreuses séquences de film s'en risquer d'effacer un film antérieur à partir de l'acquisition courante. Il est permis de changer manuellement la valeur de l'index à tout moment, ce qui multiplie les possibilités.

Nota : Vous pouvez stopper l'acquisition avant son terme en appuyant sur une touche du clavier ou un bouton de la souris.

La commande Monocoup permet de saisir une seule image. Le format peut être ajusté à partir de la boite de dialogue Taille des images...

L'image ainsi acquise peut être sauvegardé en format BMP 24 bits sur le disque en tapant par exemple depuis la console la commande :

SAVEBMP  TEST

Iris affiche dans le fenêtre de sortie les intensités extrêmes de pixels pour les trois couleurs. Ceci est pratique pour ajuster la dynamique des images et éviter une saturation si cela s'avère critique (niveau 255). Noter que dans l'exemple ci-dessus le niveau minimum des intensités est égal à zéro dans les plans R et V, où même probablement légèrement négatif si la caméra était en mesure de délivrer de telles valeurs. C'est un des problèmes de ces petites webcam de ne pouvoir contrôler le zéro de l'échelle des intensités de manière simple. Heureusement, avec la caméra utilisée (ToUcam de Philips), en réglant le gain à un niveau relativement élevée lors de l'observation des objets astronomiques, souvent faibles, le niveau de noir redevient généralement positif, ce qui est essentiel si on souhaite réaliser des mesures photométriques sur les images ou plus simplement ajuster avec exactitude la balance de blancs a posteriori (voir plus loin).

Un intérêt fort de Iris en acquisition d'images issues de webcam est qu'il permet de sauvegarder une image individuelle ou une séquences d'images directement dans un format scientifique 16 bits (le FITS par exemple), sans avoir à passer par le cycle : (1) acquisition d'un film AVI, (2) conversion de ce film en format scientifique (commande Conversion AVI du menu Fichier). Ceci représente un gain de temps, une réduction du volume des données, la capacité d'accumuler plusieurs images avant sauvegarde, d'ajuster un delai entre les prises de vue, de contrôler plus finement le niveau des images (intensité basse et haute), ... Cet outil est équivalent à ceux que l'on manipule classiquement avec les caméras astronomiques spécialisées, y compris dans les observatoires professionnels, mais appliqué ici à une petite caméra d'une centaine d'Euros.

Ouvrir la boîte de dialogue Acquisition images... du menu Webcam :

Attention : la commande Acquisition images... n'est accessible que si vous décocher le mode Prévisualisation.

Dans l'exemple ci-dessus, il suffit de cliquer sur le bouton GO pour capturer une image. Par défaut il s'agit d'une image noir et blanc (Iris fait la moyenne des plan Rouge, Vert et Bleu). Celle-ci est stockée en mémoire de l'ordinateur et peut être examiné ou traiter comme toute image dans Iris. Vous pouvez par exemple agir sur les curseurs de seuil de visualisation. Cette dernière est même probablement indispensable lors de la première acquisition du fait de les images lues ont généralement des intensités comprises entre 0 et 255 seulement (donc, pas d'inquiétude si l'image apparaît noire au premier abord, régler les seuils autour de 0-255 pour juger vraiment du résultat).

Pour acquérir une autre image il suffit de cliquer à nouveau sur GO, ce n'est pas plus compliqué. La dernière image capturée peut être sauvegardé facilement en format FITS (ou PIC suivant l'option choisie dans la boite de dialogue Réglages du menu Fichier). Pour cela vous devez renseigner le non du fichier souhaité (TEST dans l'exemple), puis cliquer sur Sauver.

Si la valeur de l'index à une valeur non nulle (voir la boite de dialogue ci-après), en appuyant sur Sauver, Iris ajoute automatiquement au nom de fichier la valeur de l'index, ce qui donne TEST1 dans l'exemple. L'index est par ailleurs augmenté d'une unité automatiquement. Ceci permet d'acquérir et de sauvegarder des séquences d'images sans ce soucier du nom du fichier :

Remarque : le nom du dernier fichier sauvegardé apparaît en haut de la boite de dialogue. En bas à gauche de cette boite de dialogue, Iris retourne les valeurs extrêmes des pixels dans la dernière image capturée, toujours dans le soucis de bien maîtriser la dynamique (éviter les intensités négatives, éviter de dépasser le fatidique niveau 255 en imagerie planétaires).

En cochant l'option Couleur, Iris sauvegarde les trois plans couleurs R, V et B dans trois fichiers distincts dont vous fournissez les noms. Le principe de l'indexation fonctionne aussi en imagerie couleurs (les trois noms de fichiers sont indexés simultanément et automatiquement).

Pour acquérir une séquence d'images automatiquement sans avoir à appuyer a chaque fois sur le bouton GO, vous pouvez par exemple remplir la boite de dialogue de la manière suivante :

Vous vous apprêtez à acquérir une série de 25 images trichromes de la planète Jupiter ayant pour noms génériques JUPR, JUPG, JUPB (cela produira dans le répertoire de travail les images JUPR1, JUPR2, ... JUPR25, JUPV1, JUPV2, ...). En fait, chaque image sauvegardée est ici la somme de 7 images élémentaires acquises en rafale et le plus rapidement possible. On a par ailleurs ménagé un délai d'attente de 5 secondes entre la prise de vu des 25 images de la séquence. L'acquisition débute en cliquant sur GO. Le processus d'acquisition peut être arrêté en cliquant sur le bouton Stop. Le bouton marqué "1" permet d'initialiser l'index au besoin.

La possibilité de cumul d'images intermédiaires est importante pour accroître la détectivité des Webcam, qui souvent ont un déficit de sensibilité par rapport aux caméras astronomiques spécialisées.

Le délai d'attente est précieux pour surveiller sur une longue période un phénomène sans saturer inutilement le disque dur (imagerie de protubérances solaires par exemple). Une autre utilisation est la mesure de l'erreur périodique d'un entraînement de télescope (voir la commande TRACK).

L'option L. Pose (longue pose) est un mode de fonctionnement particulier qui nécessite une modification physique des webcam Vesta Pro et ToUcam Pro de Philips (uniquement ces modèles). Le principe est de bloquer la lecture continue du CCD durant un certain temps, correspondant au temps d'exposition. Lorsque la lecture est bloquée, le capteur CCD accumule des charges électriques correspondant à l'arrivée des photons. Le signal de commande transite par le port imprimante du PC (bit 0). Donc, outre le cable USB, un cable supplémentaire doit relier le port imprimante à la webcam. Pour une description de ce système, due a Steeve Chambers, lire par exemple l'excellente page de Sylvain Weiller (pour une version en anglais cliquer ici). Dès que vous cochez l'option Longue Pose, vous pouvez entrer le temps de pose en secondes (et fractions de secondes) dans la zone d'édition TI (pour Temps d'Intégration). Toutes les fonctionnalités de la boite de dialogues sont bien sur opérationnelles, notamment la capacité d'enregistrer automatiquement des séquences d'images. Voici a titre d'exemple deux images réalisée avec une webcam Vesta Pro modifié longue pose :

En haut, il s'agit d'une pose de 60 secondes dans l'obscurité totale. On voit l'apparition de quelques points chauds (courant thermiques plus élevée localement) et un problème d'électroluminescence de l'amplificateur de sortie en haut à gauche, des phénomènes classiques avec les CCD. L'image en bas est le résultat de la soustraction de deux images posées 60 secondes successivement dans l'obscurité. Les points chauds ont bien disparut ainsi que l'effet d'illumination de l'amplificateur. Ce traitement élémentaire montre que les points brillants ne peuvent être considérer comme du bruit, mais comme des biais (un amalgame souvent fait) car il est possible de les supprimer avec un traitement d'image approprié. Le bruit proprement dit est faible (visible comme une granulosité dans l'image du bas), ce qui permet à des webcams de réaliser des images du ciel profond de bonnes factures.

Attention : comme le logiciel pilote directement le port imprimante, il se peut que la fonction Longue Pose ne fonctionne pas directement avec des systèmes d'exploitation 32 bits comme Windows 2000 ou Windows XP (le résultat d'un disfonctionnement est un crash pur et simple de Iris !). Le problème est connu et il y a une solution simple.

En cochant l'option Continu la caméra réalise des images en boucle. Les options Cumul et Délais sont parfaitement opérationnelles dans ce mode. En revanche, les images ne sont jamais sauvegardée automatiquement sur le disque dur. Il faut considérer le mode Continu comme un moyen commode pour centrer un objet sur le capteur, pour faire une focalisation, etc. De plus, le mode continu affiche en incrustation dans l'image courante la dérive de position de l'étoile la plus brillante du champ en pixels/minute par rapport à la première image capturée (coordonnées dx, dy). Le temps écoulé en minute depuis la réalisation de la première image de la séquence est aussi affiché (paramètre dt). Ces informations sont utiles pour vérifier la mise en station d'un télescope par contrôle de la dérive des étoiles en fonction du temps (méthode de Bigourdan par exemple) :

Dans l'exemple ci-dessus, l'étoile du champ a dérivé de 0,12 pixel suivant l'axe horizontal et de 0,36 pixel verticalement en 2,3 minutes. Noter que Iris retourne aussi en bas de l'image l'heure courante et les coordonnées précises de l'étoile dans l'image.

Une astuce permet à la fois d'acquérir des images à partir de la boite de dialogue Acquisition Webcam et d'afficher le signal vidéo issus de la webcam en temps réel. En fait, dès que la boite de dialogue Acquisition Webcam est ouvert, vous avez accès à l'option Prévisualisation du menu Webcam. Faite le, vous aller obtenir ceci (le format d'affichage de l'ordinateur doit être compatible avec le format des images) :

A gauche vous avez la dernière image 16 bits acquise, à droite l'image vidéo de la caméra. Ceci permet de saisir à la voler une image en appuyant sur le bouton GO, dans un trou de turbulence exemple, puis de la sauvegarder sur le disque. Noter comme toujours la possibilités de contrôler les extremum d'intensité dans l'image acquise (en imagerie couleurs ce sont les extremum globaux des trois plans RVB qui sont affichés).

Astuce : pour la datation d'événement (occultation d'étoiles par exemle), afin de vérifier simplement la régularité et la précision absolue de la date des images acquises une technique consiste à observer avec la webcam une montre digitale, éventuellement munie d'un chronographe :

Dans l'exemple ci-dessus on note un écart significatif entre la date inscrite dans l'entête de l'image et la date lue dans l'image (pour faire apparaître la date dans l'image taper la commande WDATE ou faite la combinaison de touche Ctrl+F8 après avoir cliquer dans la fenêtre de visualisation). La mise à l'heure du PC, par exemple en utilisant un serveur SNTP sur le Web, ou l'écoute de l'horloge parlante pour régler la montre, lève l'ambiguïté de l'écart de date. En observant dans la durée vous pouvez analyser si l'écart est constant et avec quelle précision.

Une autre application du mode Continu est l'analyse de la qualité du suivi sidéral du télescope, pour réaliser l'apprentissage d'un système PEC (Periodic Error Corrector). On trouve des systèmes PEC sur des équipement tels que les LX200 de Meade ou encore le système SkySensor de Vixen (Iris permet d'afficher la raquette de ces systèmes sur l'écran simultanément à l'acquisition webcam). CCD. Il est possible de rendre la procédure d'apprentissage du PEC automatique sous Iris. Pour cela ouvrir la commande Autoguidage... du menu Webcam. La fenêtre suivante s'affiche :

De nombreux détails sont similaires à la fenêtre Acquisition Webcam, à ceci près qu'il n'est pas possible ici de sauvegarder les images.

Il y a deux manières d'exploiter la boite de dialogue Autoguidage : (1) réaliser l'apprentissage du mode PEC d'une monture de télescope, (2) réaliser le guidage proprement dit en agissant durant la pose sur les moteurs de la monture (il faut un système compatible LX200).

La premiere opération à réaliser est de tarer la vitesse des moteurs en ascension droite et en déclinaison. L'information retournée (V AD et V DEC) est la vitesse de raquettage en fonction du temps pour les deux axes (pixels/sec avec la vitesse la plus lente disponible sur le système). Le paramètre Durée est le temps qui s'écoule alors que l'on appui (électroniquement) sur les boutons de la raquette. Ce temps correspond grossièrement au parcours de l'étoile sur 1/3 de longueur du CCD lorsqu'on utilise la vitesse de guidage. Centrer l'étoile au milieu du CCD puis faire GO en utilisant le bouton correspondant de la zone Vitesse. Iris va tout d'abord déplacer automatiquement l'étoile sur l'axe horizontal (supposé être l'axe des ascensions droite), puis de haut en bas (axe des déclinaisons). A la fin, l'étoile est ramenée sur sa position initiale. Les champs V AD et V DEC sont alors calculés par Iris puis affichés. Ce sont des constantes pour votre installation, et vous les retrouverez lors d'une nouvelle session d'utilisation de Iris.

Pour guider il suffit ensuite de cliquer sur GO dans la zone Guidage. L'écart en pixels par rapport à la position initiale de l'étoile est indiqué. Les appuis sur les boutons de la raquette électronique sont visualisés sous la forme de 4 points qui s'allument en bas de la boite de dialogue. Non loin de là, on trouve l'information sur la valeur du pixel le plus intense dans l'image (noter que Iris tolère des passages nuageux momentanées lors du guidage).

Pour faire un bon guidage il faut définir un temps d'attente entre les corrections d'une seconde à cinq secondes environ (mais cela dépend aussi du type de monture). Pour définir le délai en secondes entre deux corrections, entrer une valeur dans la zone de texte Durée à en bas à droite de la boite de dialogue. En outre, ne pas hésiter à cumuler quelques images, ce qui va moyenner les effets de la turbulence. Il n'est pas obligatoire d'utiliser l'image pleine résolution. J'ai tendance à travailler avec le format 320x240 qui donne une fréquence de rafraîchissement rapide bien agréable. Par exemple, avec une ToUcam Pro au foyer d'un C8 l'échantillonnage est de 1,29 seconde d'arc par pixel avec une image 320x240. Comme Iris calcule la position de l'étoile à une fraction de pixel près, la précision de guidage est potentiellement meilleure que la seconde d'arc dans une telle configuration.

Pour effectuer l'apprentissage du PEC, lancer d'abord l'autoguidage sous Iris, puis lancer la procédure d'enregistrement des mouvement raquettes de votre système. Le temps d'observation de l'étoile sera de 10 minutes au moins avec le SkySensor 2000 et 8 minutes avec un LX200 Meade (temps de rotation de la vis d'entraînement). L'étoile doit se situer au voisinage de l'équateur céleste. Il est possible de guider sans trop de difficulter sur des étoiles aussi faibles que la magnitude 8.5 avec une webcam au foyer d'un télescope de 200 mm de diamètre.

   

Les photographies ci-dessus montrent le théâtre des opérations pour les tests de mise au point de Iris : une petite terrasse dans un ensemble résidentiel. Les examples ci-après de la fonction d'autoguidage de Iris on été réalisés avec une ToUcam Pro de Philips montée au foyer F/D=10 d'un Celestron de 200 mm, lui même adapté sur une monture GP-DX entraînée par le système SkySensor 2000. Un cable RS232 relie le boîtier de commande SkySensor2000 et le PC.

Ci-dessus en rouge, l'erreur périodique de la monture GP-DX laissée à elle même. L'erreur périodique atteint pratiquement 15 secondes d'arc en amplitude totale. On note aussi un défaut de mise en station. Il est difficile de faire des poses de plus de 1 minutes dans ces conditions. En vert, le résultat de l'autoguidage avec la webcam. L'erreur RMS est de l'ordre de 3 secondes d'arc à présent, et bien sur, le défaut de mise en station est bien gommé. Pour obtenir ces courbes il faut cocher l'option Fichier et entrer le nom d'un fichier. Iris produira en fait deux fichiers en ajoutant respectivement les lettres X et Y aux nomx et ajoute aussi l'extension .DAT. Ces fichiers se trouvent dans le répertoire de travail.

Les oscillations haute-fréquences qui apparaissent dans la courbe verte proviennent du temps de latence de la commande raquette du SkySensor 2000. En gros, le système électronique ne répercute pas immédiatement les ordres de Iris aux moteurs. En d'autre terme il y a de l'inertie. Une solution à ce problème est recherchée, mais tel quel, le gain de l'autoguidage est déjà très significatif. Il faut souligner que pour les autoguidages présentés ici la vitesse de  guidage n'était pas réglée au minimum (valeur 2 dans le Setup du SkySensor 2000). En adoptant la valeur minimum autorisée (vitesse 1), l'oscillation est ramenée à 1.5 secondes d'arc, ce qui devient très honnête dans la plus part des situations. Vous pouvez aussi agir sur le paramètre Backlash de votre système SkySensor / LX200. Une webcam en mode continu permet de très bien régler ce paramètre pour les deux axes. Pour l'autoguidage il faut parfois adopter une valeur un peut inférieure au réglage nominal (réduction du phénomène d'oscillation ou pompage d'asservissement). Ne pas hésiter à faire des essais. Pour ma monture GP-DX j'utilise respectivement les valeurs 165 et 120 en ascension droite et en déclinaison (ces réglages sont propres au système SkySensor  2000 PC).

Encore une remarque importante : lorsque vous êtes en mode autoguidage (par exemple sur un instrument auxiliaire à un instrument principal), bien penser à arrèéter le système de correction PEC. Les deux ne cohabitent pas bien. C'est l'un ou l'autre, sauf bien sur lors de la phase d'apprentissage.

Ci-dessus, en rouge l'erreur périodique brute de la monture GP-DX. En vert, la monture est pilotée par le PEC du SkySensor 2000. Par ailleurs, l'apprentissage du PEC a été réalisé par Iris lui même. L'erreur périodique disparaît bien, mais le défaut de mise en station n'est pas supprimé. L'intérêt du système PEC et sont efficacité sont cependant flagrant ici, surtout si on considère que l'opération n'a pas nécessité d'efforts particuliers de la part de l'opérateur, sinon installer provisoirement une webcam au foyer du télescope. Clairement, une webcam constitue un accessoire indispensable pour l'astronome amateur !