I came to this question because of the Kaiser window used for my BM3D implementation. I used Matlab to generate the Kaiser window I want for my C code so I don’t bother to write that function in my project. However, Matlab only has 1D version of the window functions. The following demonstrates two ways to generate the 2D window from its 1D function.
——————————————————————-
There are basically two ways of forming a 2D window from a 1D function. The
first is the outer product formulation; the second is the rotational
formulation. To create a outer product window (which your kaiser examples
look like they are trying to do), you can use
w1D = hamming(16); % Some 1D window
w2D = w1D(:) * w1D(:).’; % Outer product
To use a rotational formulation (which generally gives more circular
contours), you can use
L = 16;
w1D = hamming(L); % Some 1D window
M = (L-1)/2;
xx = linspace(-M,M,L);
[x,y] = meshgrid(xx);
r = sqrt( x.^2 + y.^2 );
w2D = zeros(L);
w2D(r<=M) = interp1(xx,w1D,r(r<=M));
http://www.mathworks.com/matlabcentral/newsreader/view_thread/23588
Pingback: Trying to create a 2d taper in python that has an elliptical shape | MQ
I read a lot of interesting content here. Probably
you spend a lot of time writing, i know how to save you a lot of work, there is an online tool that creates readable, google friendly posts in seconds, just
search in google – laranitas free content source