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() を組み合わせるとガボアパターンを作成することができます。

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s