impoisson

Generates Poisson noise from (image) data. It is a raw but fast implementation based on inversion method and Gaussian approximation
2 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 (2024). impoisson (https://www.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

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.1

updated example

1.0.0