זוהי טבלת הפקודות funtable שניתן להריץ בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות החינמיות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS.
תָכְנִית:
שֵׁם
funtable - העתק שורות נבחרות מקובץ Funtools לטבלת FITS בינארית
תַקצִיר
ניתן להפעלה [-a] [-i⎪-z] [-m] [-s columns] [עמודות]
אפשרויות
-a # הוסף לקובץ פלט קיים כהרחבת טבלה
-i # עבור נתוני תמונה, צור רק עמודות X ו-Y
-m # עבור טבלאות, כתוב קובץ נפרד לכל אזור
-s "col1 ..." # עמודות למיון
-z # עבור נתוני תמונה, פלט פיקסלים בעלי ערך אפס
תיאור
ניתן להפעלה בוחר שורות מהסיומת FITS שצוינה (טבלה בינארית בלבד) של FITS
קובץ, או מקובץ אירועים גולמי שאינו FITS, וכותב את השורות הללו לטבלת FITS בינארית
קובץ. זה גם ייצור טבלת FITS בינארית מתמונה או קובץ מערך גולמי.
הארגומנט הראשון לתוכנית מציין את קובץ FITS, קובץ אירוע גולמי או מערך גולמי
קוֹבֶץ. אם מצוין "stdin", הנתונים נקראים מהקלט הסטנדרטי. השתמש ב- Funtools
סימון סוגריים לציון הרחבות FITS ומסננים. הטיעון השני הוא ה
פלט קובץ FITS. אם מצוין "stdout", הטבלה הבינארית FITS נכתבת ל-
פלט סטנדרטי. כברירת מחדל, כל העמודות של קובץ הקלט מועתקות לקובץ הפלט.
ניתן להפיק פלט של עמודות נבחרות באמצעות ארגומנט שלישי אופציונלי בצורה:
"עמודה 1 עמודה 1 ... עמודה N"
השמיים ניתן להפעלה תוכנית משמשת בדרך כלל לבחירת שורות מטבלת FITS בינארית באמצעות טבלה
מסננים ו/או מסנני אזור מרחבי. לדוגמה, ניתן להעתיק רק שורות נבחרות (ו
להפיק פלט רק של עמודות נבחרות) על ידי ביצוע פקודה כגון:
[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
הטור המיוחד $REGION ניתן לציין לכתוב את מזהה האזור של כל שורה:
[sh $] funtable "test.ev[time-(int)time>=.99&&annulus(0 0 0 10 n=3)]" stdout 'xy time $REGION' ⎪ fundisp stdin
אזור זמן 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 $] 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
כל העמודות מלבד עמודת הזמן כתובות.
באופן כללי, הכללים להפעלה ולביטול הפעלה של עמודות הם:
· אם יצוינו רק עמודות אי הכללה, אז כל העמודות מלבד העמודות אי הכללה יעשו זאת
להיות מופעל.
· אם מצוין רק עמודות כולל, אז רק העמודות שצוינו מופעלות.
· אם מצוינת תערובת של עמודות הכללה ועמודות אי הכללה, אז הכל מלבד האי הכללה
העמודות יהיו פעילות; המקרה האחרון אינו מעורפל והכלל הוא שרירותי.
בנוסף לציון שמות העמודות במפורש, הסמלים המיוחדים + ו - יכול להיות
משמש להפעלה ולביטול הפעלה את כל עמודות. זה שימושי אם ברצונך להפעיל את
העמודה $REGION יחד עם כל העמודות האחרות. על פי הכללים, התחביר "$REGION"
מפעיל רק את עמודת האזור ומבטל את ההפעלה של השאר. השתמש ב-"+ $REGION" כדי להפעיל
כל העמודות וכן עמודת האזור.
בדרך כלל, רק הטבלה שנבחרה מועתקת לקובץ הפלט. בטבלת FITS בינארית,
לפעמים רצוי להעתיק את כל סיומות ה-FITS האחרות לקובץ הפלט כ-
ובכן. ניתן לעשות זאת על ידי הוספת סימן '+' לשם ההרחבה בקלט
שם הקובץ. לדוגמה, הפקודה הראשונה למטה מעתיקה רק את טבלת EVENT, בעוד ש-
הפקודה השנייה מעתיקה גם הרחבות אחרות:
[sh] שולחן עבודה "/proj/rd/data/snr.ev[אירועים]" events.ev
[sh] שולחן עבודה "/proj/rd/data/snr.ev[EVENTS+]" eventsandmore.ev
אם קובץ הקלט הוא תמונה או קובץ מערך גולמי, אז ניתן להפעלה ייצר FITS
טבלה בינארית מערכי הפיקסלים בתמונה. שימו לב שלא ניתן לציין
העמודות לפלט (באמצעות ארגומנט שורת פקודה 3). במקום זאת, ישנן שתי דרכים לעשות זאת
צור טבלה בינארית כזו מתמונה. כברירת מחדל, נוצרת טבלה בת 3 עמודות, כאשר
העמודות הן "X", "Y" ו-"VALUE". עבור כל פיקסל בתמונה, שורה אחת (אירוע)
נוצר כאשר לעמודות "X" ו-"Y" הוקצו ערכי dim1 ו-dim2 של התמונה
פיקסל, בהתאמה, והעמודה "VALUE" הקצתה את הערך של הפיקסל. עם סוג של
שולחן, רץ funhist בעמודה "VALUE" ייתן את אותן תוצאות כמו הפעלת funhist
על התמונה המקורית.
אם -i אם צוין מתג ("שורות בודדות"), אז רק העמודות "X" ו-"Y" מוצגות
נוצר. במקרה זה, כל ערך פיקסל חיובי בתמונה מייצר n שורות (אירועים),
כאשר n שווה לערך השלם של אותו פיקסל (ועוד 0.5, עבור נקודה צפה
נתונים). למעשה, -i משחזר בקירוב את שורות הטבלה שהיו
מוזג לתוך תמונת הקלט. (כמובן, זה נכון רק בקירוב, מכיוון ש-
מיקומי x ו-y המתקבלים הם מספר שלם.)
אם -s [עמודה 1 col2 ... עמודה] אם צוין מתג ("מיון"), שורות הפלט של קובץ בינארי
הטבלה תמוין באמצעות העמודות שצוינו כמקשי מיון. מקשי המיון חייבים להיות
עמודות סקלריות וגם חייבות להיות חלק מקובץ הפלט (כלומר, לא ניתן למיין לפי עמודה
אך לא לכלול אותו בפלט). מתקן זה משתמש ב- _סוּג תוכנית (כלולה עם
funtools), אשר חייב להיות נגיש דרך הנתיב שלך.
עבור טבלאות בינאריות, ה- -m המתג ("קבצים מרובים") ייצור קובץ נפרד עבור כל אחד מהם
אזור במפרט המסנן, כלומר כל קובץ מכיל רק את השורות מאותו אזור.
שורות שעוברות את המסנן אך אינן נמצאות באף אזור מועברות גם הן לקובץ נפרד.
שמות קבצי הפלט הנפרדים שנוצרו על ידי -m מתגים מופקים באופן אוטומטי מ
קובץ הפלט הבסיסי יכיל את מזהה האזור של האזור המשויך. (שימו לב שאזור
מזהים מתחילים ב-1, כך ששם הקובץ המשויך למזהה 0 מכיל שורות שמעבירות את
מסנן אך אינם נמצאים באזור נתון.) שמות קבצי הפלט נוצרים באופן הבא:
ניתן להשתמש במפרט $n בכל מקום בשם קובץ הבסיס (בציטוט מתאים ל-
להגן עליו מהקליפה) ויורחב להיות מספר הזיהוי של הקוד המשויך
אזור. לדוגמה:
שולחן עבודה -m input.fits'[cir(512,512,1);cir(520,520,1)...]' 'foo.goo_$n.fits'
ייצר קבצים בשם foo.goo_0.fits (עבור שורות שאינן בשום אזור אך עדיין עוברות
המסנן), foo.goo_1.fits (שורות במזהה אזור #1, האזור הראשון), foo.goo_2.fits
(שורות במזהה אזור #2), וכו'. שים לב שגרשיים בודדים בשורש הפלט נדרשים
כדי להגן על ה-'$' מהקליפה.
· אם לא צוין $n, אז מזהה האזור ימוקם לפני הנקודה הראשונה (.) ב
שם הקובץ. כך:
שולחן עבודה -m input.fits'[cir(512,512,1);cir(520,520,1)...]' foo.evt.fits
ייצר קבצים בשם foo0.evt.fits (עבור שורות שאינן בשום אזור אך עדיין עוברות
המסנן), foo1.evt.fits (שורות במזהה אזור #1), foo2.evt.fits (שורות במזהה אזור
#2), וכו'.
· אם לא צוינה נקודה בשם קובץ הפלט הבסיסי, אז מזהה האזור יהיה
נוסף לשם הקובץ. כך:
פונקציה זו מאפשרת input.fits'[cir(512,512,1);cir(520,520,1)...]' foo_evt'
ייצר קבצים בשם foo_evt0 (עבור שורות שאינן נמצאות בשום אזור אך עדיין מעבירות את
(filter), foo_evt1 (שורות במזהה אזור #1), foo_evt2 (שורות במזהה אזור #2) וכו'.
מנגנון הקבצים המרובים מספק דרך פשוטה ליצירת קבצי נתוני מקור בודדים
עם מעבר אחד דרך הנתונים.
כברירת מחדל, נוצר קובץ FITS חדש והטבלה הבינארית נכתבת לקובץ הראשון.
הארכה. אם ה -a כאשר צוין מתג (append), הטבלה מצורפת לטבלה קיימת.
קובץ FITS כסיומת BINTABLE. שים לב שקובץ הפלט FITS חייב להיות קיים כבר.
אם -z מתג ("אפס" ערכי פיקסלים) מצוין ו -i לא צוין, אז פיקסלים
ערך אפס יוצג כאשר עמודת ה-"VALUE" שלה מוגדרת לאפס. ברור ש...
המתג אינו הגיוני כאשר מוצגים אירועים בודדים.
השתמש ב-funtable באינטרנט באמצעות שירותי onworks.net