lentil.detector.shot_noise#
- lentil.detector.shot_noise(img, method='poisson', seed=None)[source]#
Apply shot noise to an image
- Parameters:
img (array_like) – Array of counts. All values must be >= 0.
method ('poisson' or 'gaussian') – Noise method.
seed (None, int, or array_like, optional) – Random seed used to initialize the pseudo-random number generator. If seed is None (default), the seed will be randomly generated from
/dev/urandom
if available or the system clock.
- Returns:
img – Array of noisy counts
- Return type:
ndarray
Notes
The output of the Poisson distribution is limited to the range of the C int64 type. A ValueError is raised when img contains values within 10 sigma of the maximum representable value (lam > 9.223372006484771e+18).
For sufficiently large values of \(\lambda\), (say \(\lambda > 1000\)), the Normal(\(\mu = \lambda\), \(\sigma^2 = \lambda\)) distribution is an excellent approximation to the Poisson(\(\lambda\)) distribution and is about 25% faster to compute.