1

座標系を含むヘッダーを持つ 4545x4545 ピクセルの FITS ファイルがあります。DS9 (FITS 画像を表示および処理するための別のソフトウェア) は、カラー マップのスケーリングをより適切に処理するため、次のようなアイデアがありました。

  1. DS9 を使用して FITS ファイルを開き、画像のカラー マップを微調整します。
  2. この画像を PNG ファイルに保存し、
  3. この PNG ファイルを matplotlib にロードし、元の FITS ファイルからヘッダーを追加して、座標系を PNG ファイルに追加できるようにします。

ただし、ピクセル化はすべてのステップで異なる値に変化するため、座標は正しく表示されません。どうすればこれを正しく行うことができますか?

これは私のコードの関連部分です:

from astropy.io import fits
import matplotlib.pyplot as plt
import aplpy
from wcsaxes import WCSAxes
from astropy import wcs
import sys
import matplotlib.image as mpimg

image_fits = 'image_in.fits'
image_png = 'image_in.png' # this came from the one before, has different pixelization

image_data_png = mpimg.imread(image_png)
image_head_fits = fits.getheader(image_fits)
hdu_list = fits.open(image_fits)

F = aplpy.FITSFigure(hdu_list, figure=plt.figure(1))

fig = plt.figure()
mywcs = wcs.WCS(image_head_fits)
ax = WCSAxes(fig,[0.1, 0.1, 0.8, 0.8],wcs=mywcs)

fig.add_axes(ax)

ax.imshow(image_data_png)

plt.savefig('image_out.png')
4

0 に答える 0