Submitted by sxmu_psychiatry on Thu, 02/06/2014 - 22:52
尊敬的论坛老师,有一问题请教如下:
我们在matlab2012a下加载了REST V1.8,之后运行其中的reho运算。
首先想问一下,REST开始运行时出现的“set REST Workers”对话框中,Parallel computation toolbox detected是什么意思? How many workers do you want REST to use?这个问题,如果只是想在计算机完成一组数据的reho值计算,是不是输入默认值0,然后ok就可以了?
我们输入0然后ok,在reho对话框中输入相关的参数然后do all,滤波的步骤可以完成,但之后就报错了,具体如下:
Removing the linear trend: D:
estshouci
Read 3D EPI functional images: "D:\restshouci\guoxiaohong\wra".........................................
Detrend working. Wait.............
Saving detrended images. Wait...
Detrend over.
Elapsed time is 40.202579 seconds.
Elapsed time is 40.277889 seconds.
Ideal rectangular filter: "D:\restshouci\guoxiaohong\wra_detrend"
Read 3D EPI functional images: "D:\restshouci\guoxiaohong\wra_detrend".
Load mask "Default".
Band Pass Filter working. Wait.............
Saving filtered images. Wait...
Exception occured. (MATLAB:nomem)
Error using double
Out of memory. Type HELP MEMORY for your options.
70#line, subsasgn, in "F:\chengxu\spm8\@file_array\subsasgn.m"
65#line, rest_Write4DNIfTI, in "F:\chengxu\REST_V1.8_130615\REST_V1.8_130615\rest_Write4DNIfTI.m"
111#line, rest_bandpass, in "F:\chengxu\REST_V1.8_130615\REST_V1.8_130615\rest_bandpass.m"
1265#line, (parfor body), in "F:\chengxu\REST_V1.8_130615\REST_V1.8_130615\reho_gui.m"
470#line, parallel_function, in "E:\Program Files\MATLAB\R2012a\toolbox\matlab\lang\parallel_function.m"
1249#line, BandPass, in "F:\chengxu\REST_V1.8_130615\REST_V1.8_130615\reho_gui.m"
307#line, btnComputeReho_Callback, in "F:\chengxu\REST_V1.8_130615\REST_V1.8_130615\reho_gui.m"
96#line, gui_mainfcn, in "E:\Program Files\MATLAB\R2012a\toolbox\matlab\guide\gui_mainfcn.m"
35#line, reho_gui, in "F:\chengxu\REST_V1.8_130615\REST_V1.8_130615\reho_gui.m"
>>
后来我们试着用比较旧的软件版本,matlabR2006b和REST v1.5,就可以顺利的计算出reho值,没有再报错。
请问老师,这种情况的报错是否和不同的软件版本有关?应该如何解决?
谢谢!
Submitted by ZHANG_RESTadmin on Fri, 02/07/2014 - 12:18 Permalink
Re: 关于运行reho运算时报错的问题,请老师抽空解答
Parallel computation toolbox detected是指检测到了你的matlab里有并行计算的工具包,这个工具包是用来并行计算的,也就是可以一次用多个核(CPU)来对多个人的数据同时计算,set REST Workers的意思就是让你指定有多少个核参与计算。你看看你的计算机有几个核就可以设置为几个核。输入默认值0的意思就是只用一个核不用并行计算。这样也是可以的。并行计算和不用并行计算结果是一样的,只是速度快慢而已。
你出错的信息显示你的内存不足,Out of memory。你需要换个内存大些的计算机,至少也得4G内存吧,最好把后台其他软件关掉。比较旧的软件版本,matlabR2006b和REST v1.5可能消耗内存小些,于是就可以跑了。但是还是建议用最近的版本比较好。
Submitted by sxmu_psychiatry on Fri, 02/07/2014 - 22:53 Permalink
Re: 关于运行reho运算时报错的问题,请老师抽空解答
嗯,明白了,感谢老师的及时解答!