Aceasta este comanda funtable care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
funtable - copiați rândurile selectate dintr-un fișier Funtools într-un tabel binar FITS
REZUMAT
funtable [-a] [-i⎪-z] [-m] [-s cols] [coloane]
OPŢIUNI
-a # atașează fișierului de ieșire existent ca extensie de tabel
-i # pentru datele de imagine, generează numai coloanele X și Y
-m # pentru tabele, scrieți un fișier separat pentru fiecare regiune
-s "col1 ..." # coloane pe care să sortați
-z # pentru datele de imagine, iese pixeli cu valoare zero
DESCRIERE
funtable selectează rânduri din extensia FITS specificată (numai tabel binar) a unui FITS
fișier sau dintr-un fișier de eveniment brut non-FITS și scrie acele rânduri într-un tabel binar FITS
fişier. De asemenea, va crea un tabel binar FITS dintr-o imagine sau un fișier matrice brut.
Primul argument al programului specifică fișierul FITS, fișierul eveniment brut sau matricea brută
fişier. Dacă este specificat „stdin”, datele sunt citite de la intrarea standard. Utilizați Funtools
Notație pentru paranteze pentru a specifica extensiile și filtrele FITS. Al doilea argument este
ieșiți fișierul FITS. Dacă este specificat „stdout”, tabelul binar FITS este scris în
ieșire standard. În mod implicit, toate coloanele fișierului de intrare sunt copiate în fișierul de ieșire.
Coloanele selectate pot fi afișate folosind un al treilea argument opțional sub forma:
„coloana1 coloana1 ... coloanaN”
funtable programul este utilizat în general pentru a selecta rânduri dintr-un tabel binar FITS folosind Tabel
Filtre și/sau filtre de regiune spațială. De exemplu, puteți copia numai rândurile selectate (și
scoateți numai coloanele selectate) prin executarea unei comenzi precum:
[sh] funtable „test.ev[pha==1&&pi==10]” stdout „xy pi pha” ⎪ fundisp stdin
XY PHA PI
------- ------- ------- ---------
+1 10 1 10
+1 10 1 10
+1 10 1 10
+1 10 1 10
+1 10 1 10
+1 10 1 10
+1 10 1 10
+1 10 1 10
+1 10 1 10
+1 10 1 10
Rubrica specială $REGION poate fi specificat pentru a scrie ID-ul regiunii fiecărui rând:
[sh $] funtable "test.ev[time-(int)time>=.99&&annulus(0 0 0 10 n=3)]" stdout 'xy time $REGION' ⎪ fundisp stdin
REGIUNEA TIMP 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
Aici doar rândurile cu timpul fracționar adecvat și a căror poziție este, de asemenea, într-unul dintre
sunt scrise cele trei inele.
Coloanele pot fi excluse din afișare folosind semnul minus înaintea coloanei:
[sh $] funtable "test.ev[time-(int)time>=.99]" stdout "-time" ⎪ fundisp stdin
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
Toate coloanele, cu excepția coloanei de timp, sunt scrise.
În general, regulile de activare și dezactivare a coloanelor sunt:
· Dacă sunt specificate numai coloanele de excludere, atunci toate coloanele, cu excepția coloanelor de excludere, vor fi specificate
fi activat.
· Dacă sunt specificate numai coloane incluse, atunci numai coloanele specificate sunt activate.
· Dacă este specificat un amestec de coloane include și exclude, atunci toate, cu excepția excluderii
coloanele vor fi active; acest ultim caz este ambiguu și regula este arbitrară.
Pe lângă specificarea numelor de coloane în mod explicit, simbolurile speciale + și - poate fi
folosit pentru a activa și dezactiva toate coloane. Acest lucru este util dacă doriți să activați
Coloana $REGION împreună cu toate celelalte coloane. Conform regulilor, sintaxa „$REGION”
activează doar coloana regiune și dezactivează restul. Folosiți „+ $REGION” pentru a activa
toate coloanele, precum și coloana regiune.
De obicei, numai tabelul selectat este copiat în fișierul de ieșire. Într-un tabel binar FITS,
uneori este de dorit să copiați toate celelalte extensii FITS în fișierul de ieșire ca
bine. Acest lucru se poate face prin adăugarea unui semn „+” la numele extensiei din intrare
nume de fișier. De exemplu, prima comandă de mai jos copiază numai tabelul EVENT, în timp ce
a doua comandă copiază și alte extensii:
[sh] funtable "/proj/rd/data/snr.ev[EVENIMENTE]" events.ev
[sh] funtable „/proj/rd/data/snr.ev[EVENIMENTE+]” eventsandmore.ev
Dacă fișierul de intrare este o imagine sau un fișier matrice brut, atunci funtable va genera un FITS
tabel binar din valorile pixelilor din imagine. Rețineți că nu este posibil să specificați
coloanele de ieșit (folosind argumentul 3 al liniei de comandă). În schimb, există două moduri de a
creați un astfel de tabel binar dintr-o imagine. În mod implicit, este generat un tabel cu 3 coloane, unde
coloanele sunt „X”, „Y” și „VALOARE”. Pentru fiecare pixel din imagine, un singur rând (eveniment)
este generat cu coloanele „X” și „Y” alocate valorile dim1 și dim2 ale imaginii
pixel, respectiv, și coloana „VALOARE” a atribuit valoarea pixelului. Cu un fel de
masă, alergând funhist pe coloana „VALOARE” va da aceleași rezultate ca și rularea funhist
pe imaginea originală.
În cazul în care -i este specificat comutatorul ("rânduri individuale"), apoi sunt specificate doar coloanele "X" și "Y".
generate. În acest caz, fiecare valoare pozitivă a pixelului din imagine generează n rânduri (evenimente),
unde n este egal cu valoarea în întregime a acelui pixel (plus 0.5, pentru virgulă mobilă
date). In efect, -i recreează aproximativ rândurile unui tabel care ar fi fost
stocate în imaginea de intrare. (Desigur, acest lucru este doar aproximativ corect, deoarece
pozițiile x,y rezultate sunt întregi.)
În cazul în care -s [col1 col2 ... coln] („sortare”) este specificat comutatorul, rândurile de ieșire ale unui binar
tabelul va fi sortat folosind coloanele specificate ca chei de sortare. Cheile de sortare trebuie să fie
coloane scalare și, de asemenea, trebuie să facă parte din fișierul de ieșire (adică nu puteți sorta pe o coloană
dar să nu-l includă în ieșire). Această facilitate folosește _fel program (inclus cu
funtools), care trebuie să fie accesibile prin calea dvs.
Pentru tabele binare, -m comutatorul ("fișiere multiple") va genera un fișier separat pentru fiecare
regiune din specificația filtrului, adică fiecare fișier conține doar rândurile din acea regiune.
Rândurile care trec de filtru, dar nu se află în nicio regiune, sunt de asemenea puse într-un fișier separat.
Numele separate ale fișierelor de ieșire generate de -m comutatorul sunt produse automat din
fișierul de ieșire rădăcină să conțină ID-ul regiunii asociate. (Rețineți că regiunea
id-urile încep de la 1, astfel încât numele fișierului asociat cu id 0 conține rânduri care trec de
filtru, dar nu se află în nicio regiune dată.) Numele fișierelor de ieșire sunt generate după cum urmează:
· O specificație $n poate fi folosită oriunde în numele fișierului rădăcină (citată corespunzător la
protejați-l de shell) și va fi extins pentru a fi numărul de identificare al asociatului
regiune. De exemplu:
funtable -m input.fits'[cir(512,512,1);cir(520,520,1)...]' 'foo.goo_$n.fits'
va genera fișiere numite foo.goo_0.fits (pentru rândurile care nu sunt în nicio regiune, dar care încă trec
filtrul), foo.goo_1.fits (rândurile din ID-ul regiunii #1, prima regiune), foo.goo_2.fits
(rânduri în ID-ul regiunii #2), etc. Rețineți că sunt necesare ghilimele simple în rădăcina de ieșire
pentru a proteja „$” de coajă.
· Dacă $n nu este specificat, atunci id-ul regiunii va fi plasat înaintea primului punct (.) în
numele fișierului. Prin urmare:
funtable -m input.fits'[cir(512,512,1);cir(520,520,1)...]' foo.evt.fits
va genera fișiere denumite foo0.evt.fits (pentru rândurile care nu sunt în nicio regiune, dar care încă trec
filtrul), foo1.evt.fits (rândurile din id-ul regiunii #1), foo2.evt.fits (rândurile din id-ul regiunii
#2), etc.
· Dacă nu este specificat niciun punct în numele fișierului de ieșire rădăcină, atunci va fi id-ul regiunii
atașat la numele fișierului. Prin urmare:
funtable -m input.fits'[cir(512,512,1);cir(520,520,1)...]' 'foo_evt'
va genera fișiere numite foo_evt0 (pentru rândurile care nu sunt în nicio regiune, dar care totuși trec
filtru), foo_evt1 (rândurile din ID-ul regiunii #1), foo_evt2 (rândurile din ID-ul regiunii #2), etc.
Mecanismul de fișiere multiple oferă o modalitate simplă de a genera fișiere individuale de date sursă
cu o singură trecere prin date.
În mod implicit, este creat un nou fișier FITS și tabelul binar este scris în primul
extensie. Dacă -a (adăugați) comutatorul este specificat, tabelul este atașat la un existent
FITS ca extensie BINTABLE. Rețineți că fișierul FITS de ieșire trebuie să existe deja.
În cazul în care -z este specificat comutatorul (valori pixeli „zero”) și -i nu este specificat, apoi pixeli
având o valoare zero va fi scos cu coloana „VALOARE” setată la zero. Evident, asta
comutatorul nu are sens atunci când sunt scoase evenimente individuale.
Utilizați funtable online folosind serviciile onworks.net