EnglishFrenchSpanyol

Jalankan pelayan | Ubuntu > | Fedora > |


Favicon OnWorks

fundisp - Dalam Talian di Awan

Jalankan fundisp dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah command fundisp yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


fundisp - memaparkan data dalam fail data Funtools

SINOPSIS


fundisp [format-f] [-l] [-n] [-T] [lajur⎪bitpix=n]

PILIHAN


-f # rentetan format untuk paparan
-l # paparkan imej sebagai senarai yang mengandungi lajur X, Y, VAL
-n # jangan keluarkan pengepala
-F [c] # gunakan aksara yang ditentukan sebagai pemisah lajur (def: ruang)
-T # output dalam format rdb/starbase (pemisah tab)

DESCRIPTION


fundisp memaparkan data dalam Sambungan FITS dan/atau Bahagian Imej FITS yang ditentukan
fail, atau dalam Bahagian tatasusunan bukan FITS atau fail acara mentah.

Argumen pertama untuk program menentukan imej input FITS, tatasusunan atau fail acara mentah
untuk mempamerkan. Jika "stdin" ditentukan, data dibaca daripada input standard. Gunakan Funtools
Notasi Kurungan untuk menentukan sambungan FITS, bahagian imej dan penapis.

Jika data yang dipaparkan ialah lajur (sama ada dalam jadual binari FITS atau peristiwa mentah
fail), baris individu disenaraikan. Penapis boleh ditambah menggunakan notasi kurungan. Oleh itu:

[sh] fundisp "test.ev[time-(int)time>.15]"
XY PHA PI MASA DX DY
------- ------- ------- --------- ---------------- ---- ------ ----------
10 8 10 8 17.1600 8.50 10.50
9 9 9 9 17.1600 9.50 9.50
10 9 10 9 18.1600 9.50 10.50
10 9 10 9 18.1700 9.50 10.50
8 10 8 10 17.1600 10.50 8.50
9 10 9 10 18.1600 10.50 9.50
9 10 9 10 18.1700 10.50 9.50
10 10 10 10 19.1600 10.50 10.50
10 10 10 10 19.1700 10.50 10.50
10 10 10 10 19.1800 10.50 10.50

[NB: Ujian fail ujian jadual binari FITS.ev, serta ujian imej FITS.fits, adalah
terkandung dalam direktori funtest funtools.]

Apabila jadual sedang dipaparkan menggunakan fundisp, hujah pilihan kedua boleh digunakan untuk
tentukan lajur untuk dipaparkan. Sebagai contoh:

[sh] fundisp "test.ev[time-(int)time>=.99]" "xy time"
MASA XY
---------------------- -------- ----------------------
5 -6 40.99000000
4 -5 59.99000000
-1 0 154.99000000
-2 1 168.99000000
-3 2 183.99000000
-4 3 199.99000000
-5 4 216.99000000
-6 5 234.99000000
-7 6 253.99000000

Lajur khas $REGION boleh ditentukan untuk memaparkan id rantau setiap baris:

[sh $] fundisp "test.ev[time-(int)time>=.99&&annulus(0 0 0 10 n=3)]" 'xy time $REGION'
WILAYAH MASA XY
-------- -------- ---------------------- ----------
5 -6 40.99000000 3
4 -5 59.99000000 2
-1 0 154.99000000 1
-2 1 168.99000000 1
-3 2 183.99000000 2
-4 3 199.99000000 2
-5 4 216.99000000 2
-6 5 234.99000000 3
-7 6 253.99000000 3

Di sini hanya baris dengan masa pecahan yang betul dan kedudukannya juga dalam satu daripada
tiga anuli dipaparkan.

Lajur boleh dikecualikan daripada paparan menggunakan tanda tolak sebelum lajur:

[sh $] fundisp "test.ev[time-(int)time>=.99]" "-time"
XY PHA PI DX DY
-------- -------- -------- ---------- ----------- ----- ------
5 -6 5 -6 5.50 -6.50
4 -5 4 -5 4.50 -5.50
-1 0 -1 0 -1.50 0.50
-2 1 -2 1 -2.50 1.50
-3 2 -3 2 -3.50 2.50
-4 3 -4 3 -4.50 3.50
-5 4 -5 4 -5.50 4.50
-6 5 -6 5 -6.50 5.50
-7 6 -7 6 -7.50 6.50

Semua lajur kecuali lajur masa dipaparkan.

Lajur khas $N boleh ditentukan untuk memaparkan nilai ordinal setiap baris. Oleh itu,
meneruskan contoh sebelumnya:

fundisp "test.ev[time-(int)time>=.99]" '-time $n'
XY PHA PI DX DY N
------- -------- -------- ---------- ----------- ------ ----- ----------
5 -6 5 -6 5.50 -6.50 337
4 -5 4 -5 4.50 -5.50 356
-1 0 -1 0 -1.50 0.50 451
-2 1 -2 1 -2.50 1.50 465
-3 2 -3 2 -3.50 2.50 480
-4 3 -4 3 -4.50 3.50 496
-5 4 -5 4 -5.50 4.50 513
-6 5 -6 5 -6.50 5.50 531
-7 6 -7 6 -7.50 6.50 550

Ambil perhatian bahawa spesifikasi lajur disertakan dalam petikan tunggal untuk melindungi '$n' dari mula
diperluas oleh cangkerang.

Secara umum, peraturan untuk mengaktifkan dan menyahaktifkan lajur ialah:

· Jika hanya kecualikan lajur ditentukan, maka semua lajur tetapi kecuali lajur akan
diaktifkan.

· Jika hanya masukkan lajur ditentukan, maka hanya lajur yang ditentukan akan diaktifkan.

· Jika campuran masukkan dan kecualikan lajur ditentukan, maka semua kecuali kecualikan
lajur akan aktif; kes terakhir ini adalah samar-samar dan peraturannya adalah sewenang-wenangnya.

Selain menyatakan nama lajur secara eksplisit, simbol khas + dan - boleh
digunakan untuk mengaktifkan dan menyahaktifkan semua lajur. Ini berguna jika anda ingin mengaktifkan
lajur $REGION bersama-sama dengan semua lajur lain. Mengikut peraturan, sintaks "$REGION"
hanya mengaktifkan lajur rantau dan menyahaktifkan selebihnya. Gunakan "+ $REGION" untuk mengaktifkan
semua lajur dan juga lajur rantau.

Jika data yang dipaparkan adalah data imej (sama ada dalam imej utama FITS, imej FITS
sambungan, atau fail tatasusunan), paparan piksel mxn dihasilkan, dengan m dan n ialah
dimensi imej. Secara lalai, nilai piksel dipaparkan menggunakan jenis data yang sama
seperti dalam fail. Walau bagaimanapun, untuk data integer dengan parameter pengepala BSCALE dan BZERO
hadir, data dipaparkan sebagai terapung. Dalam kedua-dua kes, jenis data paparan boleh
ditindih menggunakan argumen kedua pilihan dalam bentuk:

bitpix=n

di mana n ialah 8,16,32,-32,-64, masing-masing untuk aksara tak bertanda, pendek, int, apungan dan berganda.

Sudah tentu, berlari fundisp pada apa-apa kecuali imej terkecil biasanya menghasilkan paparan
yang saiznya menjadikannya tidak boleh dibaca. Oleh itu, seseorang boleh menggunakan notasi kurungan (lihat di bawah) untuk
gunakan bahagian dan/atau sekatan pada imej sebelum menjana paparan. Sebagai contoh:

[sh] fundisp "test.fits[2:6,2:7]" bitpix=-32
2 3 4 5 6
---------- ---------- ---------- ---------- ----------
2: 3.00 4.00 5.00 6.00 7.00
3: 4.00 5.00 6.00 7.00 8.00
4: 5.00 6.00 7.00 8.00 9.00
5: 6.00 7.00 8.00 9.00 10.00
6: 7.00 8.00 9.00 10.00 11.00
7: 8.00 9.00 10.00 11.00 12.00

Ambil perhatian bahawa adalah mungkin untuk memaparkan jadual binari FITS sebagai imej hanya dengan menghantar
jadual melalui funimage pertama:

[sh] ./funimage test.ev stdout ⎪ fundisp "stdin[2:6,2:7]" bitpix=8
2 3 4 5 6
------- ------- ------- ------- -------
2: 3 4 5 6 7
3: 4 5 6 7 8
4: 5 6 7 8 9
5: 6 7 8 9 10
6: 7 8 9 10 11
7: 8 9 10 11 12

Jika -l suis (senarai) digunakan, kemudian imej dipaparkan sebagai senarai yang mengandungi
lajur: X, Y, VAL. Sebagai contoh:

fundisp -l "test1.fits[2:6,2:7]" bitpix=-32
XY VAL
---------- ---------- -----------
2 2 6.00
3 2 1.00
4 2 1.00
5 2 1.00
6 2 1.00
2 3 1.00
3 3 5.00
4 3 1.00
5 3 1.00
6 3 1.00
2 4 1.00
3 4 1.00
4 4 4.00
5 4 1.00
6 4 1.00
2 5 1.00
3 5 1.00
4 5 1.00
5 5 3.00
6 5 1.00
2 6 1.00
3 6 1.00
4 6 1.00
5 6 1.00
6 6 2.00
2 7 1.00
3 7 1.00
4 7 1.00
5 7 1.00
6 7 1.00

Jika -n suis (nohead) digunakan, maka tiada pengepala dikeluarkan untuk jadual. Ini berguna,
contohnya, apabila output fundisp diarahkan ke gnuplot.

. fundisp program menggunakan set lalai format paparan:

format TFORM jenis data
-------- ----- --------
ganda D "% 21.8f"
terapung E "% 11.2f"
int J "% 10d"
pendek I "%8d"
bait B "%6d"
rentetan A "% 12.12s"
bit X "%8x"
logik L "% 1x"

Oleh itu, paparan lalai 1 double dan 2 short memberikan:

[sh] fundisp snr.ev "time xy"

MASA XY
--------------------- -------- --------
79494546.56818075 546 201
79488769.94469175 548 201
...

Anda boleh menukar format paparan untuk lajur individu atau untuk semua lajur yang diberikan
jenis data melalui suis -f. Rentetan format yang mengiringi -f ialah ruang-
senarai terhad kata kunci=nilai format. Nilai kata kunci boleh sama ada nama lajur
(dalam hal ini format yang berkaitan hanya berkaitan dengan lajur itu) atau FITS table TFORM
penentu (dalam hal ini format berkaitan dengan semua lajur yang mempunyai jenis data tersebut). Untuk
contoh, anda boleh menukar format berganda dan pendek untuk semua lajur seperti ini:

[sh] fundisp -f "D=%22.11f I=%3d" snr.ev "time xy"

MASA XY
---------------------- --- ---
79494546.56818075478 546 201
79488769.94469174743 548 201
...

Sebagai alternatif, anda boleh menukar format masa dan lajur x seperti ini:

[sh] fundisp -f "time=%22.11fx=%3d" snr.ev "time xy"

MASA XY
---------------------- --- --------
79494546.56818075478 546 201
79488769.94469174743 548 201
...

Ambil perhatian bahawa terdapat kemungkinan konflik jika lajur mempunyai nama yang sama dengan salah satu TFORM
penentu. Dalam contoh di atas, lajur "X" dalam jadual mempunyai nama yang sama seperti
jenis data X (bit). Untuk menyelesaikan konflik ini, rentetan format diproses sedemikian
Penentu jenis data TFORM disemak dahulu, menggunakan perbandingan sensitif huruf besar-besaran. Sekiranya
nilai format yang ditentukan bukan nilai TFORM huruf besar, maka semakan tidak sensitif huruf besar adalah
dibuat pada nama lajur. Ini bermakna, dalam contoh di atas, "X=%3d" akan merujuk kepada
jenis data X (bit), manakala "x=%3d" akan merujuk kepada lajur X:

[sh] fundisp -f "X=%3d" snr.ev "xy"

XY
-------- --------
546 201
548 201
...

[sh] fundisp -f "x=%3d" snr.ev "xy"

XY
---------
546 201
548 201
...

Sebagai peraturan, oleh itu, yang terbaik adalah sentiasa untuk menentukan nama lajur dalam huruf kecil dan TFORM
jenis data dalam huruf besar.

. -f [format] akan menukar format untuk satu pelaksanaan fundisp. Anda juga boleh menggunakan
yang FUN_FORMAT pembolehubah persekitaran untuk menukar format untuk semua permohonan fundisp.
Format nilai pembolehubah persekitaran ini adalah sama dengan yang digunakan dengan -f
suis. Nilai global ini boleh ditindih dalam kes individu dengan menggunakan -f [format]
suis.

Kaveat: Sila ambil perhatian juga bahawa adalah menjadi tanggungjawab pengguna untuk memadankan format
penentu kepada jenis data lajur dengan betul. Juga ambil perhatian bahawa, untuk mengekalkan visual
penjajaran antara nama dan lajur, nama lajur akan dipotong (di sebelah kiri) jika
lebar format kurang daripada panjang nama. Walau bagaimanapun, pemotongan tidak dilakukan
jika output dalam format RDB (menggunakan suis -T).

[Rentetan format gaya lama disokong tetapi tidak digunakan lagi. Ia terdiri daripada ruang-terhad
Pernyataan format C untuk semua jenis data, dinyatakan dalam susunan berikut:

double float int bit rentetan bait pendek.

Susunan senarai ini adalah berdasarkan andaian bahawa orang pada umumnya akan mahu
tukar format apungan.

Jika "-" dimasukkan dan bukannya pernyataan format untuk jenis data tertentu, format lalai
digunakan. Juga, rentetan format boleh ditamatkan tanpa menyatakan semua format, dan
lalai akan digunakan untuk senarai yang lain. Ambil perhatian bahawa anda mesti membekalkan medan minimum
lebar, iaitu, "%6d" dan "%-6d" adalah sah, "%d" tidak sah.

Dengan menggunakan -f [format], anda boleh menukar format berganda dan pendek seperti ini:

[sh] fundisp -f "22.11f - - 3d" snr.ev "time xy"

MASA XY
---------------------- --- ---
79494546.56818075478 546 201
79488769.94469174743 548 201
...

NB: Format ini ditamatkan dan akan dialih keluar dalam keluaran akan datang.]

. -F[c] suis boleh digunakan untuk menentukan pemisah lajur (watak tunggal) (di mana
lalai ialah ruang). Ambil perhatian bahawa pemformatan lajur hampir pasti juga akan menambah ruang
pad lajur individu kepada lebar yang diperlukan. Ini boleh dialih keluar dengan program seperti
sed, dengan kos menjana lajur tidak sejajar. Sebagai contoh:

fundisp -F',' snr.ev'[cir 512 512 .1]'
X, Y, PHA, PI, MASA, DX, DY
512, 512, 6, 7, 79493997.45854475, 578, 574
512, 512, 8, 9, 79494575.58943175, 579, 573
512, 512, 5, 6, 79493631.03866175, 578, 575
512, 512, 5, 5, 79493290.86521725, 578, 575
512, 512, 8, 9, 79493432.00990875, 579, 573

fundisp -F',' snr.ev'[cir 512 512 .1]' ⎪ sed 's/ *, */,/g'
X,Y,PHA,PI,TIME,DX,DY
512,512,6,7,79493997.45854475,578,574
512,512,8,9,79494575.58943175,579,573
512,512,5,6,79493631.03866175,578,575
512,512,5,5,79493290.86521725,578,575
512,512,8,9,79493432.00990875,579,573

fundisp -f "x=%3d y=%3d pi=%1d pha=%1d masa=%20.11f dx=%3d dy=%3d" -F',' snr.ev'[cir 512
512 .1]' ⎪ sed 's/ *, */,/g'
X,Y,A,I,TIME,DX,DY ---,---,-,-,--------------------,---, ---
512,512,6,7,79493997.45854474604,578,574 512,512,8,9,79494575.58943174779,579,573
512,512,5,6,79493631.03866174817,578,575 512,512,5,5,79493290.86521725357,578,575
512,512,8,9,79493432.00990875065,579,573

Jika -T suis (jadual rdb) digunakan, output akan mematuhi pangkalan data starbase/rdb
format: tab akan disisipkan antara lajur dan bukannya ruang. Format ini tidak
tersedia apabila memaparkan piksel imej (kecuali bersama-sama dengan -l suis).

Akhirnya, ambil perhatian bahawa fundisp boleh digunakan untuk membuat penapis lajur daripada jadual tambahan
dalam fail FITS. Sebagai contoh, kod shell berikut akan menghasilkan selang masa yang baik
(GTI) untuk fail data sinar-X yang mengandungi sambungan GTI standard:

#!/ Bin / sh
sed '1,/---- .*/d
/^$/,$d' ⎪ awk 'tot>0{printf "⎪⎪"};{printf "time="$1":"$2; tot++}'

Jika skrip ini diletakkan dalam fail yang dipanggil "mkgti", ia boleh digunakan dalam arahan seperti:

fundisp foo.fits"[GTI]" ⎪ mkgti > gti.filter

Fail penapis yang terhasil kemudiannya boleh digunakan dalam pelbagai program funtools:

funcnts foo.fits"[@gti.filter]" ...

untuk memproses hanya peristiwa dalam selang masa yang baik.

Gunakan fundisp dalam talian menggunakan perkhidmatan onworks.net


Ad


Ad