zoukankan      html  css  js  c++  java
  • 相关性分析代码片段

    ldcca_tms = img_To_4D_array('C:UsersAdministratorDesktopcontrast2014-05-20-17-10.img');
    spm_tms = img_To_4D_array('C:UsersAdministratorDesktopcontrast
    o_phycaa.img');
    
    % x = size(spm_tms,1);
    % y = size(spm_tms,2);
    % z = size(spm_tms,3);
    % 
    % %spm_tms_1d = reshape(spm_tms ,[1,x*y*z] );
    % 
    % 
    % x = size(ldcca_tms,1);
    % y = size(ldcca_tms,2);
    % z = size(ldcca_tms,3);
    % 
    % % ldcca_tms_1d = reshape( ldcca_tms , [1,x*y*z] );
    
    
    mask_ldcca_tms = ldcca_tms > 0;
    
    inv_mask_ldcca_tms = ~mask_ldcca_tms;
    
    mask_spm_tms = spm_tms > 0;
    
    inv_mask_spm_tms = ~mask_spm_tms;
    
    
    %% 先提取出被去噪去除的点的时间过程  实验结果,去除了435个点,
    
    % left_spm_tms = spm_tms(inv_mask_ldcca_tms);
    
    tmp_spm = spm_tms .* inv_mask_ldcca_tms;
    
    
    %>>这是最后的模板
    mask_big_left_spm_tms = tmp_spm>0;
    
    % big_left_spm_tms = left_spm_tms(left_spm_tms>0);
    
    
    % aa = size(big_left_spm_tms)
    
    
    %% 利用我们的去噪算法,得到的新的点,一个点都没有增加
    
    % left_ldcca_tms = ldcca_tms(ldcca_tms);
    
    tmp_ldcca = ldcca_tms .* inv_mask_spm_tms;
    
    %>>这是最后的模板
    mask_big_left_ldcca_tms = tmp_ldcca > 0; 
    
     tmp_ldcca_data = tmp_ldcca>0;
     
     tmp_ldcca_data_sum = size( tmp_ldcca(tmp_ldcca_data))
    
    % big_left_ldcca_tms = left_ldcca_tms( left_ldcca_tms>0 );
    
    % bb = size(big_left_ldcca_tms)
    
    
    
    %% 提取被去除的点的时间过程
    %--brain functional 4d data
    
    datacell_4d   = load_untouch_nii('C:UsersAdministratorDesktopworkspacephycaa_plus_2104_03_27func_4d.nii'); 
    
    
    ldim = size(datacell_4d.img);
    
    
    fullMsk = repmat( mask_big_left_spm_tms, [1,1,1,ldim(4)] );
    
    
    
     nii     = V; % copy nifti struct
     nii.img = fullMsk; % replace volume
                    
    %nii.hdr.dime.dim(5) = size(TMPVOL,4); % adjust for #timepoints
              
    save_untouch_nii(nii,'mask_left_spm_tms_2d.nii'); 
    
    
    
    
    
    
    
    
    
    
    
    left_spm_tms_2d = reshape( datacell_4d.img(fullMsk>0), [], ldim(4) );
    
    inv_fullMsk =  repmat( mask_spm_tms.*(~mask_big_left_spm_tms), [1,1,1,ldim(4)] );
    inv_left_spm_tms_2d = reshape( datacell_4d.img(inv_fullMsk>0), [], ldim(4) );
    
    
    
     nii     = V; % copy nifti struct
     nii.img = inv_fullMsk; % replace volume
                    
    %nii.hdr.dime.dim(5) = size(TMPVOL,4); % adjust for #timepoints
              
    save_untouch_nii(nii,'inv_left_spm_tms_2d.nii'); 
    
    
    %% 计算相关系数 
    reference_stimulus =[
        0 0 0 0 0 0 0 0 0 0 ...
        1 1 1 1 1 1 1 1 1 1 ...
        0 0 0 0 0 0 0 0 0 0 ...
        1 1 1 1 1 1 1 1 1 1 ...
        0 0 0 0 0 0 0 0 0 0 ...
        1 1 1 1 1 1 1 1 1 1 ...
        0 0 0 0 0 0 0 0 0 0
    ];
    
    corr_left_spms=[];
    intensitivity_spms=[];
    
    for i = 1:size(left_spm_tms_2d,1)
       
    %     corr_left_spms{i} = corrcoef(reference_stimulus' , left_spm_tms_2d(i,:)');
        corr_left_spms(i)= corr2(reference_stimulus' , left_spm_tms_2d(i,:)');
        intensitivity_spms(i)=mean( left_spm_tms_2d(i,:) );
    end
    
    mean_corr = mean(corr_left_spms);
    median_corr = median(corr_left_spms);
    min_corr = min(corr_left_spms);
    
    max_corr = max(corr_left_spms);
    
    
    %max_mask = ;
    
    
    
    
    
    
    mean_intensitivity = mean(intensitivity_spms);
    median_intensitivity = median(intensitivity_spms);
    min_intensitivity = min(intensitivity_spms);
    
    
    inv_corr_left_spms=[];
    
    
    for i = 1:size(left_spm_tms_2d,1)
       
    %     corr_left_spms{i} = corrcoef(reference_stimulus' , left_spm_tms_2d(i,:)');
        inv_corr_left_spms(i)= corr2(reference_stimulus' , inv_left_spm_tms_2d(i,:)');
        inv_intensitivity_spms(i)=mean( inv_left_spm_tms_2d(i,:) );
    end
    
    inv_mean_corr = mean(inv_corr_left_spms);
    inv_median_corr = median(inv_corr_left_spms);
    inv_min_corr = min(inv_corr_left_spms);
    
    inv_max_corr = max(inv_corr_left_spms);
    
    
    inv_mean_intensitivity = mean(inv_intensitivity_spms);
    inv_median_intensitivity = median(inv_intensitivity_spms);
    inv_min_intensitivity = min(inv_intensitivity_spms);
    
    
    big_than_inv_min_corr = sum( double( corr_left_spms >inv_min_corr ));
    

      

  • 相关阅读:
    Linux内核学习笔记七——内核同步机制和实现方式
    Linux内核学习笔记五——中断推后处理机制
    Linux内核学习笔记十——虚拟文件系统概念
    Android中LocalSocket使用
    Linux下常见命令
    Linux内核学习笔记八——定时器和时间管理
    Linux内核学习笔记九——内核内存管理方式
    [Android]Android的常用adb命令
    Linux内核学习笔记六——并发和同步概念
    Linux内核学习笔记十一——I/O层和I/O调度机制
  • 原文地址:https://www.cnblogs.com/haore147/p/3795810.html
Copyright © 2011-2022 走看看