Jest to funhist poleceń, który można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS
PROGRAM:
IMIĘ
funhist - utwórz histogram 1D kolumny (z tabeli binarnej FITS lub nieprzetworzonego pliku zdarzeń)
lub obraz
STRESZCZENIE
funhista [-n⎪-w⎪-T] [kolumna] [[lo:hi:]pojemniki]
OPCJE
-n # znormalizuj wartość bin o szerokość każdego bin
-w # określ szerokość kosza zamiast liczby koszy w arg3
-T # wyjście w formacie rdb/starbase (separatory tabulacji)
OPIS
funhista tworzy jednowymiarowy histogram z określonych kolumn rozszerzenia FITS
tabela binarna pliku FITS (lub z nieprzetworzonego pliku zdarzeń nie-FITS) lub z obrazu FITS lub
tablicy i zapisuje ten histogram jako tablicę ASCII. Alternatywnie program może wykonywać
projekcja 1D jednej z osi obrazu.
Pierwszy argument programu jest wymagany i określa plik Funtools: tabela FITS
lub obraz, nieprzetworzony plik zdarzeń lub tablica. Jeśli określono "stdin", dane są odczytywane z
standardowe wejście. Użyj notacji wsporników Funtools, aby określić rozszerzenia FITS i filtry.
W przypadku tabeli wymagany jest również drugi argument. Określa kolumnę do użycia w
generowanie histogramu. Jeśli plik danych jest typu obraz (lub tablica), kolumna to
opcjonalnie: jeśli określono "x" (lub "X"), "y" (lub "Y"), to projekcja jest wykonywana na
odpowiednio w osiach x (dim1) lub y (dim2). (Oznacza to, że ta projekcja da to samo
wyniki w postaci histogramu wykonanego na tabeli zawierającej równoważne wiersze zdarzeń x,y). If
nie podano nazwy kolumny lub dla obrazu podano „xy” (lub „XY”), a następnie histogram
jest wykonywana na wartościach zawartych w pikselach obrazu.
Argument, który następuje, jest opcjonalny i określa liczbę pojemników do użycia podczas tworzenia
histogram i, w razie potrzeby, zakres wartości przedziałów. W przypadku histogramów obrazów i tabel,
zakres powinien określać minimalne i maksymalne wartości danych. Dla histogramów obrazu na x i y
osi, zakres powinien określać minimalną i maksymalną wartość przedziału obrazu. Jeśli tym argumentem jest
pominięto, liczba pojemników wyjściowych dla tabeli jest obliczana na podstawie TLMIN/TLMAX
wartości nagłówków (jeśli istnieją w nagłówku tabeli FITS dla określonej kolumny) lub przez
przeglądanie danych w celu obliczenia wartości minimalnej i maksymalnej. W przypadku obrazu liczba
pojemniki wyjściowe są obliczane albo z wartości nagłówka DATAMIN/DATAMAX, albo przez przejście
poprzez dane do obliczenia wartości min i max. (Zauważ, że to ostatnie obliczenie może:
nie powiedzie się, jeśli obraz nie mieści się w pamięci.) Jeśli dane są zmiennoprzecinkowe (tabela lub
image) i liczba pojemników nie jest określona, używana jest arbitralna wartość domyślna 128.
W przypadku przetwarzania tabeli binarnej, -w (szerokość pojemnika) można użyć do określenia szerokości
każdy pojemnik, a nie liczbę pojemników. Zatem:
funhist test.ev pha 1:100:5
oznacza, że w histogramie użytych jest 5 koszy o szerokości 20, przy czym:
funhist -w test.ev pha 1:100:5
oznacza, że w histogramie używanych jest 20 koszy o szerokości 5.
Dane są dzielone na określoną liczbę pojemników i wynikający z nich histogram 1D
(lub projekcja) jest wyprowadzana w formacie tabeli ASCII. W przypadku tabeli dane wyjściowe wyświetlają
low_edge (włącznie) i hi_edge (wyłącznie) dla danych. Na przykład 15-rzędowy
tabelę zawierającą kolumnę „pha” o wartościach od -7.5 do 7.5 można przetwarzać w następujący sposób:
[sh] funhist test.ev pha
# plik danych: /home/eric/data/test.ev
# kolumna: pha
# min,maks,pojemniki: -7.5 7.5 15
wartość bin lo_edge hi_edge
------ --------- --------------------- -------------- -------
1 22 -7.50000000 -6.50000000
2 21 -6.50000000 -5.50000000
3 20 -5.50000000 -4.50000000
4 19 -4.50000000 -3.50000000
5 18 -3.50000000 -2.50000000
6 17 -2.50000000 -1.50000000
7 16 -1.50000000 -0.50000000
8 30 -0.50000000 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
# plik danych: /home/eric/data/test.ev
# kolumna: pha
# min, maks, pojemniki: 0.5 6.5 6
wartość 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 fa 1:6:3
# plik danych: /home/eric/data/test.ev
# kolumna: pha
# min, maks, pojemniki: 0.5 6.5 3
wartość bin lo_edge hi_edge
------ --------- --------------------- -------------- -------
1 33 0.50000000 2.50000000
2 37 2.50000000 4.50000000
3 41 4.50000000 6.50000000
W przypadku histogramu tabeli -n(Normalizuj) przełącznik może być używany do normalizacji wartości bin o
szerokość kosza (tzn. hi_edge-lo_edge):
[sh] funhist -n test.ev pha 1:6:3
# plik danych: test.ev
# kolumna: pha
# min, maks, pojemniki: 0.5 6.5 3
# zastosowano normalizację szerokości (val/(hi_edge-lo_edge))
wartość 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
Można to wykorzystać na przykład do wytworzenia krzywej jasności z wartościami mającymi jednostki
liczy/sekundę zamiast zliczeń.
W przypadku histogramu obrazu w danych wyjściowych są wyświetlane niskie i wysokie wartości obrazu (włącznie)
używany do generowania histogramu. Na przykład w poniższym przykładzie 184 piksele miały
wartość 1, 31 miała wartość 2, podczas gdy tylko 2 miało wartość 3,4,5,6, czyli 7:
[sh] test funhist.pasuje
# plik danych: /home/eric/data/test.fits
# min, maks, pojemniki: 1 7 7
wartość bin 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
W przypadku osiowej projekcji obrazu na wyjściu wyświetlane są kosze niskiego i wysokiego obrazu (oba
włącznie) używane do generowania projekcji. Na przykład w poniższym przykładzie 21
liczebności miały wartość X bin wynoszącą 2 itd.:
[sh] test funhista.pasuje x 2:7
# plik danych: /home/eric/data/test.fits
# kolumna: X
# min, maks, pojemniki: 2 7 6
wartość 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] test funhista.pasuje x 2:7:2
# plik danych: /home/eric/data/test.fits
# kolumna: X
# min, maks, pojemniki: 2 7 2
wartość bin lo_bin hi_bin
------ --------------------- --------------------- -- -------------------
1 60.00000000 2.00000000 4.00000000
2 51.00000000 5.00000000 7.00000000
Możesz użyć gnuplot lub innych programów do kreślenia, aby wykreślić wyniki, używając skryptu takiego jak
jako:
#!/ Bin / sh
sed -e '1,/---- .*/d
/^$/,$d' ⎪
och
BEGIN{print "ustaw nokey; ustaw tytuł "funhist"; ustaw xlabel "bin"; ustaw ylabel "liczba"; działka "-" z polami"}
{wydrukuj 3 USD, 2 USD, 4 USD-3 USD}' ⎪
gnuplot -persist - 1>/dev/null 2>&1
W skrypcie znajdują się podobne polecenia fabuły fabuła:
funhist test.ev pha ... ⎪ funhist.plot gnuplot
Korzystaj z funhist online za pomocą usług onworks.net