操纵数据阵列并添加噪音

时间:2013-11-06 00:19:29

标签: python arrays normal-distribution fits

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

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

我的第一个问题是。 。 。 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

这应该理想地吐出相同的图像,但增加了噪音,除非它没有!

1 个答案:

答案 0 :(得分:0)

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