用途:在 MATLAB 中显示三维图像体数据、医学影像体数据、表面网格与标注,用于三维图像处理可视化。
主要能力:用 volshow 做高性能高质量体显示;用 images.ui.graphics.Surface 显示等值面网格、三角剖分和表面,交互更流畅。支持叠加掩膜或分割标签(OverlayData 及 OverlayColormap、OverlayAlpha 等参数)、空间参考(Transformation,可用 imref3d 或 affinetform3d)、超大数据的多级 blockedImage 渐进渲染(makeMultiLevel3D)。渲染样式包括 MaximumIntensityProjection、GradientOpacity、CinematicRendering、VolumeRendering、MinimumIntensityProjection、Isosurface、SlicePlanes、LightScattering。可用 uidraw 添加交互标注,并通过 Viewer 的 CameraMovedFcn、AnnotationMovedFcn、ObjectClickedFcn 响应交互。
使用方式:创建 viewer3d(),用 volshow(V, Parent=viewer) 添加体数据,可选添加 Surface 与标注;更新数据时复用对象并设置 obj.Data,体数据流式更新用 waitfor(viewer,"Busy",false) 同步,Surface 动画用 drawnow。医学影像可用 medicalVolume 加载 DICOM/NIfTI/NRRD 后调用 volshow。
适用场景:三维体渲染、医学影像查看、等值面与网格显示、体数据叠加标注、构建交互式查看应用。
限制:无 Image Processing Toolbox 时需回退到 isosurface + patch;超过 GPU 纹理内存(通常大于 2048³ 体素)或内存不足时需用多级 blockedImage;透明对象渲染开销更大;Viewer 原生不支持 colorbar,需借助不可见 uiaxes 实现。具体收费与平台信息暂未提供。