各位老师好,请问一个关于提取全脑时间序列的问题。

Submitted by Frances-J on

我目前正在进行的课题需要分别提取全脑每个VOXEL的时间序列。我已使用dparsf完成原始数据的预处理,接下来应该怎么操作呢?
我在论坛中看到有人提到可以使用rest_to4d这个函数,
我在MATLAB中输入 rest_to4d(‘J:\Analysis\FunImg\sub1‘)
报错如下:
Read 3D EPI functional images: "J:\Analysis\FunImg\sub1"........................................??? Error using ==> rest_spm_slice_vol
File too small.

Error in ==> rest_spm_read_vols at 34
 Y(:,:,p,i) = rest_spm_slice_vol(V(i),rest_spm_matrix([0 0 p]),V(i).dim(1:2),0);

Error in ==> rest_ReadNiftiImage at 110
        Data = rest_spm_read_vols(V);

Error in ==> rest_readfile at 71
            [Outdata,Header]= rest_ReadNiftiImage(hname,volumeIndex);

Error in ==> rest_to4d at 84
            [theOneTimePoint, VoxelSize, Header] = rest_readfile(theFilename);
请问,这个函数应该如何使用呢?
谢谢
 

 严老师 谢谢答复。
再次使用 rest_to4d(‘J:\Analysis\FunImg\sub1‘)命令后,没有报错。Matlab中出现了很多数字,但是运行过后没有任何提示,我也没有找到输出的文件,请问
1.数字是否就是SUB1图像内每个VOXEL的时间序列呢?
2.我应该如何提取出这些序列便于做后面的相关?
3.除了rest_to4d之外,有没有别的方式可以提取出每个点的时间序列呢?因为我想在做FC时,每个voxel的序列应该已经被提取出来了,是否只要去找到存储他们的变量就可以?

打扰了

YAN Chao-Gan

Wed, 01/14/2015 - 16:47

In reply to by Yu XL

你好!

你需要先读入数据,比如:

[Data Vox Head]=y_ReadAll('XXX.nii');

如果你要提取一个Voxel的时间序列,比如你知道它的Index [20,30,40]

TimeSeries = Data(20,30,40,:);

如果你需要提取很多Voxel的时间序列,就需要写For循环了。

超赣

 

Forums