Mercurial > hg > smallbox
diff util/sparco utils/pwsmoothfield.m @ 79:ee2a4d0f0c4c
Merge
author | Ivan Damnjanovic lnx <ivan.damnjanovic@eecs.qmul.ac.uk> |
---|---|
date | Mon, 28 Mar 2011 11:19:41 +0100 |
parents | 62f20b91d870 |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/util/sparco utils/pwsmoothfield.m Mon Mar 28 11:19:41 2011 +0100 @@ -0,0 +1,32 @@ +function f = pwsmoothfield(n,var,alpha) +% PWSMOOTHFIELD(N,VAR,ALPHA) +% Generate an image of piecewise smooth filtered white noise +% +% N = sidelength of the field in pixels +% VAR = variance of original white nose +% ALPHA = fraction of FFT coefficents to keep +% +% Returns an N-by-N array +% +% This file is used with the kind permission of Stephen J. Wright +% (swright@cs.wisc.edu), and was originally included in the GPSR +% v1.0 distribution: http://www.lx.it.pt/~mtf/GPSR . + +% $Id: pwsmoothfield.m 1040 2008-06-26 20:29:02Z ewout78 $ + +f = sqrt(var)*randn(n); +F = fft2(f); +a = ceil(n*alpha/2); +b = fix(n*(1-alpha)); +F(a+1:a+b,:) = 0; +F(:,a+1:a+b) = 0; +f = real(ifft2(F)); + +for i = 1:n + for j = 1:n + if (j/n >= 15*(i/n - 0.5)^3 + 0.4) + f(i,j) = f(i,j) + sqrt(var); + end + end +end +