Skip to content
  • alexander.dornheim's avatar
    ProxPython is now using the built-in random generator numpy.random.poisson.... · 79bf9cea
    alexander.dornheim authored
    ProxPython is now using the built-in random generator numpy.random.poisson. According to the comments in PossionRan the argument is the mean (often called lambda). I also checked Numerical Recipes p. 294. Therefore calling
    
    numpy.random.poisson(x)
    
    should yield the same as calling
    
    PoissonRan(x).
    
    This resolves the overflow issue with PoissonRan, but I still get the following warnings:
    
    ../proxtoolbox/ProxOperators/proxoperators.py:265: RuntimeWarning: divide by zero encountered in true_divide
    tmp = U_sq/data_sq[:,:,j];
    ../proxtoolbox/ProxOperators/proxoperators.py:265: RuntimeWarning: invalid value encountered in true_divide
    tmp = U_sq/data_sq[:,:,j];
    
    Therefore I had a look at the following line in JWST_data_processor:
    
    k[:,:,i]=np.round(k[:,:,i])
    
    From my understanding it is very likely to get zeros when rounding.
    
    I noted that after commenting out above line, there were no further warnings and the algorithm did converge nicely.
    79bf9cea