我有一个相关矩阵,它定义了3d图像中不同超级体素之间的相关性。 (由corrMat表示)。
我尝试使用层次聚类(Matlab上的链接和集群函数)对其进行聚类。
我很难在我的图像上使用上述功能的输出(例如 - 根据群集着色不同的体素)。
我想我只是不明白联动的输出值。我如何根据它们的相关性对体素进行着色?
这是我到目前为止所拥有的。将值分配到groupsImg的行显然是错误的。
dis = 1 - corrMat';
Z = linkage(dis, 'median'); % Hierechial clustering
cutoff = 0.5*(max(Z(:,3))); % 50% cutoff
groups = cluster(Z,'cutoff',cutoff,'criterion','distance');
groupedImg = zeros(size(Img,1),size(Img,2),size(Img,3));
voxelsMapGroups = cat(2,voxelsMap,groups);
for i=1:1:size(voxelsMapGroups,1)
x=voxelsMapGroups(i,1);
sizeX=voxelsMapGroups(i,4)-1;
y=voxelsMapGroups(i,2);
sizeY=voxelsMapGroups(i,5)-1;
z=voxelsMapGroups(i,3);
sizeZ=voxelsMapGroups(i,6)-1;
groupedImg(x:(x+sizeX),y:(y+sizeY),z:(z+sizeZ)) = voxelsMapGroups(i,7);
end
voxelsMap简单地将体素划分为超体素以降低计算复杂度。
提前感谢任何输入。