我有一个3D脑容积(x,y)坐标和z =切片。对于这个卷,我有特定的坐标(反映了一些特征),我想突出显示这些坐标(例如通过特定颜色的绘图)。 我搜索并找到了类似的代码:
for i=1:size(indx,1)
red(indx(i,1),indx(i,2),indx(i,3))=255;
green(indx(i,1),indx(i,2),indx(i,3))=0;
blue(indx(i,1),indx(i,2),indx(i,3))=0;
end
out = cat(4, red, green, blue);
问题在于,此代码适用于灰度图像。当我试图将它推广到卷时,我得到了一些大小:(x,y,z,3)到:
int i=-1,c,o,w,b,e=b=w=o=c=1;
这种概括是对的吗?如果是这样,如何用彩色部分显示结果切片?
答案 0 :(得分:0)
你可以这样做,但数据集的大小增加了三倍,你真的没有任何收获。相反,我会创建一个标签卷,例如:
VolLabels = uint8(VolData);
VolLabels(indx) = 1; %same notation, linear indices. 'colour1'
VolLabels(indx2) = 2; %different feature, 'colour2'
然后你可以正常查看切片,即imshow(VolLabels(:,:,sliceZ))。然后,通过使用imcontrast工具,您可以通过设置限制来设置要查看的功能。玩色彩也很有帮助。
或者通过以下方式提取仅包含一个功能的卷:
VolRedLabel = VolLabels == 1; %extracts the 'colour1' label
如果您刚开始使用Matlab和CT(MRI?) - 图像检查函数isosurface()。它停止使用更大的数据集。