生データに対しレジストリを作成¶
ダウンロードした生データを解析ディレクトリの中に配置し、レジストリを作成します。 使用する HSC pipeline のコマンドは hscIngestImages.py です。
# 生データのあるディレクトリに移動
cd ~/data
# 解析ディレクトリ下にレジストリを作成
hscIngestImages.py ~/hsc ./*.fits --mode=link --create
# 使い方:hscIngestImages.py <解析用ディレクトリ> <fits file 名> --mode=*** --create
#
# オプション:
# --mode :新たにレジストリを作成する際のデータの配置法を指定。move, copy, link, skip がある
# --create :新たにレジストリを作成する際の引数
Warning
HSC pipeline のコマンドでディレクトリを指定する時は、必ず 絶対パス で指定してください!!
hscIngestImages.py が正常に動くと ~/hsc 下に <object name> , DOMEFLAT , DARK 等のデータディレクトリが新たに生成され、その中に生データが配置されているはずです。 また、hscIngestImages.py によって ~/hsc 下に配置された画像の情報は registry.sqlite3 というレジストリに登録されます。 registry.sqlite3 に登録された情報は SQL というデータベース言語を用いて検索することができます。
このドキュメント内では DITH-16H という object の G-band、I-band の解析を参考に HSC pipeline の使い方を紹介していきます。 では、どのような画像が登録されたか見てみることにしましょう。
# レジストリを SQL で込む
sqlite3 ~/hsc/registry.sqlite3
# ヘッダー情報の読み込み
sqlite> .header on
# visit 番号、filter 名、field 名、visit 数を選択
sqlite> SELECT visit, filter, field, count(visit)
...> FROM raw # 生データのレジストリから上記情報を選択
...> GROUP BY visit, filter, field; # visit > filter > field 順に並べて表示
#(ここに 図4 のように検索結果が表示される)
# レジストリの検索終了
sqlite> .q
この検索結果から読み取れることは、全ての visit で全ての CCD のデータがある(112個)という点と、各 field で
- DITH_16H (G-band) :visit 番号 903160, 903162, ... , 903188
- DITH_16H (I-band) :visit 番号 902798, 902800, ... , 902870
- BIAS :visit 番号 902670, 902672, ... , 902678
- DARK :visit 番号 006600
- FLAT (G-band) :visit 番号 903036, 903038, ... , 903044
- FLAT (I-band) :visit 番号 902690, 902692, ... , 902704
のデータがあるという点です。以降の解析はこれらの情報を使って行います。
Warning
HSC pipeline の解析は CCD データが 112 個より少ないと、解析が失敗しているにも関わらず pipeline 処理が進んでしまう場合があります。 必ず各 visit で CCD データが 112 個あることを確認 しておきましょう。
最後に sqlite3 を用いた上記以外のレジストリの検索方法を少しご紹介します。 データの情報は table に分類され格納されています。そこで、まず現時点でどのような table があるか調べます。ここではまだ生データしかありませんので、raw と raw_visit の 2 種類しかありません。 この raw の中に各 object, visit, ccd, filter といった様々な情報が格納されています。例では全ての情報を表示させています。 下記の方法で実行した検索結果は 図5 に表示しています。
# 検索結果のカラムの説明を表示させるおまじない
sqlite> .explain on
# table の内容を表示
sqlite> .table
raw raw_visit
# raw という table から全てのヘッダー情報を選択
sqlite> select * from raw
...> group by visit; # visit 順に表示
# 以下、検索結果
#
id taiObs expI poin data visit da frameId filter field pa expTime ccdTemp ccd proposal config autoguider
---- ------------- ---- ---- ---- ------------- -- ------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ------------ ----------
49 2014-09-19 HSCA00660000 992 DARK 6600 2014-09-19 HSCA00660048 HSC-I DARK 90.347 30.0 -100.594 111 o14422 20140306.cfg 0
...
sqlite> .help # sqlite3 でレジストリを検索する際のヘルプ