2017-01-30 12 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); 

問題は、このコードは、グレースケール画像で動作する、ということです。私はボリュームにそれを一般化しようとしたとき、私はサイズのものを得た:(X、Y、Z、3)を介して:

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

データセットは3倍になりますが、実際には何も得られません。代わりに、私のような、ラベルのボリュームを作成します。

VolLabels = uint8(VolData); 

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

は、その後、あなたが通常のスライスを表示することができ、すなわち、関数imshow(VolLabels(:、:、sliceZ))。次に、imcontrastツールを使用して、表示するフィーチャを制限を設定することによって設定できます。 colourmapsで遊んでも助けます。

だけ1つの特徴に

または抽出量:

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

あなただけのMATLABおよびCT(MRI?)で開始している場合 - 画像は(関数等値面をチェックしてください)。それはより大きいデータセットでの作業を停止します。

関連する問題