image thumbnail

Noise-Power Spectrum

version (483 KB) by Erik Fredenberg
Generate random noise with a specified noise-power spectrum (NPS) and measure the NPS of an image.


Updated 20 Jan 2014

View License

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).

Cite As

Erik Fredenberg (2021). Noise-Power Spectrum (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2010a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired by: Generate spatial data

Inspired: filt2 2D geospatial data filter

Community Treasure Hunt

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

Start Hunting!