主要内容

volshow

显示卷

自从R2018b

    描述

    数字数组

    例子

    = volshow (V)创建一个体积对象显示3 d体积V。你可以旋转和放大和显示交互地使用鼠标。使用查询和修改的属性体积对象在您创建的对象。一个属性列表,看到量属性

    = volshow (V,配置)显示3 d体积V使用的值体积对象属性指定的配置结构。

    = volshow (V,名称=值)修改的外观体积使用一个或多个名称参数。例如,volshow (V, RenderingStyle =“等值面”)显示3 d体积V并设置渲染风格“等值面”

    了图像体积

    自从R2023a

    例子

    bVol= volshow (荡妇)创建一个BlockedVolume对象显示3 d阻塞的形象荡妇。你可以旋转和放大和显示交互地使用鼠标。使用bVol查询和修改的属性BlockedVolume对象在您创建的对象。一个属性列表,看到BlockedVolume属性

    bVol= volshow (荡妇,名称=值)修改了卷的外观使用一个或多个名称参数。例如,ResolutionLevel = "粗"指定分辨率级别显示为粗分辨率级别。

    请注意

    医学成像工具箱™扩展的功能volshow(图像处理工具箱™)函数来显示medicalVolume(医学影像工具箱)对象在病人坐标系。有关更多信息,请参见volshow(医学影像工具箱)

    例子

    全部折叠

    核磁共振数据装载到工作区和删除单维度。

    负载核磁共振成像V =紧缩(D);

    生成一个colormap和透明度(α)映射适用于核磁共振图像。

    强度= [0 20 40 120 220 1024];α= [0 0 0.15 0.3 0.38 0.5];颜色= [0 0 0;43 0 0;103年37 20;199 155 97;216 213 201;255 255 255]/ 255;queryPoints = linspace (min(强度),max(强度),256);alphamap = interp1(强度,α,queryPoints)”; colormap = interp1(intensity,color,queryPoints);

    这个MRI扫描不均匀、各向异性体素的大小1 -由- 2.5 - 1毫米。指定尺度图像的变换矩阵到正确的体元维度。

    sx = 1;sy = 1;深圳= 2.5;= (sx 0 0 0;sy 0 0;0 0 sz 0;0 0 0 1);

    创建一个affinetform3d对象执行缩放。

    tform = affinetform3d(一个);

    视图定制colormap的体积,透明度映射和转换。拖动鼠标来旋转音量。用滚轮放大和缩小的体积。

    卷= volshow (V, Colormap = Colormap Alphamap = Alphamap变换= tform);

    这个示例使用3 d体积人体胸部CT扫描数据。要运行这个例子,您必须下载样例数据从MathWorks®使用附加的探险家。看到安装示例数据使用附加的探险家

    将数据装载到工作区。

    负载chestVolume

    创建一个colormap和透明度映射适用于CT图像。

    强度= (-3024、-16.45,641.38,3071);α= (0,0,0.72,0.72);颜色= [0 0 0;186 65 77;231 208 141;255 255 255]/ 255;queryPoints = linspace (min(强度),max(强度),256);alphamap = interp1(强度,α,queryPoints)”;colormap = interp1(强度、颜色、queryPoints);

    查看卷自定义地图colormap和透明度。拖动鼠标来旋转音量。用滚轮放大和缩小的体积。

    卷= volshow (V, Colormap = Colormap Alphamap = Alphamap);

    编程上设置的相机位置和相机目标现场看到一个不同的观点的体积。

    现场= vol.Parent;现场。CameraPosition = (275 75 140);现场。CameraTarget = (256 256 160);现场。CameraUpVector = (0 0 1);

    加载一个灰度卷到工作区中并显示卷使用volshow

    负载(“spiralVol.mat”)h = volshow (spiralVol);观众= h.Parent;hFig = viewer.Parent;drawnow

    指定的名称保存动画GIF文件。

    文件名=“animatedSpiral.gif”;

    相机体积的中心目标。

    深圳=大小(spiralVol);中心= sz / 2 + 0.5;查看器。CameraTarget =中心;

    指定动画的帧数,然后创建一个数组的相机位置圈中心的体积。

    numberOfFrames =12;vec = linspace(0, 2 *π,numberOfFrames) ';dist =√深圳(1)^ 2 +深圳(2)^ 2 +深圳(3)^ 2);myPosition =中心+ ([cos (vec)罪(vec)的(大小(vec))] *距离);

    在每个摄像机的位置,更新显示GIF文件和写作框架。你可以在视频播放文件查看器。

    idx = 1:长度(vec)%更新当前视图查看器。CameraPosition = myPosition (idx:);%使用getframe函数捕获图像I = getframe (hFig);[英蒂,厘米]= rgb2ind (I.cdata, 256);%写框架GIF文件如果idx = = 1%什么也不做。第一帧只显示观众,而不是体积%。elseif英蒂idx = = 2 imwrite (cm,文件名,“gif”Loopcount =正无穷,滞后时间= 0)其他的imwrite(英蒂,厘米,文件名,“gif”写方式=“添加”滞后时间= 0)结束结束

    animatedSpiral.gif

    这个示例创建了一个大500 -通过- 500 - 2500图像体积。如果你的机器没有足够的内存来创建和存储2.5 GB的体积,减少imSize在运行这个例子之前。

    imSize = (500500、2500);

    创建一个模拟的三维图像的泡沫,V。这可能需要几分钟时间。

    V =兰德(imSize“单身”);BW = false(大小(V));BW (V < 0.000001) = true;V = bwdist (BW);V (V < = 20) = 1;V (V > 20) = 0;

    如果你想显示V直接volshow返回一个错误,体积太大。相反,创建一个blockedImage对象指向V和块大小为500 - 500 - 500像素点。

    bim = blockedImage (V, BlockSize = [500500500]);

    显示blockedImage使用volshow。的volshow功能块读入内存一次和针个体块渲染生成最终的体积。

    bVol = volshow (bim);

    输入参数

    全部折叠

    三维体积,指定为一个数字数组。

    数据类型:||int8|int16|int32|uint8|uint16|uint32|逻辑|字符

    渲染输出的信息量观众,指定为一个结构。

    数据类型:结构体

    堵住图像体积,指定为一个blockedImage对象读取三维块灰度、RGB或RGBA数据。屏蔽的图像可以有一个分辨率水平或多个分辨率的水平。

    名称-值参数

    指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

    例子:volshow (V, RenderingStyle =“等值面”)显示3 d体积V并设置渲染风格“等值面”

    请注意

    这里列出的属性是唯一的一个子集。内存容量属性的完整列表,请参阅量属性。阻塞体积属性的完整列表,请参阅BlockedVolume属性

    父母的体积BlockedVolume对象,指定为一个Viewer3D对象。您可以创建一个Viewer3D对象使用viewer3d函数。当你打电话volshow如果没有指定一个家长,创建一个新的函数Viewer3D对象和对象的父集。一个体积BlockedVolume不能将对象。

    渲染风格,表中指定的值。

    价值 描述
    “VolumeRendering” 视图根据指定的数量为每个立体像素的颜色和透明度。
    “MaximumIntensityProjection” 查看每个射线强度最大的体素值预测数据。为RGB卷,视图的体素最大的亮度CIE 1976 L * a * b *颜色空间。
    “MinimumIntensityProjection” 查看立体像素强度的最小值为每个射线投影数据。为RGB卷,视图的体素最小的亮度CIE 1976 L * a * b *颜色空间。
    “GradientOpacity”

    查看卷根据指定的颜色和透明度与额外的透明度应用如果体素相似的强度(对于灰度卷)或亮度(RGB卷)上沿观看雷体素。

    当一个体积均匀强度呈现使用“GradientOpacity”,内部的部分体积显得更加透明的比“VolumeRendering”渲染风格,使更好的可视化的强度和亮度梯度体积。

    “等值面”

    视图的等值面卷中的指定的值IsosurfaceValue财产。

    “SlicePlanes”

    观点三个正交切片的飞机。

    透明地图卷的内容,指定为一个n元与值列向量[0,1]范围。矢量的最大长度是256。查看RGB卷时,对象使用立体像素的亮度在CIE 1976 L * a * b *颜色空间分配一个透明的透明地图。当AlphaData非空的属性,Alphamap房地产没有任何影响。

    Colormap灰度的体积数据,指定为一个n3数字矩阵中的值区间[0,1]。的最大数量的颜色n是256。这个属性没有影响当浏览RGB卷。

    覆盖数据融合的对象数据呈现期间,指定这些值之一:

    • 当显示一个内存容量数组,V,指定OverlayData作为一个数字数组。

    • 当显示阻塞图像体积,荡妇,指定OverlayData作为一个blockedImage对象读取的3 - d灰度数据块。

    查看器显示了覆盖只有当RenderingStyle属性值是“SlicePlanes”,“VolumeRendering”,或“GradientOpacity”。您可以修改的外观覆盖通过改变OverlayRenderingStyle,OverlayColormap,OverlayAlphamap属性。

    覆盖渲染风格,表中指定的值。

    价值 描述
    “LabelOverlay”

    查看覆盖基于每个标记区域的颜色和透明度。使用这种渲染风格来可视化顺序数据,比如二进制或语义分割结果,您的数据。

    “VolumeOverlay”

    查看叠加的基础上,为每个立体像素指定的颜色和透明度。

    “GradientOverlay”

    查看覆盖基于每个立体像素的颜色和透明度与额外的透明度应用基于当前体素之间的区别和前面沿着观看雷体素。

    输出参数

    全部折叠

    体积,作为一个返回体积对象。对体积的修改方面的更多信息,见量属性

    阻止了体积,作为一个返回BlockedVolume对象。对体积的修改方面的更多信息,见BlockedVolume属性

    更多关于

    全部折叠

    事件

    收到通知的体积BlockedVolume当某些事件发生时对象,设置听众对于这些事件。您可以指定其中一个事件发生时执行的回调函数。当通过侦听器对象通知应用程序时,它将返回数据的事件。看的事件类返回特定事件,看看。

    事件名称 触发 事件数据 事件属性
    ClippingPlanesChanging

    一个对象剪切面被交互式地感动。这个事件不执行如果剪切面编程方式移动。

    images.ui.graphics3d.events.ClippingPlanesChangedEventData

    NotifyAccess:私人

    ListenAccess:公共

    ClippingPlanesChanged 一个对象剪切面不再是交互式地感动。这个事件不执行如果剪切面编程方式移动。 images.ui.graphics3d.events.ClippingPlanesChangedEventData

    NotifyAccess:私人

    ListenAccess:公共

    SlicePlanesChanging

    对象切片平面是交互式地感动。这个事件不执行如果切平面编程方式移动。

    images.ui.graphics3d.events.SlicePlanesChangedEventData

    NotifyAccess:私人

    ListenAccess:公共

    SlicePlanesChanged 一个对象切片飞机不再是交互式地感动。这个事件不执行如果切平面编程方式移动。 images.ui.graphics3d.events.SlicePlanesChangedEventData

    NotifyAccess:私人

    ListenAccess:公共

    DataReadStarted 一个BlockedVolume对象发送的数据块呈现在现场。这个事件是不适用的体积对象。 event.EventData

    NotifyAccess:私人

    ListenAccess:公共

    DataReadFinished BlockedVolume对象完成发送所有的数据块中可见的场景。这个事件是不适用的体积对象。 event.EventData

    NotifyAccess:私人

    ListenAccess:公共

    版本历史

    介绍了R2018b

    全部展开