C Polar Align
1. License
Le logiciel est distribué sous license
libre, il peut donc être utilisé, redistribué et modifié librement sous
réserve de respecter les termes de la license notamment de conserver les
copyrights et que les sources (y comprit des ajouts et ou modifications)
restent accessibles.
La distribution inclue CImg ( https://cimg.eu/ ), Ephemeris (
https://github.com/MarScaper/ephemeris ) et GetPot (
http://getpot.sourceforge.net/ ).
L'algorithme de détection d'étoiles est dérivé de
https://github.com/carsten0x51h/star_recognizer_code_snippets. Une partie
des fichiers sont sous "Copyright (C) 2015 Carsten Schmitt".
Le catalogue d'étoiles vient de: VizieR Astronomical Server
vizier.u-strasbg.fr.
2. Introduction
Ce logiciel fournit une aide pour l'allignement d'une monture
équatoriale. A partir de 2 images (JPEG) prises en ayant pivoté la monture
en AD entre les deux, le logiciel détermine le centre de rotation entre
les 2 images puis projette sur les images la mire d'un viseur polaire
indiquant la position des étoiles du champ. Après chaque ajustement, le
logiciel affiche la nouvelle image.
Il n'y a pas d'astrométrie, seulement un algorithme géométrique de calcul
du centre de rotation. La focale et la taille des pixels doivent être
précisées.
Pour l'utiliser, il faut dans disposer d'un capteur et d'un objectif qui
puisse fournir des photos assez détaillées sur un champ assez large autour
du pôle.
Un appareil photo numérique 24x36 avec un objectif de 50mm à 300mm ou un
APS-C avec entre 30mm et 200mm feront très bien l'affaire. Un compact fera
l'affaire également pour peu que l'objectif soit lumineux (au zoom
minimal) et que l'on puisse poser quelques secondes. Dans tous les cas, il
est indispensable qu'il soit possible de contrôller l'appareil photo à
partir du PC et en pratique, qu'il soit supporté "capture" et "download"
par gphoto2.
3. Installation
3.1 Linux
Le logiciel est développé sous Linux. Il a été testé avec ubuntu (16, 18
et 20), gentoo free BSD et également avec une debian ancienne sur une
cible ARM.
Nécessite:
- libjpeg
La procédure de compilation et d'installation pour Ubuntu:
ubuntu% sudo apt-get install libjpeg-dev
- gphoto2
ubuntu% sudo apt-get install gphoto2
- les bibliothèques de base
pour le développement sous X11:
ubuntu% sudo apt-get install libx11-dev
Il utilise "CImg" pour le traitement d'images,
"ephemeris" pour le calcul des positions courantes des étoiles et 'getpot"
pour gérer les options en ligne de commandes ou dans un fichier.
Pour obtenir les sources:
% git clone
https://gitlab.utc.fr/crubille/polar_align.git
% cd polar_align/polar_align
% cd ephemeris ; make ; cd ..
% cd getpot-c++; make; cd ..
% cd c_polar_align
% make
% make install
Avec un compilateur c++ ancien, essayer les options commentées dans le
Makefile.
3.2 portabilité
3.2.1 Windows
Du code utilisant CImg compile sous Windows. Le portage du logiciel est
donc possible soit en utilisant gphoto2, soit en utilisant un autre
programme pour la capture des images.
3.2.2 Android
CImg semble utilisable sous Android. De là, il semble enviseageable de
porter l'application sous Android.
4. Options et configuration
Des options permettent de préciser le comportement du logiciel en
fonction du besoins.
Ces options peuvent être ajoutées à la ligne de commande ou être
enregistrées dans des fichiers.
- "polar align" tente d'abord de lire un fichier "config.cpa" dans le
répertoire "$HOME" de l'utilisateur et positionne les options
- "polar_align" lit ensuite le fichier donne en ligne de commande après
l'option "-file" ou "-config" et peu modifier les paramètres
- "polar_align" prend finalement en compte les options fournies en ligne
de commande qui sont donc les valeurs finales..
Liste des options:
- "-config filename" / "-file filename" pour indiquer un fichier
d'option (utilisable seulement en ligne de comande)
- "-demo -baseimg=i1.JPG -img=i2.JPG" lance un mode démo où la première
image est "i1.JPG" puis le logiciel utilise toujours la même "i2.JPG"
- "-longitude 2." La longitude du lieu d'observation - permet au
logiciel d'orienter correctement la mire
- "-focale 135" La focale de l'instrument et la taille des pixels
doivent être indiqués précisément
- -pixelsize 4.24
- "-no_ac_motor" / "-ac_motor" Si l'entrainement en ascension droite
n'est pas assurée, l'orientation de la mire est adaptée à chaque
image
- "-SouthPole" Par défaut le logiciel considère que l'on vise le pôle
nord, cette option doit être sélectionnée pour le pôle sud.
- "-AstroLens" Par défaut, le logiciel considère un objectif photo dans
leauel les images ne sont donc pas retournées.
- "-fullscreen" / "-screen_width 800" Permet de préciser la taille
de l'écran
- "-stars_to_print 8" Pour adapter le nombre d'étoile du champ
pour lesquelles le logiciel affiche l'image sur la mire
- "-getphoto commande" permet de changer la commande par défaut pour
acquérir une image. Voir Section <5.> Communication avec
l'appareil photo>
- "-jpgname AP" Permet de choisir le préfixe des noms d'images
- "-font 24" Permet de changer la taille (relative) de la police.
- "-fr" Les messages en français
5. Communication avec l'appareil photo
c_polar_align doit pouvoir
- faire prendre une photo à l'APN,
- télécharger l'image,
- éventuellement la convertir en JPEG et lui donner le bon nom,
- lire l'image en format JPEG.
Pour cela, il exécute une commande système qui peut être un exécutable ou un
script accompagnée de ses options. Cette procédure fonctionne parfaitement
sous linux et avec gphoto2.
La commande par défaut est 'gphoto2 --force-overwrite
--capture-image-and-download --filename PA0.jpg' . Le nom de fichier est
PA0.jpg, puis PA1.jpg ...
L'option -getphoto permet de changer cette commande. La commande donnée doit
comprendre toute les options, et si on utilise gphoto2 se terminer par un "
", ainsi le logiciel ajoute juste le nom de fichier à la fin.
l'appareil photo est réglé en
"RAW+JPEG", la vitesse est définie sur l'appareil
- -getphoto 'gphoto2 --set-config bulb=1 --wait-event=5s --set-config
bulb=0 --keep-raw --wait-event-and-download=3s --force-overwrite
--filename '
l'appareil photo est réglé en
"RAW+JPEG" et en mode longue pose "BULB". La pose est ici de 5 secondes.
- -getphoto 'gphoto2-script '
permet d'exécuter un script qui
prend en argument le nom de la photo a créer dans le répertoire courant.
6. Utilisation
Orienter la monture entre 30 et 90 degrés de l'horizontale:
Acquérir une première image:
Remettre la monture à l'horizontale et acquérir une seconde image:
Faire tourner la mire pour compenser les erreurs d'horizontalité de la
monture (ou d'heure ou de longitude):
utiliser les réglages d'orientation de la monture:
zoomer à 100%: