This package includes (1) functions to generate random noise with a specified noise-power spectrum (NPS), and (2) functions to measure the NPS of an image. It is primarily intended to simulate and assess the performance of medical imaging systems, but there may be many other applications of noise simulation and measurement where the package can be useful.
Two main functions are included for Fourier-based noise simulation and measurement: filtered_noise.m generates random noise with arbitrary correlations. The noise is obtained by filtering of white noise with a supplied NPS. calc_digital_nps.m calculates the NPS in a digital image with optional windowing.
In support of these two functions, example files are provided to generate power-law noise (commonly used to simulate natural structures) and cross-talk noise (commonly occurring in photon-counting x-ray detectors). fit_nps.m least-square fits a measured NPS to an expected shape. Examples of noise generation and measurements are given in demo_nps_package.m.
The NPS is sometimes referred to as the Wiener spectrum or power spectrum.
Please reference this package if you find it useful. Feedback is welcome.
Erik Fredenberg, Royal Institute of Technology (KTH) (2010).
Erik Fredenberg (2021). Noise-Power Spectrum (https://www.mathworks.com/matlabcentral/fileexchange/36462-noise-power-spectrum), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!