【问题标题】:Convert data into binary to use the jaccard similarity coefficient将数据转换为二进制以使用杰卡德相似系数
【发布时间】:2014-01-22 14:46:00
【问题描述】:

所以我有一个巨大的 3D 阵列,它是一些组织的扫描。我需要能够用 1 替换此数组中的所有非零条目,并保持所有零相同。我该怎么办?

然后,一旦我完成了这项工作,我需要计算 jaccard 相似系数 (JSC),我可以使用 matlabs 内置函数 union()intersect() ,我只需要找到一种方法来找到组织中的体素(即如果我的数组是x,我需要找到|x|

感谢任何帮助!

【问题讨论】:

    标签: matlab binary-data


    【解决方案1】:

    第一部分很简单,使用逻辑索引 (example):

    I = ~~I;
    

    虽然将高于阈值的所有值设置为 1 并将低于阈值的所有值设置为 0 可能更现实:

    th = 0.001; %//for example
    I = I >= th;
    

    至于基于 wikipedia 的 JSC,我假设您正在比较两个相同大小的二进制图像?比如说Ix

    M11 = nnz(I & x);
    M10 = nnz(I & ~x);
    M01 = nnz(~I & x);
    M00 = nnz(~I & ~x);
    
    JSC = M11/(M10 + M01 + M11)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-28
      • 2012-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-21
      相关资源
      最近更新 更多