視覚実験用MatlabツールボックスVisionToolBox for Matlab+PTB (VTB)
視覚探索
色と方位の組み合わせで構成された視覚探索画面を表示する.観察者は,画面表示中にできるだけ早く,妨害刺激と1つだけ異なる標的の検出をおこなう(なし:f/あり:jキー).反応正誤および時間(RT)を出力する.
ori = [0 90 0 90];
% 刺激の方位と色(2 x 2)
col = [1 1 2 2]; % 1:赤/2:緑
initExp(0,0,‘test’,57,[],[],[],[],1,1); %
いろいろなものを初期化・設定する
m = setTrialSequence('RandomBlockNC',4,10);
% 試行順序を決める(恒常法)
for n = 1:40
oritest = ori(m(n)); % この試行におけるターゲット方位
coltest = col(m(n)); % この試行におけるターゲット色
target = shuffle([0 1],1); % ターゲットの有無
[x,y] = makeTexelmap('Circle',50,256-20*0.5-1,256-20*0.5-1);
% 刺激の配置
im = zeros(256,256,3);
if target==0 % ターゲットなしの場合
for i = 1:size(x,1)
col0 = shuffle(col,1);
im0 = makeRect(20,8,shuffle(ori,1),0,1,20,20);
% 要素を生成
im(:,:,col0) =
fillLocalImage(im(:,:,col0),im0*2-1,x(i),y(i));
% 全体画像に重ね書き
end
else % ターゲットありの場合
for i = 2:size(x,1)
ori0 = shuffle(ori,1);
col0 = shuffle(col,1);
while ori0==oritest && col0==coltest
% ディストラクタの方位と色を求める
ori0 = shuffle(ori,1);
col0 = shuffle(col,1);
end
im0 = makeRect(20,8,ori0,0,1,20,20);
% ディストラクタを生成
im(:,:,col0) =
fillLocalImage(im(:,:,col0),im0*2-1,x(i),y(i));
% 全体画像に重ね書き
end
im0 = makeRect(20,8,oritest,0,1,20,20);
% ターゲットを生成
im(:,:,coltest) =
fillLocalImage(im(:,:,coltest),im0*2-1,x(1),y(1));
% 全体画像に重ね書き
end
drawImage(im,1,0,0); % 刺激画像を描画する
showPage(‘’,0,30,1); % 注視点を表示
[resp,rt] = showPage(‘RspStop’,1,120,1); %
探索画面を表示(反応取得)
saveData([n oritest coltest target afc(resp,target,2) rt]);
% データを保存
clearPage; % 描画ページをクリアする
end
exitExp; % 実験終了の処理をする