2017-01-30 152 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開始 - 影像檢查出功能等值面()。儘管如此,它會停止使用更大的數據集。