What is the alternative for imshow(im,[]); for 3D surface
Show older comments
Hello everybody,
[Given] I have 7 slices of 256x208 uint16 images. In order to see the image in 1D I'm using imshow(im,[]); It displays the grayscale image scaling the display based on the range of pixel values in image, the standard imshow(im) doesn't work in this case.
[Problem] Then I have tried to visualize all those image in 3D space by using 'surface', here is what I saw:

The code I used is show bellow:
surfh = surface('XData',x,'YData',y,'ZData',z,...
'CData', I,...
'FaceColor','texturemap',...
'EdgeColor','none',...
'LineStyle','none',...
'Marker','none',...
'MarkerFaceColor','none',...
'MarkerEdgeColor','none',...
'CDataMapping','direct');
%set transparency level
set( surfh, 'FaceAlpha', transparency );
% label axes and optimize figure
xlabel('RL');
ylabel('AP');
zlabel('FH');
axis tight
[Needed] I'm wondering, if there are any options to use 'surface' as imshow(im,[]);
Thanks in advance and I greatly appreciate any help,
Ivan
Thank you: @Walter Roberson
Accepted Answer
More Answers (0)
Categories
Find more on Lighting, Transparency, and Shading in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!