این دستور Funtable است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
funtable - سطرهای انتخاب شده را از یک فایل Funtools در جدول باینری FITS کپی کنید
خلاصه
سرگرم کننده [-a] [-i⎪-z] [-m] [-s cols] [ستون ها]
OPTIONS
یک # به فایل خروجی موجود به عنوان پسوند جدول اضافه می شود
-i # برای داده های تصویر، فقط ستون های X و Y ایجاد کنید
-m # برای جداول، برای هر منطقه یک فایل جداگانه بنویسید
-s "col1 ..." # ستون که بر روی آنها مرتب می شود
-z # برای داده های تصویر، خروجی پیکسل های صفر
شرح
سرگرم کننده سطرها را از پسوند مشخص شده FITS (فقط جدول باینری) یک FITS انتخاب می کند
فایل، یا از یک فایل رویداد خام غیر FITS، و آن ردیف ها را در جدول باینری FITS می نویسد.
فایل. همچنین یک جدول باینری FITS از یک تصویر یا یک فایل آرایه خام ایجاد می کند.
اولین آرگومان برنامه، فایل FITS، فایل رویداد خام یا آرایه خام را مشخص می کند
فایل. اگر "stdin" مشخص شده باشد، داده ها از ورودی استاندارد خوانده می شوند. از Funtools استفاده کنید
علامت گذاری براکت برای تعیین پسوندها و فیلترهای FITS. استدلال دوم این است
خروجی فایل FITS اگر "stdout" مشخص شده باشد، جدول باینری FITS در آن نوشته می شود
خروجی استاندارد به طور پیش فرض، تمام ستون های فایل ورودی در فایل خروجی کپی می شوند.
ستون های انتخاب شده را می توان با استفاده از آرگومان سوم اختیاری به شکل زیر خروجی داد:
"column1 column1 ... columnN"
La سرگرم کننده برنامه به طور کلی برای انتخاب سطرها از جدول باینری FITS با استفاده از Table استفاده می شود
فیلترها و/یا فیلترهای منطقه فضایی. به عنوان مثال، شما می توانید فقط ردیف های انتخاب شده را کپی کنید (و
خروجی فقط ستون های انتخاب شده) با اجرای دستوری مانند:
[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
تمام ستون ها به جز ستون زمان نوشته می شوند.
به طور کلی قوانین فعال سازی و غیرفعال سازی ستون ها عبارتند از:
· اگر فقط ستونهای Exclude مشخص شده باشند، تمام ستونها به جز ستونهای Exclude مشخص میشوند
فعال شود.
· اگر فقط ستون های شامل مشخص شده باشند، فقط ستون های مشخص شده فعال می شوند.
· اگر ترکیبی از ستون های شامل و حذف مشخص شود، همه آنها به جز موارد استثنا هستند
ستون ها فعال خواهند بود. این مورد آخر مبهم است و قاعده اختیاری است.
علاوه بر مشخص کردن نام ستون ها به طور صریح، نمادهای خاص + و - می تواند
برای فعال کردن و غیر فعال کردن استفاده می شود تمام ستون ها. اگر می خواهید آن را فعال کنید، مفید است
ستون $REGION به همراه سایر ستون ها. طبق قوانین، نحو "$REGION"
فقط ستون منطقه را فعال می کند و بقیه را غیر فعال می کند. برای فعال کردن از "+ $REGION" استفاده کنید
تمام ستون ها و همچنین ستون منطقه.
معمولاً فقط جدول انتخاب شده در فایل خروجی کپی می شود. در یک جدول باینری FITS،
گاهی اوقات مطلوب است که همه پسوندهای دیگر FITS را در فایل خروجی به عنوان کپی کنید
خوب. این کار را می توان با اضافه کردن علامت "+" به نام برنامه افزودنی در ورودی انجام داد
نام فایل. برای مثال، اولین دستور زیر فقط جدول EVENT را کپی می کند، در حالی که
دستور دوم سایر پسوندها را نیز کپی می کند:
[sh] funtable "/proj/rd/data/snr.ev[EVENTS]" events.ev
[sh] funtable "/proj/rd/data/snr.ev[EVENTS+]" eventsandmore.ev
اگر فایل ورودی یک تصویر یا یک فایل آرایه خام است، پس سرگرم کننده یک FITS ایجاد خواهد کرد
جدول باینری از مقادیر پیکسل در تصویر. توجه داشته باشید که امکان تعیین آن وجود ندارد
ستون های خروجی (با استفاده از آرگومان خط فرمان 3). در عوض، دو راه وجود دارد
چنین جدول باینری را از یک تصویر ایجاد کنید. به طور پیش فرض، یک جدول 3 ستونی تولید می شود که در آن
ستون ها "X"، "Y" و "VALUE" هستند. برای هر پیکسل در تصویر، یک ردیف (رویداد)
با استفاده از ستون های "X" و "Y" که مقادیر dim1 و dim2 تصویر را به آنها اختصاص داده اند ایجاد می شود.
پیکسل، به ترتیب و ستون "VALUE" مقدار پیکسل را اختصاص می دهد. با نوعی
میز، در حال اجرا سرگرم کننده در ستون "VALUE" نتایجی مشابه در حال اجرا به دست می دهد سرگرم کننده
روی تصویر اصلی
اگر -i سوئیچ ("ردیف") مشخص شده است، سپس فقط ستون های "X" و "Y" هستند.
تولید شده است. در این حالت، هر مقدار پیکسل مثبت در تصویر n ردیف (رویداد) ایجاد می کند.
که در آن n برابر با مقدار صحیح آن پیکسل است (به اضافه 0.5، برای ممیز شناور
داده ها). در اثر، -i تقریباً ردیفهای جدولی را که میشد بازسازی میکند
به تصویر ورودی متصل می شود. (البته، این فقط تقریباً صحیح است، زیرا
موقعیت های x,y حاصل عدد صحیح می شوند.)
اگر -s [col1 col2 ... ستون] سوئیچ ("مرتب کردن") مشخص شده است، ردیف های خروجی یک باینری
جدول با استفاده از ستون های مشخص شده به عنوان کلید مرتب سازی مرتب می شود. کلیدهای مرتب سازی باید باشند
ستون های اسکالر و همچنین باید بخشی از فایل خروجی باشند (یعنی نمی توانید بر روی یک ستون مرتب کنید
اما آن را در خروجی لحاظ نکنید). این تسهیلات از _مرتب سازی برنامه (شامل
funtools)، که باید از طریق مسیر شما قابل دسترسی باشد.
برای جداول باینری، -m سوئیچ ("چند فایل") یک فایل جداگانه برای هر کدام ایجاد می کند
منطقه در مشخصات فیلتر یعنی هر فایل فقط شامل ردیف های آن منطقه است.
ردیف هایی که از فیلتر عبور می کنند اما در هیچ منطقه ای نیستند نیز در یک فایل جداگانه قرار می گیرند.
نام فایل های خروجی جداگانه تولید شده توسط -m سوئیچ به طور خودکار از تولید می شود
فایل خروجی ریشه حاوی شناسه منطقه منطقه مرتبط باشد. (به آن منطقه توجه کنید
شناسه از 1 شروع می شود، به طوری که نام فایل مرتبط با id 0 شامل ردیف هایی است که از آن عبور می کنند
فیلتر کنید اما در هیچ منطقه خاصی وجود ندارد.) نام فایل های خروجی به صورت زیر تولید می شود:
· مشخصات $n را می توان در هر جایی از نام فایل ریشه (به طور مناسب نقل قول کرد) استفاده کرد
از آن در برابر پوسته محافظت کنید) و به عنوان شماره شناسه مربوطه گسترش می یابد
منطقه مثلا:
funtable -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
(ردیف ها در منطقه id #2)، و غیره. توجه داشته باشید که نقل قول های تک در ریشه خروجی مورد نیاز است
برای محافظت از '$' از پوسته.
· اگر $n مشخص نشده باشد، شناسه منطقه قبل از اولین نقطه (.) در قرار می گیرد
نام فایل بدین ترتیب:
funtable -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) و غیره
· اگر نقطه ای در نام فایل خروجی root مشخص نشده باشد، شناسه منطقه خواهد بود
به نام فایل اضافه شده است. بدین ترتیب:
funtable -m input.fits'[cir(512,512,1);cir(520,520,1)...]' 'foo_evt'
فایلهایی با نام foo_evt0 (برای ردیفهایی که در هیچ منطقهای نیستند اما همچنان از آن عبور میکنند تولید میکند
فیلتر)، foo_evt1 (ردیف ها در منطقه id #1)، foo_evt2 (ردیف ها در منطقه id #2)، و غیره.
مکانیسم فایل چندگانه یک راه ساده برای تولید فایل های داده منبع فردی ارائه می دهد
با یک بار عبور از داده ها
به طور پیش فرض، یک فایل FITS جدید ایجاد می شود و جدول باینری روی اولی نوشته می شود
افزونه. اگر -a (ضمیمه) سوئیچ مشخص شده است، جدول به موجود الحاق شده است
فایل FITS به عنوان پسوند BINTABLE. توجه داشته باشید که فایل خروجی FITS باید از قبل وجود داشته باشد.
اگر -z («صفر» مقادیر پیکسل) سوییچ مشخص شده است و -i مشخص نشده است، سپس پیکسل
با داشتن یک مقدار صفر، ستون "VALUE" آنها روی صفر تنظیم می شود. بدیهی است که این
هنگامی که رویدادهای فردی خروجی می شوند، سوئیچ معنی ندارد.
با استفاده از سرویسهای onworks.net از سرگرمکننده آنلاین استفاده کنید