0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Seestarで変光星を観測する(AstroImageJを中心に)

0
Last updated at Posted at 2026-09-30

この記事の内容

スマート望遠鏡であるSeestarによって撮影した変光星の画像をAstroImageJによって測光して以下のような変光曲線をプロットするまでの手順を書きます。また、観測データから極小時間を推定する方法も書いています。

Screenshot_20260930_144239.png

きっかけ

Seestarで変光星を観測できるということは日本変光星研究会で出しているこの記事で知りました。私も試したのですが、使われているマカリィやdigphot4というソフトがWindowsでしか動かないので、Linux環境で生きている私にはどうにも使いにくい。できればLinuxでも動くAstroImegeJ(以下AIJで略すことがあります)で測光したいものだと思いました。
ところが、実際に使ってみるとAstroImegeJは使い方が難解で、すぐめげました。そうしてほっぽらかして2年ほどたちましたが、今は生成AIの助けがあるので以前は使えなかったソフトも使えるようになりました。今回はClaudeを使ってます。

そこで、せっかく使えるようになったのでSeestar+AstroImageJでの変光星観測の手順をまとめようと思います。上記の日本変光星研究会の記事と重複する部分が多いので、その部分は記事の引用でごまかします。なお、今回は単周期変光星で有名なカシオペア座のRZ星(以下RZ Cas)を例にします。

環境

上述のとおり、Linux環境、特にUbuntuを前提に進めますが、端末でスクリプトを実行する部分はWindowsユーザもWSL上にUbuntuを入れれば同じことができるはずです。AstroImegeJはWindows版でも同じUIだと思います。

変光星のデータを得る

目的とする変光星の極小時間と変光星図を取得するため、AAVSOの検索ページに行きます。

Screenshot_20260921_101421.png

Nameに変光星の名前(この例ではRZ Cas)を入れて右下の「Search」をクリックします。

Screenshot_20260921_101450.png

変光星の詳細画面になります。ここで右下の「Ephemeris」(天体歴の意味)をクリックすると別ウインドウで近い日時の極小時間が表示されます。

Screenshot_20260921_101535.png

Startが食の開始、Endが終了、Midが極小時間です(星によっては極小の時間しか示されないこともあります)。これはUTCなので9を足して日本時間にしてください。
戻って、詳細画面を下にスクロールして、「External Links」の「Location」のプルダウンメニューから「AAVSO Variable Star Plotter」を選んで右のGoをクリックします。

Screenshot_20260921_101716.png

比較星の光度が入った変光星図が表示されます。

Screenshot_20260921_101815.png

このままではSeestarの撮影イメージに合わないので「Plot Another Chart」をクリックします。

Screenshot_20260921_101937.png

「Choose a Chart Orientation」は「CCD」にします。こうしないと鏡像反転してしまいます。また「Choose a Predefined Chart Scale」は「D (60arcmin)」(FOV=1.0°)くらいにしておきます。

Screenshot_20260921_105001.png

本当は「C (120arcmin)」(FOV=2.0°)のほうがSeestar S50には都合がいいと思いますが、なぜかこういうエラーになりました。ここはAAVSOのサイトの混み具合によるのか、うまく行ったり行かなかったりします。ただし、他の星ではCでうまく行くのでRZ Casだけの問題かもしれません。

Screenshot_20260921_102120.png

なお、Seestar S30 Proの場合は「Choose a Predefined Chart Scale」ではなく、Advanced Optionsのほうにある「FIELD OF VIEW」を「210.0」にしておくといいです。この場合、FOVは3.5°になります。このとき、光度のリミットをもっと明るくしろと言ってくることがありますので、指示に従ってMagnitude Limitを12等などに明るくしてください。

「Plot Chart」をクリックしてSeestar用の変光星図を出力します。

Screenshot_20260921_102225.png

後で必要になるのでPNGとしてセーブしておきましょう。

Screenshot_20260921_102416.png

Seestarでの導入と撮影方法

先程得た極小時間の前後を狙ってSeestarで撮影します。導入と撮影方法は日本変光星研究会のページをごらんください。なお、今回の例ではS50を使いましたが、他のSeestarファミリーでも手順はほぼ同じです。

SeestarからFITファイルを持ってくる

日本変光星研究会のページをごらんください。

G画像を抽出する

日本変光星研究会のページでもマカリィでファイルを開く(G画像の抽出)という部分がありますが、カラーカメラで撮った画像からはグリーン部分を抽出して使うのが変光星観測での作法です。ここではマカリィではなく、Claudeが書いたスクリプト、extract_green.pyで抽出することにします。ダウンロードはこちらから。

必要であれば

pip install astropy numpy

などで要るものを入れてください。
以下このスクリプトの使い方です。subsというディレクトリにSeestarから持ってきたサブフレームを格納していて、subsGというディレクトリにG抽出したFITファイルを書くとします。

for fit in subs/*.fit; do 
    echo "$fit"; 
    python3 extract_green.py "$fit" "subsG/$(basename "$fit" '.fit').fit"; 
done

などとします。extract_green.pyを別の場所に置いたときはパスを指定してください。

座標解決しておく

Seestarで撮った画像は1枚1枚で多少は位置がずれています。追尾の誤差もありますし、そもそもSeestarはディザリングによって意図的に撮影位置をずらす手法を使っているので1枚ずつ星の位置がずれるのは普通です。このままでは最初の1枚で指定したターゲット星や比較星の位置は2枚め以降ではずれてしまいます。そこで必要なのがWCSです。World Coordinate Systemの略ですが、ようは画像上のピクセル座標と赤経・赤緯を対応づけることです。これをやっておくことにより、画像内の位置がずれてもターゲット星や比較星の場所を特定できるのです。

実はAstroImageJからでもこれはできます。あとでもっと詳しく見せますが、サブフレームを読み込んで出てくるこのウインドウのメニューの右上のWCSメニューから実行できます。

wcs0.png

ただし、これは一枚ごとにastrometry.netに問い合わせするので、サブフレームが何百枚もあるときは数時間かかってしまいます。

そこで今回はClaudeが書いたスクリプト、stack_and_solve.pyを使います。ダウンロードはこちらから。

以下このスクリプトの使い方です。subsGというディレクトリにG抽出したFITファイルがあるとして、subsG_wcsに座標解決済みのFITファイルを書くとします。

python3 stack_and_solve.py  --input-dir subsG  \
    --output-dir subsG_wcs --pattern "Light_*.fit" \
    --group-size 5  --scale-low 3.74 --scale-high 5.74 \
    --scale-units arcsecperpix \
    --backend-config /etc/astrometry.cfg --verbose-align

stack_and_solve.pyを別の場所に置いたときはパスを指定してください。

なお、上はS50用で、S30 Proの場合は

--scale-low 6.6 --scale-high 8.1 

無印S30の場合は

--scale-low 7.2 --scale-high 8.8

S50 Proは実機がないので推定ですが、

--scale-low 4.14 --scale-high 5.06

としてください。

上の実行前にaptで必要なパッケージを入れます。上で参照している /etc/astrometry.cfg もこのパッケージに入っています。

sudo apt install astrometry.net

実行中に

[group 0068+0069] 解決失敗 (2.20秒, 10枚) → 次のグループ(0070)と合体して再挑戦(15枚)
    基準フレーム: 3番目
    frame[0] shift=(-0.10, +2.00)
(中略)
    frame[13] shift=(-3.70, +2.90)
    frame[14] shift=(-3.70, +2.20)
  位置合わせ: 最大シフト量 79.10px (15枚)
[group 0068+0069+0070] 解決失敗 (2.32秒, 15枚) → 次のグループ(0071)と合体して再挑戦(20枚)
    基準フレーム: 3番目
    frame[0] shift=(-0.10, +2.00)
    frame[1] shift=(-0.10, +0.90)
(中略)
  位置合わせ: 最大シフト量 79.10px (20枚)
[group 0068+0069+0070+0071] 解決失敗 (2.16秒, 20枚: Light_vw cep_10.0s_IRCUT_20260924-203524.fit 〜 Light_vw cep_10.0s_IRCUT_20260924-203947.fit) → これ以上合体できないため断念

などと出ることがあります。雲などで星の数が少ないフレームでこうなることがありますが、無視して続けましょう。

事前の準備はここまでです。AstroImageJで測光してみましょう。

AstroImageJのインストール

ここからプラットフォームに合わせて入れてください。

AstroImageJの起動

起動するとこんな細長いウインドウが出ます。

Screenshot_20260920_094056.png

FITシーケンスのインポート

次に、FileメニューからImport → ImageSequence...と選びます。

Screenshot_20260904_103639.png

ここで、座標解決したFITを入れているディレクトリを指定します。

Screenshot_20260920_095629.png

すべてデフォルト設定のままOKを押します。このようなウインドウが開きます。

Screenshot_20260920_095754.png

ここで左下の再生ボタンみたいなやつ

Screenshot_20260920_103836.png

を押すと順々にフレームを表示していきます。曇ったりで極端に星が少ないフレームや、強風で星像が大きくぶれているフレームは再生を止めてから左上の✖を押して削除しておきましょう。

Screenshot_20260920_115324.png

チェックが終わったら最初のフレームに戻っておきます。

アパーチャの設定

測光する星を囲むアパーチャ(aperture 通常はカメラの絞りの意味ですが、ここでは測光する星の光を集める円形領域)の大きさを決定するために、ターゲット星の近くを拡大して

Screenshot_20260920_120136.png

ターゲット星をポイントしてALTを押しながら左クリックします。こういうウインドウが現れます。

Screenshot_20260920_120205.png

このグラフで「Radius 4.00」「Back> 8.00」「<Back 15.00」の4.00, 8.00, 15.00という数値を覚えておきましょう。
フレームが表示されているウインドウの上部の中央付近にある、二重丸の下にSETとあるアイコン(change aperture settings)をクリックします。

Screenshot_20260920_121011.png

こういうウインドウが開きます。

Screenshot_20260920_121214.png

この上部に先程の数値を入れます。Radius of object apertureとInner radius of background annulusは先程の値+2くらいのほうが安全かもしれません。

Screenshot_20260920_121303.png

他はデフォルトの設定でいいのでOKを押してウインドウを閉じます。

測光を開始する

ここでAAVSOのサイトで取ってきた変光星図を並べて表示します。

Screenshot_20260930_135643.png

このとき、AIJのフレーム画面では左上の「display as image negative」をオンにしておいたほうが見やすいです。

Screenshot_20260930_140233.png

変光星図と比較できるようにある程度拡大しましょう。

上部中央近くにある二重丸が二つの「perform multi-aperture photometry」をクリックします。

Screenshot_20260921_113721.png

このような設定ウインドウが出ます。

Screenshot_20260921_114138.png

注意すべきはアパーチャが先程設定した三つの値になっていることと、「Auto Variable Apertures from each image T1 FWHMJ」と「Place all new apertures」と「Use RA/Dec to locate aperture position」にチェックが入ってることです。「Auto Variable Apertures from each image T1 FWHMJ」はFWHM(星像の大きさ)の変動に追従するためで、「Use RA/Dec to locate aperture position」はディザリングなどで位置がずれても追跡するためのものです。

Screenshot_20260921_114228.png

右下の「Place Apertures」をクリックして測光を開始します。ショートカットキーのヘルプウインドウが出ます。

Screenshot_20260930_140655.png

まず変光星図にしたがってターゲット星をクリックします。

Screenshot_20260930_140913.png

アパーチャが緑色に変わります。

Screenshot_20260930_141015.png

次に最初の比較星を変光星図から選び、クリックします。

Screenshot_20260930_141217.png

比較星の光度を入れるウインドウが開くので、変光星図の「94」から9.4と入れます。

Screenshot_20260930_141303.png

光度が反映されます。

Screenshot_20260930_141330.png

同様にふたつ目の比較星をクリックして光度を入れます。

Screenshot_20260930_141403.png

RZ Casの場合、付近にこれら以外の適当な比較星がないので、Returnを押して分析を開始します。

たくさんのウインドウをが現れるので面食らうでしょうが、まず見るのはMeasurementsテーブルです。

Screenshot_20260930_142116.png

ここでは「Saturated」の列を注目してください。ここが0.0以外だと撮影したターゲット星が飽和しているので正しい観測はできません。飽和している行がないことを確認しておきます。

次に「Source_AMag_T1」列を注目します。この列にターゲット星の光度を比較星と比べて算出した値が入っています。期待した変光範囲に入っている値が並んでいればOKです。

Screenshot_20260930_142847.png

さて、このターゲット星の光度をプロットしたいのですが、ここが私にとってAIJの最大の難関でした。これがわからないので今まで何度もめげました。

出てるウインドウが多すぎて混乱しますが、「Multi-plot Y-data」という名のウインドウだけに注目しましょう。

Screenshot_20260930_143719.png

最初の「Data Set」デフォルトではたくさんありますが、ここでは一つだけに減らしておきましょう。

そして以下の設定をします。

  • Plot をチェック
  • Auto Scale をチェック
  • Input in Mag のチェックを外す
  • X-data でJ.D.-2400000を選ぶ
  • Y-data でSource_AMag_T1を選ぶ
  • Y-operand でJD_UTCを選ぶ
  • Fit Mode をoffに
  • Norm/Mag Ref をoffに
  • Out MAg のチェックを外す

これでこのようなグラフが表示されれば成功です(この記事の冒頭に示したものです)。

Screenshot_20260930_144239.png

見やすくする

AIJのグラフの横軸はユリウス日です。変光星界隈ではこれが標準なのでいいのですが、ローカルタイムで表示したいところですが、どうもやりかたがわからないのでClaudeにスクリプトを書いてもらってGnuPlotで表示してしまいました。

MeasurementsテーブルのFileメニューの「Save As...」でTable.tblというファイルに落としておきます。これはコンマではなく空白で区切られたCSVと同じです。これからローカルタイムに変換したテーブルを作るスクリプト、tbl_to_csv.rbをClaudeが書いてくれました。ダウンロードはここから。(PythonのスクリプトとRubyのスクリプトが混在してすみません)

ruby tbl_to_csv.rb Table.tbl rzcas.csv --jst

のようにします。なお、測光処理のときに

Screenshot_20260930_164005.png

のようなエラーが出ることがあります。このフレームを見ると

Screenshot_20260930_164231.png

のように強風等でぶれている画像かもしれません。こういうフレームは処理する前に削除しておくべきですが、すりぬけてしまったときは、tbl_to_csv.rb に

--exclude-frame "20260918-003923"

のようにフレームの時刻で指定して除くことができます。たくさんあるときは、一行ずつファイルに書いて --exclude-frame-file で渡します。

実際にはこのように exclude しなくても変な光度にはならないようですが。

さて、このローカルタイムにしたテーブルからプロットするためには gnuplot を使って

gnuplot -persist -e "csvfile='rzcas.csv'; plot_title='RZ Cas Light Curve' xformat='%m-%d %H:%M'" plot_lightcurve.gp

とします。plot_lightcurve.gp はここからダウンロードしてください。X軸に年を入れたい場合は「xformat='%Y-%m-%d %H:%M'」です。xformatオプションを省くと時:分だけ表示されます。

結果はこうなります。

gp4.png

さらに、このローカルタイムのテーブルからフィッティングで極小時間を推定することができます。fit_minimum.pyというスクリプトをここからダウンロードしてください。

python3 fit_minimum.py rzcas.csv --window-minutes 25 --target-name  "RZ Cas"

のように使います。fit_minimum.png という画像が生成されます。

fit_minimum.png

「minimum (absolute clock time) t0=01:44:05」から極小は01:44頃と推定されます。

この記事の最初のほうにある「Ephemris for RZ Cas」の表を見てください。Midが「17 Sep 2026 16:52」です。9を足して日本時間にすると18日の01:52になります。したがって今回の測定結果から若干のズレがありますね。実際にずれているのか観測のしかたが悪いのかは再度RZ Casを観測して検討します。

VSOLJ(日本変光星観測者連盟)に観測データを報告する

私はまだ報告したことがないのですが、観測データをVSOLJに報告するときは日本変光星研究会の観測報告のページを参考にしてください。大変そうですけど。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?