ນີ້ແມ່ນການ funimage ຄໍາສັ່ງທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍສະຖານີເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS emulator ອອນໄລນ໌.
ໂຄງການ:
NAME
funimage - ສ້າງຮູບພາບ FITS ຈາກໄຟລ໌ຂໍ້ມູນ Funtools
ສະຫຼຸບສັງລວມ
ຮູບພາບ [-a] [bitpix=n] ຮູບພາບ [-l]
[bitpix=n] ຮູບພາບ [-px⎪y] [bitpix=n]
OPTIONS
-a # ຕື່ມໃສ່ກັບໄຟລ໌ຜົນຜະລິດທີ່ມີຢູ່ເປັນສ່ວນຂະຫຍາຍຮູບພາບ
-l # input ແມ່ນໄຟລ໌ບັນຊີລາຍຊື່ທີ່ປະກອບດ້ວຍ xcol, ycol, ຄ່າ
-p [x⎪y] # ໂຄງການຕາມແກນ x ຫຼື y ເພື່ອສ້າງຮູບພາບ 1D
ລາຍລະອຽດ
ຮູບພາບ ສ້າງຮູບພາບ FITS ຫຼັກຈາກສ່ວນຂະຫຍາຍ FITS ແລະ/ຫຼືຮູບພາບທີ່ລະບຸໄວ້
ພາກສ່ວນຂອງໄຟລ໌ FITS, ຫຼືຈາກພາກສ່ວນຮູບພາບຂອງອາເຣທີ່ບໍ່ແມ່ນ FITS, ຫຼືຈາກເຫດການດິບ
ຍື່ນ.
argument ທໍາອິດກັບໂຄງການກໍານົດ FITS input image, array, ຫຼືໄຟລ໌ເຫດການດິບ
ຂະບວນການ. ຖ້າ "stdin" ຖືກລະບຸ, ຂໍ້ມູນຈະຖືກອ່ານຈາກວັດສະດຸປ້ອນມາດຕະຖານ. ໃຊ້ Funtools
Bracket Notation ເພື່ອລະບຸສ່ວນຂະຫຍາຍ FITS, ພາກສ່ວນຮູບພາບ ແລະຕົວກອງ. ທີ່ສອງ
ການໂຕ້ຖຽງແມ່ນໄຟລ໌ FITS ຜົນຜະລິດ. ຖ້າ "stdout" ຖືກລະບຸ, ຮູບພາບ FITS ຈະຖືກຂຽນໃສ່
ຜົນຜະລິດມາດຕະຖານ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ຄ່າ pixels ລວງຜົນຜະລິດແມ່ນປະເພດຂໍ້ມູນດຽວກັນກັບ
ໄຟລ໌ປ້ອນຂໍ້ມູນເຫຼົ່ານັ້ນ (ຫຼືພິມ "int" ໃນເວລາທີ່ວາງຕາຕະລາງ), ແຕ່ນີ້ສາມາດ overridden
ການນໍາໃຊ້ການໂຕ້ຖຽງທາງເລືອກທີສາມຂອງແບບຟອມ:
bitpix=n
ບ່ອນທີ່ n ແມ່ນ 8,16,32,-32,-64, ສໍາລັບ unsigned char, short, int, float ແລະ double, ຕາມລໍາດັບ.
ຖ້າຂໍ້ມູນປ້ອນເຂົ້າເປັນຮູບພາບປະເພດ, ພາກສ່ວນທີ່ເຫມາະສົມຈະຖືກສະກັດແລະສະກັດ
(ອີງຕາມວິທີການທີ່ພາກສ່ວນຮູບພາບຖືກລະບຸ), ແລະຜົນໄດ້ຮັບແມ່ນລາຍລັກອັກສອນກັບ FITS
ຮູບພາບຕົ້ນຕໍ. ເມື່ອຮູບພາບຈໍານວນເຕັມທີ່ມີຄໍາ BSCALE ແລະ BZERO ແມ່ນ
ແປງເປັນ float, ຄ່າ pixels ລວງໄດ້ຖືກປັບແລະຄໍາສໍາຄັນ scaling ຖືກລົບອອກຈາກ
ສ່ວນຫົວຜົນຜະລິດ. ເມື່ອປ່ຽນຂໍ້ມູນຂະໜາດຈຳນວນເຕັມເປັນຈຳນວນເຕັມ (ອາດຈະແຕກຕ່າງກັນ
ຂະຫນາດ), pixels ບໍ່ໄດ້ຂະຫຍາຍແລະຄໍາສໍາຄັນການຂະຫຍາຍຕົວແມ່ນໄດ້ຮັບການເກັບຮັກສາໄວ້.
ຖ້າຫາກວ່າຂໍ້ມູນການປ້ອນຂໍ້ມູນເປັນຕາຕະລາງຄູ່ຫຼືໄຟລ໌ເຫດການດິບ, ເຫຼົ່ານີ້ແມ່ນໄດ້ຖືກນໍາເຂົ້າໄປໃນຮູບພາບ,
ຈາກພາກສ່ວນໃດນຶ່ງຖືກສະກັດ ແລະບລັອກ, ແລະຂຽນໃສ່ຮູບ FITS ຫຼັກ. ໃນ
ກໍລະນີນີ້, ມັນຈໍາເປັນຕ້ອງລະບຸສອງຄໍລໍາທີ່ຈະຖືກນໍາໃຊ້ໃນ binning 2D.
ນີ້ສາມາດເຮັດໄດ້ໃນເສັ້ນຄໍາສັ່ງໂດຍໃຊ້ bincols=(x,y) ຄໍາສໍາຄັນ:
function "foo.ev[EVENTS,bincols=(detx,dety)]"
ຮູບແບບເຕັມຮູບແບບຂອງ bincols= ຕົວລະບຸແມ່ນ:
bincols=([xname[:tlmin[:tlmax:[binsiz]]]],[yname[:tlmin[:tlmax[:binsiz]]]])
ບ່ອນທີ່ຕົວລະບຸ tlmin, tlmax, ແລະ binsiz ກຳນົດຂະໜາດການວາງຮູບພາບ:
dim = (tlmax - tlmin)/binsiz (ຂໍ້ມູນຈຸດລອຍ)
dim = (tlmax - tlmin)/binsiz + 1 (ຂໍ້ມູນຈໍານວນເຕັມ)
ການນໍາໃຊ້ syntax ນີ້, ມັນເປັນໄປໄດ້ທີ່ຈະ bin ສອງຄໍລໍາຂອງຕາຕະລາງຄູ່ຢູ່ໃນຖັງໃດ
ຂະໜາດ. ໃຫ້ສັງເກດວ່າຕົວລະບຸ tlmin, tlmax, ແລະ binsiz ສາມາດຖືກຍົກເລີກໄດ້ຖ້າ TLMIN, TLMAX,
ແລະຕົວກໍານົດການສ່ວນຫົວ TDBIN (ຕາມລໍາດັບ) ມີຢູ່ໃນສ່ວນຫົວຕາຕະລາງຄູ່ FITS ສໍາລັບ
ຖັນຢູ່ໃນຄໍາຖາມ. ໃຫ້ສັງເກດວ່າຖ້າຫາກວ່າພຽງແຕ່ຫນຶ່ງຕົວກໍານົດການໄດ້ຖືກລະບຸ, ມັນແມ່ນສົມມຸດ
ເປັນ tlmax, ແລະ tlmin ເລີ່ມຕົ້ນເປັນ 1. ຖ້າສອງພາລາມິເຕີຖືກລະບຸ, ພວກມັນຖືກສົມມຸດວ່າ.
ຈະ tlmin ແລະ tlmax. ເບິ່ງ Binning FITS Binary Tables ແລະ Non-FITS Event Files ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ
ຂໍ້ມູນກ່ຽວກັບຕົວກໍານົດການ binning.
ໂດຍຄ່າເລີ່ມຕົ້ນ, ໄຟລ໌ຮູບພາບ 2D FITS ໃໝ່ແມ່ນຖືກສ້າງຂຶ້ນ ແລະຮູບພາບຈະຖືກຂຽນໃສ່ຫຼັກ
HDU. ຖ້າ -a (append) ສະວິດຖືກລະບຸ, ຮູບພາບຖືກຕໍ່ທ້າຍກັບ FITS ທີ່ມີຢູ່ແລ້ວ
ໄຟລ໌ເປັນນາມສະກຸນ IMAGE. (ຖ້າໄຟລ໌ຜົນຜະລິດບໍ່ມີ, ສະຫຼັບມີປະສິດທິພາບ
ບໍ່ສົນໃຈ ແລະຮູບພາບຈະຖືກຂຽນໃສ່ HDU ຫຼັກ.) ນີ້ສາມາດເປັນປະໂຫຍດໃນແກະ
ສະພາບແວດລ້ອມການຂຽນໂປລແກລມເມື່ອປະມວນຜົນຮູບພາບ FITS ຫຼາຍອັນທີ່ທ່ານຕ້ອງການລວມເຂົ້າກັນ
ໄຟລ໌ FITS ສຸດທ້າຍອັນດຽວ.
ຮູບພາບ ຍັງສາມາດເອົາການປ້ອນຂໍ້ມູນຈາກຕາຕະລາງທີ່ມີຖັນຂອງ x, y, ແລະຄ່າ (ຕົວຢ່າງ, the
ຜົນຜະລິດຈາກ ທຶນ -l ເຊິ່ງສະແດງແຕ່ລະຮູບ x ແລະ y ແລະຈໍານວນຂອງການນັບຢູ່ທີ່ນັ້ນ
ຕໍາ ແຫນ່ງ.) ໃນ ເວ ລາ ທີ່ -l (ບັນຊີລາຍຊື່) ສະຫຼັບຖືກນໍາໃຊ້, ໄຟລ໌ປ້ອນຂໍ້ມູນຖືກປະຕິບັດເປັນ FITS ຫຼື
ຕາຕະລາງ ASCII ປະກອບມີ (ຢ່າງຫນ້ອຍ) ສາມຖັນທີ່ລະບຸຈຸດປະສານງານຮູບພາບ x ແລະ y
ແລະຄ່າຂອງ pixels ລວງຂອງຮູບພາບນັ້ນ. ໃນກໍລະນີນີ້, ຮູບພາບ ຕ້ອງການສີ່ການໂຕ້ຖຽງເພີ່ມເຕີມ:
xcolumn:xdims, ycolumn:ydims, vcolumn ແລະ bitpix=n. ຂໍ້ມູນ x ແລະ y col:dim ໃຊ້ເວລາ
ແບບຟອມ:
name:dim # ຄ່າຕັ້ງແຕ່ 1 ຫາ dim
ຊື່:min:max # ຄ່າຕັ້ງແຕ່ຂັ້ນຕ່ຳຫາສູງສຸດ
name:min:max:binsiz # ຂະໜາດຖືກປັບຂະໜາດໂດຍ binsize
ໂດຍສະເພາະ, ຄ່າ min ຄວນຖືກໃຊ້ທຸກຄັ້ງທີ່ຄ່າປະສານງານຕໍາ່ສຸດແມ່ນ
ບາງສິ່ງບາງຢ່າງນອກຈາກຫນຶ່ງ. ຍົກຕົວຢ່າງ:
funimage -l foo.lst foo.fits xcol:0:512 ycol:0:512 ຄ່າ bitpix=-32
ຄຸນນະສົມບັດລາຍການຍັງສາມາດຖືກນໍາໃຊ້ເພື່ອອ່ານຄໍລໍາທີ່ບໍ່ມີຊື່ຈາກການປ້ອນມາດຕະຖານ: ງ່າຍດາຍ
ແທນທີ່ຊື່ຖັນດ້ວຍສະຕຣິງ null. ໃຫ້ສັງເກດວ່າຂໍ້ມູນຂະຫນາດແມ່ນຍັງ
ຕ້ອງການ:
funimage -l stdin foo.fits "":0:512 "":0:512 "" bitpix=-32
+240 250 1
+255 256 2
...
^D
ຄຸນນະສົມບັດລາຍການສະຫນອງວິທີທີ່ງ່າຍດາຍເພື່ອສ້າງຮູບພາບເປົ່າຫວ່າງ. ຖ້າທ່ານຜ່ານຄໍລໍາ,
ໄຟລ໌ຂໍ້ຄວາມທີ່ອີງໃສ່ funimage ໃນຫົວຂໍ້ຂໍ້ຄວາມມີຮູບພາບທີ່ຕ້ອງການ
ຂໍ້ມູນ, ຫຼັງຈາກນັ້ນ funimage ຈະເຮັດໃຫ້ຮູບພາບເປົ່າຫວ່າງຢ່າງຖືກຕ້ອງ. ສໍາລັບຕົວຢ່າງ, ພິຈາລະນາ
ໄຟລ໌ຂໍ້ຄວາມຕໍ່ໄປນີ້ (ເອີ້ນວ່າ foo.txt):
x:I:1:10 y:I:1:10
------ ------
0 0
ໄຟລ໌ຂໍ້ຄວາມນີ້ກໍານົດສອງຖັນ, x ແລະ y, ແຕ່ລະປະເພດຂໍ້ມູນ 32-ບິດ int ແລະຮູບພາບ
ມິຕິ 10. ຄຳສັ່ງ:
funimage foo.txt foo.fits bitpix=8
ຈະສ້າງຮູບ FITS ຫວ່າງເປົ່າທີ່ເອີ້ນວ່າ foo.fits ທີ່ມີຮູບ 10x10 ຂອງ char ທີ່ບໍ່ໄດ້ເຊັນ:
ກອງທຶນ foo.fits
1 2 3 4 5 6 7 8 9 10
------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ---- ------
10: 0 0 0 0 0 0 0 0 0
9: 0 0 0 0 0 0 0 0 0
8: 0 0 0 0 0 0 0 0 0
7: 0 0 0 0 0 0 0 0 0
6: 0 0 0 0 0 0 0 0 0
5: 0 0 0 0 0 0 0 0 0
4: 0 0 0 0 0 0 0 0 0
3: 0 0 0 0 0 0 0 0 0
2: 0 0 0 0 0 0 0 0 0
1: 1 0 0 0 0 0 0 0 0
ກະລຸນາຮັບຊາບວ່າໄຟລ໌ຂໍ້ຄວາມຕ້ອງມີຂໍ້ມູນຢ່າງໜ້ອຍໜຶ່ງແຖວ. ຢ່າງໃດກໍຕາມ, ໃນປະຈຸບັນ
ຕົວຢ່າງ, ຕຳແໜ່ງເຫດການ 0,0 ຢູ່ນອກຂອບເຂດຈຳກັດຂອງຮູບ ແລະຈະຖືກລະເລີຍ. (ເຈົ້າ
ແນ່ນອນວ່າສາມາດນໍາໃຊ້ຄ່າ x,y ແທ້ຈິງເພື່ອແກ່ນຮູບພາບທີ່ມີຂໍ້ມູນ.)
ນອກຈາກນັ້ນ, ທ່ານສາມາດນໍາໃຊ້ຂໍ້ກໍານົດການກັ່ນຕອງ TEXT ເພື່ອ obviate ຄວາມຕ້ອງການສໍາລັບການປ້ອນຂໍ້ມູນ
ໄຟລ໌ຂໍ້ຄວາມທັງຫມົດ. ຄໍາສັ່ງຕໍ່ໄປນີ້ຈະສ້າງຮູບພາບ 10x10 char ດຽວກັນໂດຍບໍ່ມີການ
ໄຟລ໌ປ້ອນຂໍ້ມູນຕົວຈິງ:
funimage stdin'[TEXT(x:I:10,y:I:10)]' foo.fits bitpix=8 < /dev/null
or
funimage /dev/null'[TEXT(x:I:10,y:I:10)]' foo.fits bitpix=8
ທ່ານຍັງສາມາດໃຊ້ວິທີການເຫຼົ່ານີ້ເພື່ອສ້າງຫນ້າກາກພາກພື້ນໄດ້ງ່າຍໆໂດຍການໃສ່ a
ພາກພື້ນພາຍໃນວົງເລັບການກັ່ນຕອງແລະ specfying ໜ້າກາກ=ທັງໝົດ ພ້ອມກັບ bitpix. ສໍາລັບ
ຕົວຢ່າງ, ຄໍາສັ່ງຕໍ່ໄປນີ້ຈະສ້າງຫນ້າກາກ char 10x10 ໂດຍໃຊ້ 3 ພາກພື້ນ:
funimage stdin'[TEXT(x:I:10,y:I:10),cir(5,5,4),point(10,1),-cir(5,5,2)]' \
foo.fits bitpix=8,mask=all < /dev/null
ຫນ້າກາກຜົນໄດ້ຮັບເບິ່ງຄືວ່ານີ້:
ກອງທຶນ foo.fits
1 2 3 4 5 6 7 8 9 10
------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ---- ------
10: 0 0 0 0 0 0 0 0 0
9: 0 0 0 0 0 0 0 0 0
8: 0 0 1 1 1 1 1 0 0
7: 0 1 1 1 1 1 1 1 0
6: 0 1 1 0 0 0 1 1 0
5: 0 1 1 0 0 0 1 1 0
4: 0 1 1 0 0 0 1 1 0
3: 0 1 1 1 1 1 1 1 0
2: 0 0 1 1 1 1 1 0 0
1: 0 0 0 0 0 0 0 0 0
ທ່ານສາມາດໃຊ້ ຮູບພາບ ເພື່ອສ້າງການຄາດຄະເນຮູບພາບ 1D ຕາມແກນ x ຫຼື y ການນໍາໃຊ້ -p
[x⎪y] ສະຫຼັບ. ຄວາມສາມາດນີ້ໃຊ້ໄດ້ສໍາລັບທັງຮູບພາບແລະຕາຕະລາງ. ສໍາລັບຕົວຢ່າງ, ພິຈາລະນາ a
ຕາຕະລາງ FITS ຊື່ ev.fits ປະກອບມີແຖວຕໍ່ໄປນີ້:
XY
-------- --------
1 1
1 2
1 3
1 4
1 5
2 2
2 3
2 4
2 5
3 3
3 4
3 5
4 4
4 5
5 5
ດັ່ງນັ້ນຮູບພາບ 5x5 ທີ່ສອດຄ້ອງກັນ, ເອີ້ນວ່າ dim2.fits, ຈະມີ:
1 2 3 4 5
---------- ------------- ---------- -------------
5:1 1 1 1 1
4:1 1 1 1 0
3:1 1 1 0 0
2:1 1 0 0 0
1:1 0 0 0 0
ການຄາດຄະເນຕາມແກນ y ສາມາດດໍາເນີນການທັງໃນຕາຕະລາງຫຼືຮູບພາບ:
funimage -py ev.fits stdout ⎪ fundisp stdin
1 2 3 4 5
---------- ------------- ---------- -------------
1:1 2 3 4 5
funimage -py dim2.fits stdout ⎪ fundisp stdin
1 2 3 4 5
---------- ------------- ---------- -------------
1:1 2 3 4 5
ນອກຈາກນັ້ນ, ທ່ານສາມາດສ້າງການຄາດຄະເນຮູບພາບ 1D ຕາມຖັນຂອງຕາຕະລາງໂດຍການນໍາໃຊ້
bincols=[ຖັນ] ການກັ່ນຕອງສະເພາະແລະກໍານົດຖັນດຽວ. ສໍາລັບຕົວຢ່າງ, ໄດ້
ຄຳສັ່ງຕໍ່ໄປນີ້ຈະສ້າງຮູບພາບ 1D ດຽວກັນຕາມແກນ y ຂອງຕາຕະລາງເປັນການໃຊ້ -p
y ປ່ຽນ:
funimage ev.fits'[bincols=y]' stdout ⎪ fundisp stdin
1 2 3 4 5
---------- ------------- ---------- -------------
1:1 2 3 4 5
ຕົວຢ່າງ:
ສ້າງຮູບພາບ FITS ຈາກຕາຕະລາງຄູ່ FITS:
[sh] funimage test.ev test.fits
ສະແດງຮູບພາບ FITS ທີ່ສ້າງຂຶ້ນຈາກພາກສ່ວນທີ່ຖືກບລັອກຂອງຕາຕະລາງຄູ່ FITS:
[sh] funimage "test.ev[2:8,3:7,2]" stdout ⎪ fundisp stdin
+1 2 3
--------- --------- ---------
1: 20
2: 28
ໃຊ້ funimage ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net