2017-01-30 106 views
1

我有一个3D脑体积(x,y)坐标和z =切片。对于这个卷,我有特定的坐标(反映了一些功能),我想突出显示这些坐标(例如通过使用特定颜色进行绘制)。 我搜查,发现一个这样的代码:在MATLAB上绘制3D体积

t=image;     % gray scale image 
red=t; 
green=t; 
blue=t; 
for i=1:size(indx,1)  %indx: indexes of the featured coordinates 
red(indx(i,1),indx(i,2))=255; 
green(indx(i,1),indx(i,2))=0; 
blue(indx(i,1),indx(i,2))=0; 
end 
out=cat(3,red,green,blue); 

的问题是,这个代码与灰度图像。当我试图把它推广到我买了大小的东西体积:通过(3 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); 

这是概括吗?如果是这样,如何显示结果切片与彩色部分?

回答

0

你可以做到这一点,但数据集的大小是三倍的,你真的没有什么收获。相反,我将创建一个标签卷,如:

VolLabels = uint8(VolData); 

VolLabels(indx) = 1; %same notation, linear indices. 'colour1' 
VolLabels(indx2) = 2; %different feature, 'colour2' 

然后就可以正常观看的切片,即imsh​​ow(VolLabels(:,:,sliceZ))。然后通过使用imcontrast工具,您可以通过设置限制来设置要查看的功能。玩色彩地图也有帮助。

或提取的体积只有一个特点是:(?MRI)

VolRedLabel = VolLabels == 1; %extracts the 'colour1' label 

如果你只是用Matlab和CT开始 - 影像检查出功能等值面()。尽管如此,它会停止使用更大的数据集。