局部区域一致性ReHo的计算

ReHo的计算公式

  • 将每个体素的时间序列的值进行等级排列,例如按照值从小到大的顺序进行排列,得到排列等级序列
  • 计算27邻域内每个时间点上的等级之和Ri
  • 计算平均的等级之和R_mean
  • 计算等级之和的方差S
  • 计算肯德尔和谐系数KCC=12*S/k^2(t^3-t),k是27邻域内实际的体素数,t是BOLD信号的时间点数

Matlab代码

rank = zeros(n,1800);      %初始化存储BOLD信号排列等级的rank矩阵,维度为体素数x时间点数
    
%对每个体素的BOLD信号进行排列%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    
for n2 = 1:1:n
        
    data = zeros(1,1800);      %初始化存储体素的时间序列的矩阵
   
    data_temp(1,:) = data(n2,:);      %读取BOLD序列
        
    [~,I] = sort(data_temp);       %对data进行升序排列,I存储原矩阵中的位置信息
        
    for i = 1:1:1800        %遍历位置索引矩阵I     
         
       rank(n2,I(i)) = i;     %存储BOLD信号排序位置 

    end
  
end
    
%对每个体素的BOLD信号计算ReHo%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

for n2 = 1:1:n_nonzero  %在mask的坐标里循环
        
    R_27 = zeros(27,1800);      %计算邻接的27个体素的ReHo,边界体素的邻接体素可能少于27个
    counter = 0;        %邻接体素计数变量counter
        
    for n3 = 1:1:27
  
        if index_adjacent_27(n2,n3) > 0     %排除0
                
            R_27(counter,:) = rank(index_adjacent_27(n2,n3),:);      %提取邻接27体素的排序位置  
            counter = counter+1;
              
        end      
    end
        
    R = sum(R_27,1);        %行向量求和,得到1x1800行向量,存的是每个时刻点的秩和
    R_sum = sum(R);     %得到总的秩和
    R_mean = R_sum/1800;     %除以秩的数量(时间点数),得到平均秩和
    S = sum((R-R_mean).^2);       %得到秩的方差
        
    KCC = (12*S)/(counter^2*(1800^3-1800));       %计算KCC系数
        
    ReHo(n2) = KCC;       %把ReHo值存入数组
      
end
    
    ReHo_mean = mean(ReHo_);     %计算ReHo全脑均值
    
    ReHo = ReHo./ReHo_mean;         %ReHo除以全脑均值

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tizzy477

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值