2016-11-07 18 views
3

Iフルマップサブマップのサイズ変更後にヘッダーを変更するにはどうすればよいですか?

from astropy.io import fits 
from astropy.wcs import wcs 

mapheader = fits.getheader(MapFile, 0) 
mapdata = fits.getdata(MapFile, 0) 
w = wcs.WCS(mapheader) 

をロードし、私はこれは容易

from astropy.nddata import Cutout2D 
from astropy import coordinates 
from astropy import units as u 

center = coordinates.SkyCoord(RA*u.deg, DEC*u.deg, frame='fk5') 
submap = Cutout2D(mapdata, center, size=16*u.pix, wcs=w) 
submapheader = submap.wcs.to_header() 

関連をCutOut2D

を使用して行うことができ度 中央RAである、12月を想定し、それ から二乗サブマップを取りますヘッダーの違いは、参照ピクセル "CRPIX"を移動することです。

たとえば、イメージのサイズを変更すると、私は補間を行い、16ピクセルから画像を渡します 〜128ピクセル

from scipy.misc import imresize 
newsubmap = imresize(submap.data, (128,128), interp=‘cubic’) 

newsubmapで良い見通しを得るにはどうすればよいですか?

私は、この例では128であるリサイズ係数によって参照画素を乗算しようとしたが、あなたの場合と

答えて

1

scipy.misc.imresize(128, 128)に画像をリサイズするように、それは簡単ではありません。あなたの声明が与えられました:

私はこの例では128であるサイズ変更係数で参照ピクセルを掛けようとしましたが、それは単純ではありません。

私はこれが最初の落とし穴だと考えます。あなたは

>>> from scipy.misc import imresize 
>>> import numpy as np 
>>> imresize(np.ones((1000, 1000)), (100, 100)).shape # to (100, 100) 
(100, 100) 
>>> imresize(np.ones((1000, 1000)), 50).shape # half the size. 50->50% 
(500, 500) 

(imresizeが小数値を使用することに注意してください!)あなたは(128, 128)にサイズを変更するか、128倍あるいは1.28の要因によって、それを「拡大」したいです本当によろしいですか確認してくださいimresizeを正しく使用しています。


ので、次のステップは、WCSを再構築することです。 Fortunatly WCSではスライスが可能ですので、元の形状とサイズ変更係数が分かっていれば非常に簡単です。

は、あなたがこのようなWCSを持って言う:

>>> im.wcs 
WCS Keywords 
Number of WCS axes: 2 
CTYPE : 'PIXEL' 'PIXEL' 
CRVAL : 2044.203 239.489 
CRPIX : 1022.1 119.7 
PC1_1 PC1_2 : 2.0 0.0 
PC2_1 PC2_2 : 0.0 2.0 
CDELT : 1.0 1.0 

手順与えられ、それをスライスすることができます

>>> im.wcs[::2, ::2] # half the size 
WCS Keywords 
Number of WCS axes: 2 
CTYPE : 'PIXEL' 'PIXEL' 
CRVAL : 2044.203 239.489 
CRPIX : 511.30000000000001 60.100000000000001 
PC1_1 PC1_2 : 2.0 0.0 
PC2_1 PC2_2 : 0.0 2.0 
CDELT : 2.0 2.0 

たり、それを高めるために1よりも小さなステップでそれをスライス:

>>> im.wcs[::1/128, ::1/128] # assuming you increase each axis by a factor of 128. 
WCS Keywords 
Number of WCS axes: 2 
CTYPE : 'PIXEL' 'PIXEL' 
CRVAL : 2044.203 239.489 
CRPIX : 130765.3 15258.1 
PC1_1 PC1_2 : 2.0 0.0 
PC2_1 PC2_2 : 0.0 2.0 
CDELT : 0.0078125 0.0078125 

PC,CD、可能であればSIPなどの歪みは無視されます。手動で処理する必要があります。ただし、CDELTの値が処理されるため、単純なFITSファイルは正しく処理されます。

注:NAXISキーワードは次のバージョンで変更される可能性があるため、除外されています。これらのキーワードは信頼できません。これらは現在処理されておらず、次のバージョンでは "開始、停止、およびステップ"が整数またはなしの場合にのみ処理されます。

関連する問題