可视化标量体积数据的技术
什么是标量卷数据?
典型的标量体积数据由一个三维数据数组和三个相同维度的坐标数组组成。坐标数组指定x -,y -,z-每个数据点的坐标。
坐标的单位取决于数据的类型。例如,流量数据的坐标单位可能是英寸,数据单位可能是psi。
MATLAB若干®函数对于可视化标量数据很有用:
MRI数据显示方法
标量数据的一个例子包括磁共振成像(MRI)数据。这些数据通常包含通过一个卷(例如人体)拍摄的多个切片平面。MATLAB包含一个MRI数据集,其中包含人类头部的27个图像切片。本例说明了应用于MRI数据的以下技术:
更改数据格式
核磁共振数据,D
,存储为128 × 128 × 1 × 27的数组。第三个数组维度通常用于图像颜色数据。然而,由于这些是索引图像(一个颜色映射,地图
,也已加载),在第三维度中没有信息,可以使用挤压
命令。结果是一个128 × 128 × 27的数组。
第一步是加载数据并将数据数组从4-D转换为3-D。
载荷mri D =挤压(D);
显示MRI数据图像
要显示其中一个MRI图像,请使用图像
命令:
图colormap(map) image_num = 8;image(D(:,:,image_num))轴图像
保存x -而且y-axis限制用于示例的下一部分:
X = xlim;Y = ylim;
显示二维轮廓切片
将MRI数据可视化为体积数据,因为它是通过三维物体逐步获取的切片的集合。使用contourslice
显示体积切片的等高线图。创建一个等高线图,与本例第一部分创建的图像具有相同的方向和大小:
为了提高细节的可见性,本等高线图使用飞机
colormap。的照亮
函数降低颜色值的亮度。
Cm = lit (jet(length(map)),-.5);图colormap(cm) contourslice(D,[],[],image_num)坐标轴ij xlim(x) ylim(y) daspect([1,1,1])
显示三维轮廓切片
与二维物体的图像不同,轮廓切片是可以以任何方向显示的三维物体。例如,您可以在3-D视图中显示四个轮廓切片。
图colormap (cm) contourslice (D[][],[1、12、19、27],8);视图(3);轴紧
将等值面应用于MRI数据
可以使用等值面来显示卷的整体结构。当与等盖相结合时,该技术可以揭示等值面的内部数据信息。
首先,平滑数据smooth3
;然后使用等值面
计算等值线。使用补丁
将此数据显示在使用原始灰度等盖色图的图形中。
figure colormap(map) Ds = smooth3(D);hiso = patch(isosurface(Ds,5),…“FaceColor”,[1。主板],……“EdgeColor”,“没有一个”);童燕齐isonormals (Ds)
的isonormals
函数使用从平滑数据中获得的顶点法线来渲染等值面,提高等值面的质量。等值面的等值面用一种颜色表示。
添加等距caps显示切割面
使用isocaps
计算显示在相同等数值处的另一个补丁的数据(5
)为等值面。使用未平滑的数据(D
),展示室内的细节。你可以看到这是被切掉的头顶。在最终视图中不可见较低的等距上限。
hcap = patch(isocaps(D,5),…“FaceColor”、“插值函数”,…“EdgeColor”,“没有一个”);
定义视图
视图(35,30)轴紧度([1,1,4])
添加照明
添加照明,并根据体积数据的梯度重新计算表面法线,这将产生更平滑的照明(camlight
,照明
,isonormals
).增加了AmbientStrength
在不影响等值面的情况下使颜色变亮的等值面属性。设置SpecularColorReflectance
使镜面反射光的颜色更接近于等值面的颜色;然后设置SpecularExponent
缩小镜面光斑的大小。
lightangle(45岁,30);照明gouraud hcap。AmbientStrength= 0.6; hiso.SpecularColorReflectance = 0; hiso.SpecularExponent = 50;
将等距面与等距面结合以可视化MRI数据。
等帽使用插值面部着色,这意味着图形色度图决定补丁的颜色。本例使用随数据提供的颜色映射。