N = 256;
s = zeros(N);

ex = N/7;
ey = -N/10;
edx = N/18;
edy = N/12;
mcent = 0;
mrad = N/3;
mthick = N/10;
mang = pi/2.2;

[X Y] = meshgrid(-N/2:N/2-1);
e1 = ((X+ex).^2)/(edx^2) + ((Y-ey).^2)/(edy^2);
e1 = e1<1;
e2 = ((X-ex).^2)/(edx^2) + ((Y-ey).^2)/(edy^2);
e2 = e2<1;
ma = atan2(X,Y);
mr = sqrt(X.^2 + Y.^2);
m = mr > mrad-mthick/2 & mr < mrad+mthick/2 & abs(ma)<mang;
s = e1+e2+m;

figure;
% subplot(221);
% imagesc(s);
% axis image;
% subplot(222);
% imagesc(abs(ft(s)));
% axis image;

h = fspecial('gaussian',round(N/10),round(N/32)); 
ss = imfilter(s,h);
fss = ft(ss);

subplot(121);
imagesc(ss);
axis image;
subplot(122);
imagesc(abs(fss));
axis image;
%colormap(gray);

figure;
pp = 16;
patch = fss(N/2-pp:N/2+pp,N/2-pp:N/2+pp);
surf([real(patch) imag(patch)])