一般的相关分析代码

%--brain mask with the brain tissue
mask_name = 'C:\Users\Administrator\Desktop\workspace\preprocessed\masks\within_brain_mask.nii';
M   = load_untouch_nii( mask_name ); % load mask NIFTI
mask     = double(M.img>0);          % get 3d v

%--brain functional 4d data
data_4d = 'C:\Users\Administrator\Desktop\workspace\preprocessed\4d\func_3d.nii';
% data_4d = 'C:\Users\Administrator\Desktop\phycaa_workspace\phycaa_plus_2104_03_27\_PHYCAA_step1+2.nii';

V   = load_untouch_nii( data_4d ); 

%--transform 4d array to 2d array, using brain_mask
within_brain_voxels = nifti_to_mat(V,M); 

nt_matrix = within_brain_voxels;

[V_c S_c temp] = svd( nt_matrix' * nt_matrix );
% PC-space representation
Q_c = V_c * sqrt( S_c );

offSet=1;
pcs=4;

% estimate temporal autocorrelation maximized "sources"
Q1 = Q_c( 1:(end-offSet) , 1:pcs ); % un-offset
Q2 = Q_c( (offSet+1):end , 1:pcs ); % offsetted timeseries

% canonical correlations on time-lagged data
[A,B,R,U,V,stats] = canoncorr(Q1,Q2);

% getting stable "average" autocorrelated timeseries
a=[U(1,:)]; b=[U(2:end,:) + V(1:end-1,:)./2]; c=[V(end,:)];

tset = [a;b;c];

  

posted @ 2014-06-19 20:53  二郎那个三郎  阅读(492)  评论(0编辑  收藏  举报