giovedì 16 agosto 2012

Astrometry

In questo post vorrei trattare l'uso di astrometry per il solving plate delle immagini astronomiche.
Per chi non lo sapesse astrometry è un software che consente di sapere che oggetti vi sono all'interno di un'immagine astronomica e che fornisce anche le coordinate AR e DEC del centro del campo.
Essendo piuttosto veloce io lo utilizzo anche sul campo per centrare gli oggetti non visibili con pose relativamente brevi: scatto una foto di una decina di secondi ad alti ISO in modo da poter immortalare un po' di stelle e poi la passo ad astrometry che mi dice dov'è esattamente l'oggetto e mi da anche le coordinate, basandomi su quelle correggo tramite eqmod le coordinate dove sta puntando la montatura, in questo modo in pochissimo tempo riesco a centrare perfettamente il soggetto.

È possibile scaricare astrometry da qui, vengono forniti i sorgenti che devono essere compilati, sotto a windows sinceramente non ho provato a compilarli, ho preferito installare una virtual machine con sopra linux per semplicità, ora vi illustrerò i passaggi per installare astrometry.

Innanzi tutto per potere utilizzare astrometry oltre ai sorgenti servono anche gli indici che utilizza per risolvere l’immagine, per ottenere questi indici è necessario inviare una mail a code2 CHIOCCIOLA astrometry.net dicendo che si accettano le condizioni d'uso e che si vogliono appunto scaricare gli indici, dopo qualche giorno a seconda di quando qualcuno leggerà la mail vi verranno inviati i dati per lo scaricamento.

mail
Ecco un esempio di mail da inviare

Scaricate virtual box che serve per creare la virtual machine da questo sito e poi installatelo.











Dopo di ché vi servirà una distro di linux, io ho utilizzato ubuntu che mi pare molto user friendly, potete scaricarlo da qui, scaricate la versione 10.04 perché l'altra da problemi in compilazione, che sono risolvibili ma c'è da smanettare parecchio...

Ora bisognerà installare ubuntu, aprite virtual box, cliccate su nuova in alto a sinistra e vi si aprirà la procedura guidata per la creazione della macchina virtuale, cliccate su avanti, date un nome alla virtual machine, se ad esempio la chiamate ubuntu in automatico vi selezionerà il sistema operativo e la versione corrette. Fate click su avanti e selezionate quanta ram dare alla virtual machine (ho messo 1 Gb), create poi un nuovo disco fisso per la macchina virtuale, praticamente lasciate le impostazioni di default, al massimo potete aumentare la dimensione massima che potrà raggiungere l'hard disk.
















Adesso bisogna dire alla virtual machine di far bootare la distro di linux che avete scaricato, cliccate con il tasto destro sulla virtual machine, selezionate Impostazioni -> Archiviazione -> Controller IDE, poi cliccate sull'icona del disco in alto a destra e selezionate 'Scegli un file di disco virtuale', selezionate l'immagine ISO che avete scaricato, fate click su ok e, infine, avviate la macchina virtuale.
Appariranno vari messaggi, dite sempre 'Ok' (magari selezionate anche 'non mostrare più questo messaggio).








Fatta partire la macchina virtuale, dovrebbe avviarsi ubuntu che vi chiederà se volete provarlo o installarlo, selezionate la lingua che preferite nella colonna di sinistra e poi fate click su installa. Vi verranno richieste varie informazioni (fuso orario, lingua della tastiera, etc), poi informazioni su come formattare il disco (lasciatele così come sono) e i dati che volete come nome utente e password, alla fine cliccate su installa. Completata l'installazione vi dirà che dovrete riavviare ubuntu, poi vi dirà di rimuovere il disco, è sufficiente premere invio.







Ora bisognerà creare una cartella condivisa in modo da passare i file dal vostro pc alla macchina virtuale, spegnete ubuntu, poi cliccate col tasto destro sulla macchina virtuale, poi cliccate su impostazioni e su cartelle condivise. Tasto destro su 'cartelle della macchina' poi aggiungi nuova, selezionate la cartella che volete condividere, premete ok e fare partire ubuntu.







Adesso la cartella condivisa va configurata dalla parte di ubuntu. Bisogna installare le guest addition, cliccate su dispositivi 'installa guest additions', su ubuntu apparirà come se fosse stato inserito un disco, vi verrà richiesta la password inserita durante l'installazione, mettetela e date ok, verrano installate le guest additions.

Cliccate su Applicazioni -> Accessori -> Terminale.
Scrivete
id -u
e salvatevi il numero, questo è il vostro uid.
poi scrivete
id -g
questo è il vostro gid.
Lanciate il comando sudo gedit /etc/fstab verrà aperto un documento di testo, in fondo inserite questa riga sostituendo al posto di UID e GID i valori che avete trovato prima
foto /media/foto vboxsf rw,auto,gid=GID,uid=UID,exec 0 0
(al posto di 'foto' va il nome della vostra cartella condivisa), salvate e riavviate ubuntu. Adesso all'interno di /media dovreste avere la cartella condivisa foto.


Veniamo ora all'installazione di astrometry vera e propria. Andate sul sito astrometry.net -> download e scaricate il file astrometry.net-0.38.tar.bz2, mettetelo all'interno della vostra cartella condivisa, da ubuntu copiatelo sul desktop e poi scompattatelo.
Aprite il terminale ed eseguite questi comandi, servono per installare i file aggiuntivi necessari per il funzionamento di astrometry (comunque è tutto scritto nel README).
sudo apt-get install libcairo2-dev libnetpbm10-dev netpbm
sudo apt-get install libpng12-dev libjpeg-dev python-numpy
sudo apt-get install zlib1g-dev
Finiti di installare i pacchetti portatevi, sempre da shell, nella cartella dove avete scompattato astrometry, se è sul desktop sarà cd Scrivania/astrometry.net-0.38, poi eseguite:
sudo make
sudo make extra
sudo make install
E l'installazione di astrometry è completata, potete eliminare la cartella dal desktop.

Ora se provate a scrivere il comando solve-field all'interno del terminale noterete che vi dice che il comando non esiste, bisognerà includere il path di dove è stato installato astrometry all'interno del search path del sistema, per fare questo spostatevi con la shell nella vostra home
cd /home/nomeutente eseguite il comando gedit .bashrc e aggiungete in fondo al file PATH=$PATH:/usr/local/astrometry/bin/ riavviate il sistema, adesso se eseguite solve-field vedrete che funzionerà.

Adesso non resta che copiare i file di indice (estratti dagli archivi) all'interno della cartella /usr/local/astrometry/data/, potrebbe richiedere i privilegi di root accedere a quella cartella, quindi se non riuscite a copiare i file direttamente in modo grafico, potete farlo via shell con:
sudo mv /media/foto/nomefile /usr/local/astrometry/data/

Per usare astrometry portatevi via terminale nella cartella dove avete le foto
cd /media/foto/ e poi eseguite il comando
solve-field nomefoto
questo eseguirà una ricerca in tutti gli indici finché non ne trova uno che matcha, nel caso vogliate velocizzare la ricerca (e ve lo consiglio fortemente) potete specificare le dimensioni minime e massime del campo in cui ricercare tramite i parametri --scale-low e --scale-high, ad esempio se si ha un campo di circa 1.86 gradi si può fare
solve-field nomefoto --scale-low 1.85 --scale-high 1.87 --scale-units dw
è bene stare un po' più larghi.
Ecco un esempio di plate solving di un'immagine