2013-10-27 6 views
0

나는 포지 송 노이즈를 내 .fits 이미지에 추가 할 수 있었지만 mean/median (mu_0)이 0이고 갈수록 더 넓은 분포를 갖는 가우시안처럼 노이즈를 추가해야합니다 (σ). 이런 식으로 잡음을 추가하는 통념을 찾을 수 없으므로 누군가가 나를 통해 걸을 수 있습니까? 현재 내가 추가 한 포아송 노이즈는 고르게 분포되어 있습니다. 이는 내가 원하는 것이 아닙니다. 가우스 임의성이 필요합니다.가우시안 분포로 포아송 노이즈 추가

여기서 코드의 중요한 비트이다 : 가우스 분포 (정규 분포)를 들면

im = pf.open(name) 
    isinstance(im,list) 
    im0 = im[0] 
    print im0.data.shape 
    print np.var(im0.data) 
    poissonNoise = np.random.poisson(poisson, im0.data.shape).astype(float) 
    test = im0.data + poissonNoise 
    print np.var(test) 
    im0.data = test 
    stringee = 'POISSON' 
    pf.writeto(stringee+poisson+name, data=test, clobber=True, header=im0.header) 
    check = pf.open(stringee+poisson+name) 
    np.var(check[0].data) 

답변

0

np.random.normal를 사용한다.

normalNoise = np.random.normal(center, scale, shape).astype(float) 

여기에 대한 자세한 내용보기 : NumPy Normal 더 일반적으로 모든 종류의 :

+0

NumPy Random 내가 이것을 시도, 그러나 나는 다음과 같은 오류 있어요 : ---> 44 테스트 = im0.data + poissonNoise 을 45 print np.var (테스트) 46 im0.data = test ValueError : 피연산자가 도형 (130,130)과 함께 브로드 캐스트되지 못했습니다. (2) – vdogsandman

+0

forgot to float. 그것이 작동하지 않는다면,'normal'에 보내는 정확한 매개 변수는 무엇입니까? –