前言
做医学图像处理的时候,通常都是利用ITK做图像处理,VTK做可视化,所以在图像处理的过程中有时需要ITK与VTK混合编程。该文档是基于Linux系统的,VTK在Linux下安装与ITK的安装很相似,ccmake的时候默认配置就好,具体参见Linux 下配置ITK.
在ITK与VTK混合编程的时候需要安装另外一个工具ItkVtkGlue。下面就开始介绍如何安装ItkVtkGlue。
ItkVtkGlue
首先需要下载ItkVtkGlue的源码包,下载地址: download ItkVtkGlue
将ItkVtkGlue的源码包解压到ITK目录下,并在ITK目录下新建ItkVtkGlue-bin目录用来存放ItkVtkGlue的源码包的编译文件。
~/ITK/itkvtkglue-bin$ ccmake ../ItkVtkGlue
~/ITK/itkvtkglue-bin$ make配置与编译ItkVtkGlue的源码的方式和配置编译ITK程序的方式一样。
CMakeLists.txt
每一个ITK或者VTK程序都需要一个CMakeLists.txt文件,并放在同一个目录下,该文件包含了cmake的版本信息、程序执行的环境信息以及整个工程的信息,所以在执行ITK和VTK程序是必须要有CMakeLists.txt文件。
ITK与VTK混合编程时,CMakeLists.txt文件的信息如下:
cmake_minimum_required(VERSION 2.8)
project(SubtractImageFilter)
find_package(ITK REQUIRED)
include(${ITK_USE_FILE})
if (ITKVtkGlue_LOADED)
find_package(VTK REQUIRED)
include(${VTK_USE_FILE})
else()
find_package(ItkVtkGlue REQUIRED)
include(${ItkVtkGlue_USE_FILE})
set(Glue ItkVtkGlue)
endif()
add_executable(SubtractImageFilter MACOSX_BUNDLE SubtractImageFilter.cxx)
target_link_libraries(SubtractImageFilter
${Glue} ${VTK_LIBRARIES} ${ITK_LIBRARIES})
- 在ccmake配置的时候会提示输入ItkVtkGlue的目录,类似输入ITK编译后的目录一样,在提示itkvtkglue目录路径的地方输入itkvtkglue-bin文件所在的目录就好了,然后程序就能正常编译了。
找不到“itkImageToVTKImageFilter.h”的问题
- 在程序的头文件中如果引入’itkImageToVTKImageFilter.h’头文件,会提示找不到该文件,这时需要下载一个工具包:InsightApplications.zip,下载地址:download InsightApplications。
- 解压InsightApplications.zip文件,将itkImageToVTKImageFilter.h,itkImageToVTKImageFilter.txx从\InsightApplications\Auxiliary\vtk文件夹找出添加到正在执行的工程文件,然后再编译就不会有错了。