GILDASはIRAMを中心とする欧州の電波天文コミュニティで開発された観測準備、
データ解析などのための
システムです。
日本ではあ まりなじみがありませんが、柔軟に
スクリプトを組めるた
め、使い勝手が良
く、世界の多くの電波 天文台で使われています。
ここでは、マニュアルと
言うよりも、ス
クリプトを組むときにヒ ントとなりそうなメモ
を集め ました。このメモを最初に作成した2003年当時からGILDASは大きな変更がありま
した。新旧両バージョンそれぞれに便利なタスクがあること、加えて筆者(とその周辺)は
両バージョンを使っているため(!?)、このメモでは両バージョンの記述を混在させて
い
ますので、適当に読み替えて下さ
い。当然このメモは永遠に未完成です、
悪しからず。
本家IRAMのGILDASのページへ
観 測の準備
ASTRO
LOVAS
GILDAS の環境設定、 その他
ホーム ディレクトリ下の .gag.dicoを編集。まずは、editorの設定を。
sys "ls
*class" と書けばOSのコマンドラインをGILDASのコマンドラインから実行できる。
CLASS へのデータ読み 込み
CSO
10.4-m鏡
注意: VAX
(alpha1)とUNIX(hapuna)のデータ形式の違い。
入出力ファイルを混同しないこと。
SEST
15-m鏡
- スペクトル線データ
観測棟で @sest
ifits2class file.name first last
ビームサイズ、能率部分のヘッダー情報を書き換える必要あり。書き換え後、能率部分
の数字が変わっていれば、それはTa*ではなくTmbになっているはず。
- SIMBAデータ
simbareadを使用後、MOPSI経由でgdfファイルを得る。MOPSIの項を参照。
IRAM
30-m鏡
まったく問題なし(あたりま
え)
B_eff = F_eff になっていれば、TA*スケール。 4.7
Jy/K for 30-m
Parkes
64-m鏡
観測中に(パークスの提供す
るソフトで)
FITSに書いてしまう。
それは読めた
(2001/2002年夏)、
ただしヘッダー情報は手で書き直す必要あり。
2002年夏のレポート参照
Medicina
32-m鏡
パラージさん&リッカルド・
メモ参照
野
辺山45-m鏡
- スペクトル線データ
NEWSTARのtask
"SPTXT"からヘッダー付で、書き出したデータを変換するスクリプトを
準備した(1
spectrumか、格子点状に取得されたmulti-spectraデータでの動作は確認。)。
-
BEARSデータ
最終的なFITSキューブをGRAPFICで読むのがもっとも能率的。
スペクトルベースでの変換は勧めない。
CLASS
ファイル操作
get f
<-- find
file
out file.namenew
sh(ow)
fi(le)
データの選択
set telescope "cso 50Mhz"
set number 1234 5678
set range αmin αmax
δmin
δmax (α方向は東西でなく、文字通りのmin/max値で)
--> show rangeで確認
など。
データの表示
x軸の切り替え set unit
f <----> set unit v など
データの選択
set tel iram-30m-b4*など*の使える
複数データの表示
get i
pl
swap <---
i番目のスペクトルをメモリーへ
pen 1 <--- j番目は、赤色で表示したければ。
get j
spec
<--- 2つ目を表示
上と同じことだが、
memo sp2
retr sp1
pen /c 1
spec
retre sp2
pl
ここでmemoはmemory, retreはretreiveとその名の通り。sp?は任意の文字列
複数データを並べて表示したいとき(野辺山用語のプロファイルマップ)、
stamp
map
引数は各タスクのhelp参照
データの
フラグ(bad scan)
tag 9
### <---
フラグすべき番号、フラグモード(ここでは9)についてはヘルプ参照。
sh quel
set
quel 9
ベースラ
インを引く
観測点が多い場合
はスクリプトを
書くべし。引数にはscan番号などを1次元で、offset
位置を二次元でなどなど自由にとれる。以下に
基本的なコマンドのメモ
set
mode x x1 x2
t
<-- total
a
<-- すべて
set win
スペースで決定
e (exit)
スペクト
ルのリップル除去(FFTして、その成分を除去して逆FFT)
(1) まずはbaseline引いて、表示、
(2) 輝線に対してgauss, fitしておく
(3) fft /rem
カーソル+ k (see help)で除去すべき領域して、Eでquit
スムージング
たとえば、smooth b 4
スペクトルの横軸を速度、周波数両方で表示
set u v f
ある速度
からある速度までの積分強度を
知りたい
draw で速度
をチェック
print
area V1 V2
結果の見方 1,2行目は
(Xoffset, Yoffset), 3行目がその点での積分強度
print
area V1 V2
/out file.name <--- ファイルに書き出すとき。
ある速度
からある速度までのモーメントを
知りたい
上と同様だが、print mom
観測中のQ-Look、データをざっとチェックするとき
あ) set nomatch
sum
pl で領域全体で積分したスペクトルを見る。
い)profile mapのマクロでチェックする
う)書いてる最中のデータを読み込みつつ、データチェックするならば、
new
set num
NUM * など、スキャン毎にすればOK.
ガウシャ
ンフィット
gauss
fit
res 残差
pl
複数ガウシャンなど当てはめたいとき、制限条件付きの複数ガウシャンフィットは
method Arg (Argの機能はhelp methodを参照)
print fit /out filename
で書き出す内容(i.e.,
現在のメモリ内にあるfitting結果)
を知りたいとき、
> display
draw
<--
AIPSの"cursor value"
bas 1
/pl
pl
(結果がよければ)
swap
find
l ist
ループの
例
for i 1
to found
get
next
plot
<-- ここにやりたいお仕事(例えば、write, resample などなど)
pause
next
c
<-- continue
ループの
例(少し高級な例)
for j
&3 to
&4 by &5
for i &1 to
&2 by &5
set off i j
find /all
if
(found.ne.0) then
sum
plot
base order /pl
write
end if
next
next
条件判断の例(Scan Numberを引数に)
if (scan.lt.2003) then <---
FORTRANと同じ文法だが、スペースを空けない。
pen 3
plot
else if (scan.gt.2003) then
pen 1
plot
end if
条件判断とループを組み合わせた例
for i 1 to found
get n
let el = elevation*180|pi
if
((el.ge.30).and.(el.le.80)) then <---
FORTRANと同じ文法。
let
gain = 1-0.000268*(el-61.7)**2
multiply 1|gain
write
else
write
end if
next
ヒストリ機能
type
e @で直前に実行したスクリプト
変数の情報を得る
help set var
画面
cp
ca
draw
コマンド
draw u 2.65e5 A
格子点のマッチング
set mat .1
ps/eps
ファイルへ
ha file.name
/dev (e)ps color
ha file.name
/dev ps color /exact <--- pdfに変換するときに、たぶんベスト。
テキストファイルに落とす
- greg file.name /format
- あるいは、print areaコマンドも有効活用しよう。
変数の情報を得る
help set var で、以下のような一覧を得る。
.. (略)..
REAL*8
RUT
! UT of observation
REAL*8
RST
! LST of observation
REAL*4
RAZ
! Azimuth
REAL*4
REL
! Elevation ........(略)...
変数名の最初の一文字、つまりRELであればRは不要。SICコマンドとあわせて、
観測データ取得時の仰角(をdegredd単位で)とTsysの値をあるファイルに書き出す例。
find /all
list
sic out filename.sic
for i 1 to found
get n
say 'ELEVATION*180|PI' 'TSYS' ! /format
1pf5.1 1pf11.2
next
sic out
GRAPHIC (後述)でマップ を書くためのCLASS側の準備
1)基本
的だが、あまりお勧めできない
方法
(この形式
でデータを書くと、ヘッダー情
報が残らず、
あとあと
GRAPHICでマクロを組み
にくい。そもそもデータ補間がまったくされず
単に平均を計算している)
例
CLASS側で
print area
-17 -5
5 12 /out file.name
パラメタの順番などは、オンラインヘルプに書いてある。
GRAPHIC側で
col x 2 y 3 z
5 /file file.name
limits /rev x
set box mat
points
random 15 15
/blancking -1000などなど
2)
"grid"コマンドを使う
<-- アンダーサンプリングのマップの場合、お勧めしない。
"cube"コマンドを使
うべし。
例
CLASS側で
grid file.name
new /image beam beam_size /plot
出力形式は、file_name.lmv
GRAPHIC
を立ち上げて
image ile.name
transpose file.gdf file.trn 231
go
bitで内容をチェック(inp bitでパラメタ見る)
3)アンダーサンプリングのマップ観測の場合、推奨する方法
まずは、CLASSで最終スペクトルを準備、プロファイルマップで最終チェックする。
そのデータに対して、速度方向にリサンプルする。
resam Nx Xref Xval Xinc vel /nofft
パラメタの意味は、ヘルプを参照。
ここで重要なことは、最後のNo
FFTオプション。これを忘れると、指定された
速度分解能刻みでキューブは作られない(GRAPHICでgo
bitすれば間違いに気付く)。
この処理を全スペクトルに対してするにはfor文でループをまわし、ファイルに書き出す。
例
> fo file.name
new
> fa (find
all) <--- 忘れない!
>for i 1 to
found
: gn
: resample 40 1 -20 5.0 vel /nofft <-- -20 km/s
を1チャネル目として5.0km/s刻みで40チャネル分作る例
: write
: next
>
> cube output.filename
CLASS と GRAPHICに共通の基本事項
ヘッダーの内容書き換えには次の"レベル"がある。
let : パラメタを変更(もちろん、header /upすれば更新される)
modify : 変えたパラメタで実行するのみ。
------------------
以上の2つはメモリ上の話 --------
write : ファイルへ書き出す。
2008Nov-Linux版でのヘッダー書き換え変数のうち、R.C.と僕には理
解できなかったが、
結果として動く組み合わせ
a%beam = 12 (旧版とSolaris版では、3)
変数のタイプの宣言
例
define character filename*80
define integer plane start step type
あるマクロに書かれたfileのなかで、別のマクロをモジュールとして読み込む場合
変数の定義は : /global
と付けるのを忘れないこと。
また、マクロの最終行に del /var 変数名 とする。
変数の単位
help headerしても何もわからない。が、だいたい推測はできる。
おおよその目安として、速度はkm/s, 周波数はMhz、面積はrad^2など。
変数のフォーマット ---
基本的にFORTRANと同じ
例 say 'vl[j]'
'flux[j]' 'fr[j]' 'tba[j]'
/format 1pe11.3 1pe20.6 1pe20.6 1pe20.6
旧GRAPHIC、
現GREG
変数の情報を得る
help
header
ある変数
の値を調べたいとき、
exa g_velres
スクリプ
トをデバッグモードで実行する
sic verify onと宣言してから、スクリプトを実行
*
CLASSのcubeコマンドで作成したデータの読み込み
1) 必要に応じてヘッダーを書き換える。
例: 2001年1月にSESTで、2002年12月にCSOで取得したデータのヘッダ情報のうち
明らかに書き換え (書き足し)が 必要な部分を以下に示す。
!
! "cube" de tukurareta image file no omajinai for SEST/CST
! 2000-Jan-25 by RSF
! 2003-Jan-01 by RSF
! --------------------------
let name &1
let type gdf
! image 'name'.'type'
!
head /extr
head
! For CSO 345 GHz
! let g_major 21*sec
! let g_minor 21*sec
! For CSO 230 GHz
let g_major 32*sec
let g_minor 32*sec
let g_pa 0
let g_beam 3 <---- 非常に重要
head /update
2)第1軸は速度になっているのでtransposeする。transpose yourcube.gdf yourcube.trn 231
*
CLASS以外で作ったイメージFITSデータの読み込み
- SCUBAデータ
ヘッダーからマップの全サイズを見て規格化しなおす必要ある。- VLA, OVROデータ
ビームサイズ(と関連するマイナーなパラメタ)のみ直すことでOK.
重 要: AIPSからの輝線データのFITSキューブを読み込むとき
第三軸は、AIPSのaltswで速度に直したあとtask "FITTP"せよ。
(周波数では、あと あと計算に利用 するときに正しく計算されない)- VLBAデータ
ビームサイズは、milli-arcsecondなので1000倍してやればOK。以下に簡単な例。
! VLBA data BF054A
! USAGE : @aips2gildas 0.00078 0.00040 -1.68
! 2002-May-02 by RSF
!--------------------------------------
let g_major = &1*sec
let g_minor = &2*sec
let g_pa = &3*pi|180
let g_beam = 3
let g_restfre = 22235.077
let g_veloff = g_convert[2,3]
let g_velres = g_convert[3,3]
let g_freqres = g_convert[3,3]*g_restfre|2.997924562e5
let g_convert[3,1] = g_convert[3,1]*1000
let g_convert[3,2] = g_convert[3,2]*1000
- 2002年1月、2003年1月にBEARSで取得したデータのヘッダ情報のうち
明らかに書き換え (書き足し)が 必要な部分を以下に示す。
!
! -------------------
! For NRO-45m data from NEWSTAR
! H13CO+ (1-0) with BEARS
! -------------------
let g_major 20*sec
let g_minor 20*sec
let g_pa 0
let g_beam 3
let g_velres 0.1 <-- NEWSTARで作ったCUBEの速度軸のステップ幅 (km/s)
let g_line "H13CO+ (1-0)"
let g_restfre 86754.330
let g_veloff -2.7 <--- 観測時に与えたVsysの値(必要であれば)。GRAPHICでは、速度から周波数を計算。
head /updateあ る変数の値を調べたい とき、ある変数を指定したいとき。
例1: exa g_velres例2: 上で示したように書き換えたあとのヘッダーの一例
GRAPHIC> header
File : gf92_h13co_cube_fill.ch10-19 REAL*4
Size Reference Pixel Value Increment
98 48.04019170000000 0. -2.4240686692863222E-05
98 51.89999390000000 0. 2.4240686692863222E-05
1 1.000000000000000 -3.950000000000000 1.000000000000000
1 1.000000000000000 1.000000000000000 1.000000000000000
Blanking value and tolerance -10000.000 0.Source name GF92
Map unit K
Axis type RA DEC VELOCITY UNKNOWN
Coordinate system EQUATORIAL
Right Ascension 20:51:29.500 Declination 60:18:38.00
Lii 97.10500188699056 Bii 10.11521090841407
Epoch 2000.0000
Projection type RADIO Angle 0.
Axis 1 A0 20:51:29.500 Axis 2 D0 60:18:38.00
Minimum -0.64346886 at 42 19 1 1
Maximum 0.89485383 at 23 14 1 1
Axis 3 Line Name H13CO+ (1-0) Rest Frequency 86754.33000000000
Resolution in Velocity 0.10000000 in Frequency 0.
Offset in Velocity -2.7000000 Image Frequency 0.
例えば、上のボー ルド体部分の変数の値を指定したいときは
GRAPHIC> SIC\EXAMINE G_CONVERT[3,1] <---- で指定するG_CONVERTの中は行列になっている。
G_CONVERT[3,1] is a double precision Sub-Array of dimensions
-2.424068669286322172E-05 <---- を得る。例えば、 let g_veloffで指定したパラメタは、Offset in Velocity に反映されている
AIPS
to
GRAPHIC: NMAデータでの具体例
1) AIPSで速度を定義>inp altdef
AIPS 1: ALTDEF: Verb to modify velocity vs frequency relationship
AIPS 1: Adverbs Values Comments
AIPS 1: ----------------------------------------------------------------
AIPS 1: USERID 0 User ID. 0 => current user
AIPS 1: 32000 => any user.
AIPS 1: INNAME 'M2_0-40KLMD ' Image name(name).
AIPS 1: INCLASS 'ICL001' Image name(class).
AIPS 1: INSEQ 1 Image name(seq. #). 0=>high
AIPS 1: INDISK 10 Disk drive #. 0=>any
AIPS 1: AXTYPE 'RAD LSR ' 'OPT' or 'RAD' plus 'LSR',
AIPS 1: 'HEL', or 'OBS'
AIPS 1: AXVAL 61500 0 Velocity at (new) ref. pixel=
AIPS 1: AXVAL(1) + AXVAL(2).
AIPS 1: AXREF 129 Reference pixel location
AIPS 1: RESTFREQ 1.531E+11 5273000 Rest frequency in HZ =
AIPS 1: RESTFREQ(1) + RESTFREQ(2)
特に、静止周波数を確認する。
>print RESTFREQ(1); print RESTFREQ(2)
AIPS 1: 1.531300E+11
AIPS 1: 5273000
>altdef2) 第3軸を速度に変換する。
GRAPHICでは、速度が基本であり、周波数は速度をもとに計算されるため。
>altsw3) ヘッダー情報の確認、特に以下の項目をチェックすべし。
あ) 速度は"VELO-LSR "になっているか?
"FELO-LSR"ではGRAPHICへ変換し、周波数を計算するときにエラーの原因となる。
い)速度の基準ピクセル、速度分解能は正しいか?>imh
AIPS 1: Image=M0105TC (MA) Filename=M2_0-40KLMD .ICL001. 1
AIPS 1: Telescope=NRO-NMA Receiver=
AIPS 1: Observer=R.Furuya User #= 106
AIPS 1: Observ. date=05-JAN-2003 Map date=11-APR-2003
AIPS 1: Minimum=-3.20412827E+00 Maximum= 5.37566805E+00 JY/BEAM
AIPS 1: ----------------------------------------------------------------
AIPS 1: Type Pixels Coord value at Pixel Coord incr Rotat
AIPS 1: RA---SIN 256 17 44 10.360 128.00 -0.150000 0.00
AIPS 1: DEC--SIN 256 -28 22 02.500 129.00 0.150000 0.00
AIPS 1: VELO-LSR 256 6.1500000E+04 129.00 -3.9161970E+03 0.00
AIPS 1: STOKES 1 1.0000000E+00 1.00 1.0000000E+00 0.00
AIPS 1: ----------------------------------------------------------------
AIPS 1: Coordinate equinox 1950.00
AIPS 1: Map type=NORMAL Number of iterations= 180
AIPS 1: Conv size= 7.15 X 3.75 Position angle= -5.40
AIPS 1: Rest freq 153135.265 Vel type: RADIO wrt LSR
AIPS 1: Alt ref. value 1.52879E+11 wrt pixel 1.00
AIPS 1: Maximum version number of extension files of type CC is 256
AIPS 1: Maximum version number of extension files of type HI is 1
AIPS 1: Maximum version number of extension files of type PL is 84) task:FITTP"を用いて、FITSファイルへ書き出す。
5) GAPHICでFITSを読み込む。
注) GRAPHICで読むファイルの名前は、すべて小文字である。
GRAPHIC> run fits_gildas/edit
! Disk FITS to GILDAS translator
TASK\FILE "Input FITS file" FITS$ feo_0-40klamba_icln.fits
TASK\FILE "Output Gildas Image" OUT$ feo_0-40klamba_icln
TASK\CHARACTER "Style of FITS image" STYLE$ standard
TASK\INTEGER "Bottom left corner (all 0 ==> full image)" BLC$[4] 0 0 0 0
TASK\INTEGER "Top right corner (all 0 ==> full image)" TRC$[4] 0 0 0 0
TASK\GO
6) 読み込んだgdfファイルのヘッダーを見る
まずは、以下の項目を確認しよう、特に速度関係のパ ラメタは 正しいか?
イタリックで示した個所は、書き換えの必須の個所である。GRAPHIC> head
File : feo_0-40klamba_icln.gdf REAL*4
Size Reference Pixel Value Increment
256 128.0000000000000 0. -7.2722057739848474E-07
256 129.0000000000000 0. 7.2722057739848474E-07
256 129.0000000000000 61.500000000000000 -3.916197021000000
1 1.000000000000000 1.000000000000000 1.000000000000000
Blanking value and tolerance 2.52433549E-29 0.
Source name M0105TC
Map unit JY/BEAM
Axis type RA DEC VELOCITY STOKES
Coordinate system EQUATORIAL
Right Ascension 17:44:10.360 Declination -28:22:02.50
Lii 0.6667820702947623 Bii -3.5095900005774880E-02
Epoch 1950.0000
Projection type ORTHOGRAPHIC Angle 0.
Axis 1 A0 17:44:10.360 Axis 2 D0 -28:22:02.50
Minimum -3.2041283 at 0 0 0 0
Maximum 5.3756680 at 0 0 0 0
Axis 3 Line Name Rest Frequency 0.
Resolution in Velocity 0. in Frequency 0.
Offset in Velocity 0. Image Frequency 0.
7) 以下を参考に、ヘッダーの必要個所を書き換える。
! Conversion from NMA AIPS data to GRAPHIC
! updated 2003/4/24 RSF
!-------------------------------------------
let g_major = 7.15*sec
let g_minor = 3.75*sec
let g_pa = -5.40*pi|180
let g_beam = 3
let g_restfre = 153135.273 ! in MHz
let g_veloff = 61.5 ! in km/s
let g_velres = g_convert[3,3]
let g_freqres = -1*g_velres|2.997924562e5*g_restfre
header /ext
header /up8) 書き換えた内容を確認する。
あ)下の色をつけた個所に同じ数値が入っているか?
い)速度分解能がプラスの符号であれば、周波数分解能はマイナスの符号になっているか?
う)黒ボールド体で示したパラメタは正しいか?GRAPHIC> head
File : feo_0-40klamba_icln.gdf REAL*4
Size Reference Pixel Value Increment
256 128.0000000000000 0. -7.2722057739848474E-07
256 129.0000000000000 0. 7.2722057739848474E-07
256 129.0000000000000 61.50000000000000-3.916197021000000
1 1.000000000000000 1.000000000000000 1.000000000000000
Blanking value and tolerance 2.52433549E-29 0.
Source name M0105TC
Map unit JY/BEAM
Axis type RA DEC VELOCITY STOKES
Coordinate system EQUATORIAL
Right Ascension 17:44:10.360 Declination -28:22:02.50
Lii 0.6667820702947623 Bii -3.5095900005774880E-02
Epoch 1950.0000
Projection type ORTHOGRAPHIC Angle 0.
Axis 1 A0 17:44:10.360 Axis 2 D0 -28:22:02.50
Minimum -1.7844549 at 256 48 225 1
Maximum 5.3756680 at 126 129 207 1
Axis 3 Line Name Rest Frequency 153135.2730000000
Resolution in Velocity -3.9161971 in Frequency 2.000410262960199
Offset in Velocity 61.500000 Image Frequency 0.
GRAPHIC/GREGのメモ(つ
づき)
テキストファイルに落とす
- write col fill
file.name
lut pr:aips0など
rgmap
<---コントア
lev 5
to 40 by 5
1つの表
示に異なる物理量の軸を入れた
いとき。
-
例えば、上側のx軸に周波数、下側のx軸に速度を入れたい、など。
- 簡単な解決法は、axis
コマン
ドを使うこと(boxコマンドでは不可能。)
色
rgmap
/pen 3 blue
(2 greenなど)
RGMAPでペンの色、太さ、ダッシュの有無などを変える。
ex.1
> pen 0 /we 2 /c 7
> rgmap
<-- ここにはオプションを書かない。
> pen 0 /we 1 /c 0
ex.2
> pen 7 /we 2
> rgmap /pen 7
> pen 0 /we 1 /c 0
マップ関 係のメモ
-
map match /grid
-
max/minを簡単に知りたい
--> extr(eam)
-
ラベルや目盛りを変えたいとき
tick 0 0 50
200 (例えば Decl.方向を変えたいとき。詳しくはhelp参照)
注: set
ticksizeは間違い
リ
セットするときは、tick 0 0 0 0
-
ex.)
wedge r .3 /lev /scal lin rgmin rgmax
-
絶対(相対)座標で書く
box /a
box /u
sec など
あるいは、次のように別々
に指定すること
も可能。
limit
/rg <--- ヘッダーから自動参照する場合
limit
-100*sec 100*sec -100*sec 100*sec <-- 自分で定義したい場合
set box
mat <-- マップの縦横の長さをあわせる
axis xlow
/u s
axis xup
axis yleft
/u s
axis yright
CLASS + GRAPHICで書いたマップに観測点を入れたいとき
- 例1。CLASS側でprint
areaして格子点を書かせたテキストファイルをGRAPHIC側で
次のように呼び出す
col x
2 y 3 /fil yourobspoints.area
define double xa[nxy] ya[nxy]
let
xa = x
let
ya = y
pen
/def
for i
1 to
nxy
<--- 注:
nxyはGRAPHIC内で名前を定義されている。
set mark 4 1 0.21
draw m xa ya /user seconds /clip
next
pen
/def
ポリゴンからの結果をそのまま読む
lev 3*POLY$RMSなど(GREGでは%)
チャネル マップを得るもっとも簡単な方 法 --- "BIT"コマンドのメモ
let size 40
<---実はこれはマップセンターしか表示しない。
bitコマンドのなかで読み込んでいる@p_bitの中身を、例えば
let
do_grey
yes/no
let
do_color
などを編集すれば、お好みのチャネルマップを得られる。
ヘッダー情報を書きたくないとき:
let do_header no
コントアのみのチャネルマップをかく
go_map コマンド、パラメタはgo bit にすべて同じ。
AIPS
のTVSTATなどに相当する
コマンド
マップを表示したあとで、
polygon
pol /fill 1(など
<--色が塗られる、1は赤)
左キーで領域を指定、右で決定
mean
イメージ上のbad points(regions)の除去
例えば
pol
write pol pixel
mask m
run mask /edit
- すでにあるpolygonファイルを読む。
pol filename.pol /file
あるコントアレベルをpolygonに落とした場合、データ点数は最初の100点まで
しか読まれない。必要に応じて読みとばすなど、unixでする。
マップに関する操作(色々なことができすぎるので、コマンド名を挙げておきます)
- マップのスムージング --- 特にunder
サンプルなデータに対し て
run
fill_cube /edit
input : オリジナルデータのグリッド数は、headerコマンドで調べよ。
number of pixels = originalのグリッド数 * 4
slow modeを選択
- 積分強度図を作る。
run map_aver /edit
!
map_aver.INIT
TASK\FILE "Input
image" INPUT_MAP$
gf92_dec31_co21_500mhz_cube.trn
TASK\FILE
"Output image" OUTPUT_MAP$ gf92_dec31_co21w.ch21-23
TASK\INTEGER
"First and Last channel" NC$[2] 21 23 <---
積分するチャネル番号の指定
TASK\GO
run
combine /edit
! Combine.INIT
TASK\FILE "First input
map" Z_NAME$ = gf92_dec31_co21w.ch21-23
TASK\REAL "Scaling
factor" Z_FACTOR$ = g_velres*8 <---
上で8ch分のaverageをしたので、
その速度幅を掛けておく。
TASK\REAL "Threshold"
Z_MIN$ = -10000. したがって単位は、K
km/sとなる。
TASK\FILE "Second
input map" Y_NAME$ =
gf92_dec31_co21w.ch21-23
TASK\REAL "Scaling
factor" Y_FACTOR$ = 0.0 <--
今の場合は、ダミーでゼロ
TASK\REAL "Threshold"
Y_MIN$ = -10000.
TASK\FILE "Output map"
X_NAME$ = gf92_dec31_co21w_cmb.ch21-23
TASK\REAL "New
blanking value" BLANKING$ = -10000.
TASK\REAL "Output
offset" OFFSET$ = 0.
TASK\CHARACTER
"Function" FUNCTION$ = ADD
TASK\GO
- マップのスケーリング : 上のtask combineを応用しよう。
- 最大、最小値とヘッダー更新
header /ext (GRAPHIC) <---> run /ext (GREG)と変わった。
- マップ同士の演算
上の run
combine /edit のパラメタをいじれば色々できる。
特に"Function" FUNCTION$ =
が鍵。例)DIVIDE、ヘルプを参照。
- モーメントマップ
run moments
/edit 注: "moment"は別のコマンド。混同しないように。
- マップの回転
run reproject /edit
(回転角を入力する個所がある。)
真北を0 degとし、+90 degでは東側(CCW)へ、-90 degで西側(CW)へ回転。
-
2次元Gaussianフィッティング (AIPSの"JMFIT")
run gauss_2d /edit
Initial guessを与えることを忘れずに。
ヘ
ルプ
help las\
help ana\
MOPSIによるボロメータデータの解析
MOPSIは、Robert Zylka博士
(IRAM, Grenoble,
France)によって開発されたボロメータ用の
データ解析ツールで、SEST-SIMBAやIRAM
30-m鏡でのボロメータ・データの解析に、広く
使われています。GILDASの中には含まれないのですが、コマンドはGILDASベース
なので、
われわれにとっては親しみやすい。以下は、2003年7月に行ったSIMBAでの観測時の
メモ。
- データ解析の基本的な方針については、SIMBAマニュアルを参照するほ うがベター。
- SESTで公開されている、マクロをベースに自分のデータに応じて、
マクロを書き換
えることを勧める。
- ファイルリストの作成: unix のコマンドラインから
"ls *fits >
fits.LIST"というファイルを作成しておき、MOPSIで
> fits.list
> lis
> select source_name
な ど
ファイルリスト作成時、sky dipのFITSは、opacity
fileが準備できてあれば消去してOK。
- yourmacro.MOPSIというファイルを用意し、 @yourmacroでOK.
- 重要な注意: MOPSIでの複数スクリプトを
同じディレクトリで走らせるとbtdファイルの
リスト機能部分が競合する。同じディレクトリで、複数走らせないこと!
- tcsh的には動いてくれない。---> ree
command名で、指定したコマンドを最後に実行した
ときのパラメタで実行。reeはreexecute。
- 使えないチャネルからのデータを除く
>del rc 3 6
8 <--- ch 3, 6, 8を除きたいとき。
- マップの表示
> plot sca lin min
max
- マップのノイズレベルを知る。
polで指定、> rms in
- polygonで指定した範囲を、ファイルに書き出す。
> write pol
yourpolygon
yourpolygon.pol という
ファイルがで
きる。指定した領域をマップ上で確かめたければ、
> pol yourpolygon.pol
plot (pen /col
4などで色を変えれば見やすい?)
- コントアの書き方 -- GRAPHICに同じ。
> lev 0.6 1.2 1.8....
> rgmなど。
- スケーリング・ファクターのかけ方: 単位に注意
> mul number
- ボロメータ・マップの品質はSky
Noise Reductionで決まる
- 第1ステップでの注意事項Return to Ray S. Furuya's Home page
* とりあえずは、ディフォルト のパラメタでマップを得る。ただし、最低限、
強い/弱いソース、コンパク トな天体/複数成分あり、なし/広がった天体....は考慮しよう。
* 結果を眺めて、
ネガティブ成分はないか?
あるとしたら、どのような特徴をもつか?
(引きすぎていないか? /baselineの次数は妥当か?)- 第2ステップでの注意事項
* 特 にAIPSのIMAGRで tvboxすることに慣れてしまった人への注意喚起!
ビー ムパターンの影響を受けているであろう、す べての領域を指定せよ!
(「必ずエミッションがいるであろう領域に 絞って始めるべし」のおまじないは忘れること)
* 鍵 を握るパラメタ
- イテレーションの回数 (強いソースは1回でさえOK)
- Inner searching radius
- Baseline fitの次数; 低い次数から。特 に弱く広がった天体に2次以上は禁物。
- 第3ステップのためのモデル作成の例
> sto <-- sto = store; background bufferへもっていく。
> init gfit <-- gfit = Gaussian fit
> init spike
------------ 初期化
> low 50 0 <-- 50 mJy 以下をゼロにする。
> neglect out (ポリゴンの外をゼロに)
> gift curs subtr <--- カーソルで指定した部分をガウシャン・フィット、マップから引く。
中心1個所をクリックして指定。複数 component指定可。
> ree plot <-- 引いたあと、どう見えるか?
> pol <-- もっ ともらしい「広がった」エミッションを指定。
> hpbw
> gsm 30 <-- ”残差"マップを半値幅30"でスムージング
> ree plot
> add gfit <-- バックグラウンドに回した点源と、スムースした広がったエミッションを足す。
> ree plot <-- モデルがどう見えるか?
------------ モデルの完成
> file out yourmodel.gdf <--- 出力するgdfファイルを開く。
> write
> close out
> @your3rdstep <--- 作成したモデルを使って、第3ステップのスクリプトを走らせる。
