function GratingDemo
% GratingDemo shows how to use WhiteIndex, BlackIndex, and 'PutImage' to
% display a grating of known contrast at any orientation and pixelSize.
...
% grating
[x,y]=meshgrid(-100:100,-100:100);
orientation=17; % tilt (deg)
f=0.03; % spatial frequency (cycles/pixel)
lambda=1.5/f; % gaussian space constant (pixels); "1.5/f" yields 1.5 cycle
a=cos(orientation*pi/180)*2*pi*f;
b=sin(orientation*pi/180)*2*pi*f;
m=exp(-((x/lambda).^2)-((y/lambda).^2)).*sin(a*x+b*y);
Screen(window,'PutImage',gray+inc*m);
...
% GratingDemo shows how to use WhiteIndex, BlackIndex, and 'PutImage' to
% display a grating of known contrast at any orientation and pixelSize.
...
% grating
[x,y]=meshgrid(-100:100,-100:100);
orientation=17; % tilt (deg)
f=0.03; % spatial frequency (cycles/pixel)
lambda=1.5/f; % gaussian space constant (pixels); "1.5/f" yields 1.5 cycle
a=cos(orientation*pi/180)*2*pi*f;
b=sin(orientation*pi/180)*2*pi*f;
m=exp(-((x/lambda).^2)-((y/lambda).^2)).*sin(a*x+b*y);
Screen(window,'PutImage',gray+inc*m);
...