impoisson

Generates Poisson noise from (image) data. It is a raw but fast implementation based on inversion method and Gaussian approximation
5 Downloads
Updated 17 May 2024

View License

Function which generates Poisson noise / Poisson distribution from the data. It is a raw implementation and uses the inversion method for counts smaller than 30, and gaussian approximation for larger values. The code is vectorized and faster then default imnoise(I,'poisson') and poissrnd
J = impoisson(I)
If I is integer like uint8 the counts equal the input values
If I is single precision then the counts are assumed 1e6 x the input value
If I is double precision then the counts are assumed 1e12 x the input value
Example
X = uint16(repmat((1:1000),1000,1));
Y = impoisson(X);
figure, plot(Y(:)); hold on; plot(X(:),'r')
figure, imshow([X,Y],[])

Cite As

Dirk-Jan Kroon (2026). impoisson (https://uk.mathworks.com/matlabcentral/fileexchange/166076-impoisson), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2022b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Version Published Release Notes
1.0.1

updated example

1.0.0