一般的相关分析代码

%--brain mask with the brain tissue
mask_name = 'C:UsersAdministratorDesktopworkspacepreprocessedmaskswithin_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:UsersAdministratorDesktopworkspacepreprocessed4dfunc_3d.nii';
% data_4d = 'C:UsersAdministratorDesktopphycaa_workspacephycaa_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];

  

原文地址:https://www.cnblogs.com/haore147/p/3797817.html