Рисование изображения PSF с пользовательским радиальным профилем в GalSim

У меня есть радиальный профиль функции рассеяния точки (PSF), который я хочу нарисовать в GalSim, чтобы я мог вызвать FindAdaptiveMom для получающегося изображения. Профиль выражен в единицах нормализованной интенсивности в зависимости от углового положения в угловых секундах. Я ознакомился с инструкциями по созданию пользовательского объекта, но мне интересно, можно ли визуализировать изображение GalSim без создания объекта? Если нет, можно ли построить объект, просто прочитав его в профиле?

1 ответ

К сожалению, в настоящее время не очень легко вывести свой собственный профиль в GalSim. Инструкции, на которые вы указали, потребовали бы, чтобы выходные данные по-прежнему генерировались в терминах существующих типов galsim, поэтому не совсем то, что вы ищете.

Я думаю, у вас есть два варианта:

  1. Если все, что вас волнует, это FindAdaptiveMom немного, и вы не хотите делать что-либо сложное с рендерингом, вы можете самостоятельно установить радиальный профиль. Изображение - это в основном просто обертка вокруг массива и границ (определяющих, какова координата источника массива). Таким образом, вы можете написать этот массив самостоятельно, а затем сделать изображение из этого с im = galsim.Image(array) и позвонить FindAdaptiveMom на что.

  2. Если вы хотите, чтобы ваш радиальный профиль был истинным профилем яркости поверхности на небе (а не как на изображении), а затем правильно отображал его, включая интеграцию по пикселям, то это немного сложнее. Вы можете заставить GalSim сделать это, выполнив вышеупомянутый рендеринг, а затем сделать galsim.InterpolatedImage объект из этого, который будет рассматривать нарисованное изображение как профиль поверхностной яркости, который затем может быть нарисован обычным способом (drawImage).

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