我想要在GalSim中绘制点扩散函数(PSF)的径向轮廓,以便我可以在生成的图像上调用FindAdaptiveMom。该轮廓以标准化强度与角位置的单位表示,以弧秒为单位。我已经查看了instructions来构建自定义对象,但我想知道是否可以在不构建对象的情况下渲染GalSim图像?如果没有,是否可以通过读取配置文件来构建对象?
答案 0 :(得分:0)
不幸的是,目前在GalSim中推出自己的自定义配置文件并不容易。你指出的指令要求输出仍然是根据现有的galsim类型生成的,所以并不是你真正想要的。
我认为你有两个选择:
如果您关心的只是FindAdaptiveMom
位,并且您不想做任何与渲染相关的事情,您可以自己放置径向轮廓。图像主要是围绕numpy数组和边界的包装(定义数组原点的坐标)。因此,您可以自己编写该数组,然后使用im = galsim.Image(array)
创建一个图像并在其上调用FindAdaptiveMom
。
如果您希望您的径向轮廓是天空中的真实表面亮度轮廓(而不是在图像上看到的),然后正确渲染它包括在像素上的积分,那么这有点棘手。您可以通过首先执行上述渲染来强制GalSim执行此操作,然后从中创建一个galsim.InterpolatedImage
对象,这会将绘制的图像视为表面亮度轮廓,然后可以通常的方式绘制( drawImage
)。