2010.1/22
今回は少々細かいことをやる。
これまでSExtractorかける時、DETECT_THRESHを2とかでやっていた。これはskyから2σ以上明るいカウントを天体として検出するということだが、これは条件としてゆるすぎるかもしれない。
こうしたことを確認するためにcontaminationを測る。"contamination"とは「ゴミをどれくらい拾ってるか」の指標でありゴミをあまり多く拾ってるとちゃんとした測光にならないので、もっとDETECT_THRESHを大きくしたりしないといけない。
また測光誤差も求めてみる。S/N比を求めるにはNoiseを求めないといけない。具体的にNoiseはN={σ(object)^2+σ(sky)^2}^0.5とかける。よって天体が明るい際には天体起因のノイズσ(object)が支配的になり、天体が暗い際にはsky起因のノイズσ(sky)が支配的になる。今回はその内のσ(sky)を測る。おまけとして、σ(sky)から天体として検出される限界等級などを求めてみようと思う。
☆其の一 contamination=ゴミ(skyによる凸凹)をどれくらい検出してしまっているかの確認
天体画像(perfect1222.fits)の符号を反転させた画像を作り、それにSExtractorかければcontamination測れる。符号反転させた画像は天体がーカウントになり、+のカウントを持つのはノイズのみ。SExtractorでは+のカウントに対して天体検出するので、符号反転画像にかけるとゴミのみが天体として検出されるというしくみ
◎画像の+ーひっくり返した画像作る
cl> imarith perfect1222.fits * -1 contami122.fits
見てみる
cl> !ds9 &
cl> reset stdimage=imt8192
cl> display perfect1222.fits 1 zr- zs- z1=-20 z2=200 →こんなの
cl> display contami122.fits 2 →こんなの
◎+ー反転させた画像にsextractor(+のcountしか検出しない)かけることでskynoiseをどの程度天体として検出しているか確認する
・以下のようなパラメータファイルつくる
→122contami1.sex
・実行
$ sex contami122.fits -c 122contami1.sex
・一応どういうところが天体として検出されてるかxy座標のみ表示させてみる
$ gnuplot
gnuplot> plot '122contami1.cat' u 5:6 →こんなの(epsファイル)
・・・銀河密集してる所で銀河の-countに引きずられて、skynoiseが天体として表示される傾向にある
◎前回作った銀河団銀河のnumber count,112hist3.catと比較するため、ノイズのnumber countを製作
・深い観測が出来てる領域[600:3250,500:1850]にあるnoise天体のみリスト化
$ awk '$5>600 && $5<3250 && $6>500 && $6<1850{print}' 122contami1.cat > 122contami2.cat
・更にAuto magのみリスト化(phistの入力用)
$ awk '{print $4}' 122contami2.cat > 122contami3.cat
・等級bin毎のnoise天体数を弾き出す
cl> epar phist #とりあえずオプションを前回112hist3.cat作った時と一緒にしとく#
I R A F
Image Reduction and Analysis Facility
PACKAGE = plot
TASK = phistogram
input = 122contami3.cat The input data
(z1 = 14.) Minimum histogram intensity
(z2 = 24.) Maximum histogram intensity
(binwidt= 0.5) Resolution of histogram in intensity units
(nbins = 512) Number of bins in histogram
(autosca= yes) Adjust nbins and z2 for integer data?
(top_clo= no) Include z2 in the top bin?
(hist_ty= normal) Type of histogram
(listout= yes) List instead of plot histogram?
(title = imtitle) Title for the plot
(xlabel = Data values) X-axis label
(ylabel = Counts) Y-axis label
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・(略)・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
(:q)で保存して抜ける
実行して新しいファイルに保存
cl> phist 122contami3.cat > 122hist3.cat
◎天体number countとノイズnumber countを比較
・まず単純に二つプロットさせる
$ gnuplot
gnuplot> plot '122hist3.cat' u 1:($2/13.346775) w histep , '112hist3.cat' u 1:($2/13.346775) w histep →こんなの(epsファイル)
・・・ちょっとゴミ多すぎる
→もっと天体検出のしばり強くすべき!とりあえずSExtractorのDETECT_THRESHを2から3にしてperfect1222.fitsとcontami122.fitsに対する天体検出+number count作成を繰り返した。結果だけ示すと
→こんな感じ(epsファイル)
・・・明らかに良くなった
やはりDETECT_THRESHは3くらいの方が良いっぽい、ということが確認出来た。
なのでperfect1222,fitsに対する天体検出を再度やり直す(112mag+.sexのDETECT_THREShを3にしてもう一回かける)
$ sex perfect1222.fits -c 112mag+.sex
☆其の二 測光誤差を測るためにノイズのうち空によるもの、σ_skyを測る
◎skyの任意の部分を測光する
・天体画像から天体部分のcountを0にした仮想skyをつくる
最後にSExtractorかけたのはperfect1222.fitsに対してなので、check.fits=SEGMENTATIONファイル(検出天体の場所が見れる画像)はperfect1222.fitsのものになっている。
とりあえず別名にして保存しとく
cl> imcopy check.fits check122.fits
perfect1222.fitsもコピーしとく。
cl> imcopy perfect1222.fits noise122.fits
・天体画像ファイルの銀河の所をマスクがけしてcountを0にしちゃう
マスクとしてはSEGMENTATIONファイル=check122.fitsを使えばいい
stsdasに入る
cl> stsdas
マスクがけするためのタスクimfill使う
st> epar imfill
I R A F
Image Reduction and Analysis Facility
PACKAGE = imgtools
TASK = imfill
image = noise122.fits Image name
mask = check122.fits Mask name
expr = mask .ne. 0 Boolean expression #fortran的表記。maskファイルで0じゃないpixelのcountを下のvalueの値に置き換えてしまう/#
value = 0. Fill value
(mode = a)
(:go)
これでcheck.fitsで0ではない部分、即ち天体の部分のpixelのカウントを0にした仮想sky画像noise122.fitsの完成
・確認
st> display noise122.fits 4 zr- zs- z1=0 z2=100 →こんなの
◎background noise測定
・仮想sky画像noise122.fitsを使ってσ_skyを測る。そのためのCLスクリプトを以下のように組む。
→122estbackerr.cl
(要は"sex 天体画像 ランダムシフトさせた仮想sky -c 〜.sex"を多数回行い一回毎に得られるskyの情報(mean.stddev)を多数回平均することで精度のよいσ_skyを得ようとするスクリプト)
・実行
st> cl < 122estbackerr.cl
measure sky fluctuation on noise122.fits at 0.936 arcsec diameter
total 15000 random apertures are used
cycle No.1 total number = 1739
cycle No.2 total number = 3478
cycle No.3 total number = 5217
cycle No.4 total number = 6956
cycle No.5 total number = 8695
cycle No.6 total number = 10434
cycle No.7 total number = 12173
cycle No.8 total number = 13912
cycle No.9 total number = 15651
・結果を見る
$ more 122backnoise.txt
8.00000 0.936 212.5722 14.23289
(左からaperture,aperture*0.117(arcsec),stddev,mean)
→よってσ_sky=stddev=212.5722
◎例えば天体として十分検出可能な限界等級(sky標準偏差より3σ以上の明るさ)を求めてみる
等級の定義式とzero点=29.785を使えば
限界等級=-2.5Log10(σ_sky*3)+29.785
で求まるはずなので計算してみる
$ awk '{print -2.5*log($3*3)/log(10)+29.785}' 122backnoise.txt
22.7734
これよりSExtractorでの天体検出は22.7734等程度以上の明るさでないと検出できない、もしできたとしても信頼性が低い、ということが分かった。