在我的实验中,我显示了很多不同的光栅。为了在实验执行过程中节省时间,我预先绘制了相应的纹理并将它们保存在缓冲区中。然而,这需要大约10-20秒,具体取决于运行使用的刺激数量以及机器的速度。Psychtoolbox:我可以保存预先绘制的纹理到我的硬盘吗?
我想知道是否有一种方法在硬盘上存储预先绘制的纹理,并让它们读入?
下面是当前的代码:
tic
stimulus_matrix = [];
for ifrequencies = 1:length(frequencies)
for iphase = 1:length(phases)
for icontrast_manipulation = 1:length(contrast_manipulation)
for icontrast_values = 1:length(contrast_values(1,:))
grating = makeStimulus(contrast_values(icontrast_manipulation,icontrast_values),grating_size_degrees,phases(iphase),frequencies(ifrequencies,1));
stimulus_matrix(ifrequencies,iphase,icontrast_manipulation,icontrast_values) = Screen('MakeTexture', my_window, grating);
Screen('FillOval', stimulus_matrix(ifrequencies,iphase,icontrast_manipulation,icontrast_values), background, CenterRect(ovalRect,gratingRect));
% Display a progress bar during buffering
% code for progress bar removed for clarity
end
end
end
end
嗨yangscar,对不起,基本上从来没有回应。正如昨天发布的评论中所述,stimulus_matrix实际上并不包含刺激纹理,而只是指向那些纹理的指针。纹理本身的存储方式并不适用于psychtoolbox之外的功能:psychtoolbox为工作区中每个创建的纹理创建变量,但这些变量只包含一个数字。因此我猜想,实际的纹理会存储在用户不应该访问的内存中。 – Chris 2015-03-30 07:25:30