Подходит с WCS для здоровой - PullRequest
1 голос
/ 27 мая 2019

Предположим, у меня есть файл FITS, который содержит заголовок WCS, так что я могу сделать:

#import healpy as hp
#import astropy.io.fits as pyfits
#from astropy.wcs import WCS

listofhdus = pyfits.open(FITS)
wcs = WCS(listofhdus[0].header)

listofhdus [0] .data будет содержать двумерный массив Numpy (NYX NX), который соответствует небольшой части полного неба в галактических координатах.

Как лучше всего преобразовать эту двумерную фигуру в формат healpix, известный как WCS, если я хочу включить наложение этой карты неба на следующий график рассеяния с проекцией Моллвейда?

NPIX = hp.nside2npix(512)
m = 0*np.arange(NPIX)
hp.mollview(m, title="test")
hp.projscatter(longitude, latitude, lonlat=True, 
               coord='G',marker='+',color='black')
hp.graticule()

где долгота и широта - это два двумерных массива (сгенерированных с помощью numpy.meshgrid) с галактическими координатами некоторых астрофизических источников, которые мне интересны?.

Полагаю, я мог бы попытаться перевести мои пиксели healpix в координаты, как-то сопоставить их с теми, что есть в моей карте неба, и интерполировать значения оттуда, но должно быть что-то более простое, более элегантное и точное, верно?

1 Ответ

1 голос
/ 27 мая 2019

Вы должны проверить репроект , который позаботится обо всех ваших потребностях в репроекции в / из HEALPix.

В частности, проверьте reproject_to_healpix .

Если вам нужен лучший контроль над вашей процедурой интерполяции (с использованием гриддера на основе свертки, обеспечивающего сохранение потока, производительность), я бы посоветовал вам проверить cygrid , который имеет примеры для HEALPix .

...