📄 wedge.m
字号:
% ShowWedge for retinotopic map by FF 2007
% 20+8*16*2+10=286 sec
% TR = 2 sec, 143 TRs
clear
ScnNbr=0;
ImageSizeX=701;
ImageSizeY=701;
StimSize=[0 0 ImageSizeX ImageSizeY];
Black = BlackIndex(ScnNbr);
White = WhiteIndex(ScnNbr);
Gray = round((White+Black)/2);
w = Screen(ScnNbr,'openWindow',Gray);
rect = Screen(w,'Rect');
StimRect = CenterRect(StimSize,rect);
fixPos = [round(rect(3)/2)-3 round(rect(4)/2)-3 round(rect(3)/2)+3 round(rect(4)/2)+3];
fixPos2 = [round(ImageSizeX/2)-3 round(ImageSizeY/2)-3 round(ImageSizeX/2)+3 round(ImageSizeY/2)+3];
Frame = 5; % Frame=5 for 60 Hz
for i=1:32
x=['w' int2str(i) '.bmp'];
TempImage=imread(x);
% yellow fixation dot
stim(i)=Screen(w,'OpenOffscreenWindow',Gray,StimSize);
Screen(stim(i),'PutImage',TempImage,StimSize);
Screen(stim(i),'FillOval',[255 255 0], fixPos2);
% red fixation dot
stim(32+i)=Screen(w,'OpenOffscreenWindow',Gray,StimSize);
Screen(stim(32+i),'PutImage',TempImage,StimSize);
Screen(stim(32+i),'FillOval',[255 0 0], fixPos2);
% green fixation dot
stim(64+i)=Screen(w,'OpenOffscreenWindow',Gray,StimSize);
Screen(stim(64+i),'PutImage',TempImage,StimSize);
Screen(stim(64+i),'FillOval',[0 255 0], fixPos2);
end
EscapeKey = KbName('esc');
TriggerKey = KbName('s');
Text='Waiting for the trigger to start...';
Screen(w,'FillRect',Gray,rect);
Screen(w,'FillOval',[255 255 0], fixPos);
Screen(w,'DrawText',Text,20,20,Black);
HideCursor;
[touch, secs, keyCode] = KbCheck;
touch = 0;
while ~(touch & (keyCode(TriggerKey) | keyCode(EscapeKey)))
[touch, secs, keyCode] = KbCheck;
end
if keyCode(EscapeKey)
Screen('CloseAll');
end
Screen(w,'FillRect',Gray);
for Rep=1:120
temp=rand(1);
if temp<0.05
Screen(w,'FillOval',[255 0 0], fixPos);
Screen(w,'waitblanking',Frame*2);
elseif temp>0.95
Screen(w,'FillOval',[0 255 0], fixPos);
Screen(w,'waitblanking',Frame*2);
else
Screen(w,'FillOval',[255 255 0], fixPos);
Screen(w,'waitblanking',Frame*2);
end
end
for cyc=1:8
for i=1:16
loop = {
'for Rep=1:12;'
'temp=rand(1);'
'FixationColor=0;'
'if temp<0.05;'
'FixationColor=32;'
'end;'
'if temp>0.95;'
'FixationColor=64;'
'end;'
'Screen(''CopyWindow'',stim(2*i-1+FixationColor),w,StimSize,StimRect);'
'Screen(w,''waitblanking'',Frame);'
'Screen(''CopyWindow'',stim(2*i+FixationColor),w,StimSize,StimRect);'
'Screen(w,''waitblanking'',Frame);'
'end'
};
PriorityLevel = maxpriority(w,'waitblanking');
Rush(loop,PriorityLevel);
end
end
Screen(w,'FillRect',Gray);
Screen(w,'FillOval',[255 255 0], fixPos);
for Rep=1:60
temp=rand(1);
if temp<0.05
Screen(w,'FillOval',[255 0 0], fixPos);
Screen(w,'waitblanking',Frame*2);
elseif temp>0.95
Screen(w,'FillOval',[0 255 0], fixPos);
Screen(w,'waitblanking',Frame*2);
else
Screen(w,'FillOval',[255 255 0], fixPos);
Screen(w,'waitblanking',Frame*2);
end
end
Screen('CloseAll');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -