Draw on a 3D volume in MATLAB
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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?
0 commentaires
Réponses (1)
Walter Roberson
le 31 Jan 2017
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 commentaires
Walter Roberson
le 31 Jan 2017
I suggest that you have a look in the File Exchange at the various slice routines.
Voir également
Catégories
En savoir plus sur 3-D Volumetric Image Processing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!