图像分割与配准是数字图像处理技术两大主要的应用领域,特别是在医学图像处理中。
著名的医学图像分割与配准工具包ITK(Insight Segmentation & Registration Toolkit)的重要应用领域就是图像分割与配准。ITK实现了许多经典的分割、配准算法,但不提供可视化功能,因此,在应用中一般都会和VTK一起用。由VTK负责分割、配准等数据处理,其处理结果用VTK进行显示。提倡使用VTK交互的Widget,从用户的交互过程中获取所需的数据,冰并向ITK的处理算法中传递用户的参数设置。
比如,对于区域增长算法,西药设置初始的种子点,而种子点的设置则可以使用VTK的vtkSeedWidget。
与图像分割、配准应用相关的主要Widget如下:
- vtkImageContourWidget:绘制轮廓线。所绘制的轮廓线可以是闭合的也可以是不闭合的,取决于最后一个点的位置。
- vtkImageTracerWidget:绘制轨迹线。该类在手动分割图像中应用比较多。
- vtkCheckerboardWidget:在二维图像上生成棋盘格,而且可以控制棋盘格的数目。使用该类可以查看两幅图像配准后的重叠效果。
- vtkRectilinearWipWidget:在二维图像上,生成棋盘格,与vtkCheckboardWidget不同的是,该类不可以控制棋盘格的数目,所生成的棋盘格是固定的2*2,但是该2*2的棋盘格可以调节大小,该交互部件也常用于配准过程。
- vtkSeedWidget:放置种子点。多用于分割算法中。
2.其他Widget
- 与绘图相关的Widget:vtkXYPlotWidget;
- 与动画、视频相关的Widget,如vtkCameraWidget、vtkPlaybackWidget;
- 与参数控制等相关的Widget,如vtkCompassWidget、vtkSlicerWidget、vtkCenteredSlicerWidget等;
- 与数据探测提取相关的Widget,如vtkTensorProbeWidget;
- 与空间变换相关的Widget,如vtkAffineWidget.
虽然每个Widget都有不同的功能及应用范围,但是使用方法是大同小异的。基恩都会遵循以下步骤:
1.创建Widget对象;
2.指定交互器,监听事件;
3.如有需要设计“观察者-命令模式”;
4.设计交互部件实体样式,当然也可以采用默认样式。
5.激活Widget。
每个Widget内部都会绑定不同的事件,在使用这些Widget类时,只要知道应该捕获那些消息,然后根据具体的需求实现相应得回调函数即可。
需要注意的是,Widget样式是由相应的Represention类进行表达。用户可以使用默认的表达实体或者指定其他的表达实体,这也正是vtkAbstractWidget里“交互/表达实体”分离的好处。