0
点赞
收藏
分享

微信扫一扫

VTK系列教程三:项目实战介绍

爱做梦的夏夏 2022-01-30 阅读 128
c++

前两篇文章简单介绍了VTK,从这篇开始,真正进入到项目实战中,项目名称暂定为MedBeyond,目的是实现一个能够处理多模态医疗影像数据的后处理工作站。
经过将近三个月的开发已经出具雏形,先看一下效果图:
在这里插入图片描述
在这里插入图片描述
目前只实现了VolumeView、MPR插件,为了方便后续扩展插件,在设计上基于面向对象思想进行不同层次的抽象,基础组件下沉,业务逻辑上浮,新增插件只是对基础组件的拼装,极大缩短了插件开发周期,提升效率。

VolumeView插件功能:
Volume Rendering体绘制
MPR多平面重建
平移、放大、旋转等基本操作
多边形裁剪
GPU绘制
保存
MPR插件功能:
十字定位线
Thickness
保存
目前针对后处理工作站的开发,有多种模式,大公司技术积累雄厚,通常会选择自研可视化算法、图像处理算法、人工智能算法等,UI则根据平台可选择WPF、QT或者Web;而小公司则选择充分利用开源资源,MedBeyond项目可视化算法完全采用VTK,VTK对于QT的支持更友好,但鉴于本人对WPF的技术积累更多一些,所以UI部分我选择.Net平台下的WPF。
下面是软件的组件图:
图片
该工作站既可以作为独立的进程运行,也可以嵌入到其他已有的WPF、Win32程序中。
下面是软件的主要类图:
在这里插入图片描述
通过类图可知,软件整体上采用单个RenderWindow,多个Render的组合方式实现多个图像的显示,当我们新增插件时,只需要以Plugin为基类新增一个插件类,然后去重载纯虚函数,根据需求去实例化Control类,其中VolumeControl就是VR体绘制图像,MPRControl是MPR多平面图像。

举报

相关推荐

0 条评论