funhist - Online sa Cloud

Ito ang command funhist na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


funhist - lumikha ng 1D histogram ng isang column (mula sa FITS binary table o raw event file)
o isang imahe

SINOPSIS


funhist [-n⎪-w⎪-T] [column] [[lo:hi:]bins]

Opsyon


-n # gawing normal ang halaga ng bin ayon sa lapad ng bawat bin
-w # tukuyin ang lapad ng bin sa halip na bilang ng mga bin sa arg3
-T # na output sa rdb/starbase na format (mga separator ng tab)

DESCRIPTION


funhist lumilikha ng isang one-dimensional na histogram mula sa mga tinukoy na column ng isang FITS Extension
binary table ng isang FITS file (o mula sa isang non-FITS raw na file ng kaganapan), o mula sa isang FITS na imahe o
array, at isinulat ang histogram na iyon bilang isang talahanayan ng ASCII. Bilang kahalili, maaaring gumanap ang programa
isang 1D projection ng isa sa mga axes ng imahe.

Ang unang argumento sa programa ay kinakailangan, at tinutukoy ang Funtools file: FITS table
o larawan, raw event file, o array. Kung tinukoy ang "stdin", babasahin ang data mula sa
karaniwang input. Gamitin ang Funtools Bracket Notation upang tukuyin ang mga FITS extension, at mga filter.

Para sa isang talahanayan, ang pangalawang argumento ay kinakailangan din. Tinutukoy nito ang column na gagamitin
pagbuo ng histogram. Kung ang data file ay nasa uri ng imahe (o array), ang column ay
opsyonal: kung ang "x" (o "X"), "y" (o "Y") ay tinukoy, pagkatapos ay isasagawa ang projection
ang x (dim1) o y (dim2) axes, ayon sa pagkakabanggit. (Ibig sabihin, ang projection na ito ay magbibigay ng pareho
mga resulta bilang isang histogram na isinagawa sa isang talahanayan na naglalaman ng katumbas na x,y na mga hilera ng kaganapan.) Kung
walang tinukoy na pangalan ng column o tinukoy ang "xy" (o "XY") para sa larawan, pagkatapos ay isang histogram
ay ginaganap sa mga halagang nakapaloob sa mga pixel ng imahe.

Ang argumento na kasunod ay opsyonal at tinutukoy ang bilang ng mga bin na gagamitin sa paggawa
ang histogram at, kung ninanais, ang hanay ng mga halaga ng bin. Para sa mga histogram ng larawan at talahanayan,
dapat tukuyin ng saklaw ang min at max na mga halaga ng data. Para sa mga histogram ng imahe sa x at y
axes, dapat tukuyin ng range ang min at max na mga value ng bin ng imahe. Kung ang argumentong ito ay
tinanggal, ang bilang ng mga output bin para sa isang talahanayan ay kinakalkula alinman mula sa TLMIN/TLMAX
mga halaga ng mga header (kung mayroon ang mga ito sa table na FITS header para sa tinukoy na column) o ni
dumadaan sa data upang kalkulahin ang min at max na halaga. Para sa isang imahe, ang bilang ng
ang mga output bin ay kinakalkula mula sa DATAMIN/DATAMAX na mga halaga ng header, o sa pamamagitan ng pagpunta
sa pamamagitan ng data upang makalkula ang min at max na halaga. (Tandaan na ang huling pagkalkula na ito ay maaaring
mabibigo kung ang imahe ay hindi maaaring magkasya sa memorya.) Kung ang data ay lumulutang na punto (talahanayan o
larawan) at ang bilang ng mga bin ay hindi tinukoy, isang arbitrary na default na 128 ang ginagamit.

Para sa pagproseso ng binary table, ang -w (lapad ng bin) switch ay maaaring gamitin upang tukuyin ang lapad ng
bawat lalagyan sa halip na ang bilang ng mga lalagyan. kaya:

funhist test.ev pha 1:100:5

nangangahulugan na 5 bin na may lapad na 20 ang ginagamit sa histogram, habang:

funhist -w test.ev pha 1:100:5

nangangahulugan na 20 bin na may lapad na 5 ang ginagamit sa histogram.

Ang data ay nahahati sa tinukoy na bilang ng mga bin at ang nagresultang 1D histogram
(o projection) ay output sa ASCII na format ng talahanayan. Para sa isang talahanayan, ipinapakita ng output ang
low_edge (inclusive) at hi_edge (exclusive) value para sa data. Halimbawa, isang 15-row
talahanayan na naglalaman ng column na "pha" na ang mga halaga ay mula -7.5 hanggang 7.5 ay maaaring iproseso nang ganito:

[sh] funhist test.ev pha
# file ng data: /home/eric/data/test.ev
# column: pha
# min, max, bin: -7.5 7.5 15

bin value 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
# file ng data: /home/eric/data/test.ev
# column: pha
# min, max, bin: 0.5 6.5 6

bin value 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 ng data: /home/eric/data/test.ev
# column: pha
# min, max, bin: 0.5 6.5 3

bin value lo_edge hi_edge
------ --------- --------------------- -------------- -------
1 33 0.50000000 2.50000000
2 37 2.50000000 4.50000000
3 41 4.50000000 6.50000000

Para sa isang table histogram, ang -n(normalize) switch ay maaaring gamitin upang gawing normal ang bin value sa pamamagitan ng
ang lapad ng bin (ibig sabihin, hi_edge-lo_edge):

[sh] funhist -n test.ev pha 1:6:3
# file ng data: test.ev
# column: pha
# min, max, bin: 0.5 6.5 3
# width normalization (val/(hi_edge-lo_edge)) ang inilapat

bin value 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

Ito ay maaaring gamitin, halimbawa, upang makabuo ng isang light curve na may mga halaga na may mga yunit ng
bilang/segundo sa halip na bilang.

Para sa isang histogram ng imahe, ipinapakita ng output ang mababa at mataas na mga halaga ng imahe (parehong kasama)
ginamit upang makabuo ng histogram. Halimbawa, sa sumusunod na halimbawa, 184 pixels ay may a
value ng 1, 31 ay may value na 2, habang 2 lang ang may value na 3,4,5,6, o 7:

[sh] funhist test.fits
# file ng data: /home/eric/data/test.fits
# min, max, bin: 1 7 7

bin value 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

Para sa axis projection ng isang imahe, ipinapakita ng output ang mababa at mataas na mga bin ng imahe (parehong
inclusive) na ginagamit upang makabuo ng projection. Halimbawa, sa sumusunod na halimbawa, 21
ang mga bilang ay mayroong X bin na halaga na 2, atbp.:

[sh] funhist test.fits x 2:7
# file ng data: /home/eric/data/test.fits
# column: X
# min, max, bin: 2 7 6

bin halaga 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 ng data: /home/eric/data/test.fits
# column: X
# min, max, bin: 2 7 2

bin halaga lo_bin hi_bin
------ ---------------------- ---------------------- -- -------------------
1 60.00000000 2.00000000 4.00000000
2 51.00000000 5.00000000 7.00000000

Maaari kang gumamit ng gnuplot o iba pang mga programa sa pag-plot upang i-graph ang mga resulta, gamit ang isang script tulad nito
bilang:

#!/ Bin / SH
sed -e '1,/---- .*/d
/^$/,$d' ⎪
awk '
BEGIN{print "set nokey; set title \"funhist\"; set xlabel \"bin\"; set ylabel \"counts\"; plot \"-\" with boxes"}
{print $3, $2, $4-$3}' ⎪
gnuplot -perist - 1>/dev/null 2>&1

Ang mga katulad na utos ng plot ay ibinibigay sa script funhist.plot:

funhist test.ev pha ... ⎪ funhist.plot gnuplot

Gumamit ng funhist online gamit ang mga serbisyo ng onworks.net



Pinakabagong Linux at Windows online na mga programa