Как определить имена осей в WCS

Я пытаюсь использовать 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()

Читая документацию по 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 ответа

Вместо UU---SIN а также VV---SINПросто используйте UU а также VV, wcs признает, что SIN проекция указывает на небесную систему координат, но UU а также VV не описывать какую-либо небесную систему координат.

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

Однако возникает вопрос о том, существует ли четко определенное соглашение для (предположительно в сетке?) Данных УФ в изображениях FITS.

Я полагаю, что AIPS все еще делает это, и я разочарован тем, что WCSLIB возражает. UU---SIN и т. Д. Кажется правильным способом описать то, что мы имеем в таких изображениях с сеткой. На самом деле FFT использует этот тип оси, в то время как UVIMG просто использует U и V.

Ах, я вижу, что axis_types является атрибутом и не может быть установлен таким образом. Это очевидно при попытке сделать: w.wcs.axis_types=[0,0], Все еще не уверен, как это сделать правильно.

Другие вопросы по тегам