BaasicUsage01 - JASMINE-Mission/jasmine-imagesim GitHub Wiki

はじめに

ここでは jasmine-imagesim の基本的な使い方について述べますが、 基本的にパラメータを設定してコードを流すだけで難しくはありません。

作業領域の設定

これから作業するための領域 ([WORKDIR]) を作りましょう。

mkdir [WORKDIR]

この領域にパラメータファイル、計算結果を置いていきます。

パラメータの設定

ひな形のコピー

パラメータファイルのひな形 jasmine-imagesim のホームディレクトリ ([JIS_HOME]) の下の params/templates にあります。これをディレクトリごと作業領域にコピーして [WORKDIR]/[PARDIR] としましょう。

cp [JIS_HOME]/params/templates [WORKDIR]/[PARDIR] -rf

中には以下のようなファイルがあります。

  • ace*.json: 指向エラー (ACE) 設定ファイル
  • ctl.json: 計算諸設定ファイル
  • det.json: 検出器関連設定ファイル
  • drift.json: 指向ドリフト設定ファイル
  • spc.json:
  • src.json:
  • star_plate.csv: 天体情報ファイル
  • tel.json: 望遠鏡設定ファイル
  • variability.json: 変光設定ファイル
  • wfe.json: 波面誤差設定ファイル

今回は ctl.json, det.json, star_plate.csv, tel.json を確認、適宜設定を変更してシミュレーションを行うことにします。各ファイルの設定は下記に記載します。これらのファイルを直接編集していただいても構いませんし、適当な名前のファイルにコピーしてそちらを編集していただくのでも構いません。

計算諸設定 (ctl.json)

ctl.json には計算に関する総合的なパラメータが記載されます。 以下、その設定の仕方について記述します。

effect

effect の項にはどういった効果を考慮する/しないという設定を記述します。

  • wfe  wfe は波面誤差 (wavefront error; wfe) をどのように考慮するかを指定するパラメータです。wfevaluedummy, random, fringe37 のいずれかを記載して設定を行います。dummy を書くと波面誤差はないものとされます。random を書くとランダムな波面誤差を生成します。fringe37 は光学計算で生成した波面誤差パラメータファイルを入力として波面誤差を考慮するものです。  ここでは波面誤差を考慮しないものとして、effect.wfe.val"dummy" としておきましょう (引用符を付けて下さい)。

  • psf  psf は点像分布関数 (point spread function; psf) の計算方法を指定するパラメータです。psfvalue には gauss, real のいずれかを記載して設定します。gauss は PSF をガウシアンとするもので、real は開口パターンや波面誤差を考慮して PSF を計算するものです。  ここでは開口パターンを考慮するために effect.psf.val"real" に設定しましょう (引用符を付けて下さい)。

  • ace  ace は姿勢制御誤差 (attitude control error; ace) の計算方法を指定するパラメータです。acevalue には none, gauss, real のいずれかを記載します。none は姿勢制御誤差を考慮しないもの、gauss は姿勢制御誤差による PSF の変化を理想的な PSF とガウス関数の畳み込みで計算するもの、real は ACE の特性をパワースペクトルで規定て計算するものです。  ここでは簡単のためにガウス関数を使って計算する effect.ace.val"gauss" にしておきましょう (引用符を付けて下さい)。

  • flat_interpix  flat_interpix はピクセル間フラットのばらつきを考慮するかどうか指定するパラメータです。考慮する場合はその valuetrue に、考慮しない場合は false とします。  ここでは考慮することにして effect.flat_interpix.valtrue としておきましょう (引用符は不要です)。

  • flat_intrapix  flat_intrapix はピクセル内フラットの分布を考慮するかどうか指定するパラメータです。考慮する場合はその valuetrue に、考慮しない場合は false とします。  ここでは考慮しないことにして effect.flat_intrapix.valfalse としておきましょう (引用符は不要です)。

星像計算制御パラメータ群

 次の M, DellPix, fN, PixNum, dx, dy は星像計算を制御するパラメータですが、今回はデフォルト値のままにしておきます。

 GaussPSFfwhm は先述の effect.psf.value"gauss" を設定した場合に、ガウス関数型の星像の半値全幅 (fwhm) を設定するものです。今回は effect.psf.valuereal を用いますのでこれもそのままにしておいて問題ありません。

WFEcontrol

 WFEcontrol には波面誤差計算のためのパラメータが格納されます。今回は先述の通り effect.wfe.val"dummy" として波面誤差を考慮しませんので、何も変更する必要はありません。

ACEcontrol

 ACEcontrol にはリアルな ace の計算を行うための制御パラメータが格納されます。多くは effect.ace.val"real" とした時に用いるパラメータですが、effect.ace.val"gauss" にした場合も acex_std, acey_std はその設定値を利用します。acex_std, acey_std はそれぞれ ace の x, y 方向の標準偏差を規定します (単位: arcsec)。今回値を変更する必要はありませんが、必要に応じて変更しても構いません。

その他のパラメータ

 今回はこれらも変更する必要はありませんが、いかに説明を記述しますので参考になさってください (必要に応じて変えても構いません)。

  • Nplate 小フレームを構成する plate の数です (同領域露光回数)。
  • tplate 1プレートの露光時間です。
  • Rv 星間減光の減光則を規定する Rv パラメータです (Rv=Av/E(B-V))。
  • J-H シミュレーションを行う星の見かけの色 (J-H の色指数) を規定するパラメータです。
  • alpha (obsolete) J, H, Hw 等級を関連付けるのに使われていたパラメータです。通常使われなくなりました。

検出器設定 (det.json)

 検出器に関連するパラメータを格納しています。今回は特に変更する必要はありませんが、各項目の詳細については下記に記載しますので参考にしてください (必要に応じてご変更いただいても構いません)。

  • pixsize ピクセルの物理サイズです (単位: ミクロン)。

  • Npix 一辺あたりのピクセル数です。正方形のフォーマットを仮定しており、リファレンスピクセルの扱いは 現在の imagesim にはありません。

  • readnoise 一回読み出しあたりの読み出しノイズです (単位: 電子数)。

  • Idark 背景光・迷光を含む暗電流設定値です (単位: 電子数/秒/ピクセル)。

  • Fullwell フルウェルの設定値です (単位: 電子数)。現状、検出器応答の非線形性は考慮しませんが、「これ以上カウントが上がらない」という意味の飽和のみ考慮されており、そのレベルを設定するのがこの Fullwell の値です。

  • QE 量子効率の値です。QE.wavelength.val に波長グリッドの値 (単位: ミクロン)、QE.qe_value.val に量子効率の値を配列として記載します。

  • spixdim ピクセル内フラットの計算のためのサブグリッドのグリッド数です。

  • Nmargin リアルな ace を計算する際の psf 計算領域のマージンです。

  • intrapix ピクセル内フラットの計算のための参照ファイル名の設定領域です。

  • persistence パーシステンス計算の制御パラメータです。現在はパーシステンス計算機能は未実装です。

  • readparams 読み出しに関連するパラメータです。

    • fsmpl: サンプリング周波数です (単位: sampling/sec)。
    • ncol_ch: 読み出し ch 一個の担当領域の column 方向のピクセル数です。
    • nrow_ch: 読み出し ch 一個の担当領域の row 方向のピクセル数です。
    • npix_pre: 1 row 読み出し前に ref. level を取る場合のサンプリング回数です。
    • npix_post: 1 row 読み出し後に ref. level を取る場合のサンプリング回数です。
    • t_overhead: リセット後読み出し開始までの間の overhead 時間です (単位: 秒)。
  • gain 変換ゲインです (単位: 電子数/adu)。

  • location 焦点面上での検出器の位置です。

望遠鏡設定 (tel.json)

望遠鏡に関係するパラメータを格納しています。基本的に変更の必要はありませんが、以下に各項目の説明を記載しますので参考になさってください (ご変更いただいても構いません)。

  • EPD 望遠鏡の有効口径です (単位: mm)。

  • Cobs 副鏡による遮蔽割合です (副鏡遮蔽直径/EPD)。

  • Spider スパイダーの設定です。現状対称な三本スパイダ―を想定しております。スパイダーの厚みを Spider.thickness.val に設定します (単位: mm)。

  • Eopt 光学系効率の設定です (望遠鏡+フィルタ)。Eopt.wavelength.val に波長グリッド (単位: ミクロン)、Eopt.efficiency.val に光学系効率の値をそれぞれ配列で与えます。

  • EFL 焦点距離の設定です (単位: mm)。

天体情報設定 (star_plate.csv)

 天体の情報を設定するファイルです。特に変更しなくても動かすことはできますが、以下の説明を参考に適切なものを作ることで、検出器上の指定の位置に指定の明るさの星を置くようなシミュレーションが可能となります。以下、本ファイルの説明を記述します。

 本ファイルは csv とあるように項目ごとにカンマで区切って記載します。最初の行はヘッダとなっており、各列の項目名を記載します。二行目以降は、plate index, star index, x pixel, y pixel という項目を使って「何番目のプレート plate index」に「番号○○の星 star index」が「検出器上のどこ (x pixel, y pixel)」に「どういう Hw 等級 Hwmag」で写っているかを指定します。ただし現状では、plate index が 0 の物だけを、全プレートで撮影する形で計算されます。  x pixel, y pixel は FITS の規約に則り、左下のピクセルの中心を (1, 1) とする座標系での値を記載することとしています。  lambda, beta は銀経銀緯を記載する列ですが、現在のところ使っておりませんので、適当な値を入れておいてください。

コードの実行

 まず作業領域 ([WORKDIR]) に移動しましょう。

cd [WORKDIR]

 そのディレクトリにパラメータファイルをまとめたディレクトリ [PARDIR] は見えますか。ls で確認してみてください。

 確認できればいよいよコードの実行です。実行コードは jasmine-imagesim のホームディレクトリの下の bin の下にある mkimage.py です ([JIS_HOME]/bin/mkimage.py)。これを以下の要領で実行します。

python [JIS_HOME]/bin/mkimage.py --pd ./[PARDIR]/ --starplate star_plate.csv --det det.json --tel tel.json --ace ace_001.json --ctl ctl.json --format platefits --overwrite --od ./[OUTDIR]

mkimage.py 以降は引数群で、--引数名 引数設定値 という組が連続して記述されています。pd はパラメータファイルを保持するディレクトリ名で、ここでは ./[PARDIR]/ となります。最後の od は計算結果を出力するディレクトリ名 ([OUTDIR])で、適切に設定をお願いします。コマンド実行自転で出力ディレクトリを作っておく必要はなく、存在しなければ自動的に作成します。最後から二番目の format は出力フォーマットで、platefits をしているするとプレート毎に FITS 化したものを出力します。最後から三番目の overwrite は出力ファイルについて上書きを許可する場合に設定してください。  そのほかの引数はどのパラメータに対して [PARDIR] 内のどのファイルを参照するかを指定しています。上記コマンドではデフォルトの名前を記載しましたが、別ファイルに設定を作った場合は適切に参照すべきファイル名を記述してください。以下に残る引数群の説明を記述します。

  • starplate 天体情報設定ファイルを指定します。テンプレートファイル群中の star_plate.csv に相当します。
  • det 検出器設定ファイルを指定します。テンプレートファイル群中の det.json に相当します。
  • tel 望遠鏡設定ファイルを指定します。テンプレートファイル群中の tel.json に相当します。
  • ace ace の設定ファイルを指定します。effect.ace.valreal にしない限り本来必要ないのですが、real 以外を選んだ場合も適当な ace 設定ファイル (テンプレートファイル群中の ace_???.json) を指定してください。
  • ctl 計算諸設定ファイルを指定します。テンプレートファイル群中の ctl.json に相当します。

完了

上記コマンドを実行して無事に終われば完了です。先に設定した [OUTDIR] 中に FITS ファイルが出来上がっているはずですので、確認してみてください。

image??.fits というファイルがプレート毎の FITS ファイルです。デフォルトの star_plate.csv を使っている場合、左下に星が見えていれば正解です。

お疲れさまでした!