2次元ガウス関数の作成
function gaussian = GenerateGaussian(sd, imageSize)
% sd: pixel
% imageSize: pixel
[x, y] = meshgrid(1:imageSize, 1:imageSize);
x = x-(imageSize+1)/2; % cartesian coordinates
y = y-(imageSize+1)/2; % cartesian coordinates
radius = sqrt(x.*x + y.*y); % radial polar coordinates
gaussian = exp(-(radius.^2)/(2*sd^2)); % Gaussian: 0 to 1
関数は以上です。例えば、gaussian = GenerateGaussian(24, 200); を実行すると、200 x 200 の配列変数 gaussian に標準偏差 24 pixels のガウス関数の値が入ります。出力 gaussian の最小値は 0、最大値は 1 です。imshow(gaussian, [0 1]); を実行すると、作成したガウス関数を画像で確認できます。
Psychtoolbox 関数は使用していません。前回の GenerateGrating() と GenerateGaussian() を組み合わせるとガボアパターンを作成することができます。