見出し画像

天文学をプログラミングで解析する①

最初に申し上げますと、プログラミングさえ出来ると天文学を解析するのに望遠鏡は必要がありません。(自分の目で銀河や星雲を見てみたいという場合は別ですが。。。)

今回は、天文の画像をpythonを使って出力するプログラムを作成します。


天文画像

天文学で解析するにあたって、FITS拡張子データを数えきれない程目にします。

FITS拡張子とは、(Flexible Image Transport System)と言い、天文の世界でデータ交換に使われるデータフォーマットの規格の事です。

日本FITS委員会ホームページ

Windows環境であれば国立天文台が配布している"Makali"、Mac,Linux環境であれば"SAOImageDS9"などのソフトを使えば画像を出力する事ができますが、pythonでは厳密に言うとグラフとして出力する事が出来るので、論文で活用する事が出来るという利点があります。


環境設定

天文学をpythonで解析するにあたって、astropyというライブラリを使用します。機能が豊富で、様々な研究機関で使用されています。

Windowsのコマンドプロンプト、Macのターミナルで

pip install astropy 

とコマンドを打てば、インストールする事ができます。


プログラム

pythonコードは次の通りです。

import astropy.io.fits as fits
import matplotlib.pyplot as plt

hdulist=fits.open('NGC957-3-B-1_1_.fits') #;ファイル名を括弧内に記入
hdu=hdulist[0]
data=hdu.data 
header=hdu.header
plt.imshow(data) 
plt.show() #;ファイルをグラフとしてプロット

使用ライブラリは「astropy」と「matplotlib」なので、先ほどのpip コマンドを先に打ち込んでください。
※まだ打たない状態でプログラムを実行すると、

ModuleNotFoundError: No module named 'astropy'

というエラーが出ます。


結果

結果は次のような画像が表示されれば問題ないです。

実際に表示してみると星が淡く表示されるので、実際にはカラーレンジを変更させる事で次のように出力する事が出来ます。


環境:Mac、ds9Imageを使用

追記(使用したファイル)

この記事が参加している募集

スキしてみて

この記事が気に入ったらサポートをしてみませんか?