Moving-window mean and variance

version 1.2.0.0 (3.32 KB) by Dennis
Efficient computation of moving-window mean and moving-window variance

1.5K Downloads

Updated 2 Jul 2014

View License

This function computes the moving-window mean (also know as moving average) and moving-window variance of a sequence of one-dimensional or two-dimensional data frames (e.g. a sequence of images). For two-dimensional data, the moving-window mean and variance are computed per individual entry (e.g. per pixel).
The expressions were derived using the approach of [Welford, 1962], who provides expressions for the running mean and running variance.
The running mean and variance are calculated during start-up (i.e. while the window is not yet full).
References:
Welford, BP, "Note on a method for calculating corrected sums of squares and products." Technometrics, 4(3), pp.419-420, 1962.
NOTE: In the present implementation a moving history is maintained (similar to a shift register). This might still represent quite a computational burden. If memory size permits, one could maintain a longer history that is shifted only when full. This will be implemented in a future release.

Cite As

Dennis (2022). Moving-window mean and variance (https://www.mathworks.com/matlabcentral/fileexchange/47061-moving-window-mean-and-variance), MATLAB Central File Exchange. Retrieved .

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

Inspired: scatstat2 2D local statistics

Community Treasure Hunt

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

Start Hunting!