MATLAB Answers

Draw on a 3D volume in MATLAB

5 ビュー (過去 30 日間)
Fatma Elzahraa Ahmed
Fatma Elzahraa Ahmed 2017 年 1 月 30 日
I have a 3D brain volume (x, y) coordinates and z=slices. For this volume, I have specific coordinates (that reflects some features) and I want to highlight these coordinates (e.g. through drawing with specific color). I searched and found a code like that:
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);
The problem is that, this code works with gray scale image. When I tried to generalize it to the volume I got something with the size:(x,y,z,3) through:
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);
Is this generalization right? if so, how to show the resulting slices with the colored parts?

回答 (1 件)

Walter Roberson
Walter Roberson 2017 年 1 月 31 日
Yes, that should work, if you use it together with a routine such as vol3d v2 from the File Exchange.
Other viewer routines might prefer that the RGB be the 3rd dimension rather than 4th, but vol3d prefers RGB to be the 4th dimension.
  3 件のコメント
Fatma Elzahraa Ahmed
Fatma Elzahraa Ahmed 2017 年 1 月 31 日
I tried another way. Rather than representing what I need using the color, I draw shapes (e.g plus) to define the needed points. Thank you very much for your help.

サインインしてコメントする。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by