⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wedge.m

📁 fMRI实验中重要的定位脑区的程序
💻 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 + -