Présentation     Galerie     Matériel     Journal de Bord     Technique     Liens    


Comment ça marche ?


  Voici le coeur de ce site, le comment de toutes les images qu'il contient. Après avoir profité de sites web du même type, à mon tour de donner quelques idées et tuyaux !  

Index


Contrôle de la webcam sous Linux

         - Driver pour les webcams Phillips
  A ma connaissance, le seul driver Linux disponible pour la webcam Vesta Pro se trouve sur l'excellent site http://www.smcc.demon.nl/webcam/. Plusieurs webcams Phillips sont référencées. Pour l'installation, la marche à suivre est la suivante:
  1. Récupérer le driver, de préférence la dernière version si elle est compatible avec votre version de noyau Linux (exemple: usb-pwc-6.2.tar.bz2)
  2. Le décompacter et récupérer le module qui vous intéresse (exemple: usb-pwc-6.2-p6-up.o)
  3. Placer ce fichier dans /lib/modules/2.2.18/misc (ou équivalent selon votre version de noyau Linux)
  4. L'installation se fait (sous root) grâce aux commandes
    insmod /lib/modules/2.2.18/misc/videodev.o
    insmod /lib/modules/2.2.18/misc/usb-pwc-6.2-p6-up.o
    
    Personnellement je dois utiliser la commande insmod -f pour la deuxième ligne car mon noyau n'est pas le 2.2.18.
  5. La désinstallation (conseillée avant le shutdown de la machine) se fait par
    rmmod usb-pwc-6.2-p6-up
    rmmod videodev
    
  6. Note: on peut aussi automatiser le chargement des drivers, notamment en configurant le fichier /etc/conf.modules.


Pilotage de l'ETX

                 Pour piloter l'ETX depuis un PC, vous avez besoin de l'Autostar, raquette de commande "intelligente" qui remplace la raquette d'origine. J'avais pour projet initial de tenter de commander directement le téléscope à partir du PC (i.e. sans passer par l'Autostar), mais j'ai finalement changé d'avis faute d'avoir trouvé la moindre information sur la nature des signaux à envoyer sur la prise HBX de l'ETX. En revanche, le pilotage via l'Autostar est relativement aisé: il se fait par le port série, à l'aide de chaînes de caractères spécifiques. Une liste assez complète de ces commandes se trouve sur ce site Le fichier etx_test.c contient une description des commandes qui m'ont paru utiles pour l'ETX, ainsi qu'un programme simple en C pour les tester via le port série (sous Linux). Pour information, la configuration du port série est la suivante: 9600 bauds, 8 bits de données, pas de parité, 1 bit de stop, pas de contrôle de flux. Pour actionner les moteurs de l'ETX via le port série, les commandes sont malheureusement très sommaires. Il est dommage qu'on ne puisse pas lire et changer les paramètres de la mise en station par ce moyen. J'ai le lointain projet d'écrire un patch pour le logiciel interne de l'Autostar qui remédierait à ceci... En attendant, on dispose des commandes suivantes (chaque commande est précédée d'un ':' et se termine par '#'):
  • Mouvement
    #Me:      déclenche la rotation vers l'est (de même, n=nord, s=sud, w=ouest)
                on peut combiner les deux axes (exemple: #Me:#Mn:)
    
    #Q:       stoppe la rotation
    #Qe:      stoppe la rotation mais maintient la rotation vers l'est (idem n,s,w)
                exemple: #Me:#Mn: puis #Qe:
    
  • La vitesse de déplacement est réglable de deux façons:
    • soit automatiquement, à l'aide des seules commandes
      #Sw2: (lent), #Sw3: (moyen), #Sw4: (rapide)
      
    • soit manuellement, en sélectionnant une vitesse de 1 à 9 en appuyant sur la touche correspondante de l'Autostar

  • Pointage
    #GA:     lecture de l'altitude
    #GZ:     lecture de l'azimuth
    
    #Sd+01°30:     positionnement de la cible - déclinaison)
    #Sr03:12:05:   positionnement de la cible - ascension droite)
    #CM:           déclenche le mouvement vers la cible
    
  • Mesure des vitesses
    J'ai mesuré approximativement quelque vitesses réelles correspondant aux réglages possibles.
    Réglagevitesse en altitudevitesse en azimuth
    Autostar 1 = Sw23,6 ''/s10,8 ''/s
    Autostar 2 3,5 '/s
    Autostar 3 7,5 '/s
    Autostar 5 = Sw330 '/s idem
    Autostar 9 = Sw43,6 °/s idem
    Aucune vitesse n'est très bien adaptée à la compensation régulière du mouvement sidéral dû à la rotation de la terre (15 ''/s): la vitesse 1 (Sw2) est trop lente et ne peut servir qu'à la correction d'une mise en station approximative, et la vitesse 2 est déjà très rapide (15 fois la vitesse sidérale), et doit être sélectionnée manuellement (encore une raison de patcher le logiciel de l'Autostar !).


Photo astro numérique sans téléscope

                 La photo numérique du ciel profond à l'aide d'une webcam est un domaine en pleine effervescence, à la limite du possible avec le matériel actuel. En effet si vous pointez directement votre webcam (munie de son objectif d'origine) vers le ciel, vous obtiendrez probablement des résultats décevants, essentiellement pour deux raisons:
  1. le capteur CCD de la webcam est minuscule (11mm2), et la quantité de lumière collectée est donc très faible;
  2. le bruit thermique limite le contraste de l'image obtenue.
Certains bricoleurs fabriquent des systèmes de refroidissement (dont sont munies toutes les caméras CCD astronomiques) à base de modules Peltier, afin de réduire le bruit thermique. Le système que je décris ici attaque plutôt le premier problème, en remplaçant l'optique d'origine (généralement ouverte à f/3 environ) par une optique plus lumineuse (f/1,8).

Voici une méthode pour réaliser des photos du ciel en faible grossissement à l'aide simplement d'une webcam, d'un objectif photo standard (24x36), et d'un adaptateur assez facile à réaliser. Il faut utiliser un objectif très lumineux: typiquement, un 50mm f/1,8, très abordable (moins de 1000F) et toujours utile si vous aimez la photo sans flash. Une fois monté sur la webcam, on obtient une focale équivalente (en 24x36) d'environ 10x la focale d'origine, soit 500mm (champ de 20' d'arc) pour un 50mm. On peut monter le tout sur un pied photo, ou en piggy-back sur l'ETX simplement pour pouvoir pointer la cible plus facilement à l'aide des moteurs du téléscope.


montage d'un 50mm f/1,8 sur la webcam

On réalise alors des prises de vues en rafales, le faible grossissement permettant de conserver la cible dans le champ pendant environ 1 minute (pour un 50mm). Ensuite, on réalise le compositage des images, qui fait apparaître de nombreux détails. J'ai réalisé un programme permettant d'effectuer le compositage en temps réel, ce qui est de loin préférable car largement moins coûteux en place disque (on ne sauve qu'une bonne image et pas 10 séries -dont une bonne- de 200) et surtout beaucoup plus excitant, puisqu'on voit les détails de l'image apparaître peu à peu sur l'écran. Voici mes meilleurs essais (facilement améliorables) à ce jour :

La nébuleuse d'Orion (M42)
        
Les Pléiades (M45)


A propos de la mise en station

  Mettre un téléscope en station, c'est faire en sorte qu'il puisse compenser la rotation de la terre.

         - Le mouvement sidéral
  La nuit, les étoiles se déplacent au dessus de nos têtes. A l'oeil nu, il faut observer le ciel à au moins une heure d'intervalle pour le remarquer, mais dans l'oculaire d'un téléscope, ce déplacement est très perceptible, et même gênant. La cause principale du mouvement apparent des étoiles, appelé mouvement sidéral, est bien entendu la rotation de la terre autour de son axe. La rotation de la terre autour du soleil, par exemple, n'apporte qu'une correction très mineure quand on observe des objets situés à plusieurs années-lumière. La terre tournant sur elle-même en 24 heures, le mouvement sidéral est de 360/24=15 degrés par heure, soit aussi 15''/s. Grosso modo, une planète comme Saturne se déplace donc d'un angle égal à son diamètre apparent à chaque seconde.

Du point de vue de l'observateur, le mouvement sidéral est donc essentiellement une rotation de 15''/s dont l'axe passe par le centre de la terre. Mais, lorsque l'on observe des objets lointains, le rayon de la terre devient négligeable et on peut en bonne approximation supposer que l'axe de rotation passe par l'observateur, tout en restant parallèle au "vrai" axe de rotation nord/sud. Cet axe est alors donné, à peu de choses près, par la droite joignant l'observateur et l'étoile polaire.


         - Mise en station équatoriale
  En général, un téléscope peut pivoter sur lui-même autour de deux axes, dont l'un est vertical et sera noté Oz. Si l'on assimile la voûte céleste à une sphère (vu que l'on ne peut observer la distance qui nous sépare de chaque étoile), une étoile correspond à un point sur cette sphère, et peut être repérée par deux angles en coordonnées sphériques. Ces deux angles correspondent exactement à la rotation qu'il faut imposer au téléscope selon chaque axe pour pointer l'étoile en question. Si l'on place le téléscope de telle sorte que l'axe Oz passe par l'étoile polaire, alors on peut compenser le mouvement sidéral en faisant tourner le téléscope autour de cet axe à la vitesse de 15''/s, en sens inverse du mouvement sidéral. En dotant cet axe d'un moteur réalisant cette rotation, on s'affranchit alors complètement de la rotation de la terre. Dans le référentiel du tube, les étoiles sont fixes. Dans le référentiel li à la base du téléscope, chaque étoile décrit un cercle (sur la sphère associée), dont le plan est orthogonal à l'axe Oz. Ce procédé est appelé "mise en station équatoriale". Il a plusieurs avantages, dont sa simplicité. Si l'on ne peut pas observer l'étoile polaire, on peut quand même réaliser la mise en station en remarquant que l'axe de rotation de la terre est obtenu en "élevant" d'un angle 90°-L, où L est la lattitude du lieu (soit environ 45 degrés en France), un axe horizontal pointé vers le nord terrestre (donné par une boussole). En revanche, la mise en station équatoriale suppose une monture adaptée, et nécessite d'incliner l'instrument d'autant plus fortement que la lattitude du lieu est faible (à l'équateur, il faut "coucher" l'instrument, puisque l'axe de rotation est dans un plan horizontal). C'est la raison pour laquelle les gros téléscopes sont généralement équipés d'une monture alt-azimutale.

         - Mise en station alt-azimutale
  Imaginons maintenant que le téléscope soit dans une position quelconque. La trajectoire d'une étoile sur la sphère dans le référentiel du téléscope est un cercle dont le centre passe par un axe Ow de la sphère, mais cet axe ne coïncide plus avec l'axe Oz. Si les deux axes du téléscope sont motorisés, on peut pointer à tout moment n'importe quel point de la sphère, et donc avec un système informatique "suivre" la trajectoire de cette étoile. Cependant, ce suivi n'est pas parfait, car il ne préserve pas l'orientation des objets (il y a rotation du champ observé). Si vous observez Saturne avec un suivi alt-azimutal, vous verrez l'ellipse formée par ses anneaux tourner en 6 heures d'un angle égal à l'angle entre les axes Oz et Ow. Ainsi, à moins de disposer d'un système permettant la rotation du tube autour de l'axe optique, le suivi alt-azimutal n'est pas adpaté à la photo argentique en longue pose. Pour la photographie numérique, le problème ne se pose pas tant qu'on se limite à des poses courtes (avec un angle Oz,Ow de 45 degrés et une résolution de 1000 pixels, la rotation moyenne du champ est de l'ordre de 1 pixel par minute sur les bords de l'image). Qu'appelle-t-on mise en station alt-azimutale ? Précisément la détermination de l'axe Ow, c'est-à-dire la position de l'étoile polaire sur la sphère. Pour les systèmes à pointage automatique, il faut compléter cette information par la détermination d'une référence absolue dans le plan orthogonal. Si l'on ne peut observer l'étoile polaire, alors on peut déduire sa position à partir de la position de deux autres étoiles. Si l'on connaît la position physique de l'axe Oz (en général, il est vertical et on connaît l'heure, la longitude et la lattitude du lieu d'observation), alors une seule étoile suffit. En pratique, l'utilisateur se contente de pointer une ou deux étoiles, et l'ordinateur fait le reste. Par rapport à la mise en station équatoriale, Ce procédé à l'avantage de remplacer une étape manuelle minutieuse (positionnement du téléscope) par une étape de pointage rapide suivie d'une étape de calcul (position de l'étoile polaire).

         - Utilisation de l'Autostar
  L'avantage de l'ETX est d'être peu encombrant et facilement transportable: j'ai donc décidé de me passer de trépied. Ceci me conduit naturellement à utiliser une mise en station alt-azimutale, ce qui ne sera pas un problème pour la photo "webcam", puisque les poses -inférieures à la seconde- ne seront pas affectées par la rotation du champ. Le système de mise en station alt-azimutale pour l'ETX est effectué par la raquette de commande Autostar, petit ordinateur qui interagit avec l'utilisateur et le téléscope. Malheureusement, l'Autostar est -de mon point de vue- loin d'être à la hauteur de ce qu'on pourrait attendre d'un tel système, tant du point de vue de l'ergonomie que de l'efficacité.

Premier cas: vous voulez réaliser une mise en station sommaire, juste pour ne pas avoir à jouer trop souvent avec la raquette de commande. Typiquement, pour faire de l'observation planétaire. Première mauvaise nouvelle: impossible de faire la mise en station sur une planète (c'est quand même ce qui brille le plus !). Tant pis, espérons que parmi les quelques étoiles faiblement visibles dans la petite portion de ciel parisien que je peux observer, l'une d'entre elles est répertoriée dans la base de l'Autostar (sans parler de ma propre base, mais bon ça c'est plutôt amusant d'apprendre le nom d'une nouvelle étoile). Deuxième mauvaise nouvelle: vous devez, pour chaque mise en station, remettre le téléscope en position de base (tube orienté nord, horizontal), et attendre que l'autostar pointe l'étoile que vous lui avez désigné. Vous aviez cette étoile dans l'occulaire il y a deux minutes, mais non, il faut tout recommencer à zéro ! Amusant, non ?

Deuxième cas: vous voulez réaliser une mise en station précise (pour chercher des objets invisibles dans le chercheur). Déjà, si vous ne pouvez observer qu'une petite portion du ciel à cause de la configuration de votre site, ou si le ciel est partiellement couvert, il vaut mieux abandonner. Mais le plus drôle est là: après avoir remis le téléscope en position de base, choisi vos deux étoiles, attendu que le téléscope les pointe, corrigé le pointage de chacune, si la mise en station n'est pas à la hauteur de ce que vous attendiez... il faut tout recommencer ! Passer des heures à observer le ciel, oui, mais à se battre avec un système mal conçu, non ! Bref, vous l'avez compris, le GROS défaut de l'autostar est qu'il ne permet pas de CORRIGER la mise en station. Aucune possibilité de pointer plus de 2 étoiles, ou la même étoile à des instants différents (ce qui permettrait tout autant d'affiner la mise en station). Bref, les systèmes de pointage automatique ont encore des progrès à faire.


         - Plaidoyer pour un nouvel Autostar
  Voici ce que, à mon avis, devrait pouvoir réaliser l'Autostar.
  • Mise en station rapide (plus de retour à la position de référence).
  • Mise en station partielle: pointer seulement l'étoile polaire (une telle mise en station est suffisante pour compenser le mouvement sidéral mais insuffisante pour pouvoir pointer automatiquement n'importe quel objet (fonction "Goto").
  • Mise en station différentielle : pointer le même objet deux fois à une minute d'intervalle. Ceci est suffisant pour une mise en station approximative, au moins dans la région considérée.
  • Mise en station affinée: pointer (ou suivre) de nouveaux objets jusqu'à ce que la mise en station soit satisfaisante.
En attendant, voici comment réaliser une mise en station (approximative) sur une planète :
  1. Mettre le téléscope bien à l'horizontale, faire une mise en station fictive (valider les pointages d'étoiles sans vérifier), puis faire un goto sur la planète choisie.
  2. Tourner la base du téléscope de façon à faire apparaître la planète dans le chercheur, puis corriger éventuellement le décalage en altitude avec la raquette de commande.


Soustraction des noirs

                 La plus élémentaire des corrections à apporter à une image brute est ce qu'on appelle la "soustraction des noirs". L'idée est d'enregistrer des images noires (obtenues en masquant l'objectif du téléscope par exemple) puis de soustraire ensuite leur moyenne à toutes les images brutes. Ceci permet de compenser le bruit de fond (bruit thermique, bruit de lecture du CCD, etc...) spécifique à chaque pixel. Supposons que dans le noir la valeur de l'image en chaque point x soit une variable aléatoire de moyenne b(x). En moyennant N images noires, on obtient une estimation bN (x) de la valeur de b(x) avec une erreur de l'ordre de N-1/2. Si toutes les valeurs b(x) sont égales, ou si N est petit, alors la meilleure correction par soustraction consiste à soustraire à chaque pixel de l'image brute la valeur B, moyenne sur x de tous les bN (x). Mais si les valeurs b(x) ne sont pas toutes égales, alors pour N assez grand il est plus efficace de changer l'image brute u(x) en u(x)-bN (x). Le diagramme ci-dessous illustre ce phénomène dans un cas réel. Partant d'une image brute u (image de noir elle aussi, afin de pouvoir mesurer objectivement sa qualité), on a apporté deux corrections
  1. soustraction uniforme du niveau de gris moyen sur les 640x480xn pixels contenus dans les n images de noirs
  2. soustraction point à point de la moyenne des n images de noirs.
Pour chaque valeur de n, on mesure alors le bruit résiduel (racine carrée de la moyenne des carrés des intensités) pour chacune des deux corrections.


Réduction du bruit de fond en fonction du nombre d'images utilisées pour calculer le noir.

On constate que jusqu'à n=50 environ, la soustraction d'une image de noir est en moyenne moins efficace qu'ine soustraction uniforme (en soustrayant une mauvaise estimation du noir, on rajoute plus de bruit que l'on en enlève). En revanche, le gain est manifeste au delà de n=50. D'autre part, l'intérêt de la soustraction des noirs (par rapport à la soustraction uniforme) ne vient pas seulement de la correction moyenne apportée (sensiblement équivalente), mais de la correction sur les points aberrants, par exemple les "pixels chauds", pour lesquels b(x) est sensiblement plus élevé que sa valeur moyenne sur l'image. L'image de noirs (partielle) ci-dessous, ontenue par moyennage de 128 images, montre bien l'intérêt d'une compensation point à point par rapport à une soustraction uniforme. On remarque une zone plus claire sur la gauche, quelques pixels chauds plus brillants, et une nette corrélation verticale, sans doute due au mode de lecture des capteurs CCD.


Image de noir (partielle) obtenue par moyenne de 128 images. La dynamique est ici amplifiée : les intensités réelles s'échelonnent entre 89 et 97 (sur 255)


Compositage des images

                 Le compositage consiste à produire, à partir de plusieurs images du même objet, une image de meilleure qualité. En général, on procède en 4 temps:
  1. recalage des images, c'est-à-dire calcul de la translation (voire de la rotation) qu'il faut appliquer à chaque image pour qu'elles se superposent parfaitement,
  2. traitement des images brutes (compensation du mouvement calculé au 1, agrandissement, ...)
  3. fusion des images obtenues au 2 (en général, calcul de la moyenne en chaque point)
  4. traitement de l'image finale (réhaussement du contraste, déflouage)
Pourquoi le compositage est-il efficace ? Essentiellement parce qu'en moyennant des images, on réduit le bruit, c'est-à-dire les fluctuations de couleur aléatoires dues au dispositif thermique. Dans le cas d'une webcam, le bruit thermique est prédominant (la caméra rayonne des photons, qui sont enregistrés par le capteur CCD comme de la lumière), suivi par le bruit de lecture (la décharge des capteurs CCD n'est pas parfaite). On peut montrer que pour réduire l'intensité du bruit d'un facteur n, il faut moyenner n2 images. Or moins une image est bruitée, plus on peut augmenter sa netteté (déflouage).

Pour le recalage, je minimise simplement sur l'ensemble des translations le carré (norme L2) de la différence entre les deux images, avec interpolation bilinéaire pour une précision subpixellique. La compensation de translation et le zoom (x2 en général) est ensuite fait en interpolation bilinéaire. Je n'ai pas fait d'essais avec des interpolations plus fines (bicubique, splines) mais je pense qu'on ne gagnerait pas grand chose car la turbulence déforme quand même pas mal les images. Ensuite, il s'agit de translater les images, de les moyenner et de les déflouer. La meilleure solution consiste certainement à effectuer ces opérations dans le domaine de Fourier, mais on peut déjà obtenir de bons résultats en opérant directement sur les intensités. J'ai remarqué que l'on obtient de meilleurs résultats en appliquant le déflouage (par exemple un masque flou) avant la translation de l'image, probablement parce qu'il est plus efficace d'interpoler une image déconvolée que de déconvoler une image interpolée. Après moyennage des images ainsi obtenues, il ne reste plus qu'à réhausser légèrement le contraste de l'image finale et le tour est joué.


image brute (zoom x2)
        
après compositage



Présentation     Galerie     Matériel     Journal de Bord     Technique     Liens