我在Matlab工作,我有一个尺寸为384x512x160的3d矩阵,由384x512切片组成。
我如何绘制这样的数据?
答案 0 :(得分:21)
您真正拥有的是体积数据。
我猜你每个X,Y,Z的值都是C. 它实际上取决于你拥有什么类型的数据。您需要提供更多有关特定答案的信息。
通常看一下体积数据可视化技术,但不仅有一种方法可以做到这一点。下面我将给你一些你想尝试的例子。
一种选择是使用FE中的Sliceomatic:
如果您有医疗数据(或大范围的数据)
您可能想要使用绘制一些切片的典型方法。您可以使用subplot()
和imshow(squeeze(:,:, slice))
执行此操作,或者只将所有切片连接在一起作为img=[squeeze(:,:, slice1)) squeeze(:,:, slice2)); squeeze(:,:, slice3)) squeeze(:,:, slice4))]
。
您可能还想绘制数据的某些等势面。您可以使用isosurface
创建一些曲面并绘制它们:
或者,如果您的图片是索引图片,则可能需要使用vol3D
如果你有“平滑”的3D数据,那么一个有用的工具是pcolor3
,因为它用半透明的表面填充3D体积,给出了“彩云”的视觉3D感知
免责声明:我与此处提供的任何工具箱无关,我根据自己的意见选择了这些工具箱。可能有更多的工具,如果您认为要添加一些,请自由编辑问题。