astropyというモジュールを使って天体画像を見てみる。
スポンサーリンク
on-sky locationを記述する¶
# Python standard-library
from urllib.parse import urlencode
from urllib.request import urlretrieve
# Third-party dependencies
from astropy import units as u
from astropy.coordinates import SkyCoord
from astropy.table import Table
import numpy as np
from IPython.display import Image
# Set up matplotlib and use a nicer set of plot parameters
from astropy.visualization import astropy_mpl_style
import matplotlib.pyplot as plt
plt.style.use(astropy_mpl_style)
%matplotlib inline
astropyのSkyCoordクラスのastropy.coordinatesパッケージを使って天球座標系を示すことができる。最初に、“Hickson Compact Group 7”略して“HCG 7”という天体名を対象にしてSkyCoordオブジェクトを作成する。ほとんどの天体名はSESAMEから得ることができる。
# initialize a SkyCood object named hcg7_center at the location of HCG 7
hcg7_center = SkyCoord.from_name('HCG 7')
type(hcg7_center)
dir(hcg7_center)
RAとDecを表示する。
print(hcg7_center.ra, hcg7_center.dec)
print(hcg7_center.ra.hour, hcg7_center.dec)
hcg7_center.ra, hcg7_center.dec
SESAMEによるとHCG7はra=9.849, dec=0.878degに位置していることが分かる。
スポンサーリンク
イメージをダウンロードする¶
SkyCoordオブジェクトを作成したので、Sloan Digitial Sky Survey(SDSS)から目的の天体名の画像を以下のようにしてダウンロードしてくる。
# tell the SDSS service how big of a cutout we want
im_size = 12*u.arcmin # get a 12 arcmin square
im_pixels = 1024
cutoutbaseurl = 'http://skyservice.pha.jhu.edu/DR12/ImgCutout/getjpeg.aspx'
query_string = urlencode(dict(ra=hcg7_center.ra.deg,
dec=hcg7_center.dec.deg,
width=im_pixels, height=im_pixels,
scale=im_size.to(u.arcsec).value/im_pixels))
url = cutoutbaseurl + '?' + query_string
# this downloads the image to your disk
urlretrieve(url, 'HCG7_SDSS_cutout.jpg')
Image('HCG7_SDSS_cutout.jpg')
これがhcg7の天体画像らしい。
スポンサーリンク
スポンサーリンク