前面我们已经实现了图像的显示和交互,今天我们来为MedBeyond添加一些控件,控件一般起到指示作用,能提供一些额外的信息。
在MedBeyond工作站中需要添加的控件:
边框控件
图像方向信息控件R、L、H、P
窗宽窗位信息控件
相机方向信息控件
包围盒控件
这些控件我们都可以用VTK中提供的基础元素像搭积木那样搭建出来,但强烈建议在要添加一个控件之前,看看VTK中是否已经有现成的,别重复造轮子,在Interaction\Widgets下面有很多控件,基本能满足绝大多数需求,下面分别看一下MedBeyond工作站中用到的控件如何实现:
边框控件:
如果我们是采用单个RenderWindow多个Renderer的方式,每个Renderer就是一个ViewPort,ViewPort中并没有提供边框,为了美观,需要手动添加,在VTK中有vtkBorderWidget控件,调用SetCurrentRenderer函数向ViewPort添加边框。
图像方向信息控件R、L、H、P:
在VTK中没有找到现成的,手动添加四个vtkTextActor。
窗宽窗位信息控件:
在VTK中有个vtkCornerAnnotation类,不仅可以显示窗宽窗位,还可以显示图像Number、某