fundisp - онлайн в хмарі

Це команда fundisp, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

ПРОГРАМА:

ІМ'Я


fundisp - відображення даних у файлі даних Funtools

СИНТАКСИС


фундісп [-f формат] [-l] [-n] [-T] [columns⎪bitpix=n]

ВАРІАНТИ


-f # рядок форматування для відображення
-l # відобразити зображення у вигляді списку, що містить стовпці X, Y, VAL
-n # не виводити заголовок
-F [c] # використовувати вказаний символ як роздільник стовпців (def: пробіл)
-T # вихід у форматі rdb/starbase (роздільники табуляції)

ОПИС


фундісп відображає дані у зазначеному розширенні FITS та/або розділі зображення FITS
файл або в розділі масиву, що не відповідає вимогам, або необробленого файлу подій.

Перший аргумент програми визначає вхідне зображення, масив або необроблений файл подій FITS
показувати. Якщо вказано "stdin", дані зчитуються зі стандартного введення. Використовуйте Funtools
Позначення в дужках, щоб задати розширення, розділи зображення та фільтри FITS.

Якщо дані, що відображаються, є стовпцями (або в двійковій таблиці FITS, або у вихідній події
файл), відображаються окремі рядки. Фільтри можна додати за допомогою позначення в дужках. Таким чином:

[sh] fundisp "test.ev[time-(int)time>.15]"
XY PHA PI ЧАС 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

[Примітка: тестовий файл двійкової таблиці FITS test.ev, а також зображення FITS test.fits є
міститься в каталозі funtools funtest.]

Коли таблиця відображається за допомогою фундісп, можна використовувати другий необов’язковий аргумент
вкажіть стовпці для відображення. Наприклад:

[sh] fundisp "test.ev[time-(int)time>=.99]" "xy time"
ЧАС 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

Спеціальна колонка $REGION можна вказати для відображення ідентифікатора регіону кожного рядка:

[sh $] fundisp "test.ev[time-(int)time>=.99&&annulus(0 0 0 10 n=3)]" 'xy час $REGION'
ЧАС 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

Тут лише рядки з правильним дробовим часом і чия позиція також знаходиться в межах одного з
відображаються три кільця.

Стовпці можна виключити з відображення за допомогою знака мінус перед стовпцем:

[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

Відображаються всі стовпці, крім стовпця часу.

Спеціальна колонка $N можна вказати для відображення порядкового значення кожного рядка. таким чином,
продовжуючи попередній приклад:

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

Зауважте, що специфікація стовпця береться в одинарні лапки, щоб захистити '$n' від початку
розширений оболонкою.

Загалом правила активації та деактивації стовпців такі:

· Якщо вказано лише стовпці виключення, то будуть усі стовпці, крім стовпців виключення
бути активованим.

· Якщо вказано лише стовпці включення, тоді активуються лише вказані стовпці.

· Якщо вказано комбінацію стовпців включення та виключення, то всі, крім виключення
колонки будуть активними; цей останній випадок неоднозначний і правило довільне.

На додаток до явного вказівки імен стовпців, спеціальні символи + та - може бути
використовується для активації та деактивації всі колонки. Це корисно, якщо ви хочете активувати
$REGION разом з усіма іншими стовпцями. Згідно з правилами, синтаксис "$REGION"
активує лише стовпець регіону та деактивує решту. Використовуйте "+ $REGION", щоб активувати
всі стовпці, а також стовпець регіону.

Якщо дані, що відображаються, є даними зображення (або в FITS основного зображення, FITS зображення
розширення або файл масиву), створюється піксельне відображення mxn, де m і n є
розміри зображення. За замовчуванням значення пікселів відображаються з використанням одного типу даних
як у файлі. Однак для цілих даних, де є параметри заголовка BSCALE і BZERO
в даний момент дані відображаються як плаваючі. У будь-якому випадку тип даних відображення може бути
перевизначено за допомогою додаткового другого аргументу форми:

bitpix=n

де n дорівнює 8,16,32,-32,-64, для unsigned char, short, int, float і double відповідно.

Звичайно, біг фундісп на будь-якому, окрім найменшого зображення, зазвичай відображається
розмір яких робить його нечитабельним. Тому можна використовувати позначення в дужках (див. нижче).
застосувати розділ та/або блокування до зображення перед створенням відображення. Наприклад:

[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

Зауважте, що двійкову таблицю FITS можна відобразити як зображення, просто передаючи
стіл наскрізь funimage перший:

[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

Якщо -l (список) використовується перемикач, тоді зображення відображається у вигляді списку, що містить
стовпці: X, Y, VAL. Наприклад:

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

Якщо -n Використовується перемикач (nohead), тоді заголовок для таблиць не виводиться. Це корисно,
наприклад, коли вихідні дані fundisp спрямовуються в gnuplot.

Команда фундісп програма використовує стандартний набір форматів відображення:

тип даних формат TFORM
--------- ----- --------
подвійний D "%21.8f"
float E "%11.2f"
int J "%10d"
короткий I "%8d"
байт B "%6d"
рядок A "%12.12s"
біти X "%8x"
логічне L "%1x"

Таким чином, відображення за замовчуванням 1 подвійного та 2 шортів дає:

[sh] fundisp snr.ev "час xy"

ЧАС XY
-------------------- -------- --------
79494546.56818075 546 201
79488769.94469175 548 201
...

Ви можете змінити формат відображення для окремих стовпців або для всіх стовпців заданого
типи даних за допомогою перемикача -f. Рядок формату, який супроводжує -f, є пробілом-
розділений список значень keyword=format. Значення ключових слів можуть бути іменами стовпців
(у цьому випадку пов’язаний формат стосується лише цього стовпця) або FITS TFORM таблиці
специфікатори (у цьому випадку формат відноситься до всіх стовпців, що мають цей тип даних). Для
Наприклад, ви можете змінити подвійний і короткий формати для всіх стовпців, як це:

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

ЧАС XY
---------------------- --- ---
79494546.56818075478 546 201
79488769.94469174743 548 201
...

Крім того, ви можете змінити формат стовпців часу і x, як це:

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

ЧАС XY
---------------------- --- --------
79494546.56818075478 546 201
79488769.94469174743 548 201
...

Зауважте, що існує потенційний конфлікт, якщо стовпець має те саме ім’я, що й один із TFORM
специфікатори. У наведених вище прикладах стовпець "X" у таблиці має те саме ім'я, що й
тип даних X (біт). Щоб вирішити цей конфлікт, рядок форматування обробляється так, що
Специфікатори типу даних TFORM спочатку перевіряються за допомогою порівняння з урахуванням регістру. Якщо
вказане значення формату не є значенням TFORM верхнього регістру, тоді перевірка без урахування регістру
зроблено для імені стовпця. Це означає, що у наведених вище прикладах "X=%3d" буде посилатися на
тип даних X (біт), тоді як "x=%3d" посилатиметься на стовпець 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
...

Тому, як правило, найкраще завжди вказувати назву стовпця в нижньому регістрі та TFORM
типи даних у верхньому регістрі.

Команда -f [формат] змінить формат для одноразового виконання fundisp. Ви також можете використовувати
FUN_FORMAT змінна середовища, щоб змінити формат для всіх викликів fundisp.
Формат значення цієї змінної середовища ідентичний тому, що використовується з -f
перемикач. Це глобальне значення можна змінити в окремих випадках за допомогою -f [формат]
перемикач.

Застереження. Також зверніть увагу, що відповідність формату несе користувач
специфікатор типу даних стовпця правильно. Також зауважте, що для підтримки візуального
вирівнювання між іменами та стовпцями, ім’я стовпця буде скорочено (ліворуч), якщо
ширина формату менша за довжину імені. Однак усічення не виконується
якщо вихід у форматі RDB (за допомогою перемикача -T).

[Рядок формату старішого стилю підтримується, але не підтримується. Він складається з розділених пробілами
Оператори формату C для всіх типів даних, зазначених у такому порядку:

double float int короткий байт рядка.

Цей порядок списку заснований на припущенні, що люди зазвичай цього захочуть
змінити формати float.

Якщо замість оператора формату для даного типу даних введено «-», формат за замовчуванням
використовується. Крім того, рядок форматування можна завершити, не вказуючи всі формати, і
значення за замовчуванням будуть використовуватися для решти списку. Зверніть увагу, що ви повинні вказати мінімальне поле
ширина, тобто "%6d" і "%-6d" є допустимими, "%d" не є законними.

Використовуючи -f [format], ви можете змінити подвійний і короткий формати таким чином:

[sh] fundisp -f "22.11f - - 3d" snr.ev "час xy"

ЧАС XY
---------------------- --- ---
79494546.56818075478 546 201
79488769.94469174743 548 201
...

Примітка: цей формат не підтримується і буде вилучено в майбутньому випуску.]

Команда -F[c] перемикач можна використовувати для визначення (односимвольного) роздільника стовпців (де
за замовчуванням — пробіл). Зауважте, що форматування стовпців майже напевно також додасть пробіли
додайте окремі стовпці до необхідної ширини. Їх можна видалити за допомогою програми, наприклад
sed, за рахунок створення невирівняних стовпців. Наприклад:

fundisp -F',' snr.ev'[cir 512 512 .1]'
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',' 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 time=%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

Якщо -T (таблиця rdb) використовується перемикач, вихід буде відповідати базі даних starbase/rdb
формат: між стовпцями буде вставлено табуляція, а не пробіли. Цей формат не є
доступний під час відображення пікселів зображення (крім у поєднанні з -l перемикач).

Нарешті, зауважте, що фундісп можна використовувати для створення фільтрів стовпців із допоміжних таблиць
у файлі FITS. Наприклад, наступний шелл-код створить відповідний інтервал часу
(GTI) фільтр для файлів рентгенівських даних, які містять стандартне розширення GTI:

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

Якщо цей сценарій розміщено у файлі під назвою "mkgti", його можна використовувати в такій команді, як:

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

Отриманий файл фільтра потім можна використовувати в різних програмах funtools:

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

обробляти лише події у відповідних інтервалах часу.

Використовуйте Fundisp онлайн за допомогою служб onworks.net



Найновіші онлайн-програми для Linux і Windows