Questo è il comando funhist che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici postazioni di lavoro online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
funhist - crea un istogramma 1D di una colonna (da una tabella binaria FITS o da un file evento raw)
o un'immagine
SINOSSI
funhista [-n⎪-w⎪-T] [colonna] [[lo:hi:]bidoni]
VERSIONI
-n # normalizza il valore del bin in base alla larghezza di ciascun bin
-w # specifica la larghezza del bin invece del numero di bin in arg3
-T # output in formato rdb/starbase (separatori di tabulazione)
DESCRIZIONE
funhista crea un istogramma unidimensionale dalle colonne specificate di un'estensione FITS
tabella binaria di un file FITS (o da un file evento raw non FITS), o da un'immagine FITS o
array e scrive quell'istogramma come tabella ASCII. In alternativa, il programma può eseguire
una proiezione 1D di uno degli assi dell'immagine.
Il primo argomento del programma è obbligatorio e specifica il file Funtools: tabella FITS
o immagine, file evento non elaborato o array. Se viene specificato "stdin", i dati vengono letti dal
ingresso standard. Usa la notazione tra parentesi di Funtools per specificare le estensioni FITS e i filtri.
Per una tabella è richiesto anche il secondo argomento. Specifica la colonna da usare in
generando l'istogramma. Se il file di dati è di tipo image (o array), la colonna è
opzionale: se si specifica "x" (o "X"), "y" (o "Y"), viene eseguita una proiezione su
gli assi x (dim1) o y (dim2), rispettivamente. (Cioè, questa proiezione darà lo stesso
risulta come un istogramma eseguito su una tabella contenente le righe di eventi x,y equivalenti.) Se
non viene specificato alcun nome di colonna o viene specificato "xy" (o "XY") per l'immagine, quindi un istogramma
viene eseguita sui valori contenuti nei pixel dell'immagine.
L'argomento che segue è facoltativo e specifica il numero di bin da utilizzare nella creazione
l'istogramma e, se desiderato, l'intervallo dei valori bin. Per gli istogrammi di immagini e tabelle,
l'intervallo dovrebbe specificare i valori di dati minimo e massimo. Per istogrammi di immagine su x e y
assi, l'intervallo dovrebbe specificare i valori minimo e massimo del contenitore di immagini. Se questo argomento è
omesso, il numero di bin di output per una tabella viene calcolato da TLMIN/TLMAX
valori delle intestazioni (se esistono nell'intestazione FITS della tabella per la colonna specificata) o da
passando attraverso i dati per calcolare il valore minimo e massimo. Per un'immagine, il numero di
i bin di output vengono calcolati dai valori dell'intestazione DATAMIN/DATAMAX o andando
attraverso i dati per calcolare il valore minimo e massimo. (Si noti che quest'ultimo calcolo potrebbe
fallisce se l'immagine non può essere inserita in memoria.) Se i dati sono in virgola mobile (tabella o
image) e il numero di bin non è specificato, viene utilizzato un valore predefinito arbitrario di 128.
Per l'elaborazione di tabelle binarie, il -w (larghezza contenitore) può essere utilizzato per specificare la larghezza di
ogni bin anziché il numero di bin. Così:
funhist test.ev pha 1:100:5
significa che nell'istogramma vengono utilizzati 5 bin di larghezza 20, mentre:
funhist -w test.ev pha 1:100:5
significa che nell'istogramma vengono utilizzati 20 bin di larghezza 5.
I dati vengono suddivisi nel numero specificato di bin e nell'istogramma 1D risultante
(o proiezione) viene emesso in formato tabella ASCII. Per una tabella, l'output visualizza il
valori low_edge (inclusivo) e hi_edge (esclusivo) per i dati. Ad esempio, 15 righe
tabella contenente una colonna "pha" i cui valori vanno da -7.5 a 7.5 può essere elaborata così:
[sh] funhist test.ev pha
# file di dati: /home/eric/data/test.ev
# colonna: pha
# min, max, contenitori: -7.5 7.5 15
valore bin lo_edge hi_edge
------ --------- --------------------- -------------- -------
1-22-7.50000000
2-21-6.50000000
3-20-5.50000000
4-19-4.50000000
5-18-3.50000000
6-17-2.50000000
7-16-1.50000000
8 30-0.50000000
9 16 0.50000000 1.50000000
10 17 1.50000000 2.50000000
11 18 2.50000000 3.50000000
12 19 3.50000000 4.50000000
13 20 4.50000000 5.50000000
14 21 5.50000000 6.50000000
15 22 6.50000000 7.50000000
[sh] funhist test.ev pha 1:6
# file di dati: /home/eric/data/test.ev
# colonna: pha
# min, max, contenitori: 0.5 6.5 6
valore bin lo_edge hi_edge
------ --------- --------------------- -------------- -------
1 16 0.50000000 1.50000000
2 17 1.50000000 2.50000000
3 18 2.50000000 3.50000000
4 19 3.50000000 4.50000000
5 20 4.50000000 5.50000000
6 21 5.50000000 6.50000000
[sh] funhist test.ev pha 1:6:3
# file di dati: /home/eric/data/test.ev
# colonna: pha
# min, max, contenitori: 0.5 6.5 3
valore bin lo_edge hi_edge
------ --------- --------------------- -------------- -------
1 33 0.50000000 2.50000000
2 37 2.50000000 4.50000000
3 41 4.50000000 6.50000000
Per un istogramma tabellare, il -n(normalizza) l'interruttore può essere utilizzato per normalizzare il valore del bin di
la larghezza del cestino (ad es. hi_edge-lo_edge):
[sh] funhist -n test.ev pha 1:6:3
# file di dati: test.ev
# colonna: pha
# min, max, contenitori: 0.5 6.5 3
# viene applicata la normalizzazione della larghezza (val/(hi_edge-lo_edge))
valore bin lo_edge hi_edge
------ --------------------- --------------------- -- -------------------
1 16.50000000 0.50000000 2.50000000
2 6.16666667 2.50000000 4.50000000
3 4.10000000 4.50000000 6.50000000
Questo potrebbe essere utilizzato, ad esempio, per produrre una curva di luce con valori aventi unità di
conta/secondo invece di conteggi.
Per un istogramma dell'immagine, l'output mostra i valori dell'immagine basso e alto (entrambi inclusi)
utilizzato per generare l'istogramma. Ad esempio, nell'esempio seguente, 184 pixel avevano un
il valore di 1, 31 aveva un valore di 2, mentre solo 2 aveva un valore di 3,4,5,6 o 7:
[sh] funhist test.fits
# file di dati: /home/eric/data/test.fits
# min, max, contenitori: 1 7 7
bin valore lo_val hi_val
------ --------------------- --------------------- -- -------------------
1 184.00000000 1.00000000 1.00000000
2 31.00000000 2.00000000 2.00000000
3 2.00000000 3.00000000 3.00000000
4 2.00000000 4.00000000 4.00000000
5 2.00000000 5.00000000 5.00000000
6 2.00000000 6.00000000 6.00000000
7 2.00000000 7.00000000 7.00000000
Per la proiezione dell'asse di un'immagine, l'output visualizza i bin immagine basso e alto (entrambi
inclusi) utilizzato per generare la proiezione. Ad esempio, nell'esempio seguente, 21
i conteggi avevano il loro valore X bin di 2, ecc.:
[sh] funhist test.fit x 2:7
# file di dati: /home/eric/data/test.fits
# colonna: X
# min, max, contenitori: 2 7 6
valore bin lo_bin hi_bin
------ --------------------- --------------------- -- -------------------
1 21.00000000 2.00000000 2.00000000
2 20.00000000 3.00000000 3.00000000
3 19.00000000 4.00000000 4.00000000
4 18.00000000 5.00000000 5.00000000
5 17.00000000 6.00000000 6.00000000
6 16.00000000 7.00000000 7.00000000
[sh] funhist test.fits x 2:7:2
# file di dati: /home/eric/data/test.fits
# colonna: X
# min, max, contenitori: 2 7 2
valore bin lo_bin hi_bin
------ --------------------- --------------------- -- -------------------
1 60.00000000 2.00000000 4.00000000
2 51.00000000 5.00000000 7.00000000
Puoi usare gnuplot o altri programmi di plottaggio per rappresentare graficamente i risultati, usando uno script come
come:
#!/bin/sh
sed -e '1,/---- .*/d
/^$/,$d' ⎪ \
awk '\
BEGIN{print "set nokey; set title \"funhist\"; set xlabel \"bin\"; set ylabel \"counts\"; plot \"-\" con caselle"} \
{stampa $3, $2, $4-$3}' ⎪ \
gnuplot -persist - 1>/dev/null 2>&1
Comandi di trama simili sono forniti nello script trama.divertente:
funhist test.ev pha ... ⎪ funhist.plot gnuplot
Usa funhist online utilizzando i servizi onworks.net