You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have been working on a project for the NIH that uses pyimagej to run ImageJ ops from python. Yesterday I was working on developing a plugin which calls the filter-addpoissonnoise op. During testing I determined that the op would hang up seemingly doing nothing when the input images had large pixel values. I believe this problem can be summarized as a precision/underflow problem when very large lambda values (expected number of successes in a given interval) are introduced to the Knuth algorithm. This has been documented before in wiki's Generating Poisson-distributed random variables section. As lambda becomes large exp(-lambda) approaches 0 and becomes so small it is evaluated as exactly 0. This value is checked in a while loop against another value which is never less than 0: while p >= L: do stuff where L = 0 and p is never less than 0. Therefore the loop runs forever.
The text was updated successfully, but these errors were encountered:
Hello,
I have been working on a project for the NIH that uses pyimagej to run ImageJ ops from python. Yesterday I was working on developing a plugin which calls the filter-addpoissonnoise op. During testing I determined that the op would hang up seemingly doing nothing when the input images had large pixel values. I believe this problem can be summarized as a precision/underflow problem when very large lambda values (expected number of successes in a given interval) are introduced to the Knuth algorithm. This has been documented before in wiki's Generating Poisson-distributed random variables section. As lambda becomes large exp(-lambda) approaches 0 and becomes so small it is evaluated as exactly 0. This value is checked in a while loop against another value which is never less than 0:
while p >= L: do stuff
whereL
= 0 andp
is never less than 0. Therefore the loop runs forever.The text was updated successfully, but these errors were encountered: