各位RESTers,我在运行DPARSF的时候遇到问题。
序列情况,SIEMENS TRIO TIM 3T,梯度回波EPI序列,TR/TE 2000/30, FOV 256*256, Resolution 64*64, 每卷共36层,层厚 4 mm, 层间隔0mm, 翻转角 90度。共210个时间点。
运行环境为VISTA下的matlab 2009b,SPM8b(更新至9月的版本),DPARSF_V1.0_091201.和 REST2007V1.3_091201.
我尝试运行采集的一个受试者图像,功能DICOM图像建立于matlab工作目录下的FunRAW/Subject001目录下。
采用DPARSF处理数据的时候,当运行到显示如下窗口时停滞
同时matlab的命令窗口提示错误如下:
??? Error using ==> rest_loadmask at 37
There are no appropriate default mask file:
Volume size=79*95*69 ,Voxel size=2*2*2;
Volume size=53*63*46, Voxel size=3*3*3;
Volume size=91*109*91, Voxel size=2*2*2;
Volume size=61*73*61, Voxel size=3*3*3;
Please set bMask = 0.
Error in ==> reho at 62
mask=rest_loadmask(nDim1, nDim2, nDim3, AMaskFilename);
Error in ==> DPARSF_run at 605
reho(
[AutoDataProcessParameter.DataProcessDir,filesep,FunImgDir,filesep,AutoDataProcessParameter.SubjectID{i}],
...
Error in ==> DPARSF>pushbuttonRun_Callback at 907
[Error]=DPARSF_run(handles.Cfg);
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> DPARSF at 36
gui_mainfcn(gui_State, varargin{:});
??? Error while evaluating uicontrol Callback
问题:
(1)我看来,似乎是缺少了一个brain的模板文件,但是我查找了REST下面的Mask目录,没有找到对应分辨率的文件。
(2)用SPM的display观察detrend+filtered的文件,发现文件分辨率已经改为46*55*46,而原始的DICOM图像分辨率为64*64*36,是怎么回事呢?
(3)视频教程中为提取功能连接的covariable所使用的全脑、脑脊液和白质的mask是否就是Rest文件夹下mask里面的那几个文件?但是该文件夹中brain的mask有几个不同的分辨率,请问如何选用?
(4)非常新手的问题:我将SPM8b采用Dicom import导入的nifti文件,用rest里面的slice viewer打开,为何会出现颠倒的显示(请见附件),nifti格式不就是优越于带有空间信息吗?
希望各位不吝赐教,多多批评指正
谢谢
林云
Re
新的问题
1. 用 SPM8b 的 coreg:reslice 将 Rest 里面的一个全脑 mask 重采样后,程序顺利运行,但是到计算 fALFF 的时候,程序停滞,如图:
同时matlab提示错误如下:
2. 采用 rest 的 slice viewer 打开转化好的 nifti 文件(从 SPM 的 dicom import 转换而来)后,图像如下,而用 MRIcroN打开却很正常,请问是怎么回事呢?
3. 关于 bounding box,为何要与 SPM 默认的 bounding box 参数不同呢?
4. 我希望在统计分析的时候 brodman 中的某个区域作为 ROI 使用,请问应该通过怎样的操作来实现呢?
非常感谢!
我也遇到一些问题:在detrend的时候matlab报错:
Removing the linear trend:
Read 3D EPI functional images: "J:\MAOA\FunImgNormalizedSmoothed\MAOAVNTR3sub003".??? Out of memory. Type HELP MEMORY for your options.
Error in ==> repmat at 78
B = A(subs{:});
Error in ==> rest_to4d at 63
AllVolume =repmat(AllVolume, [1,1,1, size(ImgFileList,1)]);
Error in ==> rest_detrend at 23
[AllVolume,VoxelSize,theImgFileList, Header] =rest_to4d(ADataDir);
Error in ==> DPARSF_run at 544
rest_detrend([AutoDataProcessParameter.DataProcessDir,filesep,FunImgDir,filesep,AutoDataProcessParameter.SubjectID{i}], '_detrend');
Error in ==> DPARSF>pushbuttonRun_Callback at 907
[Error]=DPARSF_run(handles.Cfg);
Error in ==> gui_mainfcn at 75
feval(varargin{:});
Error in ==> DPARSF at 36
gui_mainfcn(gui_State, varargin{:});
??? Error while evaluating uicontrol Callback.
Re
有些问题比较常见,可以先回查下。我们也考虑做个FAQ。
Re
这个问题是由于你的EPI数据精度与DPARSF默认的精度不一致导致的。你需要重采样{DPARSF_DIR}\Templates下的全脑、白质、脑脊液模板,然后将这几个模板文件替换掉。将来的版本可能允许自动重采样。
2. 你的T1数据应该是矢状位扫描的。如果用SPM来转格式,头文件中的仿射变换矩阵形如下:
0 0 1.33 -82.3952
-1 0 0 160.8644
0 1 0 -128.678
0 0 0 1
而REST Slice Viewer并不支持这种不在正交空间的数据。
如果你用MRIcroN或DPARSF(自动调用MRIcroN)来转数据,则会自动Reorient large images to nearest orthogonal plane,结果文件以o打头(另有去除颈部的文件,以co打头,在视频中也有介绍)。这时,头文件中的的仿射变换矩阵变为:
-1.33 0 0 82.3952
0 1 0 -96.1356
0 0 1 -128.678
0 0 0 1
REST Slice Viewer支持这种数据。
3. SPM默认的bounding box偏小。DPARSF默认的bounding box是SPM中的第二个选项。
4. 用REST Slice Viewer中的Save Cluster功能来实现。当然,事先通过Misc下拉菜单中的Set Range of Threshold确定你需要的BA分区。
dcm2nii 后仍然不对
采用 DPARSF 中内置的 dcm2niigui 转换结构像后 (如图)
随后生成如您所述的三个文件:
用rest slice viewer 打开 o* 文件后如图:
打开 co* 文件如图:
结构像序列参数: 梯度回波GRE序列,矢状位扫描,TR/TE 1.9/2.52, 视野 256*256, 分辨率 256*256, 1个slab, 内有 176层, 层厚1.0, 层间隔 0, 翻转角 90,带宽 170.
林云
Re
2. 我认为要实现你的这个操作,应该用o打头或者co打头的文件。我建议用co打头的文件。
3. 用dcm2niigui就可以把这样的图像转换到正交空间。
祝好!