----- 画像の整約と 3 色合成 -----

Last revised on 22 October 2006


IRAF を起動しよう

Redhat9 マシンの上で、 します。うまくいけば、xgterm 上での IRAF (アイラフ) 起動画面は このようになるはずです。 メッセージの行数がずっと少ない時は、うまくいっていません。 また、IRAF 上で と打てば (cl> は IRAF のプロンプト、 dev$pix というサンプル画像の鳥瞰図を表示せよ、というタスク)、 このような端末が出てくるはずです。 大量の化け文字が表示されるだけなら、うまくいっていません。 また、IRAF 上から と打てば (dev$pix を画像表示し、それを 1 という名の枠に入れる、 というタスク)、 このように表示されるはずです。 何も起こらなければ、うまくいっていません。 以上がうまくいけば次に進みます。 うまくいかない場合、その原因として、 が考えられます。

サンプル・データを取り込む

以下では 2005 年 7 月 15 日の晩に、 和歌山大学教育学部屋上天文台 60 cm 反射望遠鏡 (焦点距離 7800 mm) に CCD カメラ ST-9E (512 pixel x 512 pixel; pixel size: 20 micron) を取り付けて、 こと座にある惑星状星雲 M 57 (リング星雲) を B, V, R の 3 つのフィルターで撮影したものを サンプルとして用います。 1 pixel 当たりの角度は 0.53 arcsec、 視野範囲は約 4.4 arcmin x 4.4 arcmin です。 天体画像の形式は FITS (フィッツ) と呼ばれているもので、 Jpeg、Gif、Bitmap に比べて普及度はずっと低いのですが、 天体画像を扱うものとして世界標準のものです。

FITS 形式で保存した生データの束は、 20050715.tar.gzとしてまとめてあります。 これは、tar コマンドでたくさんのファイルを一つにまとめ (tar という拡張子がよく用いられる)、 gzip コマンドで圧縮をかけた (gz という拡張子がよく用いられる)、 というものです。 UNIX 環境でよく使用されるファイル操作です。

作業用のディレクトリーにこの tar+gz ファイルを落してきたら、 UNIX 環境で、

と打ちます。20050715 という名のディレクトリーが自動生成され、 その下に多くの FITS ファイルが吐き出されます。 参考のため、この逆の作業についても記しておきます。 20050715 という名のディレクトリーを、 20050715.tar.gz という名のファイルとしてまるごと tar+gz で固めたいなら、 と打ちます。

UNIX コマンドは IRAF 環境下では動作しない場合が多いのですが、

のように、UNIX コマンドの前に ! マークを入れると UNIX コマンドであると 認識して走るようになります。

FITS ファイルを見てみましょう。

あるいは、 で一覧表示されるでしょう。ファイル (画像という意味を込めて、フレーム (写真枠が元の意味) と呼ぶこともあります) の内容は、 にまとめました。観測野帳にも、このような情報を書き込んでおけばいいのです。 ファイル内容一覧で示した、撮影時間、CCD 温度などの情報は、 FITS ヘッダーと呼ばれる、 FITS ファイルの先頭部分に (ASCII 文字で) 書き込まれたところを読み出せば 分かります。 などと打ちます。imheader は IRAF のタスクで、imhead と打つだけでも ちゃんと走ります。 l+ は long option と呼ばれるもので、 ヘッダー内容をすべて表示せよ、という意味です (ここを long=yes と書いても同じ結果になります)。 | はパイプと呼ばれる機能で、それより左側に書かれた作業の出力を 画面にいきなり表示せず、その右側に書いた作業に渡す、 というものです。ここでは page という、 最後までスクロールしきるのではなく 1 ページごとに表示して スペース・キーで次のページを表示していく、という作業に渡しています。


整約の流れ

することで、 ことを、整約 (reduction; リダクション) と呼びます。

不要な成分として、ダーク、バイアス、スカイがあり、 感度補正のためにフラット・フィールディングを行ないます。 重ね合わせは露出時間を長くすることに対応していますが、 その処理を工夫することで (メジアン・フィルタリングなど)、 ノイズを大きく抑えることもできます。


ダークを引く

CCD カメラのチップ表面に 光子 (photon) が 1 つ当たると、 電子 (electron) が 1 つ放出される、 ということが期待されています。 放出された電子は、 電圧をかけて電流値として読み、 これを各ピクセルのカウント値として変換しています。

ところが、光子が当たらなくても電子がチップ表面から しみだしてきます。 暗電流 (dark current) と呼ばれるもので (簡単にダークと呼ばれる)、 チップ温度との強い相関があります。 また露出時間が伸びるほど、 ダークのカウント値が伸びてきます (ほぼ比例する)。 すべての取得フレームに、このダークが乗ってきます。

ダークは、ダーク・フレームというデータを別に取得し、 それを通常の撮影フレームから引き算することで処理します。 画像の演算に便利な IRAF タスクに imarith があります。

という文法です。例えば としてみましょう。そして、 とし、ds9 で画像のブリンク (メニューで Frame -> blink) をしてみましょう。 ダークが含まれている生画像とダークを引いた処理画像の 差は歴然としています。

天体を撮影したフレームにも、ダーク・フレームにもノイズが乗っています。 ノイズはランダム発生なので、 ノイズ入りデータどうしを演算すると、出力データのノイズは 増大します。 一般に入力データ 1 のノイズ n1、 入力データ 2 のノイズ n2 を加減演算した際の 出力データのノイズ n は、

で表されます (sqrt は square root 平方根)。もっともシグナル (s) の方は、 のような振舞で成長しますから、signal-to-noise ratio (SN 比; S/N) は 向上しています。 しかし、せっかくですから演算前にノイズを軽減させられるなら 軽減しておきたいところです。

そこでダーク・フレームを複数枚重ね合わせ、standard dark frame を 作成します。 同じ条件下で撮影していますから、 ダークのカウント値というシグナルは同じ結果を期待したいところですが、 実際にはフレームそれぞれにランダム発生のノイズが乗っています。 画像の重ね合わせには imcombine (imcomb でも走ります) を使います。

とします (120 秒露出のダークなので、120 という数字を入れてみました)。 ? はワイルドカード (wild card) と呼ばれるもので、任意の 1 文字を 表します。* は任意の文字列を表します。ですので、 という書き方でも同じ結果になります。 対象となるファイル名をすべて明記する方法もあります。 ファイル数が少ないうちはいいのですが、多数枚になってくると これは大変です。またワイルドカードをうまく使って 指定しきることができればいいのですが、場合によっては それも困難になることもあります。その場合、リストファイルという 方法を使います。 という風に対象ファイル名を 1 行ずつ書いたテキスト・ファイルを 用意します。このようなファイルの作成には、 エディター (文書作成のソフトウエア) を使いましょう。 UNIX 上なら vi や emacs (あるいは xemacs) があります。 vi は古典的ですが、UNIX 利用者なら習得しておきましょう。 さて、上の中身を書いたファイル名を dark_120.list としましょう。

最後に combine オプション指定を書いています。 画像重ね合わせには、

の方法があり、ここでは median (メジアン) を使っています。 平均はノイズ軽減にはよい方法ですが、 時々偶発的に発生する極端な値に弱い統計処理になります。 たとえば、100 という値を期待する試行を 3 回行なった時、 100, 100, 100 という結果が返ってくる場合もあるでしょうが、 となるかもしれません。ノイズが乗っているのです。 しかし平均を取るという処理をすることで、 ノイズの乗っていない、真の値に近い値をえることができます。 しかし、時々 となった時はどうでしょうか。 平均を取れば、非現実的な値を得るだけです。 20560 という、互いに似た他 2 つの値からかけ離れた 値を除外して 2 者で平均を取るか、 中央値、この場合は上から 2 位の値を採用するかしないといけません。 このように中央値採用 (median filtering) は、 突然やってくる極端な値に振り回されない統計処理です。 CCD データには、このような極端なデータが 時々含まれています。

さて、とにもかくにも standard dark frame ができました。 元の単独のダーク・フレームと比べると、 ノイズの軽減が分かります。

ds9 上でブリンクさせてみましょう。

ダークの差し引きには、

などとすればいいのですが、横着をしたいところです。 リストファイルの方法を使いましょう。 ダーク差し引き前の M 57 の生画像のリストとして objraw.list、 ダーク差し引き後の新しいファイル名のリストとして objsub.list を用意します。 生画像リストには、M 57 を撮影したものとフラット・フレームの両方を 含みます。 これで OK です。objraw.list と objsub.list が 1 行 1 行、 ちゃんと対応させておくことが大切です。 で新しいファイルができていることが確認できます。必要なら display で ds9 上に表示させたり、 blink 機能を使って reduction の効果を確認することもできます。

次節のフラットのところを含めて、ダーク差し引きを一括で行なうこともできます。


フラットで割る

CCD チップには多数のピクセルがつまっています。 ST-9E では 512 x 512 ピクセルあります。 それぞれが完全に同じ感度というわけにはいきません。 ところどころ、やけに感度が良かったり (あるいは いつも真っ白)、悪かったりする (あるいは全く感度がない) ピクセル (これらを bad pixel と呼んでいる) があります。 また、画面の一部分が何となく暗く写ったりすることがあります。 これはすぐ前の保護ガラス上、あるいはフィルター上のほこりの 可能性があります。 また光路上にケラレ (遮るものがあったり、十分に光が届かない設計になっていたりする) が ある場合もあります。

これらを補正して、「フラット」な画像を得る必要があります。 街角の電光掲示板での映像でも、このフラットが気になることがあるでしょう。 そのために、チップ上に一様な光を当てて撮影したフラット・フレームを用意し、 それで元画像を割算することで flat fielding (平滑化) をします。

フラット・フレームをどのように撮るかでいくつか工夫があります。 薄明の空、ドーム内の白板に白熱灯を照射したもの、夜光で光る夜間の空など、 いろいろあります。 ここでは薄明 (twilight) の空を使った twilight flat を撮っています。

フラット・フレームにもダークが乗っています。 まずこれを処理しましょう。 フラットはフィルターごとに処理をまとめます。 今回のサンプル・データではフィルターごとに露出時間も違っています。

M 57 画像の分も合わせ、一気にダーク差し引き処理をするなら、 元画像のリストraw.list、 ダーク差し引き後の新ファイル名のリストsub.list、 差し引くダークのリストdark.list を用意して、 とする手があります。リストファイルそれぞれをちゃんと対応させ合って おくことが大切です。

フラット画像も imcomb でまとめて standard flat frame にします。 しかし、薄明は時間とともにどんどん暗くなっていっているので (明け方の薄明なら、どんどん明るくなる)、フラット画像の カウント値はそれぞれ違い、 同じ条件下での画像とは言えなくなります。 また、フラット画像のカウント値は大きくなるように 撮影しています。 だいたい 1 万カウントです。 これは振り切れの 6.5 万カウントには近付かず、 一方ノイズに埋もれることを避けるために 高い値を要求したのです。 後でフラットで天体画像を割算する際、 フラットは割算の分母に相当します。 分母は 1 に近い値が望ましいとされています。 これは元の値をだいたい保存できることと、 演算による数値の丸めを抑えることから要求されます (あまりに大きいあるいは小さな数値で割算すると、 計算機内部で数値の精度が落ちる)。 したがって、すべてのフラット画像のカウント値を 1 近くに 規格化 (normalizaton) し、 それらを imcomb で重ね合わせて standard flat frame を 作成することにします。

フラットのカウント値といっても、各ピクセルで少しずつ違った値を 取ります。 ここでは画像全体で平均した値を考えていくことにします。 画像の各種統計を知るには imstatistics (imstat で動きます) という IRAF タスクを用います。

と打つと、 このような結果 が返ってきます。 NPIX はピクセル数 (512 x 512)、MEAN が平均値、 STDDEV は標準偏差 (standard deviation)、MIN/MAX は 最小値、最大値です。 ここでは MEAN の値を読み、 その値で割ります。 などとします。これもリストファイルで一気に片付けましょう。 MEAN の値を見るために、 flatsub.listを用意して、 で MEAN の値を一気に調べます。これを flatnum.listとしてまとめましょう (数値に小数点を付けた例になっているが、なくても同じ結果)。 値を 1 に規格化したファイル名のリストを flatdiv.listとして用意して、 で規格化終了です。念のため、 をして、出力画像のカウント値平均値が 1 に近いか確かめておきましょう。

いよいよ standard flat frame の作成です。

心配症の人は で MEAN の値などを見ておきましょう。

最後に flat fielding です。 同じフィルターでのフレームどうしで割算しないといけません。 フラットの情報がフィルターが違う (透過波長域が違う) と 違っているからです。 M 57 画像のダーク差し引き済みのデータのリスト objsub.list、 割算するフラット画像のリスト flat.list、 flat-fielded frames のリスト objflt.list を用意し、

とします。 フラット処理がうまくいったか、display で表示し、 背景が平坦になったか確かめておきましょう。

以上、ダーク差し引きとフラット処理で 元画像から比べて見違えるような質の画像に変わります。


バイアスを引く

小さな入力値の際の出力の不規則なふるまいを避けるため、 また小さな入力値でも必ず正の値を返すようにするため (正負の符合を気にせずに処理したいという計算機上の都合のため)、 出力値に「ゲタ」をはかせて大きめの値にすることをよく行ないます。 このゲタは バイアス値 (bias) と呼ばれています。

取得画像の全てにバイアス値がかかっています。 バイアスだけの画像を得る方法があります。 0 秒露出でダーク画像を取得するのです。 ダーク値が乗らず、バイアスだけが出てきます。 残念ながら ST シリーズの CCD カメラを CCDOPS (Windows から制御しているソフトウエア) で使う場合、 0 秒露出ができません (0.1 秒以上しかだめ)。 ところでダーク・フレームにもバイアス値が入っています。 ですので、ダーク・フレームによる引き算を行なえば、 自動的にバイアスの差し引きもしていることになります。 したがって上記のダークの差し引きは、 正確には「ダーク+バイアスの差し引き」と言うべきです (なお ST シリーズのバイアス値は 100 に設定されています)。

和歌山大学、みさと天文台、かわべ天文公園には、 SBIG 社製の ST シリーズ CCD カメラが入っています。 これは簡単な冷凍機で CCD チップを冷却しているだけなので dark current があまり下がらず、 ダークの差し引きが重要になっています。 もっと専門的な天文台では強力な冷凍機か液体窒素による 冷却を行なっており、dark current は事実上無視できる水準に 落としています。 そのような場合、バイアスの差し引きが重要になります。 0 秒ダークを取るような方法でバイアス・フレームを取得し、 これを用いてバイアスを取り除いています。


スカイを引く

背景光は

などから成っていると考えられます。 一般にスカイ (sky) と呼んでいます。 CCD 視野は非常に狭い (60 cm 望遠鏡に ST-9E を取り付けた際、一辺は 4 分角程度) ので、 背景光は視野内で一定だと考えます (フラット処理がうまくいけば)。 したがって、スカイを引くということは、ある定数を引くことです。 といった演算を行ないます。

問題はスカイの値の決め方です。 ds9 上に画像を表示させ、 スカイの領域を座標で読みとります。 例えば x 座標で 100 から 200、y 座標で 350 から 450 でしょう。 座標値は ds9 上に表示されています。

という表記で画像の一部分を指定してその統計を見ることができます。 結果は このように なります。数値の場所が少しずれますが、 この領域での MEAN の値が 267 であることがわかります。 したがって、スカイの値として 267 を取ることができます。 心配なら他のスカイ領域でも統計を取ってみることができます。

もっと効果的なのは画像全体で最頻値 (mode; モード) を取る方法です。 ピクセルのカウント値の頻度分布を表示する IRAF タスクに imhistogram があります。

とすると、 このような 表示になります。 縦軸が対数表示であることに注意。 極端に大きい、あるいは小さい値があるので「裾野」が広がっていますが、 ある値を中心に分布が集中します。 画面上、面積として天体部分より圧倒するスカイ領域での カウント値が返ってきているのです。 このままでは読みとりにくいので、 のように、定義域の上下限を設定して表示すると、 このように なります。 ヒストグラムに幅が出ているのはノイズのためで、 ある単一のスカイ値はこの分布の頂点、 すなわち最頻値であると解釈します。 定義域を 70 程度まで狭めると、 このように 横軸のメモリが 2 カウントを単位にしますから、 このメモリの半分の精度で読むと、 最頻値を 1 の位の整数値という精度で読みとることができます。 カーソルを持ってきて、マウスの中ボタンを押すと、 赤い十字線が出てきますので、値を読みやすくなります。 UNIX 環境では 3 ボタン・マウスを使いますが、 Windows では 2 ボタン・マウスやホイール・マウス (真中に「ころ」があるもの) を使います。左右のボタンを同時に押すか、 真中にホイールがある場合はそれを押せば、 中ボタンを押したことになります。 もちろん最初から 3 ボタン・マウスなら何も悩みません。 ここでは 267 と読むことができます。 先にスカイ領域で imstat を取って得た値と同じ値が返ってきました。 両者の方法で値は若干違う場合があります。 imhist を使った最頻値 (mode) を読む方法を優先させた方がいいでしょう。

がんばって M 57 画像それぞれで imhist を行ない、 適当な z1/z2 指定をして mode を読みとりましょう。 スカイ引きでもリストファイルを使ってみましょう。 フラット処理まで終った M 57 画像のリストは先に作ってある objflt.list、 それらに対応するスカイ値のリストを skynum.list、 スカイ差し引き後のファイル名のリストを objsky.list として、

でスカイ差し引きができます。

無事にスカイ引きまでできたことを、ds9 上での画像表示で 確かめましょう。

IRAF のタスク display では、何も指定がないと 自動階調で画像表示します。 zs- zr- とすることで、自動階調をやめ、 z1/z2 で表示カウントの下限上限値を指定しています。 スカイ引きが成功しているなら、 背景の値が 0 近辺になっているはずです。 したがって、-10 から 10 カウントでモノクロ階調するように 指定しているのです。 フラット処理+スカイ引きが成功していれば、 はどちらも満足するはずです。

FITS ファイルの生データでは符合なし整数値でデータが入っています (16 bit 階調、つまり 0 カウントから 2 の 16 乗 - 1 カウントまで)。 IRAF 上で演算する際、32 bit 実数値で出力します。 小数も負の数もありのデータ処理をしています。

ところで IRAF タスクでのオプション指定は、

といった方法で指定することもできます (edit parameters)。 そうすると、 このような 画面が表示されます。 ここで として、 として改めて display を走らせるか、 で直接 display を走らせることでも同じことができます。 あるいは、タスクのオプションを書き込む際、 と書いても OK です。

どれでやっても同じで、 できるだけ簡単で間違いのない方法でやればいいのです。

display の z1/z2 指定ができるようになると、 任意のカウント値に注目して階調を操作することができます。 黒く飛ばしたり (高いカウント値にだけ注目したい)、 白く飛ばしたり (低いカウント値にだけ注目したい) することができます。 以前の普通の写真 (いわゆる銀塩写真) なら それらに対応した 2 種類の写真を撮影しないといけなかったのですが、 CCD 写真はダイナミック・レンジが広いので、 1 枚の写真から表示上の工夫で両極端の表現を得ることができます。

など、いろいろ試してみて下さい。 ds9 の枠として 1 以外にも入れてみて、blink させてみるのもいいでしょう。 また単なるモノクロ表示 (grayscale) だけでなく、 疑似カラー表示も可能です。 反転表示も可能です。 拡大縮小表示も可能です。 マウスの右ボダンを押しながらカーソルをドラッグすることで 階調を変えることもできます。 ds9 のメニューなどを色々探検してみて下さい。


重ね合わせをする

望遠鏡の追尾が完全でないため、また大気による浮き上がり効果により、 視野内で捉えているはずの天体が、わずかながら場所を変えていきます。 オート・ガイダーはそれを補正し、天体をいつも同じピクセルの上に 捉えておく装置です。 ST-9E はオート・ガイダーと接続することができます。 しかし、オート・ガイダーは調整が簡単ではありません。 今回のサンプル・データではオート・ガイダーを使用していません。 そのため、画面上で星が線状に流れないようにするため、 露出時間を 1 フレーム 120 秒としています。 60 cm 望遠鏡に ST シリーズカメラを取り付けた際、 だいたい 180 秒くらいの露出時間までなら 星が点状に写ってくれます (しかし 180 秒ではちょっと微妙なので、今回は 120 秒露出にしました)。

ds9 上で星の写っている座標位置を調べ、 フレームごとに相対的な位置ずれを見ていきます。 星は点像に近いはずなのですが、大気揺らぎにより、 ある広がりを持った像に写ります。 また、光学系が完全でないと像は円形ではなくなります。 したがって、ここでの星の位置は 星の像の重心位置、というべきものです。

星の像の重心位置を調べるには imexam という IRAF タスクを用います。

とすると、ds9 上に小さな円形カーソルが点滅して出てきます。 これを星の上に乗せ、r のキー (radial; 中心から半径方向という意味) を押します。 そうすると、 このような 表示が出てきます。 + マークは実測点、破線はそれに合うような Gaussian (ガウス関数) 曲線です。 中心のカウント値は重要です。 ここが 6 万カウント近くになっていて、 + マークが平坦な頂上を作っている (要するに飽和している; サチっていると表現する; satulated) と、 その星は重心位置検出には使えません。

重心位置はグラフの上に Radial profile at xxx.xx yyy.yy というところに 書かれています。 これを読んでメモをしておけばいいのですが、やや面倒です。 ここでは

などとして、結果を imexam.log というファイルに書き出すようにしましょう。 このファイル名は何でも構いません。 このオプション指定に、epar を使って編集して走らせても構いません。

互いの相対位置を検出するための星は 1 つでもできなくはないですが、 重心検出にもノイズが乗りますから、できれば複数の星で行なうべきです。 ここでは この 3 つの星 を使って imexam を進めていくことにしましょう。 これは B band での画像です。 CCD 撮像では、B -> V -> R の順に写りが良くなります。 したがって、B band でも良く写っている星を対象に選ぶ必要があります。

1 つの画像で連続して 3 つの星の imexam を取ります。 カーソルを動かして、次々に r を押します。 最後に q を押して、その画像での imexam は終了です。 次の画像でも、同じく imexam.log をログを取る先として指定しましょう。 上書きではなく、後ろに追記されていきます。 このようにして、M 57 の画像全てに対して imexam の結果が出てきます。 画像は 15 枚、それぞれの画像で星が 3 つですから、合計 45 の星を 相手にすることになります。 imexam.log の出力例は このようになります。 一番最初の COL (column; 列のことで x 座標に対応) LINE (line; 行のことで y 座標に対応) を読んでいけばいいのです。

時間的に中央の V band 3 枚目の画像での座標値との相対差を 計算していくことにします。 結果はこれです。 3 つの星それぞれの shift 量が互いに似た値であることも 確認しておくべきです。 ひとつひとつ計算してもいいですし、 適当なプログラムを組んでもいいでしょう。 Redhat9 マシンでは fortran も C も動きます。 練習も兼ねて、いろいろ試して下さい。

shift するべく量も計算できました。 iRAF タスクの imshift を使用します。

という文法です。 ここでもリストファイルを使いたいところなのですが、 どういうわけか、 という指定ができません。 仕方がないので、画像 1 枚ずつ処理をしていきます。 しかしもう少し面倒でない方法もあります。 objsft.clというファイルを用意します。 これは IRAF 上での作業を 1 行ずつ書き下したものです。 これ全体を新しいタスクとして IRAF に登録します。 CL スクリプトと呼ばれるものの最も簡単な例です。

最終的な重ね合わせの前に、 imshift まで終った画像を display して 互いにほぼ同じ写りの画像か確かめましょう。 ここでは自動階調ではなく、積極的に階調指定しましょう。

として ds9 上で blink させてみましょう。 これらに問題なければ、いよいよ重ね合わせです。 以上 3 枚の FITS 画像、m57_[b,v,r].fits が最終画像です。 ここまでの作業、おつかれさま。


おまけ: 3色合成をする

天文学的作業では、各 band ごとに精密に明るさや形態を調べるので、 以上の作業で十分なのだが、 効果的な presentation のために 3 色合成を行なうことがあります。 これは、カラー画面を作っている RGB の 3 つのチャンネル (red, green, blue) に 各 band の画像を入れ、 カラー画像として合成するものです。 天文学で使っている BVR バンド (正確には Johnson B, Johnson V, Cousins R の各バンド) は 肉眼で見た RGB に比較的近いものです。 他に例えば紫外線域、赤外線域の画像を RGB チャンネルに入れ ることも可能で、 肉眼では見ることができない疑似カラーも再現可能です。

3 色合成には IRAF の color というパッケージを使います。 普通はこのパッケージ (タスクの群れ) は 使用頻度が低いとしてロードされていません (すぐには使える状態にはない、ということ)。 そのために、まず color パッケージをロードします。

color パッケージをロードすると、 このようなメッセージ が出て、 新たに使えるタスク群が一覧表示されます。 プロンプトが co> になります。 ここでは rgbsun というタスクを用います。 R,G,B にそれぞれ R,V,B バンドの画像を当てます。 タスクのオプション指定が長いので、 1 行で収まりません。 その場合、一旦バックスラッシュ (\) を入れます。 もちろん epar を使って パラメーター指定しても構いません。 swap=yes と指定しておくことが大切です。 なお、日本語環境でこの文書を読んでいる場合、 バックスラッシュは円マークとして 表示されているかもしれません。 またまったく表示されていないかもしれません。 ちょっとご注意を。

[rgb]z[12] は、それぞれのチャンネルでの出力最小最大値を、 入力画像のどのカウントに対応させるか、を指定する項目です。 z2 の値を大きくとると暗い画像に、小さくとると明るい画像になります。 z1 と z2 の値の開きを広くすると軟らかい画像に、 開きを狭くすると硬い画像になります。 rgb の混ぜ具合を変えると色調が変わります。 上の例では、 画像の重ね合わせの際に用いた 3 つの星のうち、 左下の星で R,G,B で同じ強さの出力になるように、 つまり白色になるように調整したものです。

rgbsun では Sun 24-bit raster file という、 これまたマイナーな形式の画像で出力されます。 これを、よく使われている Jpeg などに変換しましょう。 Redhat9 に標準装備されている簡易画像処理ソフト、 Gimp (ジンプ、ギンプ、ジーインプ、何と読むのだろうか?) を使ってみよう。

UNIX 環境で gimp を走らせます。 初めて走らせる時は、初期設定ファイルを作成したりと 何かとうるさいが、最初だけです。 gimp で m57_bvr.ras を読み込み、 ファイル出力で Jpeg などを選び、 m57_bvr.jpg などと出力ファイル名を指定すれば OK。 そのようにして、 このようなカラー画像 ができあがります。

白色矮星の青白い色、 惑星状星雲の 赤い発光 (中性水素のバルマー輝線 Hα 及び窒素一階電離の禁制線)、 緑色の発光 (酸素二階電離の禁制線) が よく分かります。 周囲の星の色も、多様であることも分かります。


困った時には

過去の卒論、修論を読もう。 観測の手順、解析の手順、細かな注意点がしっかりと書かれています。 製本して天文ゼミ生部屋に置いてあります。 後輩が読んでいい道標になるように、と書いてくれています。

IRAF タスクのヘルプも参照しよう。

などとすると、いやになるほど説明が返ってくる。 もちろん上から全部読む必要はないし、ましてや暗記する必要もない。 必要な箇所を探し、そこだけ読めばいいのです。 忘れたら、また help を打てばいいのです。 タスク名が分からない時、 たとえば average (平均) に関するタスクは何だったかな? という時は、 とするとよいでしょう。

UNIX (Redhat) に関してはよい手引書が山のように出版されています。 あるコマンドについて知りたければ、

のように man コマンド名、とします。man コマンドそのものを知りたい時は、 とします。 UNIX (Redhat) に関するいいウエブ・サイト、 IRAF に関するいいウエブ・サイトがあります。 一部は天文ゼミ秘密ページにリンクを作ってありますが、 ネット・サーフィンしてもいろいろ見つかるでしょう。

困った時に一番頼りになるのは、 「人間字引」です。 詳しい人に丁寧にお願いし、 分かりやすく手ほどきを受けましょう。


Tomita Akihiko; atomita @ center.wakayama-u.ac.jp