星空研究Memo

ここは某天文屋の外部記憶装置である。

JD形式からSTD形式へ変換

2013-08-07 00:01:50 | R言語

Muniwin の測光結果は .txt で吐き出すと時間が JD となっている。
これを VSOLJ-obs に報告しようとなると、時間を JST に変換し
STD 形式にしなければならない。
そこで、Muniwin の測光結果を R で STD 形式に変換するコードを書いてみた。

[追 記 & 訂 正]
某ML でコードの間違いの指摘や改良のアドバイスを頂きました。
それに伴い以下には更新版を掲載します。
# if を使わずにという宿題を頂きましたが... うーむ、結局 ifelse() を使ってしまいました。

==========================================
# Muniwin JD format -> VSOLJ STD one
in_file <- "BOOUZ_20130802.txt"
out_file<- "BOOUZ_20130802.std"
star <- "BOOUZ"
obs <- "Iak"
comp_mag <- 12.14
filter <- "C"
#-------(ここから下は変更しない)-------
#------------------------------
data <- read.table(in_file, skip=2)
 mag <- sprintf("%5.3f%s", data$V2+comp_mag, filter)
# JD -> STD
JD <- data$V1
jd <- JD + 0.5
z  <- floor(jd)
f  <- jd-z
aa <- floor((z-1867216.25)/36524.25)
a  <- floor(z+1+aa-floor((aa/4)))
b  <- a+1524
c  <- floor((b-122.1)/365.25)
k  <- floor(365.25*c)
e  <- floor((b-k)/30.6001)

 D <- floor(b-k-floor(30.6001*e))
 M <- ifelse(e<13.5, M1 <- e-1, M2 <- e-13)
 Y <- ifelse(M>2.5,  Y1 <- c-4716, Y2 <- c-4715)
  hh  <- floor(f*24)
  mm  <- floor((f*24-hh)*60)
  ss  <- round((((f*24-hh)*60)-mm)*60, digit=0)
     mm <- ifelse(ss=="60", mm1<-mm+1, mm2<-mm)
     ss <- ifelse(ss=="60", ss1<-0, ss2<-ss)
h9 <- hh + 9

nM  <- nchar(M)
MMM <- ifelse (nM == "1",
        MM <- paste("0", M, sep=""),M)
nD  <- nchar(D)
DDD <- ifelse (nD == "1",
        DD <- paste("0", D, sep=""),D)
nmm <- nchar(mm)
mmm <- ifelse (nmm == "1",
        m <- paste("0", mm, sep=""),mm)
nss <- nchar(ss)
sss <- ifelse (nss == "1",
        s <- paste("0", ss, sep=""),ss)
JST <- paste(Y, MMM, DDD, h9, mmm, sss, sep="")
#------- .std で吐き出す
 STD <- data.frame(star,JST,mag,obs)
 write.table(STD, file=out_file, row.names=F,col.names=F,quote=F)

Muniwin を使ってみた

2013-08-06 01:43:20 | 独り言

Muniwin はフリーで使える測光ソフトです (Kai さんの blog を見て知りました)。
便利そうなので(とりあえずフィーリングで)使ってみました。
以下、連続測光の画像を処理する手順をまとめておきます。
# ろくにマニュアルを読んでいないので、使い方が怪しいところがたくさんあると思います (^^;

Muniwin には一次処理をする機能もありますが、ここでは割愛。

まず Muniwin を起動すると以下のウィンドウが開きます。



 で、メニューアイコン左端 "Create new project" を押します。




こんなウィンドウが出てくるので、"Light curve"  を選択して、プロジェクト名を入力します。
ここでは "UZBOO" としてます。


 

次にとりあえず Use factory defaults を選んで OK。




プロジェクトの作成ができたら、次は "Add all files from a folder..." というメニューアイコンを押して
連続測光の画像があるフォルダーを指定します。


 
こんなウィンドウが現れるので、任意のフォルダーを指定(ここでは一次処理済みの画像たち)。
最後に "Add" を押します。


 
こんな感じで、任意の画像たちが並びます。
お次はメニューアイコンのランニングしている人のボタンを押します。



すると、このようなウィンドウが出るので、とりあえず赤丸のところだけチェックを入れてOK を押すと
なんかよくわからない処理がはじまります(w



処理が終わるとステータスのところに "Conversion OK" と表示されます。
で、次にお星様マーク (photometry) のアイコンをクリックします。



こんなウィンドウが出たら、"Star detection options" を押します。



このようなウィンドウが現れます。
ここではとりあえず上記のように数値を変えてみました。

# デフォルトだと画像内の星を 8000 個も検出したりします。
# 上の数値は適当に検出数を見ながらなんとなく適当に決めました。
# 最適な値はどうやって決めるのでしょうね。とりあえず課題です。 



各画像の星検出と測光は自動で行われます。
約140枚の画像を処理するのに数分間かかりました。



測光が終わるとこんな感じになります。
"Stars" の欄が星の検出数だと思いますが、400~500くらい数えてますね(まだカウントしすぎ?!)。
この時点でまだライトカーブを描けません。
で、お次にもう一度メニューアイコンの「ランニングをしてる人」を押します。


 
前にも出したウィンドウですが、今回は上画像の青丸部分のチェックを外し、
赤丸部分の "photometry" と "Matching" にチェックを入れて、
マッチングに使うフレームを選択します。
ここではとりあえず2枚目を使ってみました。



しばらく待つと処理が終わり、上記の画像のようになります。
中にはマッチングに失敗しているものもあります(ていうかどれも 10% くらいしかマッチングしてないぞぃ)。
さて、いよいよライトカーブを描く段階に入ります。
メニューアイコンのいかにも光度曲線っぽいやつをクリックします。

 
こんなウィンドウが出ますが、とりあえず何もチェックを入れずに Apply を押します。


 ここで、撮った画像が現れます。
# フラット補正がイマイチとか CCD が傾いているという突っ込みはご勘弁を... (w

マウスカーソルを星の上に持ってくると、水色の十字線が現れます。
# もし十字線が出ないとなると、星検出に失敗していると思われます。
# 筆者もまだよくわかってませんが star detection の設定値を適当に変えてやり直す必要があるでしょう。 

目的星、比較星、チェック星(複数可)は、水色の十字線が出たところで右クリックすると選択できます。
もちろんカウント値が飽和していそうな星はセオリー通り選ぶのを避けるべきです。 



星の選択が終わって OK を押すとこんな画面が現れます。
アパーチャーのサイズを決めろとのことですが (デフォルトで12パターン指定できます)、
とりあえずグラフのボトムにあたるアパーチャーを選びます。ここでは Aperture #3 です。
# このアパーチャーはライトカーブが出てからでも任意に変更できます。
# なので間違って Aperture #1 にしちゃったよ!コンチクショウ!となっても大丈夫です。



これでドドン!っといきなりライトカーブが現れるはずです。
プロットされる点は "Y-axis" というところをいじくれば、V-C, V-K1, V-K2, C-K1, など、
色々なパターンを見ることが出来ます。
"X-axis" では JD と UT の表示方法を変更できます。

先にも述べたようにアパーチャーのパターンを変更することも可能で、
ライトカーブの様子がアパーチャーによって変化することがわかります。
切り替えが楽なので最適なアパーチャーを探したいときに便利かも。

あと削除したいポイントがある場合は右クリックで消せます。
で、結果をテキストで吐き出したいときは上記の画像のメニュー "Files" から "Save" で行えます。
テキストの時間は JD 形式で出てきます。
# 一応この形式を STD 形式に変換するコードを R で書きました。
# これの紹介はまたいずれ (^^;


適当に動かしただけなので、なんか無駄なプロセスがあったり、
使い方を間違っているところがあったりするかもしてません。
また何かわかったら追記などするかもです。


2013/08/02の観測

2013-08-03 08:06:50 | 観測ネタ

久々にやっと晴れました。まんをじして、ベランダから 13cm 反射で連続測光観測!

ターゲットは話題の UZ UMa UZ Boo。 (# たまに BZ UMa と名前が混乱してしまいますorz)
Mhh さんが 9cm 屈折でスーパーハンプを検出されていたので、
ウチでもできるかな?!と挑戦してみることに。

露出は60秒、21時過ぎから約2.5時間追いました。
本当は20時過ぎに望遠鏡を向けていましたが、ベランダ自身に被って顔を出すまで待機でした(w

とりあえず Muniwin で観測結果をクイックルックしてみると... 
# このソフトの使い方がまだよく掴めていないのですが (^^;



わぁーい! スーパーハンプが受かりました。感動です。
# 観測報告はもうちょっとデータ処理を吟味してから行います。