What is the alternative for imshow(im,[]); for 3D surface
    3 ビュー (過去 30 日間)
  
       古いコメントを表示
    
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
0 件のコメント
採用された回答
  Walter Roberson
      
      
 2015 年 11 月 4 日
        cdatamapping should be scaled not direct. See http://www.mathworks.com/help/matlab/ref/primitivesurface-properties.html#property_cdatamapping
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

