Galsimを使用して、PSF 補間のさまざまな方法をテストできることを願っています。銀河を含む画像を生成し、さまざまなポイントで PSF をサンプリングし、PSF を銀河の位置に補間したいと考えています。例は、特定の場所で PSF を生成する方法を示しています。画像全体で PSF を生成し、異なるポイントでサンプリングすることは可能ですか? Great03 galsim の Web ページでは、「空間相関のあるリアルなノイズ」が約束されています。
1 に答える
1
GalSim の例のディレクトリにある demo10 を見てください。この例には、位置によって変化する PSF が含まれています。
基本的な考え方は、PSF モデルのパラメーターは (x,y) の関数であり、銀河の位置で PSF モデルを構築するというものです。例 (demo10.py から):
pos = b.trueCenter() - im_center
pos = galsim.PositionD(pos.x * pixel_scale , pos.y * pixel_scale)
# The image comes out as about 211 arcsec across, so we define our variable
# parameters in terms of (r/100 arcsec), so roughly the scale size of the image.
r = math.sqrt(pos.x**2 + pos.y**2) / 100
psf_fwhm = 0.9 + 0.5 * r**2 # arcsec
psf_e = 0.4 * r**1.5
psf_beta = (math.atan2(pos.y,pos.x) + math.pi/2) * galsim.radians
# Define the PSF profile
psf = galsim.Gaussian(fwhm=psf_fwhm)
psf.applyShear(e=psf_e, beta=psf_beta)
構成ファイルの方法でも同じことができます。demo10.yaml の関連部分は次のとおりです。
psf :
type : Gaussian
fwhm :
type : Eval
str : '0.9 + 0.5 * (sky_pos.x**2 + sky_pos.y**2) / 100**2'
ellip:
type : EBeta
e :
type : Eval
fr : { type : Eval , str : '(sky_pos.x**2 + sky_pos.y**2)**0.5' }
str : '0.4 * (r/100)**1.5'
beta:
type : Eval
str : '(math.atan2(sky_pos.y,sky_pos.x) + math.pi/2.) * galsim.radians'
Great3 チャレンジに使用された変数 PSF は基本的にこれを行いましたが、はるかに複雑な PSF モデルを使用していました。
于 2013-10-30T22:12:45.343 に答える