文章目录
  1. 1. ITK与VTK混合编程之ItkVtkGlue
    1. 1.1. 前言
    2. 1.2. ItkVtkGlue
    3. 1.3. CMakeLists.txt
    4. 1.4. 找不到“itkImageToVTKImageFilter.h”的问题

ITK与VTK混合编程之ItkVtkGlue

前言

做医学图像处理的时候,通常都是利用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文件夹找出添加到正在执行的工程文件,然后再编译就不会有错了。

更多精彩内容,请关注公众号:轮子工厂,公众号内回复:我要造轮子,可免费获得100本计算机经典电子图书; 回复:福利,获取大学生礼包; 回复:加群,邀请您进高手如云技术交流群。

文章目录
  1. 1. ITK与VTK混合编程之ItkVtkGlue
    1. 1.1. 前言
    2. 1.2. ItkVtkGlue
    3. 1.3. CMakeLists.txt
    4. 1.4. 找不到“itkImageToVTKImageFilter.h”的问题