(1)CMake安装资源
CMake 是个跨平台的自动化建构软件,用于对于VTK、ITK的编译,可以在http://www.cmake.org/cmake/resources/software.html上下载用于Windows安装的cmake-2.8.3-win32-x86.exe版本。
(2)VTK安装资源
VTK可以从官网http://www.vtk.org/VTK/resources/software.html上下载版本为vtk-5.6.1-win32.exe(用于Windows的安装)、vtkdata-5.6.1.zip、vtk-5.6.1.zip的安装资源。
(3)ITK安装资源
ITK可以从官网http://www.itk.org/ITK/resources/software.html上下载版本为InsightToolkit-3.20.0.zip、InsightApplications-3.20.0.zip资源。
注:上述的安装都是基于Windows XP系统,Visual Studio 2008开发平台,其它操作系统上的安装下述步骤可能会出现问题!此外,提醒大家如果要将上述所有软件全部安装在一个盘符下面,那么可能需要30G的空间。因为安装耗时长,所以请大家提前合理分配您的空间。
安装、配置过程中,路径的设置非常重要,为了方便用户的顺利安装,本人将主要相关软件安装在同一总目录(同Visual studio 2008目录相同相同)的结构列了出来,如下图1-1所示:且下面的安装过程,我们将以此目录为参照。
图1-1安装总目录设置
(1)创建VTK安装目录
首先,在E:\Program Files下创建两个文件夹VTK和VTK2008,其次将vtk-5.6.1-win32.exe安装在VTK2008文件夹中,并将vtkdata-5.6.1.zip和vtk-5.6.1.zip分别解压在VTK中为vtkdata和vtk,最后在VTK中创建文件vtk_bin,用于存放安装的二进制文件。VTK内部结构如图1-2示:最后将vtk-5.6.1-win32.exe安装在VTK2008文件中。
图1-2 VTK目录结构
(2)CMake的配置
运行安装在E:\Program Files下的CMake,其具体设置如图1-3所示:
图1-3 CMake设置
·BUILD_EXAMPLES——指明是否编译VTK中的例子。未激活可以减少编译时间,之后也
可以再进行单独编译。此处我们置为OFF。
·BUILD_TESTING——指明是否编译VTK中的测试代码。未激活可以减少编译时间,之后也
可以再进行单独编译。此处我们置为OFF。
·BUILD_SHARED_LIBS——指明是否创建共享库。如果激活,那么DLL或共享库将会被创建,这样之后生成的VTK应用程序将会比较小,可以节省不少空间;如果未激活,那么静态库将被创建。缺省设置是静态库。此处我们置为ON。
·CMAKE_INSTALL_PREFIX——VTK的生成路径。安装可以使源码中的.h文件及编译生成的.lib文件和.exe程序分别复制到安装路径的不同子目录下。这将使VTK应用程序的工程设置可以方便一些。其默认设置是E:\Program Files\VTK\vtk_bin,本人不建议使用默认设置,将该路径设置为E:\Program Files\VTK2008,这样便于后期的配置。
·VTK_DATA_ROOT——vtkdata的解压路径。可能CMake不会自动找到这个解压路径,需要手动设置,本书设为E:\Program Files\vtkdata。
·VTK_USE_GUISUPPORT——指明是否支持GUI。激活后Configure,会产生两个新缓存项,激活其中一个缓存项VTK_USE_MFC,这样就可以进行VTK与MFC的混合编程,可以编写类似于VTK自带的例子Examples\GUI\Win32\vtkMFC中的程序。如果不选将无法利用MFC类库,所以必选。
·VTK_WRAP_TCL——可以帮助我们调试一些基于TCL脚本的VTK实例,为了大家学习VTK User's Guide等书上案例的方便,我们将其置为ON。
单击Configure,将右上角的advanced置为ON,方便我们查看。找到VTK_USE_MFC,置其为ON。我们会发现TCL的相关设置已经被设置,如图1-4所示,这就是我们将需要的资源放到同一目录的优点。
图1-4 TCL路径设置
继续单击Configure,当没有红色标示时,单击Generate就看可以了。
(3)生成解决方案
用Visual Studio2008打开E:\Program Files\VTK\vtk\bin下的VTK.sln,然后打开生成->生成解决方案,如图1-5所示:
图1-5 VTK生成解决方案
如果没有错误,再打开同一目录中的INSTALL.vcproj,在Visual Studio 2008的解决方案中找到INSTALL文件,然后右击该文件,选择:仅用于项目->仅生成INSTALL。
注:因为VTK需要生成的内容比较多,所以需要1个小时左右,如果中间出现错误,必须重新安装。本人经常在路径设置和CMake选项设置中出错,故请严格按照上述目录结构设置路径,避免时间浪费。
(4)VTK的配置
·打开工具->选项->项目和解决方案->VC++目录,设置:
包含文件:添加E:/Program Files/VTK2008/include/vtk-5.6
库文件: 添加E:/Program Files/VTK2008/lib/vtk-5.6
·我的电脑属性->高级->环境变量->添加:
E:\Program Files\VTK2008\bin;E:\Program Files\CMake2.8\bin;E:\Program Files\TCL\bin;
·将E:\Program Files\VTK2008\bin或者E:\Program Files\VTK\vtk_bin\bin\Debug中的.dll文件拷贝到C:\WINDOWS\system32中。
注:如果没有设置包含文件、库文件和配置环境变量而运行程序,系统会提示无法连接.h文件或者找不到.lib文件。同理,如果不将.dll文件拷贝到system32中,虽然通过了编译,但在运行过程中会弹出找不到vtkIO.dll或者vtkCommon.dll文件等错误。
(1)创建ITK安装目录
首先将InsightToolkit-3.20.0.zip解压在E:\Program Files\ITK下,重命名为InsightToolkit;然后在E:\Program Files\ITK中创建ITK_bin文件夹,同样用于保存编译的二进制文件;其结构如图1-6所示:
图1-6 ITK目录结构
(2)CMake配置
首先打开CMake,对其进行设置,如图1-8所示。ITK设置同VTK设置类似,只将BUILD_SHARED_LIBS置ON(可选);BUILD_EXAMPLES置ON(可选);将BUILD_TEST置ON(可选),丰富的例子便于ITK的学习;同样;最后将CMAKE_INSTSLL_PREFFIX设置为E:\Program Files\ITK即可,其它可采用默认格式即可,如图1-7所示。
图1-7 ITK配置安装
然后Configure,因其设置项比较多,不同用户可以根据其需要而定,上面基本设置已可以满足一般用户的开发和学习。如果没有红色标示,点击Generate。
(3)生成解决方案
打开E:\Program Files\ITK\ITK_bin里面的ITK.sln文件,雷同VTK的生成解决方案,点击:生成->生成解决方案。如果没有错误,打开ITK_bin里面的INSTALL.vcproj文件,在解决方案里面找到Install文件,选中点击右键->仅用于项目->仅生成INSTALL。
如果编译过程中有错误,应该删除ITK里面的文件,重新安装。
(4)ITK的配置
·打开工具->选项->项目和解决方案->VC++目录
包含文件:在后面分别添加(如图1-8所示):
图1-8 ITK包含文件的设置
E:\Program Files\ITK\include\InsightToolkit
E:\Program Files\ITK\include\InsightToolkit\IO
E:\Program Files\ITK\include\InsightToolkit\Numerics\FEM
E:\Program Files\ITK\include\InsightToolkit\Numerics\NeuralNetworks
E:\Program Files\ITK\include\InsightToolkit\Numerics\Statistics
E:\Program Files\ITK\include\InsightToolkit\SpatialObject
E:\Program Files\ITK\include\InsightToolkit\Utilities
E:\Program Files\ITK\include\InsightToolkit\Utilities\vxl\core
E:\Program Files\ITK\include\InsightToolkit\Utilities\vxl\core\vnl
E:\Program Files\ITK\include\InsightToolkit\Utilities\vxl\core\vnl\algo
E:\Program Files\ITK\include\InsightToolkit\Utilities\vxl\vcl
E:\Program Files\ITK\include\InsightToolkit\Algorithms
E:\Program Files\ITK\include\InsightToolkit\BasicFilters
E:\Program Files\ITK\include\InsightToolkit\Common
E:\Program Files\ITK\include\InsightToolkit\gdcm\src
E:\Program Files\ITK\include\InsightToolkit\Numerics
·库文件:在后面添加E:\Program Files\ITK\lib\InsightToolkit
· 环境变量设置:我的电脑->属性->高级->环境变量->添加:E:\Program Files\ITK\itk_bin;
·将E:\Program Files\ITK\bin或者E:\Program Files\ITK\itk_bin\bin\Debug中的.dll文件拷贝到C:\WINDOWS\system32中。
注:在设置包含文件时,因需添加的文件很多,所以应根据你具体安装目录找到相应的文件添加,建议目录设置参照图1-1所示设置,便于文件的查找。
为了更好的学习VTK、ITK,我们在这里进一小节将介绍InsightApplication的安装,很多人都认为只有将InsightApplication安装后才能将VTK、ITK结合起来使用,其实上述安装结束之后完全可以进行混合编程。之所以介绍InsightApplication的安装,目的是为了利用InsightApplication安装生成的例子便于大家更好的学习。
(1)创建安装目录
将InsightApplications-3.20.0.tar.gz解压在ITK主文件夹中为InApp,并在ITK主文件夹中新建文件InApp_bin,如图1-9所示:
图1-9 InsightApplication安装目录
(2)CMake的配置
首先将Score code、build the binaries选项分别填写为E:\Program Files\ITK\InApp和E:\Program Files\ITK\InApp_bin,然后单击Configuration进行选项配置。注意这里cmake-install-prefix这个选项的路径设为ITK主文件夹即E:\Program Files\ITK;executable-output-path路径设置为E:\Program Files\ITK\itk_bin\bin;itk-dir路径设置为E:\Program Files\ITK\itk_bin;LIBRARY-OUTPUT-PATH依然设置为E:\Program Files\ITK\itk_bin\bin;将USE_VTK设置为True,然后Configuration,发现VTK_DIR为红色,将其路径设置为E:\Program Files\VTK\vtk_bin,然后再Configuration,没有问题单击Generate即可,详细参见图1-10所示:
(3)生成解决方案
打开E:\Program Files\ITK\InApp_bin文件中的InsightApplications.sln解决方案文件进行生成解决方案,没有问题后,再打开INSTALL.vcproj项目文件,在解决方案中找到Install右击选择仅生成Install即可。
(4)InsightApplication的配置
·库文件:在后面添加F:\Program Files\ITK\include\ImageCalculator路径
·包含文件:在后面添加E:\Program Files\ITK\lib
· 环境变量设置:我的电脑->属性->高级->环境变量->添加E:\Program Files\ITK\ App_bin;
· 将E:\Program Files\ITK\lib目录下的所有.dll文件拷贝到C:\WINDOWS\system32中
图1-10 InsightApplication的CMake配置