IRAF
Image Reduction and Analysis Facility Paola Focardi A.A. 2011/12
IRAF è un pacchetto software per la riduzione e l'analisi di immagini e spettri redatto dal NOAO (National Optical Astronomy Observatory) un consorzio nato nel 1982 per coordinare osservatori astronomici ottici. Fanno parte di NOAO il KPNO (Kitt Peak National Observatory) Il CTIO (Cerro Tololo International Observatory) e il Gemini Science Center.
In continua evoluzione (comandi e pacchetti che vengono aggiunti per soddisfare le esigenze degli utenti e per restare al passo con la strumentazione), IRAF è probabilmente il software più utilizzato e anche più verificato (tested) ed è disponibile gratuitamente al sito iraf.noao.edu.
Una volta installato, per rendere “attivo” IRAF è necessario eseguire il comando mkiraf (make IRAF). Questo comando va eseguito soltanto una volta (in concomitanza col primo utilizzo di IRAF) .
Controlliamo se mkiraf è già stato eseguito oppure no:
Se nel directory ove ci troviamo (home) esiste già il file login.cl e un sub directory uparm non dobbiamo eseguire mkiraf.
In caso contrario digitiamo mkiraf e alla domanda initialize uparm ? Rispondiamo y.
Se ci viene chiesto terminal type? Rispondiamo xgterm
Apriamo il login.cl con un editor di file e modifichiamo l' assegnazione logica del file imdir.
(imdir sta per images directory, indica il directory dove vengono depositate le immagini).
Normalmente nel login.cl imdir e la home hanno assegnazioni logiche diverse, diamo ad imdir la stessa assegnazione della home,
Per accedere all' ambiente IRAF bisogna digitare l'istruzione cl (command language). Il cl deve essere eseguito dal directory in cui si trova il login.cl. Potremo cambiare directory da dentro IRAF successivamente utilizzando il comando cd .
Prima di lanciare cl è opportuno aprire un terminale grafico col comando xgterm ed un terminale pittorico col comando ds9. E' conveniente scrivere xgterm & e ds9 & in quanto la & significa che il processo di apertura delle due finestre è eseguito in background lasciando così libera (utilizzabile) la finestra terminale (se si omette la & la finestra terminale rimane “alloccata” ).
Dal terminale grafico (quello bianco, xgterm) daremo cl ed entreremo finalmente in IRAF.
La struttura di IRAF è modulare: i comandi sono raggruppati in pacchetti. Ciascun pacchetto contiene una serie di comandi fra loro correlati. Per esempio nel pacchetto plot troviamo una serie di comandi per la rappresentazione grafica delle immagini.
Al nostro ingresso in IRAF ci troviamo in cl. Lo sappiamo perchè ci compare il prompt: cl>
se digitiamo il ? otteniamo una lista dei nomi dei pacchetti accessibili che sono:
dataio. images. lists. obsolete. proto. system.
dbms. language. noao. plot. softools. Utilities.
se digitiamo help otteniamo una lista più dettagliata dei pacchetti ossia:
dataio Data format conversion package (RFITS, etc.)
dbms Database management package (not yet implemented) images General image processing package
language The command language itself lists List processing package local The template local package obsolete Obsolete tasks
noao The NOAO optical astronomy packages plot Plot package
proto Prototype or interim tasks softools Software tools package system System utilties package
utilities Miscellaneous utilities package se digitiamo help images otteniamo
clpackage.images:
imcoords Image coordinates package imfilter Image filtering package imfit Image fitting package
imgeom Image geometric transformation package immatch Image matching and combining package imutil Image utilities package
tv Image display utilities package
ognuno di questi è un pacchetto per cui se voglio sapere quali comandi sono disponibili in imutil digitando help imutil ottengo:
images.imutil:
chpixtype Change the pixel type of a list of images hedit Header editor
hselect Select a subset of images satisfying a boolean expression imarith Simple image arithmetic
imcopy Copy an image
imdelete Delete a list of images
imdivide Image division with zero checking and rescaling imexpr Evaluate a general image expression
imfunction Apply a single argument function to a list of images
imgets Return the value of an image header parameter as a string imheader Print an image header
imhistogram Compute and plot or print an image histogram imjoin Join images along a given dimension
imrename Rename one or more images
imreplace Replace a range of pixel values with a constant imslice Slice images into images of lower dimension
imstack Stack images into a single image of higher dimension imsum Compute the sum, average, or median of a set of images imtile Tile same sized 2D images into a 2D mosaic
imstatistics Compute and print statistics for a list of images listpixels Convert an image section into a list of pixels
minmax Compute the minimum and maximum pixel values in an image
sections Expand an image template on the standard output
Per poter utilizzare i comandi del pacchetto imutil devo digitare images e poi imutil.
Per tornare in cl devo scrivere bye 2 volte (ad ogni bye si sale di un livello).
Per uscire da IRAF : logout da dovunque ci si trovi.
Se dal prompt cl>digitiamo ?? otteniamo l'elenco di tutti i pacchetti e comandi disponibili in IRAF.
Alcuni comandi Linux (per esempio ls) sono noti in IRAF altri no. Possiamo utilizzare i comandi linux anteponendo ad essi il !.
ESERCIZIO 1:
Generare un file chiamato irafcommands.lis che contenga tutti i comandi di IRAF. (Per poter svolgere questo esercizio è necessario sapere come indirizzare l'output da video ad un file in Linux).
Se cerchiamo un comando IRAF ma non ricordiamo dove si trova (all'interno di quale sotto pacchetto) possiamo utilizzare il comando references seguito dal nome del comando. (In realtà, poichè in IRAF bastano le prime 4 lettere per identificare un comando sarà sufficiente digitare refe seguito dal nome del comando)
Se non ricordiamo il nome del comando ma soltanto l'argomento, refe seguito dal nome dell'argomento ci indica tutti i comandi che hanno a che fare con esso.
ESERCIZIO 2:
Utilizzando references (refe) cercate tutti i comandi IRAF che hanno a che fare con le immagini.
Create un file (imagecommand.lis) che contenga l'elenco di questi comandi.
________________________________________________________________
ESERCIZIO 3:
Scaricate tutti i file che iniziano con ser (attenzione alla lettera minuscola “s”, sono gli ultimi 10 file della lista) e che si trovano in
http://gbm.bo.astro.it/paola/didattica/AA20112012/tada/lab.
Il formato di questi file è il FITS (Flexible Image Transport System) è un formato standard per immagini astronomiche.
Un' immagine FITS è costituita di due parti: l' header che contiene le informazioni (data di osservazioni, identificatore dell'oggetto, tempo di esposizione, ecc.) e la parte che contiene i dati.
ESERCIZIO 4:
Uso di ds9
La finestra pittorica ds9 viene utilizzata da IRAF ma funziona anche indipendentemente da esso.
Uscite da IRAF e caricate su ds9 le 10 immagini (una alla volta). Esaminatele e cercate di capire che tipo di immagini sono. Per visualizzarle al meglio dovete agire sul comando scale parameters che trovate in scale.
Cosa fa questo comando ? Spiegate.
Quali fra queste immagini sono quelle nella banda B ? E perchè?
Agendo sul comando display fits header che trovate all'interno di file potete visualizzare l' header di ciascun file. L' header contiene una serie di informazioni sull'immagine.
ESERCIZIO 5:
Uso di ds9 da IRAF
Rientrate in IRAF. Per pilotare ds9 da IRAF dovete usare il comando display (disp).
Trovate da dove è accessibile display.
I comandi di IRAF possono essere eseguiti in 2 modi:
1) in linea > disp seguito dal nome del file che contiene l'immagine, 2) “aprendo il comando” > epar disp
(epar sta per edit parameters, disp sta per display)
epar permette di vedere tutti i parametri di ciascun comando. Quelli inclusi fra parentesi quadre ( [ ] ) sono opzionali, gli altri sono obbligatori.
Per uscire da epar :q
Per mandare in esecuzione il comando da epar :go
Se eseguite il comando display in modalità linea non vedete quasi nulla (i cut dell'immagine non sono ottimali) e oltretutto non potete agire sul comando scale di ds9 perchè disp lo ha disabilitato.
Su quali parametri di disp bisogna agire per ottenere la visualizzazione ottimale dell'immagine ??
Trovate i parametri e modificateli all'interno di disp (utilizzando epar disp).
Come vedrete epar modifica il contenuto del comando sostituendo quelli che sono i parametri di default. Per questo motivo è preferibile eseguire i comandi in linea scrivendo ad esempio disp nomefile nomeparametro1=valore1 nomeparametro2=valore2 ecc.
Se preferite la modalità epar potete comunque ripristinare i valori di default col comando unlearn (es. unlearn disp) .
ESERCIZIO 6:
Imexamine
Scegliete un immagine, caricatela su ds9 con disp in modo che sia visibile al meglio. Lanciate il comando imex (imexamine)
Puntate una stella e digitate s osservate il profilo di superficie, ora digitate r osservate il profilo radiale.
Utilizzando s o r riuscite ad identificare le stelle sature ? Spiegate.
Osservate il profilo radiale di una stella. Riuscite a determinarne FWHM ed estensione ? Misurate il profilo radiale di 56 stelle non sature. Determinate il seeing medio (FWHM) in pixel.
Quando avete il seeing medio (in pixel) ricordate che 1 pixel = 19 micron e che F =12 m (telescopio di Loiano).
Utilizzando queste informazioni potete ottenere il seeing medio della notte in arc sec.
ESERCIZIO 7:
L'header
Trovate il comando IRAF che permette di visualizzare l'header dell'immagine e il comando che permette di modificarlo.
Inserite il valore del seeing medio che avete misurato all'esercizio 6 in una nuova keyword dell'header dell'immagine. (nome della keyword seeing)