ããã¯ãUbuntu OnlineãFedora OnlineãWindows ãªã³ã©ã€ã³ ãšãã¥ã¬ãŒã¿ãŒãMAC OS ãªã³ã©ã€ã³ ãšãã¥ã¬ãŒã¿ãŒãªã©ãè€æ°ã®ç¡æãªã³ã©ã€ã³ ã¯ãŒã¯ã¹ããŒã·ã§ã³ã®ããããã䜿çšããŠãOnWorks ç¡æãã¹ãã£ã³ã° ãããã€ããŒã§å®è¡ã§ããã³ãã³ã fundisp ã§ãã
ããã°ã©ã ïŒ
NAME
Fundisp - Funtools ããŒã¿ ãã¡ã€ã«ã®ããŒã¿ã衚瀺ãã
SYNOPSIS
ãã¡ã³ãã£ã¹ã [-f 圢åŒ] [-l] [-n] [-T] [åæ°âªbitpix=n]
OPTIONS
-f # 衚瀺çšãã©ãŒãããæåå
-l # å XãYãVAL ãå«ããªã¹ããšããŠã€ã¡ãŒãžã衚瀺ããŸã
-n # ããããŒãåºåããªã
-F [c] # æå®ãããæåãååºåããšããŠäœ¿çš (ããã©ã«ã: ã¹ããŒã¹)
-TïŒrdb / starbase圢åŒã§åºåïŒã¿ãåºåãæåïŒ
DESCRIPTION
ãã¡ã³ãã£ã¹ã FITS ã®æå®ããã FITS æ¡åŒµããã³/ãŸãã¯ç»åã»ã¯ã·ã§ã³ã®ããŒã¿ã衚瀺ããŸã
ãã¡ã€ã«ããŸãã¯é FITS é åãŸãã¯çã®ã€ãã³ã ãã¡ã€ã«ã®ã»ã¯ã·ã§ã³å ã
ããã°ã©ã ã®æåã®åŒæ°ã¯ãFITS å ¥åç»åãé åããŸãã¯çã®ã€ãã³ã ãã¡ã€ã«ãæå®ããŸãã
衚瀺ããã ãstdinããæå®ãããšãããŒã¿ã¯æšæºå ¥åããèªã¿èŸŒãŸããŸãã Funtools ã䜿çšãã
FITS æ¡åŒµãç»åã»ã¯ã·ã§ã³ãããã³ãã£ã«ã¿ãŒãæå®ããããã®ãã©ã±ããè¡šèšã
衚瀺ãããŠããããŒã¿ãåã§ããå Žå (FITS ãã€ã㪠ããŒãã«ãŸãã¯çã€ãã³ãã®ãããã)
ãã¡ã€ã«)ãåã ã®è¡ãäžèŠ§è¡šç€ºãããŸãã ãã©ã±ããè¡šèšã䜿çšããŠãã£ã«ã¿ãŒãè¿œå ã§ããŸãã ãããã£ãŠïŒ
[sh] fundisp "test.ev[time-(int)time>.15]"
XY PHA PI TIME 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: FITS ãã€ã㪠ããŒãã« ãã¹ã ãã¡ã€ã« test.ev ãš FITS ã€ã¡ãŒãž test.fits ã¯ã
funtools funtest ãã£ã¬ã¯ããªã«å«ãŸããŠããŸãã]
ã䜿çšããŠããŒãã«ã衚瀺ãããŠããå Žå ãã¡ã³ãã£ã¹ããXNUMX çªç®ã®ãªãã·ã§ã³ã®åŒæ°ã䜿çšããŠ
衚瀺ããåãæå®ããŸãã äŸãã°ïŒ
[sh] fundisp "test.ev[time-(int)time>=.99]" "xy time"
XY æé
-------- -------- ---------------------
5ã6
4ã5
-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 åè¡ã®ãªãŒãžã§ã³ ID ã衚瀺ããããã«æå®ã§ããŸãã
[sh $] fundisp "test.ev[time-(int)time>=.99&&annulus(0 0 0 10 n=3)]" 'xy time $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
ããã§ã¯ãé©åãªå°æ°æéã§ããã®äœçœ®ãXNUMXã€ä»¥å ã«ããè¡ã®ã¿ã§ãã
XNUMX ã€ã®å¹ŽèŒªã衚瀺ãããŸãã
åã®åã«ãã€ãã¹èšå·ã䜿çšãããšãåã衚瀺ããé€å€ã§ããŸãã
[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 ããã㌠ãã©ã¡ãŒã¿ã
ååšããå ŽåãããŒã¿ã¯ float ãšããŠè¡šç€ºãããŸãã ãããã®å Žåãã衚瀺ããŒã¿åã¯
次ã®åœ¢åŒã®ãªãã·ã§ã³ã® XNUMX çªç®ã®åŒæ°ã䜿çšããŠãªãŒããŒã©ã€ããããŸãã
ããããã¯ã¹=n
ããã§ãn ã¯ãunsigned charãshortãintãfloatãdouble ãããããè¡šã 8,16,32ã32ã64ã-XNUMXã-XNUMX ã§ãã
ãã¡ãããã©ã³ãã³ã° ãã¡ã³ãã£ã¹ã æå°ã®ç»å以å€ã§ã¯ãéåžžã¯è¡šç€ºãããŸã
ãã®ãµã€ãºã¯å€èªäžèœã«ãªããŸãã ãããã£ãŠããã©ã±ããèšæ³ (以äžãåç §) ã䜿çšããŠã
衚瀺ãçæããåã«ãã»ã¯ã·ã§ã³ãããããã³ã°ãç»åã«é©çšããŸãã äŸãã°ïŒ
[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ãã€ããªããŒãã«ãç»åãšããŠè¡šç€ºã§ããããšã«æ³šæããŠãã ããã
ããŒãã«ã¹ã«ãŒ ãã¡ã³ã€ã¡ãŒãž æåïŒ
[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
Status -l (list) ã¹ã€ããã䜿çšããããšãç»åããªã¹ããšããŠè¡šç€ºãããŸãã
å: XãYãVALã äŸãã°ïŒ
Fundisp -l "test1.fits[2:6,2:7]" bitpix=-32
XY å€
---------- ---------- -----------
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
Status -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 ã€ã® double ãš 2 ã€ã® short ã®ããã©ã«ãã®è¡šç€ºã¯æ¬¡ã®ããã«ãªããŸãã
[sh] fundisp snr.ev "time xy"
æé XY
--------------------- -------- --------
79494546.56818075 546 201
79488769.94469175 548 201
...
ç¹å®ã®åã®åã ã®åãŸãã¯ãã¹ãŠã®åã®è¡šç€ºåœ¢åŒãå€æŽã§ããŸãã
-f ã¹ã€ããã«ããããŒã¿åã -f ã«ä»éãããã©ãŒãããæååã¯ã¹ããŒã¹ã§ã-
keyword=format å€ã®åºåããªã¹ãã ããŒã¯ãŒãå€ã¯ååã®ããããã§ã
(ãã®å Žåãé¢é£ä»ãããã圢åŒã¯ãã®åã«ã®ã¿é¢ä¿ããŸã) ãŸã㯠FITS ããŒãã« TFORM
æå®å (ãã®å Žåã圢åŒã¯ãã®ããŒã¿åãæã€ãã¹ãŠã®åã«é¢ä¿ããŸã)ã çºã«
ããšãã°ã次ã®ããã«ãã¹ãŠã®åã® double ããã³ short 圢åŒãå€æŽã§ããŸãã
[sh] fundisp -f "D=%22.11f I=%3d" snr.ev "time xy"
æé XY
------------------------ --- ---
79494546.56818075478 546 201
79488769.94469174743 548 201
...
ãŸãã¯ã次ã®ããã«æéãš x åã®åœ¢åŒãå€æŽã§ããŸãã
[sh] fundisp -f "time=%22.11fx=%3d" snr.ev "time xy"
æé XY
---------------------- --- --------
79494546.56818075478 546 201
79488769.94469174743 548 201
...
åã TFORM ã® XNUMX ã€ãšåãååãæã€å Žåã競åãçºçããå¯èœæ§ãããããšã«æ³šæããŠãã ããã
æå®åã äžèšã®äŸã§ã¯ãè¡šã®ã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 ã® XNUMX åã®å®è¡ã®åœ¢åŒãå€æŽããŸãã ãŸãã䜿çšããããšãã§ããŸã
ã 楜ãããã©ãŒããã fundisp ã®ãã¹ãŠã®åŒã³åºãã®åœ¢åŒãå€æŽããç°å¢å€æ°ã
ãã®ç°å¢å€æ°ã®å€ã®åœ¢åŒã¯ã -f
ã¹ã€ããã ãã®ã°ããŒãã«å€ã¯ãåã ã®ã±ãŒã¹ã§ã -f [ãã©ãŒããã]
ã¹ã€ããã
èŠå: 圢åŒãäžèŽãããã®ã¯ãŠãŒã¶ãŒã®è²¬ä»»ã§ããããšã«ã泚æããŠãã ããã
æå®åãåã®ããŒã¿åã«æ£ããæå®ããŠãã ããã ãŸããããžã¥ã¢ã«ãç¶æããããã«ã
ååãšåã®éã®äœçœ®åããã次ã®å Žåãåå㯠(å·ŠåŽã§) åãæšãŠãããŸãã
圢åŒã®å¹ ãååã®é·ããããçããªã£ãŠããŸãã ãã ãåãæšãŠã¯è¡ããªã
åºåã RDB 圢åŒã®å Žå (-T ã¹ã€ããã䜿çš)ã
[å€ãã¹ã¿ã€ã«ã®ãã©ãŒãããæååã¯ãµããŒããããŠããŸãããæšå¥šãããŠããŸããã ã¹ããŒã¹åºåãã§æ§æãããŠããŸã
次ã®é åºã§æå®ãããããã¹ãŠã®ããŒã¿åã® C 圢åŒã®ã¹ããŒãã¡ã³ã:
double float int short ãã€ãæååãããã
ãªã¹ãã®ãã®é åºã¯ã人ã ãäžè¬çã«æãã§ãããšããä»®å®ã«åºã¥ããŠããŸãã
float 圢åŒãå€æŽããŸãã
ç¹å®ã®ããŒã¿åã®ãã©ãŒããã ã¹ããŒãã¡ã³ãã®ä»£ããã«ã-ããå ¥åãããšãããã©ã«ãã®ãã©ãŒããã
䜿çšãããŠããã ãŸãããã¹ãŠã®ãã©ãŒããããæå®ããã«ãã©ãŒãããæååãçµäºããããšãã§ããŸãã
ãªã¹ãã®æ®ãã®éšåã«ã¯ããã©ã«ãã䜿çšãããŸãã æå°ãã£ãŒã«ããæå®ããå¿ èŠãããããšã«æ³šæããŠãã ãã
ã€ãŸãã"%6d" ãš "%-6d" ã¯æå¹ã§ããã"%d" ã¯ç¡å¹ã§ãã
-f [format] ã䜿çšãããšã次ã®ããã« double 圢åŒãš short 圢åŒãå€æŽã§ããŸãã
[sh] fundisp -f "22.11f - - 3d" snr.ev "time xy"
æé XY
------------------------ --- ---
79494546.56818075478 546 201
79488769.94469174743 548 201
...
泚æ: ãã®åœ¢åŒã¯æšå¥šãããŠããããå°æ¥ã®ãªãªãŒã¹ã§åé€ãããäºå®ã§ãã]
ã -F[c] ã¹ã€ããã䜿çšããŠã(XNUMX æåã®) åã»ãã¬ãŒã¿ãŒãæå®ã§ããŸã (
ããã©ã«ãã¯ã¹ããŒã¹ã§ã)ã åã®æžåŒèšå®ã§ã¯ãã»ãŒç¢ºå®ã«ã¹ããŒã¹ãè¿œå ãããããšã«æ³šæããŠãã ããã
åã ã®åãå¿ èŠãªå¹ ã«ããã£ã³ã°ããŸãã ãããã¯ã次ã®ãããªããã°ã©ã ã§åé€ã§ããŸãã
æŽåãããŠããªãåãçæãããšããç ç²ãæã£ãŠã äŸãã°ïŒ
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
Status -T (rdb table) ã¹ã€ããã䜿çšãããšãåºå㯠starbase/rdb ããŒã¿ããŒã¹ã«æºæ ããŸã
圢åŒ: ã¿ãã¯ã¹ããŒã¹ã§ã¯ãªãåã®éã«æ¿å ¥ãããŸãã ãã®ãã©ãŒãããã¯
ç»åãã¯ã»ã«ã衚瀺ãããšãã«äœ¿çšã§ããŸã ( -l ã¹ã€ããïŒã
æåŸã«ã泚æããŠãã ãã ãã¡ã³ãã£ã¹ã è£å©ããŒãã«ããåãã£ã«ã¿ãŒãäœæããããã«äœ¿çšã§ããŸã
FITS ãã¡ã€ã«ã§ã ããšãã°ã次ã®ã·ã§ã« ã³ãŒãã¯é©åãªæéééãçæããŸãã
(GTI) æšæºã® GTI æ¡åŒµåãå«ã X ç·ããŒã¿ ãã¡ã€ã«ã®ãã£ã«ã¿ãŒ:
#!/bin/sh
sed '1,/---- .*/d
/^$/,$d' ⪠awk 'tot>0{printf "âªâª"};{printf "time="$1":"$2; å šäœ++}'
ãã®ã¹ã¯ãªããããmkgtiããšãããã¡ã€ã«ã«é 眮ãããšã次ã®ãããªã³ãã³ãã§äœ¿çšã§ããŸãã
fundisp foo.fits"[GTI]" ⪠mkgti > gti.filter
çµæã®ãã£ã«ã¿ãŒ ãã¡ã€ã«ã¯ãããŸããŸãª funtools ããã°ã©ã ã§äœ¿çšã§ããŸãã
é¢æ° foo.fits"[@gti.filter]" ...
é©åãªæéééã®ã€ãã³ãã®ã¿ãåŠçããŸãã
onworks.net ãµãŒãã¹ã䜿çšã㊠Fundisp ãªã³ã©ã€ã³ã䜿çšãã