Softwares Astronomici Open Source



Per la natura stessa della libertà del sapere umano un software scientifico, che si rispetti deve essere OPEN SOURCE. C'e'una differenza (anche se all'apparenza marginale) tra un programma free (gratis) ed un programma open source: un programma open source per sua stessa natura, mette a disposizione il codice sorgente alla comunità informatica mondiale. Questo programma open source non è detto che sia gratis (anche se di solito lo è), ma, rendendo pubblici i sorgenti, non si reca vincolo sul suo futuro sviluppo ed evoluzione purché sia chiaro da dove si è partiti. (secondo la licenza OpenGL=Open Graphics Library).

Questo rende possibile il perfezionamento, il debug e l'evoluzione stessa del software. Un programma, anche se gratis, può possedere i codici "proprietari" e questo limita le possibilità di evoluzione ed utilizzo in campo scientifico.

Tratteremo di seguito quindi solamente i softwares scientifici che si rispettano (quindi quelli open source), relegando e sconsigliando l'utilizzo di tutti gli altri.

Il bello dei softwares open source, sopratutto quelli scientifici, é che non manca MAI una opportuna ed esaustiva documentazione, quindi il consiglio maggiore per il lettore, sopratutto per gli studenti alle prime armi e quello di scegliere un tool completo e leggere il manuale prima ancora di cominciare a giocarci.

Di solito "giocando" con i nuovi programmi si riesce ad ottenere qualcosa di apprezzabile solamente quando i programmi sono molto "user-friendly" o come si dice in gergo "for-dummies", e questo in ambiente open-source non avviene spesso (per politiche economiche e di marketing, che questi programmi ovviamente per loro stessa natura non hanno).

Sul web sono disponibili una miriade di programmi astronomici per tutte le necessità.

Elenchiamo di seguito i più diffusi ed utilizzati dalla comunità scientifica.

Lo Standard FITS

Gli strumenti astronomici delle ultime generazioni hanno confluito tutti su un unico standard di immagini. Ogni immagine scientifica, proveniente da un recente strumento, è in formato FITS; la sigla significa Flexible Image Transport System.

Una immagine fits è molto simile ad un formato raw TIFF con la presenza di un cappello di testo detto Header. Gli strumenti spesso posseggono differenti chips, ogni chip produce un immagine grezza, che poi bisogna unire assieme alle altre immagini a formare un mosaico.

In questo senso una singola immagine FITS viene detta MEF (Multi Extension FITS) in cui è presente un header primario che descrive l'osservazione, il filtro, lo strument, la data, le coordinate ecc... e poi tanti header secondari quante sono le extension, cioè i chips dello strumento.

Uno strumento che possiede 5 chip possiederà quindi 6 headers (di cui uno primario) e 5 sezioni binarie corrispondenti all'immagine vera e propria del chip.

Il sito da cui si possono estrarre informazioni sullo standard FITS è il seguente:

http://archive.stsci.edu/fits/fits_standard/

Softwares Terapix

La carrellata più ingente ed ottimale di software scientifici pubblici, spesso viene dal development di un gruppo di ricercatori, che dopo aver costruito uno strumento astronomico, per esempio una camera CCD (come OmegaCAM), si trovano a sviluppare dei softwares che gestiscano in maniera più ottimale possibile tale strumento.

Con il passare del tempo i softwares che prima erano dedicati ad un solo strumento, vengono via via resi più generici possibile in modo da essere applicati in altri ambiti astronomici e finalmente rilasciati liberamente con tutti i codici sorgenti. Quando il Team si chiama TERAPIX ed il capo ingegnere del software si chiama Emanuel Bertin, il software rilasciato è di altissima qualità.

Diamo qui una veloce panoramica sui softwares migliori rilasciati dal team francese.

  • SExtractor, acronimo per source extractor. Data una immagine astrofisica che si vuole analizzare in formato .FITS, il programma localizza le sorgenti secondo dei criteri precedentemente impostati, e crea in output delle immagini di test (checkimages) ed un catalogo con le sorgenti rivelate e quelle sextractate, cioè quelle che rispettano in maniera ottimale i parametri impostati. E'un programma con il quale ogni astronomo deve confrontarsi se vuole lavorare con cataloghi di oggetti.
  • EyE è un acronimo per Enhance Your Extraction e rappresenta una rete neurale che connette assieme i pixels di una "moving window", altrimenti detta retina, da alcune immagini di input e così facendo si osserva il comportamento di questo segnale in input con quello aspettato da altre immagini teoriche in output. Il filtro risultante (che può anche essere grandemente non lineare come nell'ottica adattiva) può essere usato in altri programmi come SExtractor.
  • SCamp, esegue il passo precedente al programma swarp, cioè data una, o più immagini astronomiche, analizza il pattern di stelle e le correla con dei cataloghi di stelle on-line (USNO, UCAC, SDSS, ecc...), tramite questa cross-correlazione si applica una prima soluzione astrometrica locale, che deforma l'immagine secondo il piano focale (ogni strumento ha delle distorsioni più o meno accentuate) e poi si mettono assieme tutti i chip delle esposizioni localmente astrometrate, creando delle soluzioni astrometriche globali. L'output di questa procedura è un header file con le distorsioni ottimali del campo di vista e la mappatura dei pixels dell'immagine con le coordinate RA/DEC in cielo.
  • SWarp, è un programma che permette la sovrapposizione di immagini astronomiche secondo delle opportune scale di astrometria precedentemente impostate. Quando ad esempio vengono osservate grandi regioni di cielo, ma anche solamente come policy di ottimizzazione delle riprese astronomiche, è necessario scandagliare la volta celeste disegnando una specie di mosaico parzialmente sovrapponibile di riprese. Tramite il programma è possibile sovrapporre tutte le imamgini creando un mosaico generale e riscalando i flussi per le mappe di esposizione, di RMS o di peso, li dove i frames si sovrappongono.
  • STiff, le imamgini astronomiche in tricromia RGB vengono create mettendo assieme le singole immagini di un oggetto in tre bande differenti (delle stesse dimensioni e, possibilmente, con la stessa scala di pixels), prese con tre filtri diversi. In questo modo ogni filtro potrà mettere in risalto uno o più particolari anziché altri (per esempio il filtro R evidenzierà di più i gas in una galassia rispetto al filtro U, che tenderà invece ad evidenziare le zone ultraviolette di gas ionizzato dove avviene formazione stellare). L'output di questo programma è una immagine in formato tiff in cui sono sovrapposte con opportuni livelli cromatici le singole immagini in tre filtri.
  • MissFITS è un programma che esegue le operazioni basilari di mantenimento ed impacchettamento dei file FITS, totalmente ottimizzato dalle librerie FITS-LDAC Emanuel Bertin. In particolare MissFITS aggiunge/rimuove e cambia le keyword entro un file fits; separa e aggiunge singoli frame entro un fits MEF, compatta e scompatta fits data-cube, crea e controlla dei fits data-cube e esegue il checksum sull'integrità dei files.
  • WeightWatcherè un programma che combina mappe di peso, exposizione e di flag al fine di produrre delle mappe di controllo che possano essere direttamente usate in pipeline di riduzione dati astronomiche, come Drizzle, Swarp o SExtractor.
  • SkyMaker è un programma che simula delle immagini astronomiche. Accetta delle liste di oggetti in formato ASCII file generate da altri programmi (es. Stuff) e produce delle immagini astronomiche realistiche.
  • NFIGI è un programma che utilizza degli operatori morfologici per rimuovere "stelle parassite" dalle immagini di galassie. Sia SkyMaker che NFIGI sono parte di un progetto più grande chiamato EFIGI il cui obiettivo è quello di adottare una identificazione morfologica delle galassie; per raggiungere questo scopo si utilizzanod delle immagini sintetiche ed una robusta procedura di pulizia.

Al sito TERAPIX è possibile scaricare gratuitamente e con licenza open source tutti i files sorgenti, gli eseguibili ed i pacchetti di installazione assieme ad una vasta e dettagliata documentazione. E' inoltre possibile partecipare, previa iscrizione, al FORUM di discussione sui software ed il loro utilizzo parlando ed interagendo direttamente con il team di sviluppo.

Il sito di TERAPIX è il seguente:

http://www.terapix.iap.fr

IRAF ed ESO-MIDAS

Sono di certo i due programmi più completi ad oggi in circolazione, ma ahimè anche i più pesanti e spesso meno stabili. Il punto di partenza è operare sulle singole immagini delle normali operazioni algebriche come si fa sui numeri o sulle matrici. Ma eseguire alcuni tipi di operazioni o delle loro combinazioni può rapidamente saturare la memoria delle workstation rendendo necessario l'utilizzo dello spazio disco come area di "swap". Questo procedimento rende i processi molto pesati rispetto ad altri programmi astronomici che vengono ottimizzati per prediligere l'uso della memoria fisica del sistema ed utilizzare il meno possibile quella virtuale (spazio disco).

NOAO-IRAF IRAF in particolare sta per "Image Reduction and Analysis Facility".

La distribuzione base di IRAF include una selezione di programmi generici per la manipolazione, la riduzione e la generazione di grafici delle immagini scientifiche. A questi pacchetti base si aggiunge il pacchetto "noao", che principalmente serve alla riduzione ed alla analisi di immagini astronomiche nelle bande ottiche/IR. A questi due pacchetti si possono aggiungere una miriade di altri pacchetti esterni, facilmente installabili, che rendono disponibili diversi tipi di applicazioni per l'acquisizione e la manipolazione di immagini provenienti da altri osservatori ad altre lunghezze d'onda, come Hubble Space Telescope (ottico), EUVE (lontano UV), o ROSAT ed AXAF/Chandra (raggi X). Inoltre IRAF può essere visto come un sistema operativo all'interno del quale è possibile eseguire degli script di shell, dei programmi fortran/C. Da qualche anno si è pensato di integrare questo mastodontico programma con la sua versione in python. Python è un potentissimo linguaggio di scripting (quindi interpratato e non compilato) orientato agli oggetti che permette di estendere le funzionalità di IRAF con la sua facile implementazione. In questo senso è stata creata l'interfaccia in python ad IRAF, PyRAF che risulta molto più stabile e funzionale dell'originale.

I siti da cui è possibile trarre ulteriori informazioni e scaricare i programmi sono i seguenti:

http://iraf.noao.edu/

www.stsci.edu/resources/software_hardware/pyraf

ESO-MIDAS E'un pacchetto software sviluppato da ESO per la riduzione, l'imaging e la spettroscopia degli strumenti ai fuochi dei loro telescopi a LaSilla e Paranal.

Oltre a questi tools contiene applicazioni per la fotometria stellare e quella superficiale delle galassie, la statistica, la decomposizione e molti altri.

MIDAS è concepito per lavorare sull'assemblamento di building block basilari che eseguono singole operazioni; il tutto per permettere portabilità, stabilità facilità nell'utilizzo e nella programmazione e standards nonché tecnologia OpenSource.

Le funzionlità basilari sono il display interattivo e grafico delle immagini (librerie grafiche Astronet), il processamento generico delle immagini, una funzionalità molto utile che permette la manipolazione delle tabelle in un formato interno (MIDAS Table System); un pacchetto di fitting per calcolare i modelli e la distribuzione dei dati ed ovviamente tutti i tool necessari per permettere l'I/O dei dati su cui si lavora (fits/tabelle).

I siti da cui è possibile trarre ulteriori informazioni e scaricare i programmi sono i seguenti:

www.eso.org/sci/data-processing/software/esomidas www.eso.org/sampo/pymidas/

ECLIPSE

E'un programma sviluppato in ANSI-C per il processamento e l'analisi dei segnali e delle immagini con enfasi alle immagini IR, ottiche ed agli spettri. Eclipse non è una utility interattiva, ne vuole diventarlo, infatti viene principalmente usato da programmatori che accedono alle sue librerie C in diversi modi.

La meta principale di questo toolbox è quella di creare delle pipeline di riduzione dati principalmente per il VLT ed i suoi strumenti; infatti programmare un pipeline da zero offre virtualmente infinite possibilità di aggiungere ed ottimizzare singoli algoritmi ed inoltre si ha il completo controllo su di essi, una volta eliminati ovviamente buchi e problemi tipici di un software appena sfornato.

Il codice è robusto e stabile ed una ampia documentazione è sempre disponibile; inoltre è possibile interfacciare la libreria a linguaggi di script più accessibili ed immediati e virtualmente ogni tipo di linguaggio di programmazione scientifico (C++, Java, Python, Perl, Tcl e altri).

La gestione diretta di I/O dei file FITS viene offerta dalpacchetto qfits.

Il sito da cui è possibile trarre ulteriori informazioni e scaricare il programma e la libreria è il seguente:

www.eso.org/projects/aot/eclipse

ESO-SCISOFT Package

Scisoft è un pacchetto targato ESO che raccoglie tutti i migliori software scientifici stabili a disposizione della comunità scientifica internazionale e li rende disponibili a tutto il mondo nella versione EXPORT edition.

Esistono infatti due versioni: la IMPORT e la EXPORT, la prima comprende alcuni programmi che sono però proprietari come IDL e SM (SuperMongo), che vengono altresì distribuiti all'interno di ESO e degli istituti con licenze generalizzate; mentre nella versione EXPORT IDL è assente o unlicensed e quindi non propriamente funzionante, mentre SM è del tutto assente.

A tutti i lettori consigliamo comunque la versione EXPORT di Scisoft poiché contiene tutti i software open source pienamente funzionanti ed aggiornati, mentre scoraggiamo, come già detto precedentemente l'utilizzo di softwares proprietari come IDL e SM.

Per rafforzare il discorso, basti pensare che un programma come IDL necessita di una licenza personale (o di istituto) annuale, che quindi puntualmente scade ogni gennaio ed è molto costosa (la giustificazione apportata dalla casa del software è che la licenza serve a pagare il continuo sviluppo delle funzionalità superiori nonché il debug, nonostante l'utente medio di IDL non utilizzerà mai le funzionalità avanzate del programma ma si limiterà a quelle sviluppate 10 anni prima.

Python si presta a lavorare per oggetti e liste di oggetti, quindi dei complicati programmi proprietari come IDL e SM possono facilmente essere soppiantati da una sapiente combinazione di python supportato da librerie numarray, scipy, numPy e pyFITS e mathplotLib, arrivando ad ottenere gratis e con maggior soddisfazione le stesse, se non migliori, funzionalità di un programma con licenza.

Riportiamo la pagina principale di documentazione del contenuto software di Scisoft, lasciandola in lingua originale poiché in questo modo il lettore può comprendere il grande lavoro di assemblaggio fatto dal Team di ESO, che con Scisoft è riuscito nell'intento di avere un solo pacchetto da installare adatto al 99% delle esigenze di tutti gli astronomi.

Questo il link dei contenuti di Scisoft, di seguito elenchiamo i più significativi:

www.eso.org/sci/data-processing/software/scisoft7/Scisoft-contents.html

Sistemi per Analisi Dati

  • IRAF 2.12.2a-EXPORT
  • Eclipse 5.0
  • ESO-MIDAS 07FebPl1.0
  • PyMidas 1.0.5
  • IDL 6.3 (non incluso nella versione EXPORT)
  • Gildas (Jul2007a), applicazione di radio astronomia

Tools di Visualizzazione Immagini

  • x11iraf 1.3.1, SAOImage 1.35.1, DS9 4.0b11, Skycat 3.0.1, fv 4.4, Gaia 2.8-0 tutti programmi utilissimi di visualizzazione ed analisi del formato fits.
  • QFitsView 2.0 Rev 97, veloce FITS file viewer.

Software Grafico

  • SM 2.4.26 (Dec2002), SuperMongo, (non incluso nella versione EXPORT)
  • PGPLOT 5.2, gnuplot 4.2, ggobi 2.1.4, Matplotlib 0.90.0, Librerie Grafiche

Linguaggi di Scripting

  • Python 2.4, linguaggio interpretato di script, object orientated con le seguenti librerie incluse: Numeric 24.2, Scientific 2.4.9, RV 1.1, Imaging (PIL) 1.1.4, Pmw 1.2, pCFITSIO 0.99.2, asciidata 1.0, binascii, ipython 0.6.6, pygtk 2.10.4, scipy 0.3.2, gnuplotpy 1.7, ppgplot 1.3, biggles 1.6.4, psyco 1.4, pygame 1.7.1, cStringIO & cPickle.
  • STScI_Python 2.5, paccheto Python STScI che include: PyRAF 1.4.0, numarray 1.5.2, PyFITS 1.1, PyDrizzle 6.0.0, MultiDrizzle 3.0.0, NumPy 1.0.3
  • Java 1.5.0.11, Java runtime environment e JDK

Librerie Scientifiche

  • GSL 1.9, librerie scientifiche GNU
  • DISLIN 9.1, software per il Plotting dei dati scientifici
  • CFITSIO 3.0.30, libreria per FITS Files
  • LAPACK Release 3.1.1 ed Atlas 3.6.1, librerie per Algebra Lineare
  • FFTW 3.1.2, librerie per la trasformata Fast Fourier
  • plotutils 2.5, utility per il Plotting GNU
  • JPype 0.5.2.2, Integrazione Java to Python

Altre Utilities

  • wcstools 3.6.8, tool e libreria per il World Coordinate System
  • Terapix Software Tools, una selezione di software TERAPIX: SExtractor 2.5.0, SWarp 2.16, & WeightWatcher 1.7
  • Xephem 3.7.2, software per planetario ed efemeridi
  • dss & dss2, software per estrazione immagini dal catalogo Digitized Sky Survey
  • HyperZ 1.1, Codici per redshift fotometrici
  • Hipparcos Transit Tools, applicazioni per la simulazione del trasito di oggetti
  • DAOPhot, programma di estrazione della fotometri astellare di Peter Stetson
  • G95, compilatore di Fortran 95
  • VO Tools, altre applicazioni per accedere al Virtual Observatory

Softwares per Alte Energie

Poi ci sono alcuni tools per l'astronomia ad alte energie, visto che nei raggi X e gamma la statistica avviene per "conteggi" di fotoni, tutti i tools astronomici devono tenere opportunamente conto di questo fatto.

LHEASOFT

Il package Lheasoft del GSFC contiene molti utili programmi per l'astronomia X. XANADU è un programma multi task per spettri, timing ed imaging di varie missioni X.

FTOOLS permette di manipolare i file fits assieme alle librerie FITSIO fv è un file browser/editor di FITS coon una interfaccia molto semplice ed agevole.

XSTAR permette di ricavare e calcolare le condizioni fisiche di emissione degli spettri di gas ionizzati.

I pacchetti software Lheasoft si trovano a questo sito:

http://heasarc.gsfc.nasa.gov/lheasoft/install.html

Entrambi molto simili a quelli precedentemente trattati, ma ottimizzati per gli strumenti X.

CIAO

CIAO significa Chandra Interactive Analysis of Observations ed è un pacchetto software direttamente costruito per permettere l'analisi simultanea di N-vettori indipendenti; infatti Chandra fu il primo satellite con dati quadri-dimensionali (2 spaziali, il tempo e l'energia).

CIAO quindi riesce a gestire agevolmente dati quadri-dimensionali inserendoli in opportuni vettori e questo per ragioni di ottimizzazione delle risorse di sistema (non tutti possono avere a disposizione un supercomputer) viene fatto anche in sotto-spazi (sottoinsiemi) di dati, filtering e facendo uso del rebinning.

Il tool tiene traccia di tutti i passi eseguiti e permettono sempre di tornare ai passi precedenti senza perdita di dati.

Nel pacchetto sono presenti molti tool dedicati a singole operazioni che possono essere legati ed interconnessi tra loro: ad esempio DETECT rivela le sorgenti e può interagire con DMEXTRACT e si possono poi creare degli spettri che possono poi essere fittati ed analizzati da un altro programma che si chiama SHERPA.

SHERPA è il tool più importante e rappresenta il cuore di CIAO che permette il fit e la convoluzione di vettori n-dimensionali e con il linguaggio di scripting S-Lang si possono creare veloci pipeline di riduzione ed analisi dati.

I pacchetti software CIAO per chandra si trovano al seguente sito:

http://cxc.harvard.edu/ciao/

VisIVO

VisIVO (acronimo per Visualization Interface for the Virtual Observatory) è un software per la visualizzazione e l'analisi di dati astrofisici.

VisIVO può manipolare sia dati osservativi sia dati teorici, prodotti ad esempio da simulazioni numeriche e può anche funzionare da interfaccia al framework Virtual Observatory, da cui può scaricare i dati.

Sviluppato da INAF e CINECA e recentemente finanziato dal progetto VOTECH, sviluppato da Marco Comparato e tutto è progettato per essere compliant con le prescrizioni della comunità IVOA in cui gli sviluppatori sono direttamente inseriti.

Tramite le collaborazioni con altri enti per lo sviluppo di VisIVO sono stati prodotti altri softwares, ad esempio AstroMD, un tool di visualizzazione dedicato all'astronomia è stato sviluppato da Cosmo.Lab assieme ad AstroMAF in accordo con gli standard VO.

Oltre allo sviluppo di ulteriori applicazioni, la partnership ha permesso l'accumulo e la condivisione di esperienza lavorative e competenze eterogenee (astronomia, data management, servizi grid, sviluppo software, visualizzazione, VO paradigm) nonché delle stesse instrastrutture.

Il Paradigma Virtual Observatory

I moderni strumenti scientifici producono gigabite di dati grezzi immagini ed informazioni, quindi i super computers e le simulazioni producono atrettanti enormi quantità di dati. VisIVO nasce dalla necessità di immagazzinare, amministrare ed analizzare tutti questi dati.

La prima mossa in questo senso della comunità scientifica internazionale è stata la definizione e la creazione della comunità del Virtual Observatory (VO) che rappresenta una infrastruttura coordinata dall'alleanza internazionale IVOA.

Gli osservatori virtuali, quindi definiscono degli standards per l'accesso e la manipolazione dei dati, l'amministrazione e per la ricerca, fornendo delle applicazioni ad alto livello come portali web, programmi di visualizzazione e tools di analisi dei dati contenuti negli archivi mondiali dati.

In particolare VisIVO si occupa della visualizzazione e della analisi dei dati astrofisici che possono essere scaricati dal framework VO (tramite un server chiamato Vizier). Quindi è possibile fornire in input un qualunque formato di dati (ASCII, FITS, HDF o VOTable), il quale, dopo essere stato caricato in memoria in un supercomputer, può essere selezionato, visualizzato ed analizzato.

In particolare VisIVO può eseguire plots e manipolazione di dati multi-dimensionali, per esempio cataloghi astronomici o dati computazionali teorici, dei quali è possibile eseguire plot 2D e 3D fino a 7 variabili in contemporanea, curve di livello e quant'altro, in maniera molto veloce ed efficiente.

I siti da cui è possibile scaricare i sorgenti e gli eseguibili dei programmi sono i seguenti:

http://visivo.cineca.it/projectdescription.html http://cosmolab.cineca.it/


commenti by Disqus