カタログを作ろう #2006年冬の学校の佐藤康則さんバージョンを八木改変 画像から天体に関する情報(位置、等級など)を抽出します。 ここでは SExtractor を使ってみます。 1. setup 作業用ディレクトリを作る。 % cd (あなたの作業ディレクトリ) % mkdir SExtractor % cd SExtractor デフォルトファイルとガウシアンフィルターのコピー % cp -p /usr/local/share/SExtractor/[dg]* . マニュアルは http://terapix.iap.fr/rubrique.php?id_rubrique=91/ のユーザマニュアルを読んで下さい。 2. 動作確認 % sex ../H030330object044_si001s.fits test.cat が出来るはずです。 3. 調整 ・バックグラウンド ・convolution filter ・threshold(敷居値) を以下調整します。 3a バックグラウンド (cf. マニュアル 6.1.1) 設定ファイル中の BACK_SIZE, BACK_FILTERSIZE を調整します。 まず、デフォルトの設定ファイル default.sex を別名でコピーしましょう。 % cp default.sex back.sex この back.sex を vi なり emacs なりで編集します。 以下になるように該当行を変更して下さい。 ==(back.sex) CHECKIMAGE_TYPE BACKGROUND DETECT_THRESH 100. ANALYSIS_THRESH 100. CATALOG_TYPE FITS_LDAC PARAMETER_NAME back.param == 次に back.param を作成します。 % echo NUMBER > back.param さて、ここからイテレーション(繰り返し)です。 合成済の画像が ../all.fits だったとしましょう。 % sex ../all.fits -c back.sex -BACK_SIZE 1024 -BACK_FILTERSIZE 11 check.fits が出来上がるので、これをFITSブラウザで 不具合がないか確認します。 目的に応じて、BACK_SIZE、BACK_FILTERSIZE を変えたり、 画像のトリミング(切り出し)をします。 満足いくまで繰り返しましょう。 3b convolution filter (cf. マニュアル 6.2.5) 設定ファイル中の FILTER_NAME を調整します。 また、デフォルトの設定ファイル default.sex を別名でコピーしましょう。 % cp default.sex fwhm.sex 以下になるように該当行を変更して下さい。 ==(fwhm.sex) BACK_SIZE 1024 ← 3a で決めた値にします BACK_FILTERSIZE 11 ← 3a で決めた値にします CATALOG_TYPE ASCII DETECT_THRESH 100. ANALYSIS_THRESH 100. PARAMETER_NAME fwhm.param PIXEL_SCALE 0 == また、fwhm.param を作成します。 % (echo FLUX_MAX ; echo FWHM_IMAGE) > fwhm.param 実行します。 % sex ../all.fits -c fwhm.sex この結果できる test.cat はピークの値とFWHMの値が 検出天体それぞれについて出されたものです。 横軸に log($1)、縦軸に log($2) のグラフを書きます。 ここから SEEING_FWHM と SATUR_LEVEL を決めていきます。 経験的に検出天体と同じかやや小さい幅の convolution filter が 良いとされています。例えば SDF が主目的としていた 見かけの小さい遠方天体は、点源かそれよりやや大きい程度になるので、 星の FWHM が良い目安となります。 例えば、FWHM=3pix なら、 gauss_3.0_7x7.conv を使うと良いでしょう。 なお、このフィルターの内容は % more gauss_3.0_7x7.conv などで確認できます。 3c threshold (cf. マニュアル 6.3.1) 設定ファイル中の DETECT_THRESH, ANALYSIS_THRESH を決定します。 また、デフォルトの設定ファイル default.sex を別名でコピーしましょう。 % cp default.sex detect.sex 以下になるように該当行を変更して下さい。 ==(detect.sex) BACK_SIZE 1024 ← 3a で決めた値にします BACK_FILTERSIZE 11 ← 3a で決めた値にします FILTER_NAME gauss_3.0_7x7.conv ← 3b で決めたファイルにします PIXEL_SCALE 0 SEEING_FWHM 0.6 ← 3b で求めた値にします SATUR_LEVEL 15000 ← 3b で求めた値にします PARAMETER_NAME detect.param == % echo NUMBER > detect.param 実行します。 % sex ../all.fits -c detect.sex -DETECT_THRESH 2.0 -ANALYSIS_THRESH 2.0 結構時間がかかります。 出来た結果のカタログの検出数を調べます。 % tail -1 test.cat これをメモしておきます。 次に negative image を作ります。 -IRAF の場合 cl> imarith ../all.fits * -1 nega.fits -sdfred でやる場合 % arithimg ../all.fits / -1 nega.fits (注:sdfred 版はメモリが足りないマシンでやると失敗します) 同じパラメタで nega.fits の検出を行ないます。 % sex nega.fits -c detect.sex -DETECT_THRESH 2.0 -ANALYSIS_THRESH 2.0 出来た結果のカタログの検出数を調べます。 % tail -1 test.cat negative image での検出が少なく、元の画像での検出が多くなるように、 -DETECT_THRESH -ANALYSIS_THRESH の調整を行ないます。 この2つは同じ値としておいて下さい。 つまり、 % sex ../all.fits -c detect.sex -DETECT_THRESH *** -ANALYSIS_THRESH *** % tail -1 test.cat % sex nega.fits -c detect.sex -DETECT_THRESH *** -ANALYSIS_THRESH *** % tail -1 test.cat を繰り返すわけです。 以下、あるデータでの結果です。 Thres posi nega 1.5 169995 52887 2 140638 19062 3 106906 4100 5 76025 561 10 45607 62 4. catalog 生成 (cf マニュアル 9.2, 9.4, 9.1) % cp default.sex spcam.sex ==(spcam.sex) CHECKIMAGE_TYPE APERTURE BACK_SIZE 1024 ← 3a で決めた値にします BACK_FILTERSIZE 11 ← 3a で決めた値にします FILTER_NAME gauss_3.0_7x7.conv ← 3b で決めたファイルにします SEEING_FWHM 0.6 ← 3b で求めた値にします SATUR_LEVEL 15000 ← 3b で求めた値にします DETECT_THRESH 2.0 ← 3b で決めた値にします ANALYSIS_THRESH 2.0 ← DETECT_THRESH と同じにします。 PIXEL_SCALE 0 MAG_ZEROPOINT **** ← 標準星解析から求めた値にします。 PARAMETER_NAME spcam.param CATALOG_NAME out.cat PHOT_APERTURE 10.0 ← この場合は直径10pixel の開口測光 == spcam.param には欲しいパラメータを並べましょう。 先頭の # があるとそのパラメータは計測も出力もされません。 default.param にはないものもあるので、マニュアル等を参照のこと。 % sex ../all.fits -c spcam.sex 出来上がった out.cat が欲しいカタログになります。