-1

我似乎无法做到这一点!:-(

我有一个应该在 .fits 文件中读取的代码,向它添加正态分布的噪声,然后重新保存该代码。到目前为止,它似乎根本不起作用。有很多额外的代码,所以我只发布了相关的部分。假设这段代码需要读入的所有内容都存在,因为它确实存在。此代码的目标是获取一个 .fits 文件并向像素添加正态分布的噪声,然后保存该文件。“泊松”是先前输入的变量,即“泊松”值为 1 对应于距均值零的一个标准偏差。是的,“泊松”这个词有点用词不当,我真的应该重新修改我的代码来修改它。

我的第一个问题是。. . im0 = im[0] 是什么意思?它似乎不是 .fits 文件中的第一行像素,因为当我将括号中的整数更改为“0”以外的任何值时,我得到一个索引错误。最重要的是, normalNoise = np.random.normal(0,poisson) 方法不完整,因为我缺少第三个参数“size”(整数元组),我不知道这意味着什么。我的图像是 130 像素 x 130 像素,如果这意味着什么的话。

    im = pf.open(name)
    im0 = im[0]
    normalNoise = np.random.normal(0,poisson)
    print im0.data
    test = im0.data + normalNoise
    print test
    im0.data = test
    stringee = 'NOISE'
    pf.writeto(stringee+str(poisson)+name, data=test, clobber=True, header=im0.header)
print poisson

理想情况下,这应该会吐出相同的图像,但会增加噪点,但事实并非如此!

4

1 回答 1

0

我不知道底层库,但如果 pf 是 FITS 文件,则 im[0] 可能正在创建对主 HDU 的引用;如果只有一个主 HDU(对于任何只有一个图像的简单 FITS 文件),任何更高的索引都会导致错误。

于 2013-11-11T22:49:12.723 回答