Presentation is loading. Please wait.

Presentation is loading. Please wait.

Pythonによる 天体画像解析の教材作成 -GROWTH Astronomy Schoolを参考に-

Similar presentations


Presentation on theme: "Pythonによる 天体画像解析の教材作成 -GROWTH Astronomy Schoolを参考に-"— Presentation transcript:

1 Pythonによる 天体画像解析の教材作成 -GROWTH Astronomy Schoolを参考に-
東京工業大学 理学院 物理学系 河合研究室 戸間 紗也香 Mansi Kasliwal, Kishalay De, Cameron Hummels (Caltech), Leo Singer (NASA/GSFC), Dan Perley (JMLU)

2 研究概要 ・GROWTHが行う教育プログラム、 「GROWTH Astronomy School」で使われている教材を もとにして、日本の大学生や高校生向けにPythonの 基礎的な知識を学びながら画像解析の練習を行う新たな 教材作成を行う。 GROWTHという共同研究グループが行う教育プログラムである「GROWTH Astronomy School」で使用されている教材をもとにして、日本の大学生や高校生向けにPythonの基礎的な知識を学びながら天体画像解析の練習を行う新たな教材作成を行います。

3 GROWTHとは Global Relay of Observatories Watching Transients Happen
(天体の“一時的な現象”を観測する天文台の世界的なリレー) カリフォルニア工科大学を中心とした世界中の望遠鏡のネットワークで、ガンマ線バーストなどの突発天体を継続的に観測できる。 まずGROWTHという共同研究グループについて簡単に説明します。これはカリフォルニア工科大学を中心とした世界中の望遠鏡をつなぐネットワークで、γ線バーストなどの突発天体を継続的に観測できるよう連携しているものになります。

4 GROWTH Astronomy School
天文データの解析技術を次世代に伝える そのGROWTHが大学生や大学院生を対象に行っている講習会がGROWTH Astronomy Schoolです。この講習会の教材をベースに、日本の大学生や高校生向けの新たな教材を作成します。 →この講習会で使用されているテキストを元にして、  日本の大学生や高校生向けの新たな教材を作成

5 教材作成環境 教材使用のために用意されているもの macOS ver.10.14.5 Anaconda ver.5.3.1
Python ver.3.7.1 教材使用のために用意されているもの 1, Jupyter Notebookを用いた記入式の教材 2, 上記の教材の記入済み解答 3, 教材の中で使用する画像データなど ここからは私の作成している教材の具体的な説明をさせていただいます。 私が教材を作成している環境はこの通りです。 教材を使用するときに用意されているものは、Jupyter Notebookを用いた記入式の教材(本体)、記入済み解答、そして教材の中で使用する画像データなどです。 Anacondaさえ入っていれば教材を使えるようになっていて、Anacondaに入っていないツールについては教材の中で随時インストールの説明を入れています。 ※Anacondaに含まれていないツールは、随時インストールするよう明記

6 教材の対象 教材の目的 1.画像解析の内容理解 2. プログラミングにおける力 ・天文学のデータ解析の経験はなし。
・初歩的なプログラミングの授業を受けたことのある。 教材の目的 1.画像解析の内容理解  自動で解析してくれるコマンドをBlack Boxとしてではなく、 自分で制御できるために必要な知識を身に付けること。 2. プログラミングにおける力  穴埋めでしかプログラムを書いたことのない人が、似たよう なプログラムを参考にしながら必要なプログラムをゼロから書 けるようになること。 教材の対象は、天文学のデータ解析の経験はなくプログラミングにもほとんど慣れていない、初歩的なプログラミングの授業を受けたことがあるだけのような人です。 教材の目的、つまりこの教材で学んだ人がどんなことができるようになるかというと、一つめは画像解析の内容理解です。Irafのような画像解析を自動で行ってくれるようなコマンドを、Black Boxとしてではなく自分で制御するために必要な知識を身に付けることを目的としています。

7 教材作成における留意点 1.プログラムを書く上で必要な知識を必要に応じて自分で 調べられるような誘導をつけること 2.本質的でないところでつまずかないよう、あえて簡潔で ない書き方をしてだんだん慣れていくようにすること 調べ方が分からない 調べても見方が分からない 次に私が教材を作成するときに特に気をつけていることについてです。 一つめは、プログラムを書く上で必要な知識、例えば関数の説明やパラメータなど全部を教材に書いていてはキリがないので今後必要なときに必要に応じて調べられるような誘導をつけることです。 特にマイナーな関数は検索しても英語でしか説明がないことも多いので、何を見れば良いのかなど注目すべき点を具体的に解説するようにしています。 二つめは、本質的でないところでつまずかないようあえて簡潔でない書き方をすることです。最終的には綺麗で見やすいコードを書くことも必要ですが、最初のうちは何度も同じ表現を使ったり細分化して書いたりしてできるだけ疑問を残さないで済むように気をつけています。 書き方が急に変わる なぜ必要なのか分からない部分がある (パラメーターの指定、謎のコマンド)

8 教材の内容 1.Python Basic Pythonの基本的な操作 2.Image Reduction 一次処理
3.Photometry  測光 教材の内容についてです。基本的にGROWTH Astronomy Schoolの教材と同じ章立てになっています。 まずはPythonの基本的な操作を学習する章、一次処理の章、そして測光の章があります。この三つが天体画像処理の最も基本的な内容となっています。ここにさらにMachine Learning機械学習の基礎となる内容や、重力波を観測したときにそれがどこから来たものか具体的に調べる内容など少し発展的な内容も載せたいと考えています。 ・Machine Learning ー 機械学習の基礎 ・Gravitational Wave crossmatch ー 重力波の位置決定

9 教材の内容 1.Python Basic Pythonの基本的な操作 2.Image Reduction 一次処理
3.Photometry  測光 今日は、一次処理の章について具体的に教材をお見せしようと思います。 ・Machine Learning ー 機械学習の基礎 ・Gravitational Wave crossmatch ー 重力波の位置決定

10 Image Reduction FITSファイルとは何か これは冒頭の部分です。詳しく見ると(次のページへ)

11 絶対パスを知っていれば書けるはず、知らなければ調べられる
Image Reduction 絶対パスを知っていれば書けるはず、知らなければ調べられる 視覚化する Finderやターミナルで調べられる まず一つめのセルに、ファイルがどこにあるか探して絶対パスを完成させてくださいとあります。 元の教材ではただコードの穴埋めがあるだけでしたが、明確な指示を書くことで絶対パスを知っていれば書けるはずで、知らなければ調べられるようにしました。 視覚化というのは、解析のためには必要のない行かもしれませんが、自分が何をしているのかわからなくならないよう繰り返し入れるようにしています。 特定の画像ファイルを指定するときには今まで自分が使ったことのあるもの、macならFinderやターミナルを使って確認できるような指示を入れています。 視覚化する

12 #sigma_clipped_stats()がどういう関数か調べてみてください
Image Reduction 調べ方が身につくような誘導 #sigma_clipped_stats()がどういう関数か調べてみてください 次に調べ方が身につくような誘導の例をお見せします。 上のボックスにある関数は平均と中央値と標準偏差を求める関数です、コメントでこれがどういう関数か調べてみてくださいと書きました。 ここに平均と中央値と標準偏差を求めると書いてあるのでどういう関数なのかは分かるはずですが、 調べるとどのように書いてあるのか、もともと知らなければどこを見ればいいのかを考えてもらいたいと思っています。 下のセルはリストの長さを取得する関数を自分で調べるよう指示が書いてあります。これはほぼそのまま調べれば求める関数が出てくることを確認してあります。 #リストの長さを取得する関数は? ほぼそのまま調べれば求める関数が出てくることを確認

13 宇宙線の影響を受けているピクセルをマスクする関数
Image Reduction 宇宙線の影響を受けているピクセルをマスクする関数 出力が二つあってパラメータも多い関数 調べるものを並べているので、この通りに見ていけば良い。分かりにくいパラメータはヒントになる(調べやすい)言葉も載せている。 少し見にくいかもしれませんが出力が二つあってパラメータも多くて難しい関数があります。 これは宇宙線の影響を除去する関数なのですが、それぞれの出力が何なのか、パラメータは何を決めるものなのか調べるべきものを一覧にして書き込めるようにしてあります。 調べても分かりにくいだろうと思ったものについては、ヒントとして調べやすい言葉も載せるようにしてあります。 下はその記入例です。 記入例

14 Image Reduction FITSファイルの配列を画像に表示

15 Image Reduction FITSファイルの配列を画像に表示 なぜ範囲を指定するのか?
なぜ範囲を指定するのか、これだけ見てもわからないと思います。そこで、(次のページへ)

16 範囲を指定しないで表示するとどうなるでしょうか?
Image Reduction FITSファイルの配列を画像に表示 範囲を指定しないで表示するとどうなるでしょうか? カラーバーの数字に注目してください 50000 次のセルで、範囲を指定しないとどうなるでしょうかというコメントを書きました。 範囲を指定する部分を削除して実行すると、さっきとは全く違う画像が出力されます。 最後のところにカラーバーの数字に注目してくださいというコメントを書きました。これを見ると一番上が5万カウントくらいになっています。 10000

17 Image Reduction FITSファイルの配列を画像に表示 410 350
しかし範囲を指定した方では上が410カウントになっています。つまり範囲をしていないと外れ値が含まれていても全てを表示するために実際に見たい部分の色の変化がわからなくなってしまうのです。これによって範囲を指定する必要性を認識してもらい、また同じ配列でも表示する範囲を変えることで全く違った見え方になってしまうことがわかると思います。 このような工夫をそれぞれの章で行なっています。 350

18 これからの課題 Photometry(測光) 以降の章を進める Python Basicの内容を再構成する
天体画像解析に関する知識が文章中心で分かりにくい  →検討中  (教材の流れに含めて説明する or 別形式で用意する) これからの課題としては三つめのPhotometry(測光)の章以降を進めることはもちろん、 一つめのPython Basicにはこの教材の中で必要な内容を整理して再構成したいと思っています。 また天体画像解析に関する知識の説明の仕方として、今のところ教材の中で文章で説明しているのですがまだ分かりにくいところがあり、このまま教材の中で詳しく説明していくか、パワーポイントなど別の形式で用意するか検討中です。 これで発表は以上になります。 ありがとうございました。

19 Image Reduction GROWTHの教材の流れを元に、内容が明確になるよう細分化 (以下、質問対応用)
内容を細分化して目次を整理した

20 Image Reduction Bias用の画像を表示 前の箇所と同様に埋めれば良い穴埋め 教材内の前の箇所を見ればほぼ同じように埋められる

21 BiasとFlatの影響を除去した画像を表示
Image Reduction BiasとFlatの影響を除去した画像を表示 前の箇所と同様に埋めれば良い穴埋め 自分で適切な範囲を指定するよう促す だんだん穴埋めを増やしている

22 Image Reduction Reduction前の生画像の表示 rawHDU=fits.open(rawList)
rawData=rawHDU.data という2行を1行にまとめる 本質的でないところでつまずかないような工夫 元の教材では最初二行で書かれていたものが突然一行にまとめられていたが、誘導をつけた

23 宇宙線の影響を受けているピクセルをマスクする関数
Image Reduction 宇宙線の影響を受けているピクセルをマスクする関数 FITSファイルを書き出した後、書き出すとはどういうことなのか視覚化するためターミナルで確認する 視覚化として、ファイルが作られたなら別のツールでも確認ができるはず

24 前の箇所と同様だが、丸ごと自分で書く必要がある
Image Reduction resample画像の表示 どんどん穴埋めを増やしている (似たようなプログラムを参考にしてゼロから書けるようになる練習) 前の箇所と同様だが、丸ごと自分で書く必要がある


Download ppt "Pythonによる 天体画像解析の教材作成 -GROWTH Astronomy Schoolを参考に-"

Similar presentations


Ads by Google