Я использую Healpy (инструменты HEALPix, разработанные на Python) для чтения и записи CMB-карт полного неба.Как файлы HEALPix FITS из карт CMB переводятся в ndarrays? Каковы координаты?
Я смущен относительно того, как координаты пикселей на карте несут в себе записи numpy ndarray. Как один пиксель HEALPix в файле FITS преобразуется в запись ndarray?
Например, у меня есть сгенерированная карта CMB, Nside = 64, lmax = 64, используя схему RING по умолчанию. Общее количество пикселей задается Npix = 12 * Nside ** 2. Итак, для моего примера это общее число пикселей 49152.
Файл FITS, который у меня есть, находится в формате 1 столбец 48 строками. (1 столбец - все значения температуры.) Итак, я преобразовываю этот файл в n-dim numpy ndarray. Форма этого массива дает (48,1024).
Вопрос 1: Является ли этот 2-мерный массив проекцией всех пикселей карты на небе в «матричную» форму? Я думаю, что это. Используя мой пример, 48 * 1024 = 49152, общее количество пикселей.
Вопрос 2: Откуда берется стандарт 1024? Что это означает с точки зрения карты HEALPix и ее координат? Как один вход 2-мерного ndarray (пиксель) относится к другому (по углу, по положению HEALPix и т. Д.)?
Например, на карте Nside = 1024. Когда я преобразовываю это в двумерный ndarray, я получаю форму (12288, 1024).
EDIT: Почему это соглашение содержит 1024 элементарных массива? Как это соответствует координатам пикселя на карте?
Возьмите функцию healpy.fitsfunc.write_map() Почему для параметра IDL_fits установлено значение «Если True, переформатирует столбцы в строках 1024, в противном случае все данные будут находиться в одном столбце. По умолчанию: True». Почему 1024 столбца и как это соотносится с координатами карты полного неба HEALPix? – JianguoHisiang
1024 - это просто читать/писать быстрее. Нет никакого отношения к местоположению неба. –