Home Page
Chi Sono
Strumentazione
Gallery
Varie
Link
Contattami
Domande?
Guestbook

AstroMosaic


Cos'è? Un software per Linux per la creazione di mosaici lunari a partire da una serie di immagini.

Pregi:
  • È opensource;
  • Occupa poco spazio;

  • Difetti:
  • Fornisce solo immagini in bianco e nero;
  • Va in crash con certe immagini (clicca qui per vedere come risolvere il problema)
  • Ho avuto un problema nella compilazione della versione grafica (clicca qui per vedere come risolverlo)

  • Dove lo trovo?
    A questi link:
  • Versione "base", senza grafica
  • Supporto grafico (si installa separatamente dopo aver installato la versione base)


  • Vediamo ora qualche esempio di funzionamento...

    Astromosaic è in grado di generare un mosaico di immagini anche in modo del tutto automatico. Per fare ciò è sufficiente inserire in una cartella le immagini che avete realizzato, aprire una shell (bash, konsole, linea di comando o come volete chiamarla), entrare nella cartella e digitare:
    $ astroMosaic *
    in pochi minuti poteste avere il vostro bel mosaico pronto
    Ad esempio partendo da queste foto: 1, 2, 3, 4, 5, 6,
    ho ottenuto in modo del tutto automatico questo mosaico:


    Ovviamente non funziona sempre così, infatti può capitare che il programma non riconosca correttamente la corrispondenza tra le immagini e vi restituisca dei mosaici mal assemblati. Vi consiglio in ogni caso di tentare una prima volta la procedura automatica, perché se va a buon fine risparmierete un sacco di tempo.
    In caso contrario avete due modi per procedere: generare un file .map o usare la versione grafica.


    I file .map

    Un file .map è un semplice file di testo nel quale si possono specificare delle opzioni e segnalare quali fotografie si debbano unire tra loro. Ecco un esempio:

    $outputFile luna.png
    # imposto il file del mosaico risultante come luna.png

    $borderCrop 4
    # ignoro l'aspetto delle immagini al bordo per i primi 4 pixel

    001.bmp identity
    # imposto l'immagine 001.bmp come immagine di partenza

    002.bmp 001.bmp
    # scelgo di collegare l'immagine 002 alla 001 (la traslazione viene effettuata in automatico)

    003.bmp 002.bmp
    004.bmp 003.bmp
    005.bmp 004.bmp

    006.bmp 005.bmp 68 394 626 462
    # scelgo di collegare l'immagine 006 alla 005 specificando che il punto di coordinate (68,394) dell'immagine 006 coincide con il punto di coordinate (626,462) dell'immagine 005

    007.bmp 006.bmp 153 276 626 470
    008.bmp 007.bmp 510 116 639 479
    009.bmp 008.bmp 451 17 0 0
    010.bmp 009.bmp 383 209 0 0
    011.bmp 010.bmp 502 131 0 0
    012.bmp 011.bmp 280 294 0 479

    Le linee precedute da un cancelletto (#) rappresentano un commento, ovvero qualcosa che serve solo all'utente e che viene ignorato dal programma.
    Per stabilire quali pixel di un'immagine corrispondano ai pixel di un'altra immagine ci si può aiutare con Gimp, caricando le immagini, sovrapponendole e leggendo le coordinate dei pixel che vi sembrano più utili (appaiono in basso a destra sulla finestra dell'immagine).
    Una volta che avete creato questo file .map inseritelo nella cartella delle immagini e digitate dalla shell:
    $ astroMosaic luna.map
    Avrete in pochi secondi la vostra immagine. Se volete evitare di creare file .map allora è meglio usare la grafica.

    La versione grafica

    Detta anche astromosaicgui la grafica si presenta come una finestra con uno sfondo nero e un semplice menu:


    Per iniziare apriamo le immagini con l'apposito pulsante
    Una volta aperte possiamo trascinarle all'interno dell'area nera per abbozzare un mosaico approssimativo.

    A questo punto è necessario far corrispondere dei punti sulle varie immagini: per fare ciò si creano delle "ancore".
    I pulsanti indicano rispettivamente "posiziona/collega ancore" e "mostra ancore".

    Quando vediamo su due fotografie differenti la stessa zona scegliamo un punto (i più comodi sono i piccoli crateri) e cliccandoci sopra dopo aver selezionato il pulsante "crea ancora" vedremo apparire un punto verde che indica un'ancora. Con un doppio click il punto diventa rosso ed è possibile collegarlo ad altre ancore.
    Per aiutarsi può essere comoda la lente di ingrandimento con il mirino che compare con il pulsante
    State attenti a non collegare più immagini in circolo altrimenti il programma non vi lascerà proseguire.
    Quando tutte le immagini avranno le loro ancore allora potrete premere il pulsante , che allinea in automatico le immagini in base alle ancore che avete impostato dandovi un'idea di come dovrebbe venire il mosaico.


    A questo punto non vi resta che premere il pulsante per generare il vostro mosaico.



    Problema nella compilazione di astromosaicgui

    Quando ho compilato astromosaicgui il comando make si è fermato con il seguente errore:
    src/ViewMagWidget.hpp:42: error: extra qualification 'ViewMagWidget::' on member 'hideEvent'
    È un errore che dipende dal compilatore ma se capita anche a voi ecco come risolverlo:

    Entrate nella cartella src, aprite il file ViewMagWidget.hpp e andate alla linea 42. Dovreste vedere qualcosa del genere:
    virtual void ViewMagWidget::hideEvent ( QHideEvent * );
    Eliminate la dicitura "ViewMagWidget::" e applicate di nuovo il make.
    A questo punto l'errore vi comparirà anche in qualche altra linea di qualche altro file. Ogni volta che l'errore compare modificate allo stesso modo i files segnalati dal make e dovreste arrivare in fondo alla compilazione.


    Il bug dei pixel bianchi

    Se una delle immagini del vostro mosaico contiene anche pochi pixel perfettamente bianchi (come spesso accade nelle immagini troppo saturate) il programma causa un errore di virgola mobile e si ferma.
    Nessun problema, il tutto si può risolvere in due modi:

    1. abbassando la luminosità dell'immagine (anche di pochissimo) con qualche altro programma. Ecco un esempio:
    Per quanto possa sembrare impossibile, con l'immagine di sinistra il programma si ferma, mentre con l'immagine di destra il mosaico viene generato correttamente. Infatti, misurando il colore nella zona più saturata, nell'immagine originale esso è perfettamente bianco, mentre nell'altra è leggermente più scuro


    2. Prima di compilare il programma modificate il file AstroImage.cpp che si trova nella cartella src alle linee 34, 51 e 68, sostituendo il numero 256 a 255. Così:

    image->image_[index]=greyValue<256?(10*greyValue):saturatedPixel;

    Ricompilate e il programma non avrà più questo problema.