gpt4 book ai didi

python - 运行 Galsim 时的 FFT 运行时错误

转载 作者:太空宇宙 更新时间:2023-11-04 03:43:36 25 4
gpt4 key购买 nike

运行脚本保存动画时,我不断收到以下错误:

RuntimeError: SB Error: fourierDraw() requires an FFT that is too large, 6144
If you can handle the large FFT, you may update gsparams.maximum_fft_size.

所以我进入了/Galsim/include/galsim/GSparams.h

我更改了以下内容

从 maximum_fft_size(4096) 到 maximum_fft_size(16384)

或 2^12 中的 2^14。

我仍然得到和以前一样的错误。我应该重新启动我的机器还是什么?

最佳答案

这不是更改 maximum_fft_size 参数的地方。有关如何使用 GSParams 对象和更新参数的示例,请参见 demo7。 GSObject 的文档字符串中还有一个示例:

    >>> gal = galsim.Sersic(n=4, half_light_radius=4.3)
>>> psf = galsim.Moffat(beta=3, fwhm=2.85)
>>> conv = galsim.Convolve([gal,psf])
>>> im = galsim.Image(1000,1000, scale=0.05) # Note the very small pixel scale!
>>> im = conv.drawImage(image=im) # This uses the default GSParams.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "galsim/base.py", line 1236, in drawImage
image.added_flux = prof.SBProfile.draw(imview.image, gain, wmult)
RuntimeError: SB Error: fourierDraw() requires an FFT that is too large, 6144
If you can handle the large FFT, you may update gsparams.maximum_fft_size.
>>> big_fft_params = galsim.GSParams(maximum_fft_size=10240)
>>> conv = galsim.Convolve([gal,psf],gsparams=big_fft_params)
>>> im = conv.drawImage(image=im) # Now it works (but is slow!)
>>> im.write('high_res_sersic.fits')

关于python - 运行 Galsim 时的 FFT 运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24966419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com