Volumetric slice plot of tomographic data
3 views (last 30 days)
Show older comments
I am trying to use the slice function to stack the following 79 slices and display a 3D representation of an object.
The problem is that the black regions in each image are obstructing the image of the previous slice. So, I'm only seeing the very last slice on top, rather than a meaningful volumetric presentation of the data. So, how can I include only the non-zero elements of each image in the plot?
Any suggestions would be greatly appreciated.
3 Comments
Accepted Answer
Philip G
on 24 Apr 2017
Edited: Philip G
on 24 Apr 2017
Hi, if you do not want to use a simple isosurface or volume viewer as I suggested in my comment, every image can have an alphadata property (that can be a matrix and not only a single value), as explained here:
https://www.mathworks.com/company/newsletters/articles/image-overlay-using-transparency.html
You can extend this behavior towards 3D with the help of this:
https://de.mathworks.com/help/matlab/visualize/add-transparency-to-graphics-objects.html
For example by using surf.
One example:
img=peaks; % this is the color
t=abs(img); % this is the transparency
%t=img>1; % if you want to have a binary mask
for i=1:10
surf(img*0+i,p,'linestyle','none','alphadata',t,'facealpha','flat')
hold on
end
I hope you get the idea.
0 Comments
More Answers (1)
Bjorn Gustavsson
on 21 Apr 2017
If you change your colour-map from black-white to white-black then you might get some mileage out of experimentations with alpha-mapping, look at the help for alphamap and alim.
HTH
0 Comments
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!