================================
HOP12期間中のDST/スペクトロヘリオグラムデータの取得手順
(2008年6月2日現在)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
【概略】

 1.Web上QLムービーで対象現象を探し、スキャンの開始・
   終了時刻を記録
               ↓
 2.当該時間帯のダークフレームの取得
               ↓
 3.当該時間帯のフラットフィールドの取得
               ↓
 4.当該時間帯のスペクトルデータの取得
               ↓
 5.分散方向、吸収線傾きの補正


【各手順の詳細解説】

1.Web上QLムービーで対象現象を探し、スキャンの開始・
  終了時刻を記録

  WebのURLは
  http://www.hida.kyoto-u.ac.jp/~observer/spectra/  ---(1)
  もしくは
  http://www.hida.kyoto-u.ac.jp/~observer/spectra/test/  ---(2)

  各年月日ディレクトリの中の、
   ca_h##.html
     ca_k##.html   ---(3)
     ha##.html
  という名前のページから、興味のある波長の画像をクリック
  すると、そのヘリオグラムの時間変化が Javascript Movie と
  して閲覧できるので、データを取出したいスキャンの開始時刻と
  終了時刻を記録しておく。

  (上記 URL(2) はまだ工事中だが、(3) のページを用意して
   あるものについては、URL(1)のそれよりもムービーが
   見やすくなっているはずである。)


2.当該時間帯のダークフレームの作成

    /work2/DST_VS/yyyymmdd/
    の下にある
     dark##.sav
    という名前のデータが、積算平均済のダークフレームである。
    このデータの読み込み方は、
  kipsun に smart でログイン、もしくは kujira.hida に observer
  でログインし、IDLを立ち上げ、
  IDL> cd,'/work2/DST_VS'
    IDL> restore,'yyyymmdd/dark##.sav'
    これで、dark という名前の2次元配列として、ダークが得られる。

  何日の何時のデータの露出時間がいくらかは、
  URL(1) の各年月日ディレクトリ中、
   yyyymmdd_html.list   ---(4)
  という名前のファイルの中を見ると、記載してある。
  (4)の中の各行の各項目の意味は、左から順に
  ・吸収線名(ca_h, ca_k, ha)、
  ・スキャンシリーズ番号(生データディレクトリ名)、
  ・r方向スキャン範囲、
  ・Polar Angle(天の北極方向を0として反時計周りを+)、
  ・Slit Inclination(天の北極方向を0として反時計周りを+)、
  ・露出時間(ms)、
  ・観測時間帯
  となっている。

  ただし、日によっては同じ露出で異なるゲインで撮影している
  時もある。現在ファイル(4)中にはゲインまでは記載していないため、
  同じ露出で異なるゲインのダークが存在する日の場合は、
  今の所、渡邉さんHP内にある、DST観測野帳PDF版
  (2007/08/05 - 2007/08/19 のみ):                 ---(5)
 http://www.kwasan.kyoto-u.ac.jp/~watanabe/sunspot/DST_observation_note.pdf
  で、当該時刻のゲインを確認する必要がある。

    (もし何らかの理由で、自分でダークフレームを作成する必要が
    ありそうな場合は、以下のプログラムを使用する。
  IDL> .run mk_dark.pro
  を実行。
  以下のようにダークフレームのディレクトリを問われる
  INPUT Dark-directory [/work2/DST_VS/yyyymmdd/dark***/]:
  ので、
   20070807/dark70e0g/
  などのように入力すると(この場合、露出時間 70ms, ゲイン 0
  のダークデータと言う意味)、最終的に "dark" という名前で
  ダークフレームが出力される。)


3.当該時間帯のフラットフィールドの作成

  ダークと同じく
    /work2/DST_VS/yyyymmdd/
    の下に、
     flat##.sav
    という名前で置いてあるデータが、積算平均済のフラットフィールド
    である。これの読み方も、ダークと同様、
  IDL> cd,'/work2/DST_VS'
    IDL> restore,'yyyymmdd/flat##.sav'
    で、flat という名前の2次元配列が得られる。

  原則として、フラットデータのディレクトリ名にも、露出時間とゲイン
  が記入してあるので、それらと同じダークデータをここでは指定すること。
  フラットの露出時間やゲインが不明の場合は、上記PDF野帳(5)を
  参照のこと。

    (もし自分でフラットフィールドを作成する必要がある場合は、
    IDL上で(/work2/DST_VS/ の下にいる状態で)、以下のプログラムを
    実行させる。
  IDL> .run flat_GE1650.pro
  IDL> flat_GE1650, darkdir, flatdir, flat
  (例: flat_GE1650, 20070807/dark60e0g/, 20070807/flat60e0g/, flat)
  これにより、"flat" という名前の2次元配列として、
  フラットフィールドが出力される。

  このプログラムによるフラット作成原理は、以下のページを御参考に。
  http://www.hida.kyoto-u.ac.jp/~ueno/DST/CaFlat/  )


4.当該時間帯のスペクトルデータの取得

  引き続きIDL上で(/work2/DST_VS/ の下にいる状態で)、
  IDL> .run profsearch.pro
  を実行。以下のように、順番に年月日、開始時刻、終了時刻を
  問われるので、手順1にて記録しておいた日時を各々以下の
  例のように入力する。
  INPUT Required Day(JST) [yyyy mm dd]: 2007 08 07
  INPUT Start Time(UT)    [hh mm ss]: 03 08 04
  INPUT End   Time(UT)    [hh mm ss]: 03 08 15
  (基本的に、1スキャン(片道)分のデータを読み出すことを
  想定している。)

  すると、最終的に "filterlike" という名前で、ダーク、フラット
  処理された3次元スペクトルデータが出力される。
  filterlike(w,x,y)
  とした場合、
   w: 波長方向(20 mÅ/pixel)
   x: スキャン方向=時間方向(典型例:0.56 arcsec/pixel=70 ms/pixel)
   y: スリット方向(0.24 arcsec/pixel)
  という定義。
  ただし、w は元データでは 800 pix あるが、現在このプログラム
  ではデータ容量を小さくするため、CCD視野中心付近の 181 pix
  のみを切り出している。

  ・ある波長におけるヘリオグラム表示:
   例)IDL> tvscl,filterlike(80, *, *) 
  ・あるスリット位置でのスペクトル画像表示:
   例)IDL> tvscl,filterlike(*, 50, *) 
  ・スリット垂直方向のある直線に沿ったスペクトル画像表示:
   例)IDL> tvscl,filterlike(*, *, 300) 


5.分散方向、吸収線傾きの補正

  手順4でできた配列:filterlike のスペクトル分散方向や
  吸収線が傾いていた場合、その回転・シフト補正を行なう。 
    また、スキャン方向(時間方向)にシーイングなどで太陽像が
    揺れていると思われるずれを補正することもできるように
    なっている。

    IDL プログラムは
    /work2/DST_VS/vs_prep.pro 
    であり、使用法は以下の通り。
	; Syntax   : vs_prep,filterlike,data,[file=file],[line=line],
	;                    [/noyalign],[waxis=wasis],[theta=theta],
	;                    [dy=dy]
	;
	; Inputs   : filterlike = Image data cube [wave x time x slit]
	;
	; Keywords : line     = Ca line name ('k' or 'h'). Default is 'k'.
	;            noyalign = set if auto-alignment on the slit direction.
	;
	; Outputs  : data     = Image cube processed.
	;            waxis    = Wavelength axes for each scan.
	;            theta    = Camera rotation angle [radius].
	;            dy       = Slit direction correction data.

  なお、配列 filterlike を filterlike(w,x,y,s) という4次元に
  することで、複数の3次元スキャンデータをまとめて処理させる
  ことも可能である。(s はスキャンデータの通し番号)


【その他のプログラム】

 ・手順1で参照している URL(1) 内のQL画像を作成している
  プログラム群は、
  *.hida: /home/observer/lib/tohban/GE1650/
  に格納されている。
  これらの内、URL(2) で試験的に掲載中のQL画像を作成している
  プログラムは、*_test.pro と言う名前になっているものである。
  これらのプログラムは、特に一般の解析者が触る必要はないが、
  生データを個人的に自動処理したい場合の参考になるだろう。

 ・時々プレゼンなどで見せている、ある1スキャンのヘリオグラム
  に対する、波長方向の変化ムービーを作成するプログラムの
  ひとつが、
  kipsun     : /work2/DST_VS/FilterLike.pro
  kujira.hida: /work2/DST_VS/FilterLike.pro
  であるが、この中身は WindowsOS 用であり、まだ Linux 用には
  編集していない。
  このプログラムでは、各波長でのJPG画像を書き出す所までを
  行なっている。Javascript Movie の html ファイルを作るのは、
  現在別途手動で行なう必要あり。
  (上記手順に沿って実際に3次元配列 filterlike を作成した
  のであれば、特にこのプログラムを使う必要性は高くないと
  思われるが。)

================================