最新版的ITK V5发布了很多新的功能模块,详见 https://github.com/InsightSoftwareConsortium/ITK/blob/master/Documentation/ITK5MigrationGuide.md
比较亮眼的如:与numpy的接口、多线程支持
目录
下载代码
在官网下载最新版发布版:https://github.com/InsightSoftwareConsortium/ITK/releases/tag/v5.1rc02
编译基本模块
将源代码解压(最好路径不要太深)如D:\ITK\src,并新建bin目录作为项目生成目录
打开Cmake,选择源码和Bin目录:
点击下方的Config按钮,选择VS2015,X64
然后选中Advanced选项
BUILD_SHARED_LIBS=On
ITK_USE_GPU=On(如果你的电脑没有独显,不选)
建议的远程模块:
Module_IOMeshSTL=On
Module_ITKBridgeNumPy=On
Module_ITKVtkGlue=On
Module_MGHIO=On
Module_MinimalPathExtraction=On
Module_SkullStrip=On
Module_TextureFeatures=On
连续点击config配置,直至无红色条目、无报错(可能会要求预先安装qt,并设置环境变量)。
然后依次点击generate和open project
然后分别编译release和debug版本,
编译完后,分别单独编译Install,将编译好的文件安装到d:/Program Files (x86)/ITK目录下,可以将两个版本分贝拷贝以供调试程序和发布用途。(建议编译tubeTK前先完成这一步)
编译tubetk
然后,在cmake中选中Module_TubeTK, 配置、生成,在vs2015分别编译debug和release版本
切记:编译完ITK基础后,在Cmake中添加tubetk选项,需要选择ITK_DIR,请选择前面编译的对应release和debug版本
或者
编译完tubeTK后,Install后、将新增的文件添加到此前编译的基础ITK库中
安装和环境变量
将库文件目录设置到环境变量
最后,设置环境变量,将
xxx\bin, xxx\lib\cmake\ITK-5.1 添加到Path变量。
可能的bug
Install报错
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(133,5): error MSB3073: 命令“setlocal
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(133,5): error MSB3073: "C:\Program Files\CMake\bin\cmake.exe" -DBUILD_TYPE=Debug -P cmake_install.cmake
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(133,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(133,5): error MSB3073: :cmEnd
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(133,5): error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(133,5): error MSB3073: :cmErrorLevel
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(133,5): error MSB3073: exit /b %1
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(133,5): error MSB3073: :cmDone
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(133,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(133,5): error MSB3073: :VCEnd”已退出,代码为 1。
解决方法:右键 INSTALL,“属性” -> “生成事件” -> “后期生成事件” -> “在生成中使用”,改为 “否”。