严老师您好,
我们最近开始进行脑静息态研究,经验不足,目前使用软件(DPARSF,SPM5 Updates)在MATLAB 7.30(R2006b vista版本)平台上应用DPARSF对自己采集的患者数据进行预处理,但是在进行到slice timing时出现了错误,下面一张图是我用DPARSF进行数据预处理的设置。我们使用的是西门子3T磁共振,图像间隔采集。
Slice Timing Setup:sub-2 OK
Warning: In the directory "F:\soft ware\spm5 2010\spm5-update", spm_unlink.mexw32 now shadows spm_unlink.dll.
Please see the MATLAB 7.1 Release Notes.
> In spm_config at 215
In spm_jobman>initialise_struct at 2426
In spm_jobman>run_job at 480
In spm_jobman at 89
In DPARSF_run at 223
In DPARSF>pushbuttonRun_Callback at 924
In gui_mainfcn at 75
In DPARSF at 38
Warning: In the directory "F:\soft ware\spm5 2010\spm5-update", spm_global.mexw32 now shadows spm_global.dll.
Please see the MATLAB 7.1 Release Notes.
> In spm_config at 215
In spm_jobman>initialise_struct at 2426
In spm_jobman>run_job at 480
In spm_jobman at 89
In DPARSF_run at 223
In DPARSF>pushbuttonRun_Callback at 924
In gui_mainfcn at 75
In DPARSF at 38
--------------------------
Running "Slice Timing"
Warning: In the directory "F:\soft ware\spm5 2010\spm5-update", spm_slice_vol.mexw32 now shadows spm_slice_vol.dll.
Please see the MATLAB 7.1 Release Notes.
> In spm_config_slice_timing>slicetiming at 170
In spm_jobman>run_struct1 at 1587
In spm_jobman>run_struct1 at 1597
In spm_jobman>run_struct1 at 1597
In spm_jobman>run_job at 482
In spm_jobman at 89
In DPARSF_run at 223
In DPARSF>pushbuttonRun_Callback at 924
In gui_mainfcn at 75
In DPARSF at 38
SPM5: spm_slice_timing (v$Rev: 671 $) 09:24:00 - 10/06/2010
========================================================================
Warning: In the directory "F:\soft ware\spm5 2010\spm5-update", file2mat.mexw32 now shadows file2mat.dll.
Please see the MATLAB 7.1 Release Notes.
> In nifti.subsref>rec at 219
In nifti.subsref at 45
In spm_vol_nifti at 19
In spm_vol>subfunc at 141
In spm_vol>subfunc1 at 87
In spm_vol>subfunc2 at 73
In spm_vol at 57
In spm_slice_timing at 130
In spm_config_slice_timing>slicetiming at 170
In spm_jobman>run_struct1 at 1587
In spm_jobman>run_struct1 at 1597
In spm_jobman>run_struct1 at 1597
In spm_jobman>run_job at 482
In spm_jobman at 89
In DPARSF_run at 223
In DPARSF>pushbuttonRun_Callback at 924
In gui_mainfcn at 75
In DPARSF at 38
Your TR is 2.0
Warning: In the directory "F:\soft ware\spm5 2010\spm5-update", mat2file.mexw32 now shadows mat2file.dll.
Please see the MATLAB 7.1 Release Notes.
> In nifti.subsasgn>assigndat at 361
In nifti.subsasgn>fun at 76
In nifti.subsasgn at 20
In spm_create_vol>create_vol at 79
In spm_create_vol at 16
In spm_slice_timing at 192
In spm_config_slice_timing>slicetiming at 170
In spm_jobman>run_struct1 at 1587
In spm_jobman>run_struct1 at 1597
In spm_jobman>run_struct1 at 1597
In spm_jobman>run_job at 482
In spm_jobman at 89
In DPARSF_run at 223
In DPARSF>pushbuttonRun_Callback at 924
In gui_mainfcn at 75
In DPARSF at 38
??? Cant open file.
Error in ==> file_array.subsasgn>subfun at 125
mat2file(sobj,dat,va{:});
Error in ==> file_array.subsasgn at 63
subfun(sobj,double(dat),args{:});
Error in ==> spm_write_plane at 33
V.private.dat = subsasgn(V.private.dat,S,dat);
Error in ==> spm_slice_timing at 261
Vout(p) = spm_write_plane(Vout(p),slices(:,:,p),k);
Error in ==> spm_config_slice_timing>slicetiming at 170
spm_slice_timing(P,Seq,refslice,timing)
Error in ==> spm_jobman>run_struct1 at 1587
feval(prog,val);
Error in ==> spm_jobman>run_struct1 at 1597
run_struct1(c.val{i},gui);
Error in ==> spm_jobman>run_struct1 at 1597
run_struct1(c.val{i},gui);
Error in ==> spm_jobman>run_job at 482
run_struct1(c,gui);
Error in ==> spm_jobman at 89
run_job(varargin{2});
Error in ==> DPARSF_run at 223
spm_jobman('run',jobs);
Error in ==> DPARSF>pushbuttonRun_Callback at 924
[Error]=DPARSF_run(handles.Cfg);
Error in ==> gui_mainfcn at 75
feval(varargin{:});
Error in ==> DPARSF at 38
gui_mainfcn(gui_State, varargin{:});
??? Error using ==> DPARSF('pushbuttonRun_Callback',gcbo,[],guidata(gcbo))
Cant open file.
??? Error while evaluating uicontrol Callback
>>
我不清楚是SPM软件问题呢还是我操作出了问题,期盼老师回答,谢谢!
Submitted by juwell on Sun, 06/13/2010 - 22:18 Permalink
在spm的路径中(包括spm软件的路径和数据的路径),不能
在spm的路径中(包括spm软件的路径和数据的路径),不能出现空格和‘-’等符号,一般用下划线‘_’代替。
'F:\soft ware\spm5 2010\spm5-update' is illegal in matlab.
Submitted by YAN Chao-Gan on Mon, 06/14/2010 - 10:59 Permalink
Re
你好!
感觉是你的SPM装的有问题,你可以用SPM单独跑一次slice timing看是否也有问题。
另外,juwell说的很重要,请一定注意。感谢juwell的回复。
祝一切顺利!
Submitted by ghhh on Mon, 06/21/2010 - 12:20 Permalink
谢谢各位老师,按照你们所说重新安装SPM,这个问题已经解决
谢谢各位老师,按照你们所说重新安装SPM,这个问题已经解决了。
现在又遇到新问题。
我同时做了有任务和静息态脑功能,参数相同。静息态脑功能数据的预处理顺利完成。
我希望用DPARSF做有任务脑功能的预处理。先用DPARSF做数据转换,去掉10个时间点,不做slice timing,用DPARSF的Utilities在数据前加前缀“a”,在进行realign,虽然出现很多“warning”,但是仍然完成了realign。接下来做基于T1的normalize,报警!如下
??? Index exceeds matrix dimensions.
Error in ==> DPARSF_run at 158
InputFilename=[AutoDataProcessParameter.DataProcessDir,filesep,'T1Raw',filesep,AutoDataProcessParameter.SubjectID{i},filesep,DirDCM(3).name];
Error in ==> DPARSF>pushbuttonRun_Callback at 924
[Error]=DPARSF_run(handles.Cfg);
Error in ==> gui_mainfcn at 75
feval(varargin{:});
Error in ==> DPARSF at 38
gui_mainfcn(gui_State, varargin{:});
??? Error using ==> DPARSF('pushbuttonRun_Callback',gcbo,[],guidata(gcbo))
Index exceeds matrix dimensions.
??? Error while evaluating uicontrol Callback
我试用基于EPI的normalize,虽然出现很多“warning”,但是可以通过。
我用同样的T1数据,做静息态的基于T1的normalize完全没有问题。
我用静息态的T1img数据做normalize也不行。
问题:1)上述处理有什么问题吗?为什么不让做基于T1的normalize ?
2)realign有许多warning是否影响后面的处理。
盼回复,谢谢
又有新问题。按照视频所说进行统计计算(我只用了两个被试)
One sample T test
之后做Estimate。顺利通过。
Result 中的Define new contrast出问题了,如图
什么地方出问题了??
盼回复,谢谢
Submitted by YAN Chao-Gan on Mon, 06/21/2010 - 17:23 Permalink
Re
Hi!
我用同样的T1数据,做静息态的基于T1的normalize完全没有问题。
我用静息态的T1img数据做normalize也不行。
这段话我没有理解。
不能用T1做normalize的原因,应该是你的T1数据没整理好。看看T1Img文件夹下面正确的放置和生成了文件吗?注意T1Img和FunImg下的被试ID要保持一致。
warning不影响后续处理。
我印象中单样本T检验的最小样本量是3。你增加些被试吧。
Submitted by ghhh on Tue, 06/22/2010 - 10:01 Permalink
正如老师所说做静息态功能的单样本T检验样本量太小,我再试试
可能是样本量太小,我再试试。
关于normalize
我用西门子3T机器。同样一个被试先做静息脑功能,再做有任务脑功能,并扫描T1WI。
用静息功能像和T1结构像做静息态功能分析,用DPARSF做预处理完全通过。有任务功能像和同样的T1结构像用DPARSF做预处理(方法如前所述),做到normalize时报错。
SAG T1WI 原始数据放在T1Raw文件夹里。直接用DPARSF做T1数据转换和normalize,一做就报错。一共两个被试,自动生成T1Imag文件夹里只有Sub-2,Sub-2里面没有文件生成。这个T1Raw数据是从静息功能分析中复制过来的。我甚至把静息态分析中生成的T1Img文件复制过来,用在有任务的功能处理时,也不能通过。
同样的数据,我用SPM做预处理通过了。但是用DPARSF很方便,我仍然希望用DPARSF做预处理。
我比较了一下SPM和DPARSF处理生成的T1Img文件不同,这是正常的吗?
我不明白T1Raw中的数据不就是从机器中拿出来的原始数据吗?DPARSF有一个选项是T1 DICOM to NIFTI,不是自动做了数据转换吗?还需要整理数据吗?
感谢老师的帮助!新手还有许多问题,要经常麻烦各位老师,先谢谢各位老师了!
Submitted by YAN Chao-Gan on Thu, 06/24/2010 - 23:31 Permalink
Re
请把报错的详细信息贴上来。
Submitted by ghhh on Tue, 06/29/2010 - 11:22 Permalink
报错如下: ??? Index exceeds
报错如下:
??? Index exceeds matrix dimensions.
Error in ==> DPARSF_run at 158
InputFilename=[AutoDataProcessParameter.DataProcessDir,filesep,'T1Raw',filesep,AutoDataProcessParameter.SubjectID{i},filesep,DirDCM(3).name];
Error in ==> DPARSF>pushbuttonRun_Callback at 924
[Error]=DPARSF_run(handles.Cfg);
Error in ==> gui_mainfcn at 75
feval(varargin{:});
Error in ==> DPARSF at 38
gui_mainfcn(gui_State, varargin{:});
??? Error using ==> DPARSF('pushbuttonRun_Callback',gcbo,[],guidata(gcbo))
Index exceeds matrix dimensions.
??? Error while evaluating uicontrol Callback
Submitted by YAN Chao-Gan on Wed, 06/30/2010 - 09:44 Permalink
Re
Please check what do you have under "T1Raw", and report the folders and files in detail.
Submitted by ghhh on Mon, 07/05/2010 - 22:19 Permalink
我换了一台计算机重新计算,这个问题消失了。normaliz
我换了一台计算机重新计算,这个问题消失了。normalized通过了。
谢谢