如何在WCS

时间:2017-07-29 08:48:56

标签: astropy libwcs

我试图将WCS用于简单的线性非天体轴。这些实际上只是代表图像傅立叶变换的U,V坐标。

import astropy.wcs as wcs
w=wcs.WCS(naxis=2)
w.wcs.axis_types[0]=0
w.wcs.axis_types[1]=0
w.wcs.ctype[0]='UU---SIN'
w.wcs.ctype[1]='VV---SIN'
print(w)
ww=w.deepcopy()

当我读到documentation for axis_types时,我已经指定前两个轴是线性轴(即非天体)。但是,当执行深层复制时,我收到错误:

astropy.wcs._wcs.InconsistentAxisTypesError: ERROR 4 in wcs_types() at line 2486 of file cextern/wcslib/C/wcs.c:
Unrecognized celestial type (UU---SIN in CTYPE1).

我做错了什么?

谢谢, 添

3 个答案:

答案 0 :(得分:0)

啊,我看到axis_types是一个属性,无法以这种方式设置。在尝试这样做时显而易见:w.wcs.axis_types=[0,0]。仍然不确定如何正确地做到这一点。

答案 1 :(得分:0)

而不是UU---SINVV---SIN,只需使用UUVV即可。 wcs认识到SIN投影表示天体坐标系,但UUVV未描述任何天体坐标系。

import astropy.wcs as wcs
w=wcs.WCS(naxis=2)
w.wcs.ctype[0]='UU'
w.wcs.ctype[1] = 'VV'
w.deepcopy()

然而,这引出了一个问题,即FITS图像中是否存在明确定义的(大概是网格化的)UV数据的约定。

答案 2 :(得分:0)

我相信AIPS仍然这样做,我对WCSLIB对象感到失望。 UU --- SIN等似乎是描述我们在这种网格中所拥有的东西的正确方法 图片。实际上FFT确实使用这种轴类型,而UVIMG只使用U. 和V。