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:
- 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)
- Le décompacter et récupérer le module qui vous intéresse
(exemple: usb-pwc-6.2-p6-up.o)
- Placer ce fichier dans /lib/modules/2.2.18/misc (ou équivalent selon votre
version de noyau Linux)
- 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.
- La désinstallation (conseillée avant le shutdown de la machine)
se fait par
rmmod usb-pwc-6.2-p6-up
rmmod videodev
- Note: on peut aussi automatiser le chargement des drivers, notamment en
configurant le fichier /etc/conf.modules.
|
|
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:
- 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églage | vitesse en altitude | vitesse en azimuth |
Autostar 1 = Sw2 | 3,6 ''/s | 10,8 ''/s |
Autostar 2 | 3,5 '/s | |
Autostar 3 | 7,5 '/s | |
Autostar 5 = Sw3 | 30 '/s | idem |
Autostar 9 = Sw4 | 3,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:
- le capteur CCD de la webcam est minuscule (11mm2), et
la quantité de lumière collectée est donc très faible;
- 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 :
- 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.
- 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.
|
|
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
- soustraction uniforme du niveau de gris moyen sur les
640x480xn pixels contenus dans les n images de noirs
- 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)
|
|
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:
- 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,
- traitement des images brutes (compensation du mouvement calculé au 1, agrandissement, ...)
- fusion des images obtenues au 2 (en général, calcul de la moyenne en chaque
point)
- 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