ນີ້ແມ່ນການ funhist ຄໍາສັ່ງທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍສະຖານີເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS emulator ອອນໄລນ໌.
ໂຄງການ:
NAME
funhist - ສ້າງ histogram 1D ຂອງຖັນ (ຈາກຕາຕະລາງຄູ່ FITS ຫຼືໄຟລ໌ເຫດການດິບ)
ຫຼືຮູບພາບ
ສະຫຼຸບສັງລວມ
ມ່ວນ [-n⎪-w⎪-T] [ຖັນ] [[lo:hi:]bins]
OPTIONS
-n # normalize ຄ່າ bin ໂດຍຄວາມກວ້າງຂອງແຕ່ລະຖັງ
-w # ລະບຸຄວາມກວ້າງຂອງ bin ແທນຈໍານວນຂອງ bins ໃນ arg3
-T # ຜົນຜະລິດໃນຮູບແບບ rdb/starbase (ຕົວແຍກແຖບ)
ລາຍລະອຽດ
ມ່ວນ ສ້າງ histogram ມິຕິມິຕິໜຶ່ງຈາກຖັນທີ່ລະບຸຂອງສ່ວນຂະຫຍາຍ FITS
ຕາຕະລາງຄູ່ຂອງໄຟລ໌ FITS (ຫຼືຈາກໄຟລ໌ເຫດການທີ່ບໍ່ແມ່ນ FITS raw), ຫຼືຈາກຮູບພາບ FITS ຫຼື
array, ແລະຂຽນ histogram ນັ້ນເປັນຕາຕະລາງ ASCII. ອີກທາງເລືອກ, ໂຄງການສາມາດປະຕິບັດໄດ້
ການຄາດຄະເນ 1D ຂອງຫນຶ່ງໃນແກນຮູບພາບ.
ການໂຕ້ຖຽງທໍາອິດກັບໂຄງການແມ່ນຕ້ອງການ, ແລະກໍານົດໄຟລ໌ Funtools: ຕາຕະລາງ FITS
ຫຼືຮູບພາບ, ໄຟລ໌ເຫດການດິບ, ຫຼືອາເຣ. ຖ້າ "stdin" ຖືກລະບຸ, ຂໍ້ມູນຈະຖືກອ່ານຈາກ
ວັດສະດຸປ້ອນມາດຕະຖານ. ໃຊ້ Funtools Bracket Notation ເພື່ອລະບຸສ່ວນຂະຫຍາຍ FITS ແລະຕົວກອງ.
ສໍາລັບຕາຕະລາງ, ການໂຕ້ຖຽງທີສອງແມ່ນຕ້ອງການ. ມັນກໍານົດຄໍລໍາທີ່ຈະໃຊ້ໃນ
ການສ້າງ histogram. ຖ້າໄຟລ໌ຂໍ້ມູນເປັນປະເພດຮູບພາບ (ຫຼື array), ຖັນແມ່ນ
ທາງເລືອກ: ຖ້າ "x" (ຫຼື "X"), "y" (ຫຼື "Y") ຖືກລະບຸ, ຫຼັງຈາກນັ້ນການຄາດຄະເນແມ່ນດໍາເນີນໄປ.
ແກນ x (dim1) ຫຼື y (dim2) ຕາມລໍາດັບ. (ນັ້ນແມ່ນ, ການຄາດຄະເນນີ້ຈະໃຫ້ຄືກັນ
ຜົນໄດ້ຮັບເປັນ histogram ປະຕິບັດຢູ່ໃນຕາຕະລາງທີ່ມີແຖວເຫດການ x,y ທຽບເທົ່າ.) ຖ້າ
ບໍ່ມີການລະບຸຊື່ຖັນ ຫຼື "xy" (ຫຼື "XY") ຖືກລະບຸສໍາລັບຮູບພາບ, ຫຼັງຈາກນັ້ນເປັນ histogram
ຖືກປະຕິບັດຢູ່ໃນຄ່າທີ່ມີຢູ່ໃນ pixels ຮູບພາບ.
ການໂຕ້ຖຽງທີ່ຕໍ່ໄປນີ້ແມ່ນທາງເລືອກແລະລະບຸຈໍານວນຖັງທີ່ຈະໃຊ້ໃນການສ້າງ
histogram ແລະ, ຖ້າຕ້ອງການ, ຂອບເຂດຂອງຄ່າ bin. ສໍາລັບຮູບພາບແລະ histograms ຕາຕະລາງ,
ໄລຍະຄວນລະບຸຄ່າຂໍ້ມູນຕໍ່າສຸດ ແລະສູງສຸດ. ສໍາລັບ histograms ຮູບພາບໃນ x ແລະ y
ແກນ, ໄລຍະຄວນລະບຸຄ່າ min ແລະ max image bin. ຖ້າການໂຕ້ຖຽງນີ້ແມ່ນ
ຍົກເວັ້ນ, ຈຳນວນຂອງຖັງເກັບຂໍ້ມູນສຳລັບຕາຕະລາງແມ່ນຄຳນວນຈາກ TLMIN/TLMAX
ຄ່າ headers (ຖ້າສິ່ງເຫຼົ່ານີ້ມີຢູ່ໃນຕາຕະລາງ FITS header ສໍາລັບຖັນທີ່ລະບຸ) ຫຼືໂດຍ
ຜ່ານຂໍ້ມູນເພື່ອຄິດໄລ່ຄ່າ min ແລະ max. ສໍາລັບຮູບພາບ, ຈໍານວນຂອງ
ຖັງຜົນຜະລິດຖືກຄິດໄລ່ຈາກຄ່າສ່ວນຫົວຂອງ DATAMIN/DATAMAX, ຫຼືໂດຍການໄປ
ຜ່ານຂໍ້ມູນເພື່ອຄິດໄລ່ຄ່າ min ແລະສູງສຸດ. (ໃຫ້ສັງເກດວ່າການຄິດໄລ່ສຸດທ້າຍນີ້ອາດຈະ
ລົ້ມເຫລວຖ້າຮູບພາບບໍ່ສາມາດເຫມາະໃນຫນ່ວຍຄວາມຈໍາ.) ຖ້າຂໍ້ມູນແມ່ນຈຸດລອຍ (ຕາຕະລາງຫຼື
ຮູບພາບ) ແລະຈໍານວນຂອງ bins ແມ່ນບໍ່ໄດ້ລະບຸໄວ້, ເປັນຄ່າເລີ່ມຕົ້ນທີ່ຕົນເອງຂອງ 128 ໄດ້ຖືກນໍາໃຊ້.
ສໍາລັບການປຸງແຕ່ງຕາຕະລາງຄູ່, ໄດ້ -w (bin width) ສະຫຼັບສາມາດໃຊ້ເພື່ອກໍານົດຄວາມກວ້າງຂອງ
ແຕ່ລະຖັງຫຼາຍກວ່າຈໍານວນຖັງ. ດັ່ງນັ້ນ:
funhist test.ev pha 1:100:5
ຫມາຍຄວາມວ່າ 5 bins ຂອງ width 20 ຖືກນໍາໃຊ້ໃນ histogram, ໃນຂະນະທີ່:
funhist -w test.ev pha 1:100:5
ຫມາຍຄວາມວ່າ 20 bins ຂອງ width 5 ຖືກນໍາໃຊ້ໃນ histogram.
ຂໍ້ມູນຖືກແບ່ງອອກເປັນຈໍານວນຖັງຂີ້ເຫຍື້ອທີ່ລະບຸໄວ້ ແລະເປັນ histogram 1D ທີ່ໄດ້ຮັບຜົນ
(ຫຼືການຄາດຄະເນ) ແມ່ນຜົນຜະລິດໃນຮູບແບບຕາຕະລາງ ASCII. ສໍາລັບຕາຕະລາງ, ຜົນຜະລິດຈະສະແດງ
low_edge (ລວມ) ແລະ hi_edge (ສະເພາະ) ຄ່າສໍາລັບຂໍ້ມູນ. ຕົວຢ່າງ, 15 ແຖວ
ຕາຕະລາງທີ່ມີຖັນ "pha" ທີ່ມີຄ່າຕັ້ງແຕ່ -7.5 ຫາ 7.5 ສາມາດປະມວນຜົນໄດ້ດັ່ງນີ້:
[sh] funhist test.ev pha
# ໄຟລ໌ຂໍ້ມູນ: /home/eric/data/test.ev
# ຖັນ: pha
# min,max,bins: -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
໑໐ ໗ -໑໐ ໑໑
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 ຟາ 1:6
# ໄຟລ໌ຂໍ້ມູນ: /home/eric/data/test.ev
# ຖັນ: pha
# min,max,bins: 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
# ໄຟລ໌ຂໍ້ມູນ: /home/eric/data/test.ev
# ຖັນ: pha
# min,max,bins: 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
ສໍາລັບ histogram ຕາຕະລາງ, the -n(normalize) ສະຫຼັບສາມາດຖືກນໍາໃຊ້ເພື່ອປົກກະຕິຄ່າຖັງໄດ້ໂດຍ
ຄວາມກວ້າງຂອງຖັງຂີ້ເຫຍື້ອ (ເຊັ່ນ: hi_edge-lo_edge):
[sh] funhist -n test.ev ຟາ 1:6:3
# ໄຟລ໌ຂໍ້ມູນ: test.ev
# ຖັນ: pha
# min,max,bins: 0.5 6.5 3
# ການເຮັດໃຫ້ຄວາມກວ້າງປົກກະຕິ (val/(hi_edge-lo_edge)) ຖືກນຳໃຊ້
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
ນີ້ສາມາດໃຊ້, ສໍາລັບການຍົກຕົວຢ່າງ, ເພື່ອຜະລິດເສັ້ນໂຄ້ງແສງສະຫວ່າງທີ່ມີຄ່າທີ່ມີຫນ່ວຍງານ
ນັບ/ວິນາທີ ແທນການນັບ.
ສໍາລັບ histogram ຮູບພາບ, ຜົນໄດ້ຮັບສະແດງຄ່າຮູບພາບຕ່ໍາແລະສູງ (ທັງສອງລວມ)
ໃຊ້ເພື່ອສ້າງ histogram. ຕົວຢ່າງ, ໃນຕົວຢ່າງຕໍ່ໄປນີ້, 184 pixels ມີ a
ຄ່າຂອງ 1, 31 ມີມູນຄ່າ 2, ໃນຂະນະທີ່ພຽງແຕ່ 2 ມີມູນຄ່າ 3,4,5,6, ຫຼື 7:
[sh] funhist test.fits
# ໄຟລ໌ຂໍ້ມູນ: /home/eric/data/test.fits
# min,max,bins: 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
ສໍາລັບການຄາດຄະເນແກນຂອງຮູບພາບ, ຜົນຜະລິດສະແດງຖັງຮູບພາບຕ່ໍາແລະສູງ (ທັງສອງ
ລວມ) ໃຊ້ເພື່ອສ້າງການຄາດຄະເນ. ຕົວຢ່າງ, ໃນຕົວຢ່າງຕໍ່ໄປນີ້, 21
counts ມີມູນຄ່າ X bin ຂອງ 2, ແລະອື່ນໆ:
[sh] funhist test.fits x 2:7
# ໄຟລ໌ຂໍ້ມູນ: /home/eric/data/test.fits
# ຖັນ: X
# min,max,bins: 2 7 6
bin value 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
# ໄຟລ໌ຂໍ້ມູນ: /home/eric/data/test.fits
# ຖັນ: X
# min,max,bins: 2 7 2
bin value lo_bin hi_bin
---------------------------------------------------------------------- -------------------
1 60.00000000 2.00000000 4.00000000
2 51.00000000 5.00000000 7.00000000
ທ່ານສາມາດນໍາໃຊ້ gnuplot ຫຼືໂຄງການການວາງແຜນອື່ນໆທີ່ຈະເຮັດໃຫ້ຮູບພາບຜົນໄດ້ຮັບ, ການນໍາໃຊ້ສະຄິບດັ່ງກ່າວ
ເປັນ:
#!/ ຖັງ / sh
sed -e '1,/---- .*/d
/^$/,$d' ⎪ \
ອ້າວ '\
BEGIN{ພິມ "set nokey; ຕັ້ງຊື່ \"funhist\"; set xlabel \"bin\"; set ylabel \"counts\"; plot \"-\" with boxes"} \
{ພິມ $3, $2, $4-$3}' ⎪ \
gnuplot -persist - 1>/dev/null 2>&1
ຄໍາສັ່ງວາງແຜນທີ່ຄ້າຍຄືກັນແມ່ນສະຫນອງໃຫ້ຢູ່ໃນສະຄິບ funhist.plot:
funhist test.ev pha ... ⎪ funhist.plot gnuplot
ໃຊ້ funhist ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net