在MATLAB中绘制体积数据 [英] Plotting volumetric data in MATLAB
问题描述
我在Matlab中工作,我有一个3D矩阵,尺寸为384x512x160,由384x512切片组成.
I am working in Matlab and I have a 3d matrix with dimensions 384x512x160, which is made of 384x512 slices.
如何绘制这样的数据?
How can I plot data like that?
推荐答案
您真正拥有的是体积数据.
我想您对每个X,Y,Z都有一个C值. 实际上,这在很大程度上取决于您拥有什么类型的数据.您需要为特定答案提供更多信息.
I guess that you have is a value of C for every X,Y,Z. And it actually depends a lot in what type of data you have. You'd need to give more information for an specific answer.
通常可以看一下体积数据可视化技术,但不仅有一种方法可以做到这一点.以下我将为您提供一些您可能想尝试的示例.
In general have a look to Volumetric data visualization techniques, but there is not just one way of doing this. Following i will leave you some examples you may want to try.
一种选择是使用FE中的 Sliceomatic :
One option is to use the Sliceomatic from FE:
如果您有医疗数据(或大范围数据)
您可能需要使用仅绘制某些切片的典型方法.例如,您可以使用subplot()
和imshow(squeeze(:,:, slice))
或仅将所有切片串联为img=[squeeze(:,:, slice1)) squeeze(:,:, slice2)); squeeze(:,:, slice3)) squeeze(:,:, slice4))]
来实现.
If you have medical data (or data on a big range)
you may want to use the typical approach of plotting just some of the slices. You can do that using subplot()
and imshow(squeeze(:,:, slice))
, or by just concatenating all slices together as img=[squeeze(:,:, slice1)) squeeze(:,:, slice2)); squeeze(:,:, slice3)) squeeze(:,:, slice4))]
, for example.
您可能还只想绘制数据的某些等势面.您可以创建一些表面并使用 isosurface
:
You may also just want to plot some equipotential surfaces of your data. You can create some surfaces and plot them using isosurface
:
或者,如果您的图像是索引图像,则可能要使用 vol3D
Or if your image is indexed image you may want to use vol3D
如果您拥有平滑的" 3D数据,那么有用的工具是 pcolor3
,因为它用半透明的表面填充3D体积,从而使人对色云"有很好的视觉3D感知力
A useful tool if you have "smooth" 3D data is pcolor3
, as it fills the 3D volume with semi-transparent surfaces that give the a nice visual 3D perception of "color clouds"
免责声明:我与此处介绍的任何工具箱均无关,我是根据自己的看法选择它们的.可能有更多用于此的工具,如果您想添加一些工具,请自由编辑问题.
Disclaimer: I have no relation to any of the toolboxes presented here and I chose them by my own opinion. There are probably more, tools for this and if you think you want to add some, please edit the question freely.
这篇关于在MATLAB中绘制体积数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!